04/06/2020

Drupal 9 est disponible

Le CMS open source qui gagne de plus en plus en popularité annonce la disponibilité de sa version 9. Une version qui pose la base technique pour des fonctionnalités à venir avec une grande facilité de mise à niveau.

La naissance de Drupal 9

Drupal 9 a été principalement construit à partir Drupal 8 en utilisant des déprédations et un support de dépendance mis à jour en option. Contrairement aux nouvelles versions majeures précédentes, Drupal 9 n’est pas une réinvention de Drupal. Au contraire, il n’y a que deux différences essentielles dans Drupal 9 :

  • Les mises à jour des dépendances pour les versions qui restent supportées.
  • La suppression de notre propre code que nous avons déprécié avec la suppression avant la sortie de Drupal 9.

Mis à part ces deux choses, Drupal 9.0.0 devrait être identique à la dernière version mineure de Drupal 8 : Drupal 8.9.0.

Cette stratégie a eu de nombreux avantages :

  • Tout nouveau code (prêt pour Drupal 9) est déployé sur les sites Drupal 8 avant même la sortie de Drupal 9.
  • Les problèmes posés par le nouveau code dans Drupal 8 peuvent être résolus en avance.
  • Un retour d’information est fourni sur la base de ce nouveau code afin qu’il puisse être amélioré dans Drupal 8.

La migration de Drupal 8 à 9 ne représente donc pas un saut soudain, mais plusieurs petites étapes qui sont beaucoup plus faciles à adopter.

Les nouvelles dépendances

Techniquement la nouvelle version de Drupal amène de nouvelles dépendances de tierce partie avec une stratégie consistant à maintenir la rétrocompatibilité. Voici une liste des plus importantes :

  • Symfony 3 à 4,4 :  Drupal 9 est mis à jour vers Symfony 4.4. Bien que Symfony 5 soit maintenant disponible, la perturbation du passage de Symfony 3 à 5 était trop importante pour la sortie de Drupal 9. L’équipe s’attelle à rendre Drupal compatible avec Symfony 5 le plus rapidement possible.
  • Twig 1 à 2 : Drupal 8 reposait sur twig 1. Bien qu’aucune date de fin de vie précise n’ait encore été publiée, la branche 2 est sortie depuis des années. Drupal 8.7.0 a été publié avec un support optionnel pour Twig 2 et Drupal 9 dépendra de Twig 2.
  • CKEditor 4 :CKEditor 4 et 5 sont deux bases de code entièrement différentes. Drupal 8 et 9 incluent tous deux CKEditor 4. L’équipe Drupal prévoit d’inclure CKEditor 5 dans une future version de Drupal 9, de déprécier CKEditor 4 dans Drupal 9 et de le supprimer dans Drupal 10.
  • jQuery et jQuery UI : la dépendance à jQuery UI, un projet en fin de vie, sera progressivement retirée pour être remplacée par une dépendance à jQuery.
  • PHPUnit : Drupal 9 nécessite PHPUnit 8 et des travaux ont été effectués pour ajouter une couche de compatibilité avec PHPUnit 9.
  • Doctrine : Drupal 8 utilise le Simple Annotation Parser de Doctrine, mais celui-ci a été déprécié et sera retiré d’une prochaine version sans remplacement. L’équipe Drupal a donc bifurqué la partie du code dont elle avait besoin et l’a incluse dans le noyau de Drupal.

Futures fonctionnalités

Comme vu précédemment, Drupal 9.0 n’inclut aucune nouvelle fonctionnalité. D’ailleurs des modules sont retirés comme Place Blocks et SimpleTest. Comme pour Drupal 8, Drupal 9.1, 9,2, etc. ajouteront de nouvelles fonctionnalités rétrocompatibles à Drupal 9 tous les six mois après Drupal 9.0. Le principal avantage de Drupal 9 par rapport à Drupal 8 est que la plate-forme sera prise en charge avec des correctifs de sécurité après novembre 2021. La caractéristique principale de Drupal 9 est sa capacité à fournir une mise à niveau aussi facile que possible par rapport à Drupal 8.

Drupal 9.1 et suivants continueront à ajouter de nouvelles fonctionnalités au noyau de Drupal. Le chef de projet Dries Buytaert a avancé quelques pistes d’orientations possibles pour l’avenir dans son discours-programme à la DrupalCon d’Amsterdam.

Source : www.drupal.org

Actualités