Se préparer à Drupal 9

Comme prévu, le 03 juin 2020 est la sortie officielle de la première version stable de Drupal 9 avec un support jusqu'à novembre 2021.

Il est vrai que le passage de Drupal 7 vers Drupal 8 était très difficile pour les développeurs vu que le CMS a été quasiment refait pour adopter le paradigme d'orienté objet en utilisant des composants du framework Symfony. Cependant ça serait plus le cas avec Drupal 9 car ce dernier va suivre la même logique de son antécédent.

Les nouveautés de la version 8.8 de Drupal.

Les mises à jour mineures du cœur de Drupal 8 ont apporté plusieurs nouveautés en matière de gestion de la mise en forme du contenu ainsi que sur les différents API backend, ci-dessous quelques nouveautés de la version 8.8 de Drupal:

  • L'introduction du module Layout Builder et l'amélioration de la gestion des médias (Intégration des médias dans les WYSIWYG) afin de garantir aux utilisateurs une facilité d'utilisation des médias sur Drupal.
  • L'arrivée d'un nouveau thème d'administration expérimental (Claro) qui est réactif et qui rentre dans l'initiative des améliorations UX de l'interface d'administration.
  • Des améliorations remarquables concernant le module JSON:API du Core et en particulier l'ajout de nouvelles couches de cache qui réduisent le temps de réponse de l'API et réutilisant des résultats calculés et cachés.
  • La fameuse librairie jQuery est abandonnée de plus en plus sur Drupal, le CMS va opter pour l'utilisation d'autres technologies JavaScript afin d'être plus extensible et interactif.

Quoi de 9 sur Drupal 9 ?

Comme on l'avait vu dans la précédente partie, Drupal a introduit de nouvelles fonctionnalités et améliorations dans le Core via des versions mineures dans la même version mère, et bien Drupal 9 va suivre la même stratégie.

Même si le passage de Drupal 8.9 vers Drupal 9 va être plus rapide et automatisé avec Composer, sauf qu'il faudrait se débarrasser manuellement des fonctions et APIs dites Deprecated afin d'avoir un code clean, conforme et surtout fonctionnel sur Drupal 9.

Note : il est recommandé d'utiliser des outils command-line qui permettent de détecter automatiquement l'utilisation des fonctions deprecated dans vos modules ou thèmes, à savoir :

On note aussi un passage très important vers Symfony 4 et Twig 2.0 dans la version 9 chose qui va rendre le CMS plus puissant et performant.

Étapes pour passer de Drupal 8 vers Drupal 9.

  1. S'assurer que l'environnement du projet est compatible avec les prérequis de Drupal 9 à savoir :

    • Apache, avoir au moins la version 2.4.7
    • PHP, avoir au moins la version 7.3
    • MySQL, avoir au moins la version 5.7.8
    • Drupal 9 exige la version 10 de Drush.
  2. Il est conseillé de faire une mise à jour vers Drupal 8.9 avant de passer à Drupal 9.
  3. Mettre à jour tous les modules et thèmes Contrib utilisés dans le projet avant de mettre à jour le Core.
  4. Mettre à jour les modules Custom pour qu'ils soient compatibles avec Drupal 9 : ( moduleName.info.yml core_version_requirement: ^8 || ^9) .
  5. Mettre à jour le code des modules et thèmes custom pour qu'il soit conforme avec Drupal 9 (Voir Note dans la partie précédente).
  6. Procéder à la mise à jour avec Composer : composer update drupal/core --with-dependencies (voir le guide détaillé sur drupal.org).
  7. Executer le fichier update.php.

Conclusion

Et voilà, comme on l'avait vu dans la dernière partie, Il n'y a pas beaucoup d'étapes nécessaires pour préparer votre site pour Drupal 9, et la bonne nouvelle c'est que vous pouvez le faire maintenant et être prêt le jour de la sortie de Drupal 9 😉.