Dans un contexte de fin de support pour Drupal 8 désormais actée (2 novembre 2021) et à venir pour Drupal 7 (novembre 2022), il est d’ores et déjà l’heure de se pencher sur la prochaine mise à jour du système de gestion de contenus à venir. Drupal 10 devrait arriver sur le marché autour de juin 2022.
Pourquoi Drupal 10 arrive si vite ?
La plus grosse dépendance de Drupal 9 est Symfony 4 dont la fin de vie est planifiée pour novembre 2023, ce qui sous-entend qu’après cela les failles de sécurité de Symfony 4 ne seront pas fixées. Drupal 9 a donc également une fin de vie programmée pour novembre 2023 et il est important, pour des raisons de sécurité, qu’à cette date les sites Drupal 9 aient migré sur Drupal 10. Une sortie de Drupal 10 courant 2022 laisse au moins un an aux développeurs pour opérer une migration de leurs sites web.
La migration de Drupal 9 à Drupal 10 sera-t-elle simple ?
Oui cette migration sera simple et voici pourquoi :
Les nouvelles fonctionnalités de Drupal 10 sont ajoutées à Drupal 9. Cela veut dire que les développeurs de modules peuvent adopter les nouvelles API dès leur mise en place.
La première version de Drupal 10 sera identique à la dernière version de Drupal 9, seul le code obsolète sera supprimé (ce qui peut casser des rétro-compatibilités mais comme les développeurs auront eu l’opportunité et le temps de mettre à jour les changements d’API, la migration vers Drupal 10 devrait être relativement simple).
C’est l’approche qui a été mise en place avec succès pour Drupal 9. En effet, 95% des modules contribués les plus utilisés étaient prêts le jour de la sortie de Drupal 9.0.0.
Drupal 10 : quels changements ?
Symfony
Drupal 9 a été mis en place avec Symfony 4.4. Entre temps, Symfony 5 a été mis en ligne et Drupal s’efforce de mettre à disposition des développeurs des ponts pour assurer une compatibilité avec Symfony 5. Le but est que Drupal 10 supporte au moins Symfony 5.4 à sa sortie, voire Symfony 6 si cela ne provoque pas de perturbations sur le développement des modules contribués.
CKEditor
CKEditor 5 est sorti au printemps 2018, ce qui amène CKEditor 4 a une fin de vie pour fin 2023. CKEditor 5 a été entièrement réécrit et, d’après l’équipe de développement, il doit être considéré comme un tout nouvel outil d’édition de contenus. Ce qui veut dire que Drupal doit passer à CKEditor 5 ou à un autre outil d’édition de contenus pour bénéficier des mises à jour de bugs et autres nouvelles fonctionnalités. Le challenge pour Drupal est donc d’intégrer un nouvel éditeur de contenus, tout en conservant la possibilité d’éditer le contenu créé avec l’éditeur actuel.
Pour rendre CKEditor compatible avec Drupal 10, il est nécessaire qu’il soit, dans un premier temps, disponible en tant que module dans Drupal 9. Les sites pourront passer au nouvel éditeur de contenus et mettre à jour leur configuration avant de migrer sur Drupal 10.
jQuery UI
jQuery UI a été ajouté au cœur de Drupal il y a plus de 10 ans et est encore utilisé à de nombreux endroits dans D9. Depuis, le monde du JavaScript a évolué et jQuery UI ne propose pas de mise à jour.
Un travail est en cours pour remplacer les composants jQuery UI utilisés dans le cœur de Drupal par des solutions plus modernes.
En parallèle, un travail de réduction des dépendances avec jQuery lui-même est en cours, maintenant qu’écrire du code JavaScript pur est devenu nettement plus simple qu’il y a une dizaine d’années.
Guzzle, Twig et autres
Guzzle (une bibliothèque client HTTP pour PHP) a livré sa version 7 en septembre 2020, Twig (un moteur de templates pour PHP) a quant à lui sorti sa version 3 en novembre 2019.
Twig 1 ne sera plus mis à jour – sa dernière version étant sortie en novembre 2021.
Il est probable que de nouvelles versions majeures sortent au fur à mesure que le temps passe et Drupal compte les embarquer pour sa version 10.
PHP 7.4, qui a une fin de support programmée pour novembre 2022, sera également déprécié en faveur de PHP 8.
Composer, qui permet l’installation des dépendances des projets, ne sera plus supporté dans sa version 1 au profit de sa version 2, qui offre de meilleures performances que son prédécesseur.
Nouvelles fonctionnalités de Drupal 10
Drupal 10.0.0 n’est pas vraiment une version cible pour l’ajout de nouvelles fonctionnalités afin de minimiser les changements entre la dernière version de Drupal 9 et la première de Drupal 10. Comme nous l’avons vu, les nouveautés verront le jour au fil de l’eau sur des mises à jour mineures de Drupal 9 avant d’être disponibles sur Drupal 10.
Nous vous le disions dans un précédent article, si vous ne l’avez pas encore fait, il est grand temps de passer à Drupal 9, cela simplifiera grandement votre passage à Drupal 10.
Sources