
Préparez-vous pour Drupal 9
Dans environ un an, la version stable de Drupal 9 sera enfin disponible pour tout le monde. La version précédente – Drupal 8 – a été publiée en 2015 et a provoqué beaucoup de controverse parmi ses utilisateurs, principalement en raison du chemin de mise à jour compliqué résultant des différences assez significatives par rapport à Drupal 7. Tout cela a conduit à une sorte de schisme, avec les partisans de Drupal 7 se tournant vers un projet séparé appelé Backdrop.
Compte tenu de tout cela, il n'est pas étonnant que les développeurs web regardent avec anxiété la version à venir de Drupal 9, ainsi que de nombreuses questions sur la compatibilité ascendante et la fin du support pour les anciennes versions. Et c'est ce que je vais essayer de répondre dans cet article.
Quand sort Drupal 9 ?
Si tout se passe comme prévu, Drupal 9 sera publié le 3 juin 2020. Cette date n'a pas été choisie au hasard. Même maintenant, chaque juin et octobre, une version majeure est publiée, contenant de nouvelles fonctionnalités. Les versions précédentes comprenaient de nouveaux modules, tels que BigPipe, Migration, Modération de contenu, Média et Constructeur de mise en page. Grâce à ceux-ci, Drupal 8 a évolué vers sa forme actuelle, acquérant de nombreuses capacités intéressantes.
Qu'en est-il du support pour les versions précédentes ?
Maintenir le support pour les versions héritées est important lors de la sortie d'une nouvelle version du logiciel. Dans le cas de Drupal, la situation est assez inhabituelle. Le support pour Drupal 7 et 8 se terminera en même temps – en novembre 2021. Les développeurs auront un peu plus d'un an pour planifier et effectuer leurs migrations. Ce n'est pas un temps particulièrement long ; cependant, vous pouvez également compter sur le service LTS, que l'ancien Drupal 6 possède encore à ce jour. Dans la plupart des cas, cela couvre la maintenance payante et les mises à jour du site web, ainsi que ses modules externes.
Qu'est-ce qui va changer ?
La réponse pourrait être surprenante. Lorsque vous comparez la version prévue 8.9 avec Drupal 9.0, rien ne va changer du point de vue fonctionnel. La différence entre Drupal 8 et 9 sera basée sur l'élimination de la plus grande dépendance existante, Symfony 3, en faveur du plus sécurisé et moderne Symfony 4/5. Le code qualifié de déprécié ne fonctionnera plus.
Évolution ou révolution ?
Drupal 8 a apporté une véritable révolution. Drupal 9, quant à lui, apportera une évolution et le fera aussi en douceur que possible. Idéalement, il suffirait de passer la version à "^9.0" dans le composer.json et de faire une mise à jour complète. Que votre site web fonctionne avec Drupal 9 sans aucun problème dépend principalement de la qualité du code écrit par votre équipe, ainsi que par les développeurs de modules supplémentaires.
Qu'en est-il des modules externes ?
C'est l'une des plus grandes incertitudes. Actuellement, le travail est en cours pour vérifier la compatibilité du code avec Drupal 9, et vous pouvez suivre le progrès actuel sur ce site. Au vu de l'implication de la communauté, nous pouvons compter sur le fait que les modules les plus populaires fonctionneront avec la nouvelle version de Drupal sans problème. Ce qui est important, il y a actuellement un débat sur le paramètre core dans le fichier *.info.yml de chaque module. L'évolution au lieu de la révolution le rendra inutile ou même nuisible – dans sa forme actuelle, il bloquera les modules Drupal 8 d'être utilisés avec Drupal 9. Les décisions finales n'ont pas encore été prises, mais vous pouvez être sûr qu'il y aura d'importants changements dans le versionnage des add-ons de drupal.org.
Est-ce que ça vaut la peine d'attendre pour migrer depuis Drupal 6 et 7 ?
Les propriétaires de sites web construits sur des versions plus anciennes de Drupal se demandent probablement s'il vaut la peine de migrer vers Drupal 8 dès maintenant. Il s'avère que la réponse est – oui ! Un chemin de mise à jour stable et fonctionnel a été développé au cours des dernières années. Un site web migré vers Drupal 8 sera également facilement migré vers la version à venir – à condition, bien sûr, que le code soit écrit conformément aux nouvelles directives.
Comment se préparer à la migration ?
Tout d'abord, vous devriez examiner le code de l'application et supprimer tous les éléments marqués comme dépréciés. Les éléments dépréciés peuvent être trouvés automatiquement avec l'outil drupal-check. Ci-dessous, vous pouvez voir son résultat lors du refactoring de notre projet – Droopler :
Drupal-check peut être installé de plusieurs manières, nous recommandons de l'ajouter à votre projet en utilisant Composer :
composer require mglaman/drupal-check --dev
La documentation complémentaire sur l'installation et l'utilisation de l'outil peut être trouvée sur le site du projet.
En résumé – qu'est-ce qui nous attend ?
Drupal 9 n'apportera que de bonnes choses : meilleure performance et sécurité, ainsi que l'élimination des fonctionnalités obsolètes. Il est utile de vérifier dès aujourd'hui la compatibilité de vos projets afin que le 3 juin 2020, vous puissiez profiter de vos sites web modernes et mis à jour sans douleur.