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 :

 
Roadmap Drupal 7, 8 et 9

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.

 
Migration Drupal 7 et Drupal 8 vers Drupal 9

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.

Collaboratif

Les modules communautaires

Il n’est pas rare d’utiliser de nombreux modules communautaires Drupal. Avant de faire une montée de version, un inventaire de tous les modules est nécessaire afin d’identifier s'il sont tous (ou non) compatibles D9.

Mais pas d’inquiétudes : les modules les plus utilisés ont d’ores et déjà une version compatible D9. C’est la raison pour laquelle ads-COM conseille toujours à ses clients d’être vigilant sur les modules à installer ; Que nous vérifions sans cesse que la communauté derrière est encore active ; Qu'ils sont maintenus par les équipes de sécurité Drupal.

Pole developpement

Codes personnalisés (Modules et thèmes)

La force de Drupal est de proposer nativement aux développeurs une boîte à outils permettant de faciliter la personnalisation de son CMS. A ce titre, il n’est pas rare de retrouver du code personnalisé sur toutes les versions de Drupal, comme D8 par exemple.

Pour une montée de version D8 vers D9, ce code personnalisé ne posera pas de problèmes car il s’agit des mêmes structures techniques. Les actions se résumeront à identifier le code déprécié puis à le remplacer par du code non déprécié. En quelques heures de travail, votre D8 sera donc éligible à une montée de version vers D9.

Temps d'intervention

Mises à jour express du cœur

Troisième et dernier point pour mener à bien votre mise à jour : le code interne de Drupal (appelé cœur). Chez ads-COM, nous avons pour habitude d’utiliser Composer. Ce dernier permet de gérer les différentes versions et dépendances de Drupal, tout comme ses modules communautaires.

Grâce à cet outil, la mise à jour du cœur de Drupal s’exécute en une seule ligne de commande ! En quelques secondes, et après un vidage de cache en règle pour s’assurer que tout est en place, votre site tournera enfin sur D9.

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.

Découvrir le pôle développement Web

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.

*champs obligatoires

Les informations personnelles saisies dans ce formulaire sont facultatives. Elles serviront exclusivement le traitement de votre demande (en savoir plus).