Image mise en avant pour l'article

De l'urgence de migrer sur Drupal 9 : conseils et intérêts de la migration

2 février 2022
CMS - Drupal - Technologies Web
Drupal 9 et ses nouveautés sont disponibles. Faut-il rester sur des versions inférieures ou bien migrer vers la version 9 ?


Le CMS Drupal ne vous est sûrement pas inconnu. Cependant si vous êtes curieux ou souhaitez en apprendre d’avantage, sachez que vous pouvez retrouver toute l'histoire de Drupal dans cet article.

Dans cet article, nous vous présentons qui est Drupal 9 ? Quels sont les risques, pour votre site Web, de rester sur Drupal 7 ou 8 ?

Les présentations faites, nous pouvons maintenant nous intéresser à l’évolution et l’avenir de ce Drupal. Exploitant déjà un site ou une usine à site sous cette technologie et vous vous interrogez sur le potentiel avenir de ce CMS puissant mais complexe. Devez-vous rester sur cette technologie ? Quels sont les avantages qu’offrent les nouvelles versions et comment faire si vous êtes sous Drupal 7 ou 8 ? Nous allons justement répondre en détail à toutes ces questions.

 

Comment sont gérés les cycles de vie de Drupal ?

Avant de vous présenter Drupal 9 il faut s’intéresser au calendrier. Pour celui-ci, deux dates clés sont à retenir. Il s’agit des échéances des précédentes versions de Drupal :

  1. Novembre 2021 : Drupal 8 ;
  2. Novembre 2022 : Drupal 7 ;

Aussi étrange que cela puisse paraître, la version la plus récente de Drupal 8 s’est clôturée en novembre 2021 soit un an avant son prédécesseur Drupal 7 qui ne sera, quant à elle, plus maintenue à partir de novembre 2022. A partir de ces dates-là, si jamais vous êtes toujours sous Drupal 7, vous pourrez souscrire à des extensions payantes de support mais le manque de visibilité sur les coûts nous permettent de nous interroger quant à la pérennité de cette version.

Vous comprenez maintenant un peu plus pourquoi la migration vers Drupal 9 prend tout son sens. Pas d’inquiétude, tout a été pensé pour que cette migration puisse être facilitée au maximum et vous verrez qu’elle comporte de nombreux avantages.

 

 

Drupal 8, une révolution ?

La révolution Drupal 9

 

Une révolution technique

L’arrivée de Drupal 8 a apporté avec elle son lot de bonnes surprises. On vous explique tout ce que cela implique concrètement d’un point de vue technique :

  • Tout a été réécrit intégralement en utilisant un code plus moderne, robuste et extensible grâce à la programmation orientée objet : OOP (Object-oriented programming).
    Ce changement très important inscrit Drupal dans un haut niveau de qualité en matière de développement PHP ;
  • Drupal s’appuie sur Symfony : un framework PHP de référence.
    Cette boîte à outil est un bon prescripteur en méthode d’approche et gestion des versions ;
  • Au niveau de la structure des données tout est entité dans Drupal 8+.
    Cela permet aux développeurs de créer leur propre type d’entité tout en rajoutant des éléments qui ne sont pas présents dans Drupal de façon très intuitive ;
  • La gestion de la configuration a été grandement facilitée.
    L’état de la base de données va être exporté sous forme de fichier donnant ainsi une photographie à un instant T de son état structurel. Cette grande amélioration offre un gain et un confort, non négligeable, pour les développeurs ;
  • L’utilisation de Twig : un moteur de template.
    Il n’est plus obligatoire de connaître le langage PHP. La sécurité ne s’en trouve qu’améliorée grâce à la gestion de cache bien plus performante qu’auparavant.

 

Une révolution fonctionnelle

De nombreux éléments ont été intégrés directement dans le core de manière plus solide pour les années à venir :

  • Le système d’entité offrant plus de possibilités nativement ;
  • Le multilinguisme assez limité sous Drupal 7 est beaucoup plus poussé avec par exemple la possibilité de sites miroirs. Sans oublier que l’anglais n’est plus une obligation ;
  • Le côté API first. Grâce à l’intégration dans le core du deuxième module, les API peuvent être exposées dans toutes les entités. Pour donner un exemple plus concret sur l’exploitation d’un site : cela donne la possibilité d’avoir un seul back-office plusieurs front. On peut donc imaginer Drupal comme un CMS avec des capacités « headless» c’est-à-dire pour une simple gestion du back-office qui sera accompagné d’un framework pour le front ;
  • La partie responsive mobile first a grandement été améliorée. Deux modules du core permettent de créer des styles images qui s’adaptent à tous les supports et résolutions d’écrans ;
  • Drupal 8 inclus désormais nativement la possibilité de créer des workflow de contribution avec un système d’état ;
  • Le module historique « Views » maintenant intégré lui aussi au core permet de générer des pages de listes très facilement à travers le « back-office » ;
  • L’ajout d’un système de cache très pointu présente une nette amélioration sur les performances. C’est une belle prestation de la part de Drupal quand on sait que le cache est l’un des éléments les plus difficiles à gérer en développement web. Sans oublier que cet affichage rapide et la vitesse de chargement des pages optimise l’expérience utilisateur.

 

Les nouveaux concepts clés de Drupal 8

On assiste à une logique de professionnalisation maximale pour ce CMS. On peut s’imaginer que la cacophonie liée à la sortie de Drupal 8 aura permis d’en tirer les enrichissements nécessaires.

De nouveaux concepts ont vu le jour :

  • Le « Semantic versioning » qui a été implémenté permet de donner un sens au numéro de version.
    Par exemple : on pourrait retranscrire la version 2.1.3 par un numéro de version majeur.mineur.correctif ;
  • Le « Scheduled release ». Plusieurs règles ont été mises en place et s’inspirent de Symfony.
    Par exemple : le premier mercredi de chaque mois il s’agit de la fenêtre de sortie d’une version corrective de type « bugfix » et le troisième mercredi plutôt pour des versions de sécurité ;
  • Les « Experimental projects ». L’équipe Drupal sort des modules qui sont dans le core sans être intégrés officiellement.
    On peut ainsi tester les fonctionnalités avant qu’elles ne sortent. A utiliser cependant avec parcimonie.

 

Pourquoi peut-on parler d'un « non-évènement » pour Drupal 9 ?

L’arrivée de Drupal 9 et des futures versions majeures sont considérées comme des « non-évènement ». On utilise ce terme car bien qu’étant des mises à jour un peu plus robustes que les précédentes elles n’en demeurent pas moins des mises à jour.

Drupal 8 est un changement de paradigme. On peut même parler de Drupal 8+ pour présenter Drupal 8, 9 et les futures versions car tous partagent une cohérence technique et fonctionnelle contrairement aux versions précédentes.

Coder sur Drupal 8+, 9 et prochainement 10 c’est vivre une expérience identique avec le même environnement, API et boîte à outils. On assistera simplement à des mises à jour selon les versions. Ce qui n’était pas le cas sur Drupal 7, 6 ou 8 qui ne partagent pas le même core. L’expérience vécue était forcément différente.

 

Qui est vraiment Drupal 9 ?

CMS Drupal 9

 

Quelles sont les nouveautés ?

Malgré le fait que ce soit son arrivée soit un « non-évènement », Drupal 9 apporte tout de même son lot de nouveautés. C’est aussi l’opportunité pour son équipe dirigeante de définir une stratégie et un axe pour l’avenir :

  • Réduire les coûts et les efforts du développement.
    L’idée étant aussi de réduire le coût de la maintenance afin de se concentrer sur des initiatives qui faciliteront les mises à jour ;
  • Prioriser l’expérience des débutants.
    On parle de l’UX de contribution pour la création d’extensions et modules ;
  • Rester un leader de l'open-source.
    Se concentrer sur l’accessibilité, l’inclusion, la sécurité, la confidentialité et l’interopérabilité ;
  • Être le moteur de données structurées le plus performant possible.
    Pour se placer en tant qu’outil de gestion de contenu potentiellement complémentaire aussi à des futures technologies de front.

Toutes ces nouveautés rejoignent la philosophie et la stratégie de « headless ». L’idée étant de découper ses composants de façon à les rendre performants individuellement. Drupal se concentre sur l’enjeu du contenu en tant que tel peu importe la manière dont il sert.

 

Liste des améliorations portées par Drupal 9

On dénombre un nombre conséquent d’améliorations dites « sous le capot » car elles ne sont pas forcément visibles pour les contributeurs ou les utilisateurs finaux. Ces derniers n’en ressentiront les effets que d’un point de vue performance finale :

  • Mise à jour des dernières versions de Twig & Symfony ;
  • Amélioration sur la sécurité globale ;
  • Amélioration sur les performances ;
  • Interopérabilité accrue ;
  • Gestion multilingue poussée ;
  • Amélioration des workflows de contenu et du versionning ;
  • Migration simplifiée.

Grande nouveauté, le calendrier des nouvelles fonctionnalités est bouleversé. Il ne faudra plus attendre les versions majeures pour obtenir de nouvelles fonctionnalités. Elles sortiront tous les 6 mois lors des versions mineures. Être sur Drupal 9 c’est donc l’assurance de bénéficier de ces nouvelles versions mineures. Ce qui n’est malheureusement pas le cas si vous êtes encore sur Drupal 8 ou 7.

 

 

Que faire si vous êtes aujourd'hui en Drupal 7 ?

Votre site est sous Drupal 7 ? Il s’agit de la situation la plus délicate car Drupal 7 s’arrêtera en novembre 2022. Il devient donc urgent de se poser la question et de comprendre surtout à quoi vous vous exposez si vous maintenez cette version.

 

Quels sont les risques à ne pas migrer ?

  1. Risque de cybercriminalité
    Vous devenez une cible de hacking bien plus facile. La communauté ne sera plus là pour vous prémunir des failles majeures de sécurité. C’est très important quand on sait que la sécurité est un enjeu clé pour le maintien d’un écosystème et d’une infrastructure robuste ;
  2. Perte de fonctionnalités et stagnation
    Les modules n’étant plus maintenus ils n’évolueront plus de manière fonctionnelle ;
  3. Enjeu stratégique
    Le manque de développeurs compétents connaissant Drupal 7 va s’accentuer. Quand on sait qu’il n’est déjà pas facile de trouver un bon expert Drupal. Les nouvelles générations travaillent majoritairement en Drupal 8. Elles sont souvent même formées directement sur cette version.

Vous l’avez compris, restez sous Drupal 7 comporte plusieurs risques fonctionnels et stratégiques qui doivent être pris en compte. Vous hésitez encore ? Comment se passe la migration ? Quelles sont les difficultés que je pourrais rencontrer ?

 

Quelle stratégie de migration ?

Nous parlons ici de la migration de Drupal 7 vers Drupal 9. Il n’y a pas d’intérêt aujourd’hui de migrer de Drupal 7 à Drupal 8 qui s’est arrêté en novembre 2021. Encore plus sachant que Drupal 9 n’est autre qu’une nouvelle version majeure de son prédécesseur qui conserve le même environnement.

On ne va pas vous mentir, vous devrez repartir de zéro. Vous n’avez pas vraiment le choix. Les différences structurelles dans le code sont trop importantes pour utiliser d’anciennes bases.

Si vous souhaitez reproduire à l’identique l’existant de Drupal 7 sous Drupal 9 il faut :

  • Recréer tous les types de contenus dans le back-office,
  • Recréer toutes les pages de listes,
  • Tout paramétrer.

Une fois cela fait, la migration sera facilitée grâce au module « Migrate » qui permet le transfert d’une version à l’autre. Vous trouvez cela fastidieux ? Notre conseil ? Profitez-en pour re-questionner l’existant en faisant une refonte complète !

En essayant de faire une simple copie vous risquez de passer à côté d’anciennes fonctionnalités. De ne pas pouvoir les appliquer aux nouveaux modules qui ne sont pas identiques. Cette refonte technique permettra de se poser les bonnes questions afin de ne rien oublier. Vous pourrez ainsi vous adapter au mieux aux nouvelles versions de Drupal. C’est l’occasion ou jamais !

 

Que faire si vous êtes aujourd'hui en Drupal 8 ?

La version Drupal 8 n’étant plus maintenue depuis novembre 2021 vous avez décidé de franchir le cap et de passer à Drupal 9. Bonne nouvelle ! Nul besoin d’une refonte. En effet, la grande majorité des modules sont compatibles avec Drupal 9. Pour ceux dont ce n’est pas encore le cas, les robots de l’écosystème de Drupal analysent les codes afin de prévenir les créateurs des parties dépréciées qui nécessitent d’être changées. Le travail est nettement facilité pour les mainteneurs de modules

Vous avez vécu une migration de Drupal 7 vers Drupal 8 et avez été confronté à l’enjeu concernant la disponibilité des modules ? Cela n’est plus un souci ! Drupal 9 permet le développement de patch pour tous les modules indisponibles.

Voici les quelques prérequis techniques pour la migration :

  • Serveur Web :
    • Nginx version supérieure ou égale à 0.7.X,
    • Apache version supérieure ou égale à 2.4.7.
  • Langage PHP :
    • Version minimum égale ou supérieure à 7.3,
    • Il très encouragé de passer sur Composer 2.
  • Bases de données :
    • MySQL égale ou supérieure à 5.7.8,
    • MariaDB supérieure ou égale à 10.3.7,
    • PostgreSQL égale ou supérieure à 10.
  • Version Drupal :
    • Être en version 8.8 ou 8.9.

C’est parfait, vous remplissez toutes les conditions. Dans ce cas, il vous faudra vérifiez votre « Upgrade status ». Cet outil, très pratique, permet de générer un rapport à la suite d’un scan des modules. Cela permettra de déceler de potentielles erreurs cachées. Une fois celles-ci résolues, la migration pourra se dérouler sans encombre.

 

Les étapes de migration

  1. Mise à jour des environnements,
  2. Vérification du core de Drupal 8 sous la version 8.8 ou 8.9,
  3. Mise à jour des modules contribués.
    Ou développement de patch pour les modules pas encore disponibles sous Drupal 9,
  4. Mise à jour du core vers Drupal 9,
  5. Remplacement des dépréciations dans les modules/thèmes custom.

 

Que peut-on en conclure ?

Le calendrier de l’arrêt des précédentes versions force quelque peu la main pour une migration sous Drupal 9 mais comme vous l’aurez compris ce n’est finalement pas une mauvaise chose en soit. Outre les nombreux atouts que cette version comporte, elle a été pensée comme une évolution et non une révolution. Cette mise à jour du socle technique permettra d’assurer une pérennité qui n’était auparavant pas d’actualité. Sans oublier qu’elle balaye de nombreux risques fonctionnels et stratégiques. Alors, prêts à migrer ?

Nous espérons que cet article vous aura permis d’y voir plus clair et de répondre aux questions que vous vous posiez.

Image mise en avant pour l'article
Cordelia Houel-Parent
UX Designer
De l'urgence de migrer sur Drupal 9 : conseils et bonnes pratiques
Voir le webinar !
WEBINAR
L'éco-conception : les bonnes pratiques pour réussir votre projet et diminuer votre empreinte environnementale.
Voir le webinar !
Votre site Web est sur une version type Drupal 7 ou 8 et vous désirez avoir des renseignements pour un projet de migration ?
Nos experts techniques vous accompagnent dans votre projet d'évolution.
Contactez-nous !