Drupal - Migrations
Au cours des différents projets sur lesquels j’ai travaillé, j’ai eu l’occasion de migrer plusieurs Drupal de versions différentes vers les versions les plus récentes, avec de nouveaux challenges à chaque fois :
- D8 vers D9 (peu anticipé et très contraignante par nature, grosse complexité avec FieldCollection)
- D7 vers D9 (axe Drupal Commerce + gros volume de données)
- D9 vers D10 (basique)
- D10 vers D11 (basique)
La migration d'une ancienne version de Drupal (comme Drupal 7) vers une version plus récente (comme Drupal 9 ou plus) est une étape cruciale pour maintenir la santé et la performance de votre plateforme web. Voici pourquoi cette démarche est indispensable et comment elle se déroule.
Pourquoi migrer votre site drupal ?
Plusieurs raisons fondamentales justifient l'engagement dans un projet de migration :
- Sécurité : La mise à jour régulière garantit la sécurité de votre site et de ses données. Ignorer les messages d'avertissement est une erreur qu'il faut éviter.
- Veille technologique : La migration est une partie intégrante de la veille que nous devons assurer en tant que professionnels.
- Performance : Les nouvelles versions de Drupal apportent des améliorations significatives en termes de vitesse et d'efficacité.
- Nouvelles possibilités : Migrer ouvre la porte à l'utilisation de nouvelles fonctionnalités et technologies.
De plus, en tenant le client régulièrement au courant de la nécessité de ces mises à jour, on lui donne un sentiment de sécurité quant à la pérennité de son outil.
Le déroulé d'une migration "classique"
Une migration standard suit généralement ces étapes :
- Vérification : Réaliser un check des modules et du core Drupal.
- Analyse des changements : Lire attentivement les améliorations, modifications et potentielles régressions entre les versions.
- Gestion des dépendances : Utiliser l'outil Composer pour gérer les dépendances et les paquets (ce point nécessite souvent une présentation dédiée).
Gestion d'une migration complexe
Certaines migrations peuvent s'avérer particulièrement complexes et coûteuses. Cela est souvent dû à :
- Complexité de l'ancienne version : La difficulté de passer de D7 à une version supérieure (D*).
- Modules spécifiques : La présence de modules critiques qui sont dépréciés ou carrément supprimés dans la nouvelle version.
- Volume de données : Un volume de données immense à transférer et à restructurer.
Coordination et chiffrage
Pour ces cas complexes, une coordination étroite avec le client est essentielle. Il faut le convaincre dans la durée et planifier une mobilisation du budget suffisamment à l'avance.
Déroulé de la migration
Le processus de migration d'un site à forte complexité suit des étapes précises :
- Installation de base : Installation d'un Drupal vierge.
- Configuration : Mise en place de la configuration spécifique (ex. : multisite).
- Thèmes : Mise en place des thèmes (souvent via des outils modernes comme webpack et des base thèmes communs).
- Modules de contribution : Récupération et installation des modules de contribution nécessaires.
- Modules custom : Réécriture et redécoupage des modules spécifiques (ou customs).
- Migration des données : Processus critique de transfert des données.
- Mise en Production (MEP) : Mise en recette (MER) puis mise en production.
Il est important de définir la durée du projet et de maintenir la démarche client tout au long du processus.