Passer à Drupal en version 9

En septembre 2018, le créateur de Drupal, Dries Buytaert (Néerlandais) annonçait la sortie de la version 9 de ce CMS (Content Management System) pour mi-2020. Nous y sommes presque.

Quelles sont les évolutions prévues ? Est-il nécessaire de faire migrer votre site vers cette nouvelle version ? Comment faire ?

Nous vous disons tout !

En quoi consiste la version 9 de Drupal ?

La réponse risque de vous décevoir en tant qu’utilisateur de Drupal et possesseur d’un site propulsé par la version 8.

La version 9 est une évolution majeure de nature purement technique. L’occasion pour Drupal d’une grande toilette consistant à se débarrasser de briques obsolètes d’une part, et de mettre à jour son socle technique (Framework) Symfony en version 4.4.

C’est avant tout le second point qui a motivé l’annonce de la version 9 puisque la fin du support de la version 3 de Symfony a été annoncée pour fin novembre 2021.

Cette date coïncide en conséquence avec la fin de support de la version 8 de Drupal, basée sur Symfony 3.

Pour bénéficier de nouvelles fonctionnalités, il faudra patienter un peu. Elles feront l’objet des versions mineures à venir de la version 9.

Vous pouvez faire le choix de maintenir votre version 8 quelques mois, mais ne tardez pas : novembre 2021 n’est pas si loin et il serait dommage de vous priver des futures évolutions fonctionnelles des versions 9.x.

Un peu d’histoire : 20 ans déjà

La version initiale de Drupal date de la fin d’année 2000. Elle a été officialisée le 15 janvier 2001 et rapidement remplacée en mars de la même année par la version 2.

Les versions majeures de Drupal se sont succédées avec des durées de vie variables :

  • Septembre 2001 pour la version 3 (soit +6 mois),
  • Juin 2002 pour la version 4 (soit +9 mois),
  • Janvier 2007 pour la version 5 (soit + 5 ans),
  • Février 2008 pour la version 6 (soit + 13 mois),
  • Janvier 2011 pour la version 7 (soit + 11 mois),
  • Novembre 2015 pour la version 8 (soit près de 5 ans).

Ainsi, la version Drupal 9 sera lancée 5 ans après la version 8.

Entre 2 versions majeures, Drupal fait l’objet d’évolutions régulières, dites mineures : 8.1, 8.2, etc. Elles portent sur des évolutions fonctionnelles, techniques plus ou moins importantes. Elles sont programmées dans une roadmap partagée par tous les contributeurs, et selon un planning défini à l’avance.

Exemple de Roadmap de Drupal version 8 - source drupal.org

Source : site officiel de Drupal.

À noter : Les correctifs de sécurité utilisent une nomenclature sur 3 positions : 8.2.3, 8.2.4 etc.

Le saviez-vous ?

Le nom Drupal vient de Druppel : « Goutte » en Néerlandais en raison des origines de son inventeur. Pourtant son idée première était Dorp, qui signifie « village » en Néerlandais. Une inversion par erreur de 2 lettres lors de l’enregistrement du nom de domaine aurait conduit à déposer Drop.org – Goutte en anglais.

Vision technique : une affaire de dépendance ?

Dépendance du coeur ?

Au final, la sortie de cette nouvelle version 9 du coeur de Drupal est une obligation liée à la fin du support de la version 3 de Symfony par son éditeur SensioLabs.

Les solutions de CMS du marché sont construites sur un ensemble de composants développés et maintenus par d’autres éditeurs ou communautés. Il s’agit là d’ailleurs d’une caractéristique de quasiment toute solution informatique.

Si nous nous attachons au coeur de Drupal, nous constatons d’autres dépendances fortes, en plus de Symfony.

La version 9 de Drupal s’accompagnera de l’adoption de versions plus récentes de ces dépendances, parmi lesquelles :

  • Twig en tant que langage de templating (mise en forme des gabarits de pages),
  • CKEditor (module permettant de proposer de la mise en forme des contenus en back office),
  • JQuery (un framework Javascript bien connu),
  • Doctrine (plugin de sécurisation des appels en base de données)…

Le site de Drupal présente un article technique – en anglais – dédié à ces dépendances, leur cycle de vie et leur sécurité.

Dans cette liste, notons que la version de PHP est également une dépendance du coeur de DRUPAL :

Source : site officiel de Drupal

Dépendance des modules ?

Les sites internet utilisent fréquemment des modules (extensions) développés par des tiers pour compléter les fonctionnalités proposées par le coeur de Drupal. Certains exploitent en complément des développements spécifiques sous forme de modules qui ne sont pas mis à disposition de la communauté open source.

Tous ces modules sont développés pour une version donnée de Drupal. Les caractéristiques de Drupal évoluant – comme c’est le cas pour ce passage en version 9 – les modules doivent eux aussi évoluer. Ils sont ainsi dépendants de la version de Drupal.

Aussi, un site internet faisant usage de nombreux modules complémentaires pourra évoluer en version 9 si chacun de ces modules est compatible. Certains d’entre eux, devenus obsolètes, devront être remplacés par des modules similaires compatibles.

Cette dépendance des modules amène la plupart des agences à utiliser les modules avec parcimonie. Leurs choix se portent prioritairement sur des modules très utilisés, qui ont plus de chance de faire l’objet d’une portabilité par leurs contributeurs.

Vision usage

En adoptant le framework Symfony depuis sa version 8 en 2015, la communauté de Drupal a rallié des développeurs maitrisant ce framework. Ce choix technique est au profit de l’utilisateur final si nous considérons que le nombre de modules disponibles est en lien direct avec le nombre de contributeurs.

L’effort et l’investissement induits par cette mise à jour de Drupal en version 9 pour chaque site internet est à mettre en regard des gains de sécurité. Le plus gros risque de renoncer à une mise à jour porte sur les conséquences en termes de vulnérabilités.

Depuis que la sortie de la version 9 a été annoncée, il est légitime de penser que les contributeurs se sont concentrés sur cette version pour développer ou faire évoluer leurs modules. En tant qu’utilisateur, seul un passage en version 9 pourra dès lors vous faire bénéficier de ces nouveautés.

Enfin, puisque la version 9 ne présente pas d’évolutions fonctionnelles, vous retrouverez vos habitudes de mises à jour et de publications suite à la migration.

Comment effectuer la migration de votre site en Drupal 9 ?

Les réponses à cette question dépendent :

  • de votre version actuelle de Drupal,
  • des modules de votre site,
  • de votre environnement : version de php, version de mysql etc.

Votre agence web sera à même de vous accompagner.

Cette migration sera d’autant plus pointue que votre version de Drupal est ancienne.

Elle nécessitera de disposer d’un environnement de préproduction pour effectuer les étapes sur une copie de votre environnement de production. Une recette sera à mener par vos soins pour vous assurer que la migration est satisfaisante.

Si votre site a régulièrement été mis à jour dans la version plus récente de Drupal, le passage de la version 8.9.x à la version 9 est censé être simplifié.

Pour les plus téméraires d’entre vous, qui souhaitez effectuer la migration par vous-même, nous vous invitons à récupérer les manipulations à la source – en anglais, sur le site officiel de Drupal : comment préparer la migration de votre site vers Drupal 9 ?

Le saviez-vous ?

L’agence acti a conçu le site évènementiel le plus consulté de France sous Drupal 7 dès sa sortie : celui de l’édition 2011 de la Transat Jacques Vabre. Une performance en termes de disponibilité avec un site dimensionné pour accepter plus de 8 000 visiteurs connectés en simultané.

 

Retourner sur la liste des articles