La migration vers une nouvelle version de Drupal peut être une entreprise complexe et intimidante, mais elle est pourtant essentielle pour maintenir votre site Web à jour et sécurisé. Dans cet article, nous vous guiderons à travers les différentes étapes pour chaque version pour réussir la transition en douceur.
Depuis Drupal 6, des versions supérieures sont proposées tous les 3 ans environ. Il faut y voir le signe d’une solution dynamique et attentive à répondre aux besoins de ses utilisateurs. Chaque mise à jour est facilitée par la grande simplicité du système Drupal, mais également par la présence du support et de la communauté toujours prompte à aider et à accompagner.
La migration est un processus ETL (Extract, Transform, Load). Dans l’API de migration de Drupal, la phase d’extraction est appelée source, la phase de transformation est appelée processus et la phase de chargement est appelée destination.
Il est important de comprendre que le terme “chargement” en ETL signifie charger des données dans le stockage, tandis que dans un contexte Drupal typique, le terme “chargement” fait référence au chargement de données à partir du stockage.
Dans la phase source, un ensemble de données, appelé ligne, est récupéré de la source de données. Les données peuvent être migrées à partir d’une base de données, chargées à partir d’un fichier (par exemple CSV, JSON ou XML) ou récupérées à partir d’un service Web (par exemple RSS ou REST).
La ligne est envoyée à la phase de traitement où elle est transformée si nécessaire ou marquée pour être ignorée. Après le traitement, la ligne transformée est transmise à la phase de destination où elle est chargée (enregistrée) dans le site Drupal cible.
Qui dit migration dit déplacement de données. Quelles que soient la version vers laquelle vous prévoyez de migrer, il existe quelques bonnes pratiques à connaître.
Débutons par la Préhistoire de ce système de gestion de contenu (CMS). Cette version est sortie en 2008. Elle offrait des fonctionnalités visant à aider les (premiers) internautes à créer et à gérer des sites web complexes, tels que des forums, des blogs, des galeries d’images, des sondages ou des annuaires.
Dès le début, Drupal 6 présentait une interface utilisateur simplifiée. Cette version a également introduit des options de sécurité, ainsi que des améliorations dans le processus de création de modules personnalisés. Depuis la fin du support officiel en février 2016, Drupal 6 n’est plus maintenu.
Cette version est sortie en 2011 et a brillé par sa longévité, puisque la date de sa fin de vie a été repoussée jusqu’à 2023. Elle a offert de nombreuses améliorations par rapport à Drupal 6, telles qu’une meilleure gestion des images, des fichiers et des champs personnalisés, ainsi que des fonctionnalités de configuration simplifiées et améliorées notamment pour les utilisateurs qui ne disposaient pas de connaissances techniques.
Voici donc les étapes successives pour installer cette version du CMS :
Drupal 8 a été lancé en novembre 2015, environ quatre ans après la sortie de Drupal 7. Cette version a été la première à intégrer les bibliothèques Symfony, un ensemble de composants PHP et une plus grande prise en compte des api.
L’intégration de Symfony a permis une amélioration significative de la performance et de la qualité du code de Drupal 8, ainsi qu’une meilleure expérience de développement pour les techniciens.
Drupal 8 a également apporté des améliorations significatives en matière d’accessibilité, de gestion des langues, de SEO et d’expérience utilisateur.
La migration de Drupal 8 vers Drupal 9 est relativement simple et peut être effectuée en suivant les étapes suivantes :
→ Avant de commencer la migration, il est important de réaliser un travail de mise à jour du site vers la dernière version mineure. Cette étape est cruciale car Drupal 9 utilise des bibliothèques et des dépendances qui sont déjà présentes dans Drupal 8.9.x.
Avant de procéder à la migration, il est également recommandé de réaliser une analyse de compatibilité des modules personnalisés et des thèmes. Drupal 9 utilise les mêmes outils de migration que Drupal 8, ce qui signifie que vous pouvez migrer les contenus, les configurations et les données du site directement depuis Drupal 8. Cela facilite grandement le processus.
Une fois la migration terminée, il est temps de mettre à jour les modules personnalisés et les thèmes pour les rendre compatibles avec Drupal 9. Les développeurs peuvent utiliser des outils d’automatisation pour cette étape.
Tout a été prévu pour rendre le passage à la version supérieure simple et accessible. Il est, par exemple, possible d’utiliser l’outil natif de Drupal qui est inclus dans Drupal 8 et Drupal 9, et qui permet de migrer les contenus, les configurations et les données du site comme les commentaires, les blocs, les menus, les utilisateurs, les taxonomies, etc.
Il est également possible d’utiliser des outils tiers pour la migration, tels que le module Migrate Upgrade, notamment pour les thèmes et les modules personnalisés. De plus, l’outil de vérification de compatibilité de Drupal, appelé Upgrade Status, est à votre service. Il permet d’en vérifier la compatibilité avec Drupal 9 et de fournir des recommandations pour rendre ces éléments compatibles le cas échéant.
Pas si simple de brûler les étapes. Drupal 9 est une version majeure et un grand nombre d’éléments obsolètes ont été retirés. Pour profiter de Drupal 10, il faudra donc transiter par la neuvième version du CMS.
Pour en savoir plus sur la migration vers Drupal 10, découvrez notre article dédié.
Drupal 9 a été publié en juin 2020, c’est une version qui se concentre notamment sur l’amélioration de la convivialité, de la sécurité, de la performance et de la compatibilité avec des technologies comme Symfony 4, Twig 2, les bibliothèques JavaScript modernes telles que React et Vue.js ou encore HTML5 et CSS3. Drupal 9 est construit sur une architecture moderne et flexible qui permet une personnalisation très complète.
Pour en savoir plus sur la migration vers Drupal 10, découvrez notre article dédiéTout savoir de Drupal 10.
La migration vers Drupal 9 est relativement simple si vous avez maintenu votre site à jour sur Drupal 8. Cela nécessite néanmoins un peu de méthode. Voici comment procéder.
Drupal 8 Upgrade Status est un module pour Drupal 8 qui aide à migrer vers Drupal 9. Il fournit une analyse détaillée de la compatibilité du code utilisé. Il les analyse pour identifier les éléments qui nécessitent d’être mis à jour avant la migration.
Drupal 8 Upgrade Status génère ensuite des rapports détaillés sur la compatibilité des modules, des thèmes et des bibliothèques tierces utilisés sur votre projet Drupal 8, indiquant s’ils sont compatibles avec Drupal 9 ou s’ils nécessitent d’être mis à jour. Ces rapports incluent des instructions claires sur les versions compatibles avec Drupal 9, ainsi que des instructions sur la manière de les installer et de les configurer.
Bref. Drupal 8 Upgrade Status est un atout à avoir dans sa manche avant de débuter la migration.
Vous avez du code custom au sein de votre projet ? Pour vous assurer de sa comptabilité avec Drupal 9, vous pouvez utiliser des outils d’analyse de code tels que PHP_CodeSniffer ou PHPMD pour vous aider à identifier les problèmes potentiels. Puis, pensez à effectuer des tests pour vous assurer que toutes les fonctionnalités fonctionnent correctement après la migration.
Pour mettre à jour les versions des modules et des dépendances dans le fichier composer.json de Drupal 8 vers Drupal 9, vous pouvez utiliser la commande composer requise suivi du nom du module et de la version requise.
Par exemple, pour mettre à jour le module “views”, vous pouvez utiliser la commande drupal/views:^9.0. Ensuite, exécutez la commande composer update.
Avant de migrer, il est important de sauvegarder tous les fichiers et toutes les données de votre site. Vous pouvez ensuite, procéder de 3 manières différentes :
La migration manuelle : cette méthode implique de télécharger manuellement la dernière version de Drupal 9 et de copier les fichiers et les données du site Drupal 8 vers le nouveau. Cette méthode est plus adaptée aux sites simples et de petite taille.
La migration avec l’interface web : Drupal 9 propose une interface de migration qui permet de réaliser l’import des données, les modules et les thèmes. Il suffit de se laisser guider. Cette méthode est plus adaptée aux sites de taille moyenne.
Enfin, la migration en ligne de commande de Drupal 8 vers Drupal 9 implique l’utilisation de la commande drush. Voici les étapes à suivre : assurez-vous que votre serveur répond aux prérequis de la version supérieure et installez Drush.
Téléchargez Drupal 9 et décompressez-le dans un dossier de votre serveur. Exécutez la commande composer install dans le dossier pour installer toutes les dépendances requises. Exécutez la commande drush migrate-upgrade pour commencer la migration de Drupal 8 vers Drupal 9.
Cette méthode est évidemment celle qui nécessite le plus de compétences techniques. Elle est donc à réserver aux utilisateurs aguerris.
Une fois cette action effectuée, réalisez toujours des tests approfondis pour vous assurer que tout fonctionne correctement.
Ces outils permettent aux développeurs de les déplacer de manière efficace et sans risque. Parmi ces outils, Migrate Plus fournit des features supplémentaires, telles que des plugins d’importation de données, des fichiers de configuration et des définitions de processus de migration.
Migrate Tools, quant à lui, fournit un ensemble d’outils pratiques qui permettent la mise en place, la suppression et l’exécution de migrations ou la gestion des messages d’erreur. Enfin, Migrate Upgrade de son côté fournit une interface graphique pour la migration.
Si migrer peut sembler contraignant et fastidieux, cette action offre toujours de nombreux avantages, au-delà même de maintenir un environnement à jour. Cela permet de maintenir une sécurité renforcée, d’offrir une meilleure convivialité, ainsi qu’une plus grande compatibilité et des performances améliorées.
Vous pourrez, par ailleurs, bénéficier d’un support sur le long terme en cas d’interrogation. Notre équipe d’experts se tient par ailleurs à votre disposition pour vous accompagner dans cette démarche ou pour plus d’informations.