Sortie de Drupal 9

C’est officiel depuis le 4 juin 2020.

À 00h15 heure de Paris, la version 9.0 de Drupal a été mise en ligne.

Cette première version stable de Drupal 9 (D9) apporte avec elle un grand nombre de changements que nous allons expliquer dans ce billet.


Quels sont les enjeux de Drupal en 2020 ?

Depuis sa création en 2001, le CMS Drupal a réussi à se hisser comme le leader des systèmes de gestion de contenus pour les projets de grande envergure. Sa souplesse et sa robustesse en font un outil précieux qui a su rester compétitif face à ses concurrents pour des projets de sites éditoriaux à forte valeur ajoutée.

Néanmoins les usages et les technologies numériques évoluant très rapidement il est aujourd’hui difficile de concevoir un outil qui ne sera pas devenu obsolète dans 5 ans.

La concurrence des outils permettant la création et la diffusion de contenu numérique est de plus en plus féroce, et Drupal, grâce à cette version 9 a su tirer son épingle du jeu.


Comment la communauté s’est adaptée

Depuis maintenant presque 20 ans, le code constitutif de Drupal est libre et open-source. Cela signifie que son usage et son évolution sont le fruit du travail de milliers de développeurs et développeuses à travers le globe.
Cette multitude de profils et de projets ont permis à ce CMS de garantir une stabilité et une capacité d’adaptation depuis de nombreuses années.

Cependant, le développement nécessaire à la création de nouvelles fonctionnalités et l’amélioration de celles déjà présentes est long et couteux. C’est pourquoi depuis quelques années déjà, Drupal s’entoure d’autres logiciels libres ayant eux aussi fait leurs preuves.

On pourra citer jQuery, Symfony, Composer ou encore Twig (et de nombreux autres) comme projets externes intégrés au cœur de Drupal afin de réduire le temps de développement et de maintenance de milliers de lignes de codes.

 

Quelques logiciels tierces partie de Drupal 8.9 et 9.0

 

En se basant sur des technologies tierces robustes et pérennes, les développeurs de la communauté ont ainsi choisi une approche plus globale et ouverte. En effet, il est désormais plus simple de contribuer à l’élaboration de modules et de thèmes de part ces technologies très utilisées et connues par les développeurs non érudits à Drupal.

Cette logique d’ouverture oblige cependant une mise à jour régulière et un point d’attention de l’évolution de ces projets externes.

C’est notamment en prenant en compte la fin de vie de certains de ces projets que le modèle d’évolution et de mise à jour de Drupal s’est transformé radicalement avec cette version 9.0.


Mais, concrètement ?

Concrètement, Drupal 9.0 n’embarque pas avec elle de fonctionnalité supplémentaire pour l’utilisateur. Elle s’inscrit dans une démarche plus globale facilitant sa mise à jour et augmentant drastiquement sa durée de vie.

Des outils plus accessibles

Un effort a été apporté afin de rendre plus facile la contribution à Drupal et ce pour tous les types d’utilisateurs.

Pour les développeurs, un changement de version majeur du Framework PHP Symfony, sur lequel repose désormais Drupal a été opéré. Cela va permettre une meilleure productivité des équipes de développement, et l’amélioration de la qualité du code produit.

De plus, de nombreux outils spécifiques au développement ont fait eux aussi fait un grand pas en avant en changeant de version majeure. La liste est exhaustive, mais on pourra citer les plus connus : Composer, Twig, jQuery et CKEditor.

Les rédacteurs, éditeurs, modérateurs, responsables de publication et utilisateurs du back-office, pourront quant à eux se réjouir d’une implémentation dans le cœur de Drupal de deux outils essentiels à leurs missions :

  • La bibliothèque de médias (Media Library), permettant de naviguer au sein des différents fichiers images, vidéos et sonores et de les sélectionner en vue de les intégrer dans la page en édition.
  • Le Workflow, ou processus de validation qui permet la création d’étapes de validation et de relecture avant la mise en ligne afin d’améliorer la qualité du contenu éditorial minimiser les erreurs de publication.

Également, il est à noter que Drupal évoluant dans un écosystème en constante évolution, un effort a été fait pour simplifier la récupération des données via une API.

Cela rend plus souple les intégrations dites découplées ou headless, dans lesquelles Drupal est l’outil de création de contenu, mais pas de diffusion. Cette diffusion étant assurée par des applications tierces comme des applis mobiles, des smartTVs, des box internet ou encore d’autres sites web.

A cet effet, les technologies utilisées les plus connues sont React, Angular et Vue, trois framework écris en Javascript permettant une interaction riche avec l’utilisateur.

Schéma de mise à jour D7 et D8 vers D9

 

Un système de mises à jour simplifié

La réelle nouveauté apportée par Drupal 9 est sans aucun conteste son positionnement quant à son futur et sa mise à jour.

En effet, Drupal 9, qui n’apporte pas dans sa version 9.0 de grandes nouveautés, s’inscrit dans une démarche de mise à jour simple et régulières.

En termes de fonctionnalités, la dernière version de Drupal 8, la 8.9, comporte à l’heure actuelle exactement les mêmes outils que ceux de la version 9 sortie le même jour.

 

La différence réside dans la manière dont le code est construit.

 

La communauté a réalisé un gros travail de réécriture du code afin de permettre à ce dernier de s’intégrer dans une dynamique d’évolution permanente, permettant ainsi des apports fonctionnels régulièrement (tous les 6 mois, lors de la sortie des versions mineures 9.x) plutôt que tous les 4 ans (sorties des version majeures).

Il n’y aura donc plus, grâce à cette démarche, besoin de refondre complètement un site Drupal pour passer d’une version majeure à une autre et vous pourrez bénéficier des nouvelles fonctionnalités lors de leurs sorties par le biais d’une mise à jour mineure, moins couteuse.

La mise à jour vers une version majeure devient aussi simple qu'une mise à jour mineure.

Comme l’a dit Dries Buytaert, créateur de Drupal :

The big deal about Drupal 9 is… that it should not be a big deal.

(Le plus gros enjeux à propos de Drupal 9 est que… ça ne devrait pas être un gros enjeux.)

 

Dans les fonctionnalités prévues à ce jour dans la prochaine version mineure 9.1, prévue pour décembre, on trouve un nouveau thème d’administration : Claro, proposant une meilleure expérience de navigation et de création de contenu, ainsi qu’un nouveau thème de base : Olivero, lui aussi beaucoup plus agréable à utiliser que l’actuel thème Bartik.


Comment passer à Drupal 9 ?

Comme l’a déjà évoqué Fabien dans son article Fin de vie de Drupal 7 et 8, êtes-vous prêts ?, le passage à D9 sera plus ou moins douloureux selon la version de Drupal aujourd’hui utilisée par votre projet.

Un passage de D7 à D9 nécessitera une reconstruction complète de l’architecture et des fonctionnalités de votre site, ainsi qu’une migration des données ; alors qu’un passage de D8 à D9 sera plus aisé, car ne nécessitant que la reprise de fonctions dépréciées au sein du code.

Vous désirez savoir si vous êtes prêt pour Drupal 9 ?