
Quelles sont les nouveautés de Drupal 9.4 ? Revue de la dernière version
La nouvelle mise à jour majeure de Drupal a été publiée le 15 juin 2022. Il y a quelques nouveaux éléments et changements, tels que l'onglet Gérer les permissions, la détermination dynamique de la version PHP minimale, des changements dans l'API, le changement du thème frontend par défaut de Bartik à Olivero, et du thème administratif de Seven à Claro. Un bon nombre de fonctions et de bibliothèques ont été étiquetées comme "dépréciées". Nous parlerons davantage de ces changements et d'autres plus tard dans cet article.
Vaut-il la peine de mettre à jour Drupal vers la version 9.4 ?
Oui. Avec la publication de la mise à jour 9.4, le support de sécurité pour la version 9.2.x cessera. C'est pourquoi nous recommandons de mettre à jour dès que possible, au moins vers la version 9.3.x et de préférence vers la toute dernière version 9.4. Bien sûr, la version 9.4 introduit également de nouvelles améliorations et fonctionnalités qui méritent d'être examinées.
Que vérifier avant de mettre à jour Drupal vers la version 9.4 ?
La chose la plus importante sera de vérifier que la version PHP actuellement utilisée répond au moins aux exigences minimales. Drupal 9.4 nécessite la version PHP 7.4 au minimum, mais la version recommandée est 8.1. Désormais, la version minimale sera définie en utilisant la méthode \Drupal\Core\PhpRequirements::minimumSupportedPhp(), qui est basée sur le cycle de publication des versions PHP et Drupal.
Un autre élément à vérifier est le fichier principal .htaccess, qui – depuis la version 9.4 – a une nouvelle section contenant les paramètres pour PHP 8^. Si votre application utilisait PHP 7^ auparavant, et que vous avez des modifications dans htaccess, et que vous souhaitez passer à PHP 8^, ces paramètres personnalisés doivent être déplacés vers la nouvelle section.
Depuis la version 9.4, Drupal affichera un avertissement si la connexion de base de données actuellement utilisée ne prend pas en charge le format JSON. Une connexion prenant en charge JSON sera requise pour Drupal 10.
Les changements les plus importants introduits dans Drupal 9.4
La dernière version a introduit de nombreux changements et nouvelles fonctionnalités. Regardons de plus près les plus importants.
Onglet Gérer les permissions
Lors de l'édition des types de contenu, nous voyons les onglets standards pour l'édition, la gestion des champs et l'affichage du formulaire et du contenu. C'est là que les options de gestion des permissions ont été ajoutées. Dans cet onglet, nous pouvons facilement voir la liste complète des permissions définies, concernant seulement le type de contenu que nous éditons actuellement.

Pour que l'onglet soit visible dans votre entité, deux clés doivent être ajoutées à son annotation :
- handlers.route_provider.permission,
- links.entity-permissions-form.

Le formulaire peut également être défini par un routage personnalisé. Vous pouvez en savoir plus à ce sujet dans la tâche de fonctionnalité.
Thème Olivero par défaut dans Drupal 9.4
Le changement s'applique à l'installation en utilisant le profil d'installation standard de Drupal. Depuis la dernière version, après l'installation, nous verrons un nouveau design graphique, différent du thème Bartik plus ancien, principalement en raison d'un design modernisé et à jour et du support complet des dernières fonctionnalités de Drupal, telles que la navigation à plusieurs niveaux, les médias intégrés ou le Constructeur de Mises en page. De plus, le thème Olivero est conforme aux WCAG AA, c'est-à-dire les directives relatives à l'accessibilité du contenu web. C'est aussi une étape majeure vers la modernisation de l'apparence de Drupal.

Source: Drupal.org
Thème Claro par défaut dans Drupal 9.4
Le changement s'applique à l'installation en utilisant le profil standard et Umami. Claro est un thème administratif clair, accessible et complet, et fait partie de l'initiative Modernisation de l'UI Admin & JavaScript. Comparé au thème frontend Bartik, il se distingue par sa propreté et une sensation de fraîcheur, ainsi que par des solutions qui ont un impact positif sur l'expérience utilisateur.

Source: Drupal.org
Changements dans les standards de codage dans Drupal 9.4
Depuis longtemps, le noyau de Drupal utilise ESLint pour valider JavaScript. L'outil lui-même reste le même, mais le Core utilise maintenant la configuration eslint-config-airbnb-base au lieu de eslint-config-airbnb. Ceux qui utilisent ESLint pour le code React ou JSX devraient réintégrer eslint-config-airbnb dans leurs dépendances, car la version de base utilisée maintenant ne contient pas de règles pour les bibliothèques (que nous décrivons ci-dessous).
Coder a reçu la mise à jour 8.3.15, qui met à jour les standards de codage. Drupal 9.4 est entièrement compatible avec la dernière version de Coder. Voir les notes de version pour la liste complète des changements dans la version 8.3.15.
Qu'est-ce qui a été marqué comme déprécié dans Drupal 9.4 ?
Le module Color a été marqué, et il sera complètement supprimé dans Drupal 10. Si vous avez encore besoin de l'utiliser, vous pouvez utiliser le module contrib. Il en va de même pour le module Application Hypermedia Language (HAL). Si vous avez besoin du module, vous devez installer la version contrib. Le module Quick Edit est marqué comme déprécié depuis la version 9.4 et est prévu pour être supprimé dans Drupal 10. Il existe une version contrib qui devrait être utilisée à la place. Un contrib est également disponible maintenant pour le module Forum. Pour plus d'informations sur les modules marqués comme dépréciés, consultez la page des modules et thèmes dépréciés et obsolètes.
En plus des modules, la liste des fonctionnalités dépréciées s'est également allongée. Vous pouvez la trouver sur le site Drupal.org.
Comment gérer les fonctions dépréciées ?
Le module contrib Upgrade Status sera parfait pour cela. Il répertorie toutes les fonctions dépréciées utilisées dans les modules et thèmes contrib et personnalisés. De plus, vous pouvez vous fier à un IDE, qui peut être équipé d'une fonctionnalité vous permettant de répertorier les fonctions dépréciées.
Quelles bibliothèques ont été dépréciées depuis Drupal 9.4 ?
Modernizr.touchevents. Cette bibliothèque était utilisée pour détecter si l'appareil actuellement utilisé prend en charge les événements tactiles, afin d'ajuster le comportement du site web sur cette base. La bibliothèque remplaçant Modernizr.touchevents, c'est-à-dire core/drupal.touchevents, utilise la même logique et est rétro-compatible. Si vous avez utilisé les fonctions fournies par la bibliothèque Modernizr.touchevents dans un code personnalisé, vous devriez vous débarrasser de cette dépendance.
Backbone et Underscore. La première de ces bibliothèques était utilisée pour créer des interfaces utilisateur interactives, et la seconde fournissait une série de fonctions, les soi-disant "helpers", pour aider à écrire du code plus rapidement. Le noyau de Drupal, et plus précisément les bibliothèques drupal.editor.admin et drupal.filter.filter_html.admin, ne les utilisent plus. Ces bibliothèques seront supprimées dans Drupal 10. Les modules et thèmes utilisant ces bibliothèques doivent être réécrits.
Publication de Drupal 9.4 - résumé
Drupal semble se porter mieux que jamais. Le fait de systématiser et de planifier la feuille de route correctement, de changer la manière de penser à moins mais plus tôt, des changements granulaires, un à la fois, porte ses fruits sous la forme d'améliorations périodiques de Drupal. Il ne reste plus qu'à se préparer pour la mise à jour et attendre les prochaines. Si vous avez besoin d'aide pour la mise à jour, notre équipe de support Drupal sera ravie de vous conseiller ou de prendre en charge tout le processus : de la vérification de la conformité, en passant par la mise à niveau et les tests, jusqu'à la mise en œuvre.