Migration de Drupal 7 vers Drupal 10 : stratégies et pièges
Guide de terrain pour migrer de Drupal 7 vers Drupal 10 — chemins de migration, conception des chaînes de données, pièges courants et stratégies de test.
Pourquoi migrer maintenant
Drupal 7 a atteint sa fin de vie. Si votre site tourne encore sous Drupal 7, la migration vers Drupal 10 (ou 11) n'est plus une option : c'est un impératif de sécurité.
Choisir son chemin de migration
Trois approches principales existent.
1. Migration directe (Migrate API)
La Migrate API intégrée à Drupal peut lire les données directement dans une base D7. C'est le chemin recommandé pour les sites dont les types de contenu restent standards.
// Exemple de plugin source de migration
class D7NodeSource extends DrupalSqlBase {
public function query() {
return $this->select('node', 'n')
->fields('n', ['nid', 'title', 'type', 'status', 'created']);
}
}
2. Chaîne export/import
Pour les sites complexes, on exporte le contenu D7 vers un format intermédiaire (JSON, CSV), on le transforme, puis on l'importe dans D10. Cela donne un contrôle complet sur la transformation des données.
3. Reconstruction avec migration sélective
Il arrive que l'architecture du site D7 soit si éloignée de ce qu'il faut en D10 qu'une reconstruction, assortie d'une migration sélective du contenu, soit la voie la plus propre.
Pièges courants
- Champs personnalisés : les types de champs D7 sur mesure n'ont pas toujours d'équivalent en D10
- Gestion des fichiers : les entités fichier de D7 fonctionnent autrement que les entités média de D10
- Contenu multilingue : le module i18n de D7 ne se migre pas directement vers le multilingue du cœur de D10
- Alias d'URL : la migration des alias demande un soin particulier pour préserver le référencement
- Mots de passe : les empreintes sont compatibles, mais leur migration doit être traitée explicitement
Stratégie de test
Ne migrez jamais directement en production. Construisez une chaîne de test :
- Migration à blanc : exécutez les migrations sur une base de pré-production
- Audit du contenu : vérifiez tous les types de contenu, champs et relations
- Plan de redirections : assurez-vous que chaque URL D7 redirige vers son équivalent D10
- Référence de performance : comparez les temps de chargement avant et après
- Vérification SEO : contrôlez les métadonnées, les sitemaps et les données structurées
Plan de retour arrière
Gardez toujours la possibilité de revenir en arrière. Conservez la base et le code D7 intacts jusqu'à ce que la migration D10 soit vérifiée en production. Prévoyez une fenêtre de maintenance et documentez clairement la procédure de retour arrière.
Conclusion
Une migration Drupal réussie, c'est 80 % de préparation et 20 % d'exécution. Investissez le temps en amont : comprendre le modèle de contenu, cartographier les données, bâtir une chaîne de test sérieuse. Le résultat sera une plateforme Drupal 10 moderne, sûre et performante.