Fil d'Ariane
Les nouveautés de Drupal 8.3.0
Depuis le 6 avril 2017 la nouvelle version mineure de Drupal, 8.3.0, est disponible. Bien que de nombreuses initiatives se développent rapidement, le contenu du cœur n'a, cette fois-ci, pas énormément évolué. Comme pour la sortie de Drupal 8.2.0, cet article vous dévoilera les détails de cette nouvelle mise à jour.
Depuis le 6 avril 2017 la nouvelle version mineure de Drupal, 8.3.0, est disponible. Bien que de nombreuses initiatives se développent rapidement, le contenu du cœur n'a, cette fois-ci, pas énormément évolué. Comme pour la sortie de Drupal 8.2.0, cet article vous dévoilera les détails de cette nouvelle mise à jour.
Modules expérimentaux
BigPipe suite et fin
Après un an de développement et de tests, le module expérimental BigPipe est le premier à être reconnu comme stable et à intégrer officiellement le cœur. Celui-ci, dont on vous a déjà parlé à chaque version mineure depuis la 8.1.0, permet d'améliorer l'expérience des utilisateurs en réduisant le temps passé à attendre le chargement de la page en apparence. En effet, il fournit au navigateur du contenu à afficher le plus rapidement possible tout en continuant de calculer l'affichage des zones complexes ou spécifiques à l'utilisateur⋅rice en parallèle.
Particulièrement efficace dans le cadre d'un trafic d'utilisateur⋅rice⋅s connecté⋅e⋅s, BigPipe souffrait d'un défaut lorsqu'il fallait servir une page anonyme pour la première fois, avant même sa mise en cache. Heureusement, ce cas précis se résout maintenant très simplement à l'aide du module Sessionless BigPipe.
Workflows et Content Moderation
Dans le cadre de l'avancement de la Workflow Initiative qui vise à intégrer un système générique de gestion d'états et de transitions dans le cœur, le module Content Moderation a été créé et intégré en tant que module expérimental dans la version 8.2.0. Initialement, ce module ne permettait que de gérer un workflow de publication appliqué aux nœuds. Dans cette nouvelle mouture, tout le code générique concernant la création et l'organisation d'un workflow a été déplacé dans le module Workflow. Le module Content Moderation, lui, ne contient plus que le code spécifique pour gérer le workflow de publication des nœuds et, en bonus, des commentaires.
Avec ce nouveau découpage, de nombreux bugs ont été corrigés et une nouvelle interface d'administration, simplifiée, a été mise en place.
Layout Discovery et Field Layout
D'abord abandonnée lors de la phase de développement initial de Drupal 8, la Layout Initiative refait son entrée dans le cœur à l'initiative des mainteneur⋅euse⋅s de quelques uns des modules les plus utilisés de Drupal 7 : Display Suite, Field Group et Panels. En effet, lors du portage de leurs modules vers Drupal 8, tou⋅te⋅s ont dû commencer à développer le même type d'interface et ils et elles ont rapidement constaté qu'il serait préférable de faire converger leurs besoins communs pour mutualiser le code au sein du cœur. Ainsi est né le module Layout Discovery, qui permet de définir et de manipuler de nouveaux objets de configuration, associés à des templates, les Layouts. Une fois n'est pas coutume, Display Suite en a profité pour se décharger d'une partie de ses fonctionnalités dans le cœur, sous la forme du module Field Layout. Ce dernier permet, comme Display Suite en Drupal 7, d'organiser les champs des entités pour les placer dans diverses zones, définies par le Layout sélectionné.
Bien qu'en alpha, ces deux modules aux fonctionnalités relativement simples remplissent déjà plutôt bien leur office et n'ont à ce jour aucun bug majeur de connu.
Autres modules expérimentaux
Le module Migrate passe enfin en bêta ! Cela signifie que les tâches majeures ont été effectuées et qu'il proposera désormais des chemins de migration d'une version bêta à la suivante si jamais un changement devait casser la compatibilité descendante.
En parallèle, Migrate Drupal et Migrate Drupal UI avancent doucement. La migration de sites Drupal 6 vers Drupal 8 sera bientôt en bêta. Celle de sites Drupal 7 est toujours à la traîne mais c'est normal car les dites Drupal 7 ont encore de beaux jours devant eux.
On a pu également constater de nombreuses améliorations du côté du module Content Moderation pour rendre la modération disponible pour toutes les entités. Attention toutefois, du fait de son statut d'alpha, la version 8.3 ne contient pas de chemin de mise à jour depuis les versions antérieures !
Le module DateTime Range, nécessaire aux modules contribués de calendriers notamment, avance sûrement vers une version stable qui devrait arriver prochainement.
Enfin, les modules Settings Tray, Place Block et Inline Form Errors n'ont pas connu de changements majeurs depuis la dernier version mineure.
Améliorations pour les éditeur⋅rice⋅s
Du côté des créateur⋅rice⋅s de contenus, pas grand chose à se mettre sous la dent si ce n'est la mise à jour de la librairie CKEditor qui fournit l'éditeur de texte riche par défaut de Drupal 8. Celle-ci apporte un nouveau thème visuel, plus léger et moderne, permettant de se concentrer plus sur le contenu. Elle fait désormais également apparaître les raccourcis clavier des différents boutons lorsqu'ils sont survolés avec votre souris, elle s'ajuste automatiquement en hauteur à mesure que vous rédigez du contenu (jusqu'à une taille maximale lui permettant de tenir dans l'écran) et intègre enfin la possibilité de coller du contenu depuis le web ou depuis Word en préservant la mise en page ou en le purifiant (selon le bouton utilisé).
Hormis la mise à jour de l'éditeur, une petite nouveauté pratique fait son apparition dans l'édition rapide du contenu. En effet, les champs de type image permettent désormais de faire glisser une image directement dans le navigateur au lieu de passer par le bouton "Parcourir" (qui reste cependant accessible en cliquant directement sur la zone).
Améliorations pour les "site-builders"
Pour avoir à l'œil son site, Drupal dispose d'une page dans les rapports contenant un récapitulatif de l'état général du site. Cette page, nommée "Tableau de bord d'administration", contient des informations sur le serveur mais aussi sur diverses options de configuration importantes et sur des points d'attention généraux soulevés par le cœur et les modules. Auparavant, cette page était une longue liste de points classés par ordre alphabétique. Désormais, les informations les plus utiles sont mises en avant et sont classées par leur criticité.
D'autres améliorations diverses ont été apportées à l'interface d'administration pour la rendre plus fluide :
- la liste des vues a été refondue pour être plus homogène avec le reste des listes d'administration, la rendre plus lisible et compacte ;
- dans toutes les listes d'administration, l'ordre des filtres a été calqué sur l'ordre des colonnes ;
- les actions "Supprimer" sur les blocs, que ce soit dans la liste de tous les blocs ou dans les liens contextuels, ont été harmonisées pour éviter les mauvaises manipulations (certains liens désactivaient juste le bloc alors que d'autres le supprimaient totalement).
Améliorations pour les développeur⋅euse⋅s
Comme à chaque version mineure, les fonctionnalités liées au webservices ont fait un bond en avant :
- amélioration des entêtes et codes de réponse en cas de problèmes ;
- amélioration du retour en cas d'erreur 403 pour que l'utilisateur puisse savoir ce qu'il se passe ;
- amélioration de 60% des performances des requêtes aux web services par des anonymes (merci le cache) ;
- possibilité de créer un point d'accès pour créer des utilisateurs.
Côté architecture et industrialisation, Drupal 8 incite les projets à utiliser le système de gestion de paquets Composer. C'est donc tout naturellement que le packagist de drupal.org a été ajouté au composer.json du cœur, de même que les types de packages drupal-module, drupal-theme, drupal-profile, drupal-drush, drupal-custom-module et drupal-custom-theme ont été ajoutés, permettant à Composer de placer les paquets dans les bons répertoires.
Enfin, côté code et notamment côté standards, la syntaxe de tous les arrays du cœur a été modernisée pour passer à la notation avec crochets. De plus, la majorité des constantes utilisées par le cœur ont été intégrées dans des classes pour éviter le risque de conflit avec des librairies tierces et respecter les bonnes pratiques de la profession.
Photo de couverture © Mark Robinson, retouchée par Happyculture
Votre commentaire
À propos de Edouard
Expert technique
Après un premier contact douloureux avec Drupal en 2009 en autodidacte, j'ai suivi une formation qui m'a convaincu de mon choix technologique et m'a vraiment mis en selle. Durant plusieurs années suite à cela j'ai accompagné des entreprises locales dans le développement de leurs projets de toutes sortes, de la simple vitrine à l'intranet social en passant par le projet e-commerce.