Pas à pas: création de ce blog

Rédigé par Julien Daury 98 commentaires
Classé dans : Mots clés : aucun

Ce premier article est amené à servir de sommaire/historique sur les étapes de la création de ce blog (d'un point de vue technique). Il est dans l'esprit voulu de ce site: me servir de fourre-tout référence pour reprendre des travaux ou des recherches là où je les ai laissés tout en mettant ces informations à disposition de tout un chacun.

Pour voir un de mes sites "plus propre", et pas à l'état de brouillon, vous pouvez visiter https://cours-math.juliendaury.fr/ . C'est en le créant que j'ai appris ce que j'expose ici.

 

Héberger son site:

  • Auto-hébergement
  • ou choisir un hébergeur
    → mon choix: abonnement chez OVH (offre hébergement perso + nom de domaine pour en gros 50€/an)

 

Choix d'un CMS (pas indispensable techniquement mais bon, qui a construit un site entièrement codé à la main depuis 1999 ?!)
→ mon choix: PluXML
télécharger l'archive, la dézipper puis l'uploader à la racine du site

 

Personnalisation de PluXML:

  • installation:
    • déclarer un administrateur
    • supprimer le fichier install.php et le dossier update

  • réglages de base:
    • se connecter à la partie administration
    • dans "configuration de base":
      • titre du site, sous-titre, autoriser ou non les commentaires (et choisir s'ils seront modérés ou pas), etc...
    • dans "options d'affichage":
      • choisir le nombre d'articles/de commentaires par page, leur ordre, la taille par défaut des images, ...
    • dans "configuration avancée":
      • activer la réécriture d'URL
      • activer la compression gzip
      • capcha antispam: voir si cookies Google envoi d'e-mails (version 5.8)

------------------------------------------------------------------------------------

tests de sécurité avec cette version de base:

 


priorités:

  • améliorer la sécurité pour les visiteurs:
    • instaurer une espèce de par-feu (déclarer tout ce qui est autorisé et interdire tout le reste → très exigeant et chronophage !)

      interdire "les attaques de type XSS (Cross-Site Scripting)"
      → politique de sécurité (CSP): Content-Security-Policy: script-src 'self'

    • interdire le "clickjacking": faire en sorte que cette page ne puisse être intégrée à une iframe
      "X-Frame-Options"

    • interdire le "MIME Sniffing": désactiver la détection automatique de type de ressource
      → configurer un en-tête HTTP "X-Content-Type-Options"

    • donner le moins d'info possible à un éventuel attaquant: N'exposez pas votre version de PHP:
      dans php.ini: expose_php = off

    • éviter ou contrôler les ressources tierces


  • performance / qualité du code
    • cache
    • allégement des fonts: L'ordre à respecter pour vos formats est le suivant : EOT, WOFF2, WOFF, TTF, puis SVG.
    • images de la bonne taille
    • CSS:
      éviter les sélecteurs CSS dupliqués
      utilisation raisonnée des couleurs
      éviter le mot clé !important
      éviter les sélecteurs superflus
      propriétes CSS surchargées
    • volume de la page
    • éviter les éléments vides
    • éviter les "scripts inline" trop longs


  • référencement (SEO)
    • description de la page
      → qui doit être placée dans la balise, au début du code.
    • robots.txt
    • propriétés de Open Graph (réseaux sociaux, notamment Facebook)
      • "og:type"
      • "og:url"
      • "og:image"
    • choisir les liens à suivre ou non par les robots
    • définir balises H1 et H2

------------------------------------------------------------------------------------

Autre point de sécurité:

  • forcer https et supprimer "www" dans l'adresse du site

    dans .htaccess


# BEGIN -- Pluxml Options -Multiviews <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l   # Réécriture des urls RewriteRule ^(?!feed)(.*)$ index.php?$1 [L] RewriteRule ^feed/(.*)$ feed.php?$1 [L]  
    ## http -> https ##JU     RewriteCond %{HTTPS} off      RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]       ## Suppressing the `www.` at the beginning of URLs     # (1)     RewriteCond %{HTTPS} =on     RewriteRule ^ - [E=PROTO:https]     RewriteCond %{HTTPS} !=on     RewriteRule ^ - [E=PROTO:http]     # (2)     # RewriteCond %{HTTPS} !=on     RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]     RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L]   </IfModule> # END -- Pluxml

 

 

Personnalisation de PluXML:

 

98 commentaires

Écrire un commentaire

Quelle est la sixième lettre du mot z5b3jdv ?

Fil RSS des commentaires de cet article