Le 3 juin 2020, Drupal 9 est sorti en version stable 5 ans après Drupal 8. Tout savoir sur la migration Drupal 9 et les avantages de cette nouvelle version dans notre article.
Différence entre Drupal 8.9 et Drupal 9
La différence majeure - entre les deux versions de Drupal - se retrouve dans ses composants. Le fondateur du CMS open source Drupal, Dries Buytaert, a annoncé, en 2020, une mise à jour du socle technique.
De nouvelles dépendances dans Drupal 9
Pour maintenir la rétrocompatibilité, la nouvelle version de Drupal amène de nouvelles dépendances de tierces parties :
Drupal 9 s’appuie désormais sur Symfony 4 et nécessite la version 7.3 de PHP à minima;
Twig 1 à 2;
CKEditor 4 : CKEditor 4 et 5 sont deux bases de code entièrement différentes. En revanche, il est prévu que le support pour CKEditor 5 soit ajouté plus tard sur Drupal 9, stade auquel CKEditor 4 sera déclaré obsolète et supprimé sur Drupal 10;
PHPUnit : Drupal 9 nécessite PHPUnit 8;
jQuery et jQuery UI : la dépendance à jQuery UI sera remplacé par jQuery.
Par conséquent, gardez en tête qu’il ne s’agit pas d’une nouveauté mais avant tout d'une mise à jour technique des dépendances. Le CMS repose donc sur de nouvelles bases afin de créer de nouvelles dépendances dans le but de s’adapter aux évolutions techniques futures.
Pourquoi une nouvelle version de Drupal ?
Drupal 8 s'appuie sur Symfony 3, or, le framework PHP ne sera plus maintenu à partir de fin 2021. Par conséquent, Drupal 8 se basera sur un socle obsolète et devra donc mettre à jour son code en le supprimant ou en le modifiant.
Par ailleurs, le fondateur du CMS open source Drupal a annoncé le souhait de vouloir rester dans la course toujours plus changeante des CMS avec ce rajeunissement.
Pourquoi faire la migration Drupal 9 ?
La migration vers Drupal 9 comporte de nombreux avantages :
Processus de migration simple : Drupal 9 vous permettra d’intégrer de nouvelles fonctionnalités sans passer par une migration complexe. En effet, la migration se fait de manière simplifiée à l’image d’une mise à jour. Par ailleurs, ce nouveau type de migration se fera sur les prochaines versions du CMS.
Sécurité renforcée : la dernière version Drupal assure une sécurité et une stabilité du CMS grâce à la suppression ou la modification du code obsolète. A partir de Novembre 2021, l’équipe Drupal fournira régulièrement des mises à jour des politiques de sécurité.
Capacité évolutive : Drupal 9 repose sur les dernières versions de Symfony et Twig ce qui permet d’anticiper les prochaines évolutions. Ces nouvelles versions élargissent les capacités de développement.
Meilleure performance : de nombreux modules sont disponibles dans Drupal 9 pour optimiser les performances de votre site. Parmi eux, Big Pipe, cet outil permet de charger différentes parties de la page web, ainsi les utilisateurs n'ont pas besoin d'attendre que le site soit chargé entièrement avant d'avoir un aperçu de la page.
Capacités étendues pour la création de sites internationaux : les développeurs peuvent créer et gérer des sites multi-régionaux grâce à la prise en charge de plus de 100 langues sur Drupal 9. De plus, un moteur de traduction est intégré pour faciliter la compréhension.
En résumé, Drupal 9 n’apporte pas de nouveautés fonctionnelles et backend. En revanche, elle prévoit une refonte du socle technique permettant d’intégrer de nouvelles fonctionnalités prévus dans les prochaines versions du CMS Open Source.
Migrer vers Drupal 9, c’est donc assurer la pérennité à long terme de son site en s’adaptant aux futures évolutions techniques !
Quelles sont les étapes de la migration Drupal 9 ?
Que vous effectuez une mise à jour depuis Drupal 6 ou 7 ou que vous importez une banque de données non Drupal, vous devez connaître le processus de migration Drupal.
Avant de préparer la migration, Drupal suggère de mettre à jour un site Drupal avec la version la plus récente comprenant les modules contribués et thèmes principaux avant de procéder à la mise à jour vers Drupal 9. Par exemple, si votre site web est encore en version Drupal 8, il faudra donc le mettre à jour à la version 8.9.
Vérifier la compatibilité
Avant d’opérer à la migration d’un site, vous devez prendre le temps d’auditer le site en vérifiant la comptabilité de votre hébergement avec les pré-requis nécessaires à la migration D9.
Voici les pré-requis minimum pour procéder à la migration D9 :
PHP 7.3 minimum
MySQL 5.7.8 minimum
Drush 10
Détecter le code obsolète
A l’aide du module “Update Status”, il est possible de détecter et supprimer le code obsolète d’un site. Ce module Drupal génère un rapport servant de liste de contrôle dans le but de vous aider à déterminer si votre site web est prêt à recevoir une mise à jour. Il va analyser le code grâce à drupal-check pour identifier un code obsolète à la nouvelle version Drupal. Ce module permet de gagner du temps.
Il est possible d’installer ce module depuis le composer :
composer require --dev 'drupal/upgrade_status:^2.0'
drush en upgrade_status
drush cache:rebuild
Vérifier et mettre à jour les modules contribués
Grâce à l'installation du module “Update Status”, il faut sélectionner toute la liste des modules contribuées afin de les scanner et de vérifier s' ils sont à jour.
Pour ce faire, une interface permet de sélectionner les modules contrib à scanner. Une analyse est lancée pour permettre de vérifier la compatibilité du modèle avec la version Drupal 9. Une rapport est généré en indiquant s’il y a des dépréciations au niveau du code ou non.
Vérifier et mettre à jour les modules custom
Afin de vérifier la qualité du code, les modules custom doivent être, à leur tour, analysés grâce au module “Update Status”. Pour ce faire, le module va scanné la qualité du code et identifier des erreurs claires qui devront être corrigées à la main.
Comme dans l’étape précédente, un rapport va être généré en signalant des erreurs qui doivent être corrigées.
Mettre à jour le core
Pour procéder à la migration Drupal 9, il faudra mettre à jour le core soit par l’interface d’administration, soit en utilisant Drush. Ainsi, pour limiter les risques, commencez par une sauvegarde complète de votre site. Si vous utilisez le composer, mettre à jour le core de votre site à l’aide les commandes suivantes :
composer require drupal/core-recommended:~9.0.0@dev -no-update
composer require drupal/dev~dependencies:~9.0.0@@dev-no-update composer update
Qu’en est-il de Drupal 10 ?
Selon les dires du fondateur, Dries Buytaert, la version Drupal 10 devrait sortir assez rapidement vers le mois juin 2022 et annonce la fin de vie de Drupal 9 en novembre 2023.
La fin de Symfony 4 est annoncée en novembre 2023. Or, la plus grande dépendance de Drupal 9 est justement ce framework PHP. Cela veut dire que Drupal doit s’adapter aux prochaines versions de Symfony, ainsi, Drupal 9 prendra fin au plus tard en novembre 2023.
D’ici novembre 2023, les utilisateurs de D9 devront migrer vers D10. La migration sera facilitée par les fonctionnalités ajoutées au préalable à la version D9. Affaire à suivre !
En résumé
Vous l’aurez compris, Drupal 9 n’est pas une révolution à proprement parler mais une mise à jour du socle technique garantissant une capacité évolutive et permet d’anticiper les avancées technologiques de demain.
Drupal 8 est disponible jusqu’en novembre 2021 c'est pourquoi il est important de mettre à jour la version car la migration D9 nécessite du temps mais surtout des compétences.
Un projet de migration Drupal ? Prenez contact avec l’équipe Drupal de Fidesio qui saura répondre à vos questions.
N’hésitez pas à nous contacter.