Migration Drupal 9 et montée de version : on vous explique
Les prochains mois seront des moments charnières pour Drupal : l'annonce des fins de vie prochaines de Drupal 7 et 8 vont obliger des dizaines de milliers de sites Internet à migrer vers Drupal 9. Afin de vous aider à mieux appréhender les enjeux autour de ces 2 montées de version, notre pôle d'expertise et R&D Drupal vous explique tout.
Drupal : petit rappel historique
Mise à jour : depuis décembre 2022, Drupal 10 (D10) est officiellement sortie en version stable.
En 10 ans, les technologies du Web ont énormément évolué et Drupal a toujours réussi à suivre la cadence. Celui-ci s’est amélioré en matière de performances, de fonctionnalités, de maintenabilité, de telle sorte que les montées de version sont non seulement définies longtemps à l’avance, mais aussi très régulières.
Mises à jour par la communauté, les versions de Drupal suivent un cycle plutôt bien rodé. Ainsi, après un temps moyen d’environ 3 ans, approche alors la date de fin de vie de la version courante, en prévision d’une version plus récente. C’est ce qu’il va se passer dans les mois à venir pour Drupal 7 et 8 :
- La date de fin de vie de Drupal 7 (D7) est prévue en novembre 2023
- La date de fin de vie de Drupal 8 (D8) a été reportée milieu 2023 au 5 janvier 2025
A noter : depuis D8, le cœur du CMS Drupal a été entièrement revu. De fait, la marche technique pour mettre à jour un site tournant sur D7 vers D9 est bien plus élevée qu’une montée de version de D8 vers D9. Aussi, afin de laisser du temps aux sites sur D7 pour migrer vers D9 – qui plus est en périodes de crises sanitaires et crises économiques, l’équipe Drupal a préféré reporter et reprogrammer la fin de vie de D7 au 5 janvier 2025 (au lieu de novembre 2021, 2022 puis 2023 initialement).
Système de version et roadmap
Avant d’entrer dans le vif du sujet concernant le déclenchement d'une montée de version de Drupal, il est primordial de comprendre comment fonctionne le système de version de Drupal à partir de D8. Celui-ci est organisé sur 3 niveaux :
- Niveau 1 : la version majeure indique la compatibilité
- Niveau 2 : la version mineure inclut de nouvelles fonctionnalités importantes
- Niveau 3 : la version corrective inclut des correctifs et nouvelles fonctionnalités mineures
En l’occurrence, si nous prenons la version 8.9.16 : 8 est la version majeure, 9 la version mineure et 16 la version corrective. A ce stade, comprenez que plus il y aura de versions mineures et correctives créées, au plus celles-ci vont générer du code déprécié qui deviendra alors obsolète sur les versions majeures suivantes. La génération de ce code déprécié s’explique à bien des égards, mais ce qu’il est important de retenir c’est qu’une montée de version majeure est tout simplement une suppression du code déprécié pour des raisons de performances, de maintenabilité et de sécurité. Les montées de version majeures de Drupal ne génèrent donc pas de nouvelles fonctionnalités, mais plutôt des remaniements profonds du code source. Les nouvelles fonctionnalités, quant à elles, sont plutôt incluses dans les versions mineures.
Cette mise en perspective étant faite, voici la roadmap Drupal actualisée de 2020 à 2025 :
Comme on peut le constater, le cycle total de vie d’une version majeure est d’environ 3 ans. Intéressons-nous désormais à la fin de vie d’une version en cours, car c’est elle qui va déclencher la réflexion autour de la montée de version suivante.
Fin de vie d'une version de Drupal. Kézako ?
La date de fin de vie d’une version de Drupal est tout simplement la date à partir de laquelle tout l’aspect technique (le code source) restera figé dans le temps. Cette version ne subira plus aucune évolution, de corrections de bugs, de corrections de compatibilité avec les modules tierces, mais aussi de maintien et de surveillance des failles de sécurité.
Autrement dit, passé cette date, votre site Internet continuera à fonctionner mais sera progressivement moins protégé et à jour des derniers standards disponibles sur le Web (aussi bien techniques que fonctionnels).
D7 vers D9 : un virage à 180°
L’équipe Drupal a décidé, lors de la phase de développement de D8, d’effectuer des changements majeurs et de refondre le code source initial avec de nouvelles spécificités techniques. De fait, la majorité du cœur du CMS a été revu. Une montée de version de D7 vers D9 est donc beaucoup plus complexe que de D8 vers D9.
Les premiers temps, il fallait refondre complètement le site Internet D7 pour repartir sur une version D9 toute neuve, avec nouvelle phase de développement et migration des anciennes données. Cependant, au fil du temps, des systèmes de migration D7 vers D9 ont vu le jour, permettant d’automatiser la mise à niveau de certaines portions du code. Et qu’en est-il à l’heure actuelle ? Ce n’est pas si simple.
Chez ads-COM, nous disposons d’un pôle d’expertise et R&D sur Drupal et avons l’habitude de manier ce CMS. De fait, nous sommes très attentifs quant aux modules tierces que nous installons pour nos clients. En effet, là où le bât blesse, c’est qu’une migration automatique n’est pas si simple lorsqu’on a pour habitude d’utiliser une multitude de modules communautaires, aussi exotiques les uns que les autres. Car, la majorité du temps, c’est dans ce genre de cas que les difficultés arrivent.
Se pose sans tarder la question : comment faire marcher des fonctionnalités d’un module D7 non-migré vers un site D9 avec des logiques techniques différentes ? La plupart du temps, vous aurez 2 choix :
-
Le module est utilisé partout : il faudra créer un script de migration sur-mesure
- Le module est peu utilisé sur le site : il faudra le reprendre manuellement
A contrario, si votre site s’appuie essentiellement sur des fonctionnalités natives de Drupal, des systèmes de migration seront dans la plupart des cas déjà compatibles et permettront de migrer aussi bien la structure que les données de vos contenus. Autre point important : le thème de votre site. Le gap technique entre D7 et D8 se traduit également par l’utilisation d’un nouveau moteur de template appelé Twig. De fait, les templates et preprocess présents dans les thèmes D7 sont à revoir. De même en ce qui concerne le code source personnalisé, qui au mieux nécessitera d’être vérifié et optimisé, au pire refondu.
D8 vers D9 : simplicité et rapidité
Comparativement à D7 vers D9, D8 vers D9 est une formalité. Il devrait d’ailleurs en être de même pour les montées de version futures comme D10, D11... Ainsi, le processus se résume en 3 parties.
Le pôle développement Web
Sites de communication et e-commerce, applications Web métiers et mobiles : depuis 1997, notre pôle développement Web à Orléans a acquis une expérience et un savoir-faire solide dans la création de sites et d'applications mobiles sécurisés et performants.
Nos experts Drupal sont à votre écoute
Votre site Drupal est en version 7 ou 8 et vous souhaitez passer sur la version 9 ? Nos experts Drupal vous conseillent et vous accompagnent tout au long de la montée de version.
Contactez-nous sans attendre via notre formulaire ou appelez-nous au 02 38 21 55 21.