La feuille de route de Drupal 10 et comment s'y préparer

Image illustrant un développeur Drupal 10
Rappel du cycle de vie de Drupal 8, 9,10 et synthèse des nouveautés attendues. Nous faisons ici le point sur les principales initiatives et sur les outils pour se préparer à cette version...

Les cycles des versions majeures de Drupal s'accélèrent. Nous avons confiance en une décélération de leurs impacts :) Un an après la libération de Drupal 9, la mise à niveau vers la version 9 est toujours en cours pour de nombreux propriétaires de sites. Cela n'empêche pas les discussions d'aller bon train sur les évolutions à apporter à Drupal 10. 

Drupal 10 en juin 2022

La dixième version du CMS devrait sortir en juin 2022. Les dates exactes ne sont pas encore connues mais le calendrier a été convenu il y a longtemps. En cas de pépin, il a été prévu de reporter cette date cible à août ou décembre 2022. Drupal 9 devrait donc disposer de la durée de vie la plus courte parmi les versions majeures de Drupal.

Qu'adviendra-t-il de Drupal 9, 8 et 7 ?

Toutes les versions précédentes seront en fin de vie, ce qui signifie l'arrêt de leur support officiel. Drupal 7, 8 et 9 ne recevront plus les mises à jour concernant la sécurité, les performances ou de nouvelles fonctionnalités. C'est pourquoi il est temps de se préparer à la montée en version vers Drupal 10 assez tôt. 

La fin de vie de Drupal 9 est prévue pour la fin 2023. Elle est motivée par la fin de vie d'une dépendance majeure, Symfony 4. 

La fin de Drupal 8 est prévue pour novembre 2021. Elle est également motivée par la fin de vie d'une dépendance majeure, Symfony 3. 

Drupal 7 sera supporté jusqu'en novembre 2022. L'allongement de son support est motivé par le nombre de sites encore exploités par cette version et l'effort conséquent de montée en version entre Drupal 7 et Drupal 8, 9 ou 10. 

A quoi s'attendre avec Drupal 10 ?

Depuis Drupal 8, les efforts de montée en version majeure sont moins impactants. Drupal 9 est construit sur la base de Drupal 8. De même, Drupal 10 sera construit sur la base de Drupal 9. Toutes les dépendances seront mises à jour et le code obsolète supprimé. Il ne faut donc pas s'attendre à des changements révolutionnaires.

Les 5 initiatives principales dans Drupal 10 : 

Ce choix a fait l'objet de concertations dans la communauté. 

Voici donc un bref résumé des fonctionnalités clés attendues dans Drupal 10 -

Dépendances mises à jour :

  • CKEditor 5 remplacera CKEditor 4 pour proposer une meilleure expérience de contribution ; 
  • jQuery UI sera remplacé par l'utilisation de composants JavaScript modernes ;
  • Symfony 5 ou Symfony 6 remplacera Symfony 4 ;
  • PHP 8.0 remplacera PHP 7.3
  • Internet Explorer 11 ne sera plus pris en charge (youpi !) ;

Amélioration de l'expérience de contribution :
Drupal devrait devenir de plus en plus facile à manipuler grâce aux améliorations apportées à la gestion des médias, à la bibliothèque multimédia, au générateur de mise en page et au thème d'administration (activation prêtes à l'emploi).

Mises à jour automatisées :
Les mises à jour fluides et sécurisées deviennent seront possibles dans Drupal 10, pour les sites utilisant Composer.

Menus découplés :
La communauté poursuit ses efforts dans le sens des architectures découplées, pour fournir de meilleures expériences de développement JavaScript et permettre aux interfaces JavaScript de consommer des menus gérés dans Drupal.

Nouveau thème frontal :
Le travail est en cours pour stabiliser le nouveau thème Olivero et le rendre disponible par défaut dans le noyau, en remplacement du bon vieux Bartik.

Expériences de création de site améliorées :
Drupal 10 veut donner une meilleure expérience aux site builders avec l'initiative "Site Builder Tool/Project Browser". Cet outil est destiné à installer et mettre à jour les modules sans ligne de commande.

Comment s'y préparer

Se préparer à Drupal 10 consiste à maintenir votre code à jour. Mettez à jour le noyau, utilisez les versions compatibles Drupal 10 des modules contribués et corrigez votre propre code personnalisé pour en éliminer les éléments obsolètes.

Les étapes et les outils nécessaires à la préparation de Drupal 10 seront très similaires à ceux utilisés pour préparer Drupal 9 (à la condition de ne pas rester avec Drupal 8) :

  • Le module upgrade status dispose d'une interface conviviale et aide à trouver les dépréciations sur votre site ;
  • Drupal Check, en ligne de commande, analyse le code statique du site et mesure les dépréciations ;
  • PHPStan Drupal analyse de code et mesure également les dépréciations ;
  • Drupal Rector vous aide à automatiser la suppression et le remplacement du code obsolète lorsqu'il est déjà identifié ; 
  • Le module Upgrade Rector basé sur Drupal Rector exécute l'outil avec l'interface utilisateur (pour les allergiques à la ligne de commande) ;
  • Utile - la page État de la dépréciation de Drupal 10 affiche la compatibilité de Drupal 10 en fonction de toutes les utilisations d'API dépréciées actuellement.

Maintenant vous savez tout, et c'est bien là le principal car c'était le modeste exercice de cette synthèse !