.

Drupal 8 vs Drupal 9. Est-il temps de mettre à niveau ?

Le système Drupal peut être classé comme l'un des CMS les plus sûrs du marché. Il dispose d'une structure raffinée et d'une large gamme de fonctions. Dans ce texte, nous allons d'abord examiner Drupal 8. Nous vous rappellerons quand il a été publié et quels changements il a apportés par rapport aux versions précédentes. Ensuite, nous examinerons de plus près Drupal 9 avant de comparer les deux versions.

Versions de Drupal

Drupal 8 a été publié le 19 novembre 2015. Comparé à la version précédente, c'est-à-dire Drupal 7, il y avait pas moins de 200 nouvelles fonctions intégrées, le multilinguisme de la plateforme a été amélioré et, par exemple, le nouvel éditeur de page et la version pour pages mobiles ont été introduits (comme fonction intégrée – aucun domaine supplémentaire pour la version mobile n'est requis). En termes de différences avec la version précédente, nous pouvons également ajouter le fait que Drupal 8 utilise la programmation orientée objet, au lieu de l'approche procédurale utilisée dans la version précédente. La nouvelle version de Drupal utilise un moteur de thème différent – Twig, qui est basé sur PHP. Cela facilite la tâche des programmeurs créant de nouveaux thèmes grâce à la syntaxe simplifiée.

Une autre fonctionnalité supplémentaire dans Drupal 8 est la possibilité d'éditer le contenu directement depuis l'interface utilisateur du site. Il est également à noter que la version plus récente de Drupal donne accès aux vues directement depuis plusieurs écrans d'administration. Il n'est plus nécessaire d'y consacrer du temps supplémentaire, comme c'était le cas avec Drupal 7. Du point de vue d'une personne consultant la page, nous pouvons également constater que la vitesse de chargement des pages a considérablement augmenté grâce au cache d'entités. De plus, les contenus précédemment consultés n'ont pas besoin d'être rechargés car ils restent dans le cache système. En outre, le code JavaScript n'est chargé que lorsqu'il est nécessaire. Après la mise à jour de Drupal vers la version 8, vous devriez également prêter attention aux nouveaux types de champs qui peuvent considérablement simplifier le travail des programmeurs.

Quelle est la différence entre Drupal 8 et Drupal 9 ?

Drupal 9 a été publié le 3 juin 2020. Il a été construit sur la base de la version 8, donc le changelog est plus court et la mise à jour de la version 8 à 9 est plus simple. Les différences les plus importantes sont la suppression de presque toutes les fonctions dépréciées. Dans la version 9, elles ont été remplacées par d'autres, et celles qui sont restées seront supprimées dans la prochaine édition de Drupal. Une liste des fonctions dépréciées est disponible sur Drupal.org.

La nouvelle version 9 inclut également la prochaine version de Symfony. Drupal 8 utilisait la version 3, mais c'est désormais la version 4. De plus, la version du moteur de thème Twig a été mise à jour – elle est passée de la version 1 à 2. Une autre différence entre Drupal 8 et 9 est le fait que la plupart des dépendances de la bibliothèque jQuery UI ont été supprimées. Pour réaliser des tests, dans la nouvelle version, nous nous appuyons sur la solution PHPUnit (précédemment, le framework SimpleTest pouvait être utilisé).

La prochaine chose qui a été presque complètement supprimée dans Drupal 9 est le Simple Annotation Parser de Doctrine. Cependant, les éléments requis ont été intégrés au noyau de Drupal 9. Nous devons également prêter attention à la version d'Apache, car dans le cas de Drupal 8, la version 2.x était suffisante, mais actuellement, Drupal 9 nécessite une version minimale de 2.4.7. La situation est similaire avec PHP – cette fois-ci, une version min. de 7.3 est requise, mais les versions 7.4 et 8.0 sont également prises en charge (s'applique à Drupal 9.1.0). En termes de base de données et de l'utilisation de MySQL/Percona, Drupal 9 nécessite une version min. de 5.7.8 ; Drupal 8 fonctionnait avec la version 5.5.3. Il en va de même pour l'utilisation de MariaDB et SQLite. Celles-ci doivent être des versions min. de 10.3.7 et 3.26 respectivement. La version précédente de Drupal utilisait la version 5.5.20 pour MariaDB et 3.6.8+ pour SQLite.

Performance

Selon la description ci-dessus des différences entre Drupal 8 et 9, nous pouvons certainement dire que la nouvelle version du CMS est bien meilleure en termes de vitesse. Utiliser une version min. de PHP 7.3 a amélioré la vitesse de chargement des pages. Nous pouvons voir un exemple sur la page PHP Benchmarks, où toutes les versions de PHP sont répertoriées – de 5.6 à 8.0. À tout premier coup d'œil, on peut déjà voir que entre Drupal 8 et 9, il y a eu une augmentation de la performance de plus de 10%. C'est la raison parfaite pour envisager une mise à niveau, car chaque nouvelle version de PHP entraîne un saut encore plus grand dans les performances.

La situation est similaire avec Symfony. La version 3 a été utilisée jusqu'à présent, mais Drupal 9 nécessite la nouvelle, quatrième version du framework. Grâce à elle, nous pouvons réduire considérablement le temps de travail dont les développeurs ont besoin pour créer un nouveau module ou améliorer un existant. Les résultats de la comparaison des versions de Symfony de 2 à 5 peuvent être consultés sur la page PHP Benchmarks déjà mentionnée.

Comparaison des versions de Symfony sur le site PHP Benchmarks

 

Un autre point auquel nous pouvons faire référence dans le cadre de la comparaison des performances est la version de Twig utilisée. Dans le cas de Drupal 9, le moteur de thème est environ 15 % plus rapide que celui utilisé dans Drupal 8.

Comparaison des performances des différentes versions du moteur de template Twig utilisé dans Drupal

 

Vous pourriez également être intéressé par : Pourquoi Drupal est le meilleur CMS sans tête ?

Drupal 8 vers Drupal 9 – mise à niveau

La mise à niveau de Drupal 8 à Drupal 9 est beaucoup plus simple et moins chronophage comparée à la transition de la version 7 à la version 8. Tout d'abord, nous devons vérifier que nous utilisons la dernière version de Drupal 8. Il convient également de noter que bientôt (novembre 2021), le support pour la version plus ancienne, la huitième version du CMS décrit prendra fin, il faudra donc bientôt réfléchir attentivement au processus de mise à jour et se préparer à la mise à jour de Drupal.

Une fois que nous sommes sûrs d'avoir la dernière version de Drupal 8, nous pouvons commencer par mettre à jour tous les modules et habillages. Dans ce cas, nous devons également avoir leurs dernières versions. À cette étape, nous verrons que la plupart des modules prennent déjà en charge Drupal 9. Ensuite, il vaut la peine d'utiliser l'outil fourni par les auteurs de ce CMS pour préparer une liste de contrôle des éléments qui doivent être prêts, pour que la mise à jour se déroule sans accroc et sans complication.

L'une des dernières étapes sera de vérifier si le serveur sur lequel nous prévoyons d'installer Drupal 9 répond aux exigences en termes de versions de PHP, Apache et moteur de base de données. Nous avons décrit les versions requises dans les paragraphes précédents. À ce point, nous sommes à un pas d'utiliser Drupal 9. Il ne reste plus que quelques clics et un peu de temps pour parcourir tout le processus de mise à jour.

Drupal 8 vs Drupal 9 – résumé

En raison de la fin imminente du support de Drupal 8, de l'augmentation significative des performances du système et des moyens relativement simples de mise à jour vers la dernière version, nous vous recommandons de terminer ce processus dès que possible. Grâce à cela, vous éviterez tous problèmes après la fin du support et des complications en cas de mise à jour "réelle rapide" dans un environnement qui n'est pas adapté à cela. Il vaut la peine de planifier ce processus de bout en bout et de profiter de la transparence bien plus grande du code et des nouvelles possibilités offertes par Drupal 9.

Si vous ne savez pas comment mettre à jour correctement vers la dernière version, notre équipe de support Drupal expérimentée se fera un plaisir de vous aider.

As part of Drupal support, we maintain existing websites and expand them with new functionalities