Check list de mise en production d'un site Drupal

Photo d'une revue de code agence bluedrop.fr
Partageons nos procédures ! Pourquoi les cacher ? Chaque mise en production est un moment délicat. Voici notre "check list", nos points de contrôle avant de permettre la mise en production de nos projets Drupal.

Comme le dit Huggy à qui veut bien l'entendre... "Les mises en production ça ne se joue pas, ça se gagne :)"... Et il a raison. La mise en production, c'est l'aboutissement d'un travail conséquent, de l'implication de plusieurs équipes : c'est le moment de la gratification, de la concrétisation.

Mais une mise en production, ça se prépare...

Même en planifiant l'intervention en début de semaine, nous prenons toujours quelques jours de marge pour vérifier une série de détails qui peuvent venir dégrader l'expérience, ou le travail réalisé. On vous partage donc notre petite liste, qui n'est pas définitive certes, mais qui s'applique à minima quelque soit le périmètre du projet concerné. 

Partagez les vôtres, mettons-les en commun, et nous nous enrichirons tous !

Check List de préparation de mise en production

Vérification de la synchronisation de configuration et configurations générales

  • La configuration doit être versionnée dans git et doit pouvoir être exportée d’un environnement à l’autre via les fichiers yaml ;
  • Le répertoire sync doit être placé en dehors de la racine du projet ;
  • Le répertoire sync est versionné dans Git ;
  • Vérifier la bonne installation de composer ;
  • Vérifier les installations tierces (solR, extensions php, librairies).
  • Site anonyme -  Protection  https://www.domaine.com/user/register si nécessaire pour le projet.

Vérification des modules et instance Drupal

  • Configuration correcte du Module honeypot pour les spams ;
  • Configuration correcte du module Recaptcha pour les spams (optionnel) ;
  • Aggregation CSS et JS activée ;
  • Javascript - nettoyage de la console ;
  • Vérification du fichier Robots.txt ;
  • Vérification de la configuration du service statistiques Analytics ou Matomo ;
  • Vérification du favicon ;

Modules à désactiver en production 

Tests fonctionnels

  • Tester l’envoi des emails ;
  • Tester la génération des images (conf des fichiers) ;
  • Recherche / Solr / Indexage (configuration) ;
  • Mise à jour - Site à tester au moins en mode connecté, et mode non connecté ;
  • Vérification du tableau de bord, consulter les erreurs et les warnings.

Contenus et confort backend

  • Pas de contenus test ;
  • Pas d'utilisateurs test ;
  • Vérification du slogan du site ;
  • Vérification de l'adresse mail de l'administrateur ;
  • Suppression des types de contenu non utilisés ;
  • Vérification de la présence de commentaires sur les types de contenu à l'attention du contributeur ;
  • Suppression des vocabulaires de taxonomie non utilisés ;
  • Vérification de la présence de commentaires sur les vocabulaires à l'attention du contributeur ;
  • Vérification des descriptions des paragraphes à l'attention du contributeur ;
  • Vérification des descriptions des médias à l'attention du contributeur ;
  • Vérification des descriptions des vues à l'attention du contributeur ;
  • Vérification des descriptions des blocs à l'attention du contributeur.

Thème

  • Désactivation de "theme registry rebuilding" dans la configuration du thème ;
  • Désactivation du module debug de twig sur la production  ;
  • Intégration des SVG - externe ;
  • Traitement des javascript.

Performance

  • Vérifier l'utilisation des dernières versions du core et des modules ;
  • Utilisation de CDN pour servir les sources de différents endroits (CSS / JS) - Module : Adv Aggregation CDN ou module CDN ;
  • Utilisation du cache de drupal et page caching (Admin / config / development / performance) ;
  • Drupal 8 - Module BigPipe (module du core) ;
  • Views Caching - Cache du rendu et des requêtes en fonction du temps ;
  • Utilisation de panel caching si on utilise les panels sur le site ;
  • Optimisation des images : Toutes les images doivent passer par le style d'image ;
  • Utilisation de “Image Lazy Loader” qui télécharge les images une fois qu’elles sont vues ;
  • Vérification de la compression GZIP ;
  • Configuration Expire headers ;
  • Module fast 404 - diminue le temps de réponse des 404 ;
  • Désactivation de PHP filter :
  • Désactivation du reporting d'erreurs (Error reporting) ;
  • Performance (CSS / JS) aggregation et configuration du module advanced aggregation pour plus d’options d'aggrégation et de compression de ressources.

SEO

  • Vérifier la qualité des URL ;
  • Vérifier la cohérences entre les URL et les balises <title> ;
  • Vérifier le plan du site.  

Divers

  • Tester accessibilité et Bonnes pratiques sur https://web.dev/measure/
  • Installation et configuration du Certificat SSL.

... Ça devrait bien se passer...
N'hésitez pas à nous envoyer de quoi alimenter la liste !!