6 août 2019

Drupal 9 devrait sortir le 3 juin 2020. Les versions 7 et 8 de Drupal seront alors encore supportées officiellement par la communauté jusqu’en novembre 2021 : les releases devraient concerner la correction de failles de sécurité et la correction de bugs. Au-delà du support officiel, une assistance « vendor », sera fournie par des sociétés tierces pour Drupal 7, mais pour le moment, il n’y a pas d’informations concernant un éventuel support « vendor » pour Drupal 8.

 

Drupal 9 et versions précédentes

 

Pourquoi Drupal 9 est prévu pour le 3 juin 2020 ?

La sortie de Drupal 8 a marqué la communauté avec l’arrivée de changements majeurs. Le versioning sémantique permettant d’indiquer les versions de Drupal est un exemple de ces changements qui a eu un impact non négligeable. Cela a permis d’intégrer de nouvelles fonctionnalités dans les versions mineures de Drupal 8 en évitant d’attendre la sortie de versions majeures. Par exemple : l’ajout du module Content Moderation dans Drupal 8.2.0 et l’intégration du Layout Builder en version non finale, dans la version 8.5.0 n’a pas nécessité de sortie majeure du CMS.


L’avantage de ce versioning, c’est que les modifications apportées aux versions mineures restent compatibles avec les versions précédentes de Drupal 8. Dans la théorie, ce fonctionnement pourrait se faire sans limite, mais Drupal s'appuie sur des dépendances tierces.


La plupart du temps, il n’est pas possible de rendre compatible les mises à jour tierces avec les versions antérieures de Drupal. Or, le versioning sémantique nécessite que l’implémentation de modifications ayant une incidence sur la compatibilité ascendante soit réalisée sur des versions majeures comme Drupal 9.


Et Drupal 8 intègre de nombreuses dépendances comme Symfony, Twig, CKEditor, Guzzle, qui sont des composants fondamentaux de l'architecture de Drupal 8. Ces dépendances atteignent elles aussi une fin de support et ne sont plus mises à jour, devenant obsolètes. Drupal doit être mis à jour pour utiliser des versions plus récentes et supportées par les éditeurs. Or, si les dépendances mises à jour ont une incidence sur la compatibilité ascendante, elles ne peuvent être intégrées que dans une version majeure de Drupal. Par exemple, Drupal 8 utilise Symfony 3 qui ne sera plus supporté par Sensiolabs dès novembre 2021, et la mise à jour de Symfony 4 annule la compatibilité avec Symfony 3 pour les anciennes versions de Drupal.


Alors que, d’après la documentation officielle de Drupal 9, le CMS devrait intégrer Symfony 4 ou 5, des recherches sont actuellement effectuées pour rendre compatible Symfony 4 sous Drupal 8 de manière optionnelle. Plusieurs raisons viennent étayer ces choix :

  • Cela permet aux développeurs d’évaluer cette nouvelle dépendance avant qu’elle ne soit intégrée dans Drupal 9.
  • Mais la première raison pour laquelle la sortie de Drupal 9 est prévue pour le 3 juin 2021 c’est que la communauté souhaite avant tout donner aux utilisateurs de Drupal 8 suffisamment de temps pour planifier la mise à jour de Drupal, vers la version 9. Malgré le fait que la fin de vie de Symfony 3 soit prévue pour novembre 2021.

 

Roadmap Drupal 9
Roadmap Drupal 9, 8 et 7

 

Quelles sont les différences entre Drupal 8 et 9 ?

Drupal 9 devrait être semblable à la version finale de Drupal 8, sans le code obsolète et avec les dépendances tierces mises à jour. La mise à jour de Drupal 8 à Drupal 9 sera théoriquement plus simple qu’une migration de Drupal 7 à Drupal 8. À condition d’avoir la version du CMS la « plus à jour », une fois Drupal 9.0 disponible et de retirer le code custom obsolète (deprecated).

 

Sortie de Drupal 9 : Quelle incidence pour Drupal 8 ?

Drupal 8 intègre Symfony 3, la plus grande dépendance, dont la fin de vie est prévue pour novembre 2021. Les problèmes de sécurité de Symfony ne devraient donc pas être résolus après cette date, raison pour laquelle, la fin du support de la version 8 du CMS devrait prendre effet à la même période.


La sortie de Drupal 9 devrait correspondre à la sortie d’une version mineure de Drupal 8 avec support à long terme (LTS), dont la prise en charge s’étendrait jusqu'en novembre 2021. Cette version LTS devrait correspondre à la 8.9.x et celle-ci ne recevra les versions de correctifs qu'après la publication de Drupal 9.0.0. Cette dernière version de Drupal 8 ne recevra plus aucune mise à jour mineure et aucune nouvelle fonctionnalité ne sera ajoutée. En revanche, il n’y a pas encore d’indications concernant un support « vendor » réalisé par des sociétés tierces pour Drupal 8 après novembre 2021.

 

Sortie de Drupal 9 : Quelle incidence pour Drupal 7 ?

Le nombre important de sites basés sur Drupal 7 (près de 750 000 en juillet 2019) a poussé la communauté à étendre le support jusqu'en novembre 2021, même date de fin de vie que Drupal 8. Drupal 7 sera donc pris en charge sur une période d’une année et demie après la sortie de Drupal 9. À la fin du support communautaire, un support étendu et payant, fourni par des sociétés tierces sera proposé au moins jusqu’en 2024.

 

Pendant combien de temps Drupal 9 sera-t-il supporté ?

La date de fin de vie de Drupal 9 (end of life de Drupal 9) n’est pas encore communiquée, mais elle devrait correspondre aux dates de fin de support des dépendances de Drupal 9. Si dans sa 9e version, le CMS intègre Symfony 4, sa durée de vie devrait être fixée à novembre 2023. Dans le cas d’un scénario optimiste où Drupal 9 intègre Symfony 5, la durée du support du CMS pourrait aller jusqu’en novembre 2025. Mais si d’autres dépendances, comme twig, ont une durée de vie inférieure à celle de Symfony 4 ou 5, la fin du support pourrait être plus proche que 2023 ou 2025.