Le CMS PHP libre et open source Drupal 11.3 est disponible et offre la plus grande amélioration de performances depuis dix ans, le format natif HTMX et un module de navigation stable
Drupal 11.3 est disponible et introduit les améliorations de performances les plus importantes du CMS depuis une décennie. La mise à jour réduit le nombre de requêtes de base de données et d'opérations de cache dans les caches froids et chauds. Les couches de rendu et de mise en cache fusionnent désormais l'activité de la base de données et du cache, ce qui profite particulièrement au chargement des alias de chemin et des entités. Le frontend subit également des changements majeurs, car BigPipe utilise désormais HTMX, ce qui se traduit par moins de JavaScript et un chargement plus rapide des pages pour les visiteurs du site.
Drupal est un système de gestion de contenu web (CMS) libre et open source écrit en PHP et distribué sous licence GNU General Public License. Drupal fournit un framework back-end open source à au moins 14 % des 10 000 sites web les plus populaires au monde et 1,2 % des 10 millions de sites web les plus populaires, allant des blogs personnels aux sites d'entreprises, politiques et gouvernementaux. Drupal peut également être utilisé pour la gestion des connaissances et la collaboration professionnelle.[10]
Début décembre, Drupal a présenté Canvas, une expérience de construction visuelle conçue pour aider les constructeurs de sites et les équipes de contenu à créer des sites web plus facilement sans perdre la flexibilité qui définit Drupal. L'interface permet aux utilisateurs d'arranger et d'ajuster les composants de la page à l'aide d'outils de glisser-déposer, ce qui favorise un travail plus indépendant de la part des non-développeurs et libère le personnel technique pour une personnalisation plus approfondie lorsque cela est nécessaire.
Récemment, Drupal 11.3 est disponible et introduit les améliorations de performances les plus importantes du CMS depuis une décennie. La mise à jour réduit le nombre de requêtes de base de données et d'opérations de cache dans les caches froids et chauds. Les couches de rendu et de mise en cache fusionnent désormais l'activité de la base de données et du cache, ce qui profite particulièrement au chargement des alias de chemin et des entités. Le frontend subit également des changements majeurs, car BigPipe utilise désormais HTMX, ce qui se traduit par moins de JavaScript et un chargement plus rapide des pages pour les visiteurs du site.
Outre les mises à jour de performances, Drupal 11.3 fait de HTMX une fonctionnalité centrale, permettant aux développeurs de tirer parti de ses capacités JavaScript modernes et sans dépendance. Suite à ces changements architecturaux, le module Navigation atteint désormais une version stable, remplaçant l'ancienne barre d'outils par une expérience de navigation plus contemporaine. Les éditeurs de contenu bénéficient des améliorations apportées à CKEditor, qui leur permettent désormais de créer des liens vers le contenu interne du site grâce à la saisie automatique et aux menus déroulants, tandis que des options améliorées rationalisent la mise en forme des listes pour une meilleure présentation du contenu.
Ces améliorations s'étendent aux thèmes et aux workflows des développeurs. Les thèmes prennent désormais en charge le système d'attributs #[Hook()] utilisé par les modules, ce qui permet une intégration plus propre et un code plus facile à maintenir. La version intègre également un outil en ligne de commande dans le noyau pour exporter le contenu dans le format standardisé mis au point par le module Default Content, soutenu par la communauté. Bien qu'expérimental, un nouveau pilote de base de données MySQLi est également présent, offrant un accès anticipé à ceux qui testent de nouvelles configurations backend.
Voici les principales améliorations de cette version :
La plus forte augmentation des performances depuis dix ans
Les requêtes de base de données et les opérations de cache sur les caches froids et chauds ont été considérablement réduites. Les tests automatisés montrent que la nouvelle optimisation pour les caches froids est d'environ un tiers et, pour les requêtes de cache partiellement chaudes, jusqu'à un quart. Des tests indépendants montrent des améliorations encore plus importantes sur les sites complexes.
Les couches de rendu et de mise en cache combinent désormais les opérations de base de données et de cache, notamment dans le chargement des alias de chemin et des entités. BigPipe utilise désormais HTMX sur le frontend, ce qui entraîne une réduction significative du poids JavaScript.
Ainsi, Drupal 11.3 comprend un certain nombre d'améliorations significatives en termes de performances, ce qui en fait la plus importante avancée pour les performances de Drupal au cours des 10 dernières années (depuis la sortie de Drupal 8.0.0).
Ces améliorations ont été rendues possibles grâce aux optimisations apportées aux couches de rendu et de mise en cache de Drupal dans la version 11.2.x, notamment en tirant parti de Fibers, une nouvelle fonctionnalité PHP ajoutée dans PHP 8.1. En rendant davantage de parties de la page dans des espaces réservés, cela a permis de combiner des opérations de base de données et de cache similaires qui se produisaient auparavant individuellement, avec des améliorations particulières au niveau des alias de chemin et du chargement des entités. Ils ont également tiré des enseignements du cadre de test de performance automatisé de Drupal, ce qui a permis d'identifier et d'exécuter plusieurs optimisations pendant les processus de découverte des hooks et des champs de Drupal, afin de réduire considérablement les E/S de la base de données et du cache, ainsi que l'utilisation de la mémoire sur les caches froids.
Au niveau du front-end, ils ont converti l'implémentation BigPipe de Drupal pour utiliser HTMX, ce qui a considérablement réduit le poids du JavaScript. Ils interceptent également les espaces réservés avec des caches de rendu chauds avant le remplacement de BigPipe, de sorte que le JavaScript de BigPipe ne soit pas chargé du tout pour les requêtes qui seront traitées rapidement sans lui, ce qui permet d'utiliser BigPipe plus largement pour les requêtes qui en ont besoin. Ces changements pourraient également permettre d'activer BigPipe pour les visiteurs anonymes du site dans une prochaine version.
Combinées, ces modifications réduisent d'environ un tiers les requêtes de base de données et les opérations de cache sur les demandes de cache froid, avec des améliorations plus modestes mais néanmoins significatives lorsque les caches deviennent plus chauds, y compris les accès au cache dynamique et interne des pages. Les tests de performance automatisés de Drupal montrent bon nombre de ces améliorations et permettront de continuer à développer et à maintenir ces gains au fil du temps.
HTMX natif : une expérience utilisateur riche avec jusqu'à 71 % de JavaScript en moins
Drupal 11.3.0 intègre désormais nativement HTMX, une bibliothèque JavaScript puissante et sans dépendance. HTMX améliore considérablement la façon dont les développeurs créent des interfaces utilisateur rapides et interactives. Il permet d'utiliser les fonctionnalités modernes des navigateurs directement dans les attributs HTML, ce qui réduit considérablement le besoin de JavaScript personnalisé.
Le module Navigation est désormais stable
Le module Navigation est désormais stable et offre une expérience supérieure et plus moderne que l'ancienne barre d'outils. Bien qu'il s'agisse d'une expérience qui mérite d'être installée sur tous les sites, elle est particulièrement utile pour les sites dotés de structures d'administration complexes. Bien qu'il ne s'agisse pas encore de la valeur par défaut, il est encouragé aux utilisateurs à passer à cette version et à profiter de ses améliorations.
Amélioration de l'édition de contenu
CKEditor prend désormais en charge de manière native la création de liens vers du contenu sur le site en le sélectionnant à partir d'une liste déroulante ou d'une fonction d'autocomplétion (à l'aide de références d'entités). CKEditor propose également de nouvelles options conviviales pour le formatage des puces et de la numérotation des listes. Enfin, une autorisation dédiée « Administrer le statut de publication des nœuds » a été introduite pour gérer le statut de publication du contenu (ce qui ne nécessite plus d'administrer les nœuds).
Crochets orientés objet dans les thèmes
Les thèmes peuvent désormais utiliser le même système d'attributs #[Hook()] que les modules, avec des espaces de noms de thèmes enregistrés dans le conteneur pour faciliter l'intégration. Cette modification permet aux concepteurs de thèmes d'écrire un code plus propre et mieux structuré. Les implémentations des crochets OOP des thèmes sont placées dans le répertoire src/Hook/, comme pour les modules. Les thèmes prennent en charge un sous-ensemble défini de crochets normaux et de crochets alter.
Prise en charge native de l'exportation de contenu
Le cœur de Drupal comprend désormais un outil en ligne de commande permettant d'exporter du contenu dans le format précédemment introduit par le module Default Content. Drupal peut exporter une seule entité à la fois, mais il est également possible d'exporter automatiquement les dépendances de l'entité (par exemple, les images ou les termes de taxonomie auxquels elle fait référence). Pour utiliser l'outil d'exportation, exécutez la commande suivante à partir de la racine du site Drupal :
php core/scripts/drupal content:export ENTITY_TYPE_ID ENTITY_ID
Prise en charge de PHP 8.5
PHP 8.5 a été lancé le mois dernier. Drupal 11.3.0 assure non seulement une compatibilité et une prise en charge totales de PHP 8.5, mais permet également d'y exécuter les tests du noyau. PHP 8.5 devrait devenir la version minimale requise pour Drupal 12, dont la sortie est prévue en 2026.
Nouveau pilote de base de données expérimental pour MySQL/MariaDB pour les requêtes parallèles
Un nouveau pilote de base de données MySQLi expérimental a été ajouté pour MySQL et MariaDB. Il n'est pas encore entièrement pris en charge et est masqué dans l'interface utilisateur. Alors que les pilotes par défaut actuels utilisent PDO pour se connecter à MySQL ou MariaDB, ce nouveau pilote de base de données utilise plutôt l'extension PHP mysqli. MySQLi est plus moderne et permet d'exécuter les requêtes de base de données en parallèle plutôt que séquentiellement comme avec PDO. Il est prévu d'ajouter la prise en charge des requêtes de base de données asynchrones dans une prochaine version de Drupal.
Source : Annonce Drupal 11.3
Et vous ?
Pensez-vous que cette version est crédible ou pertinente ?
Quel est votre avis sur le sujet ?
Voir aussi :
PHP 8.5 est désormais disponible avec une fonctionnalité très attendue : l'opérateur pipe, une petite fonctionnalité au potentiel énorme mais qui a pris des années à voir le jour
L'état de PHP en 2024 : démographie, EDI, frameworks, adoption de l'IA, quelles sont les grandes tendances qui caractérisent l'écosystème ?
La Fondation PHP recherche activement un nouveau directeur exécutif pour diriger sa mission de promotion du langage PHP, dans un contexte marqué par des lancements récents et une augmentation des parrainages






Pensez-vous que cette version est crédible ou pertinente ?
Répondre avec citation
Partager