Mieux vaut tard que jamais. Avec le nouveau modèle de numérotation des versions de Drupal est apparue la possibilité d'ajouter des fonctionnalités pendant la vie d'une version majeure. Alors que nous fêtons le premier anniversaire de Drupal 6 et que Drupal 8.1.0 a déjà plus de 6 mois, il est plus que temps de faire le point sur les nouveautés que cette version a apporté pour la plupart sous la forme de modules expérimentaux.

BigPipe

Il y a 8 mois de ça, dans mon article sur l'incroyable cache de Drupal 8, j'évoquais déjà l'existence du module BigPipe, inspiré de la technique inventée par Facebook pour permettre aux utilisateurs de voir un premier rendu de la page, même incomplet, bien plus rapidement et ainsi avoir la sensation que le site se charge plus rapidement. En deux mots, cette technique repose sur le fait de remplacer les parties de la page complexes à calculer par des espaces vides et de les remplacer à la volée après que le contenu principal a été chargé.

La grande nouveauté à propos de ce module est simplement qu'il a été intégré dans le cœur de Drupal et permet donc à tou⋅te⋅s les courageux/ses d'en bénéficier à leurs risques et périls.

Inline Form Errors

Afin de satisfaire les exigences de la norme WCAG en terme d'accessibilité, Drupal a fait le choix de rassembler toutes les erreurs survenues à la soumission d'un formulaire dans un seul message en haut de page. En effet, il est important pour les personnes souffrant de problèmes visuels et utilisant un lecteur d'écran d'avoir un point d'entrée unique pour comprendre pourquoi leur soumission ne s'est pas déroulée comme prévu. Pour les personnes n'ayant pas ce type de problème, l'ergonomie de ce rassemblement de messages laisse à désirer car il est difficile de comprendre le contexte lié aux erreurs.

Avec Inline Form Errors il est désormais possible de proposer des messages ciblés tout en maintenant l'accessibilité. Ce module dispose chaque message à proximité du champ ayant généré l'erreur et utilise la zone centralisée, destinée aux malvoyants, pour afficher un message d'erreur générique pourvu de liens renvoyant vers chaque champ à corriger.

Illustration des différences entre les erreurs sans et avec le module Inline Form Errors

Migrate, Migrate Drupal et  Migrate Drupal UI

Note : Migrate Drupal UI s'appelait à l'origine Drupal Upgrade UI mais a été renommé pour des raisons de cohérence.

L'une des promesses du développement de Drupal 8 était de permettre de simplifier la mise à jour d'un site en Drupal 6 ou 7 vers Drupal 8. Malheureusement, la complexité d'une telle tâche n'a pas permis aux contributeurs de fournir les outils nécessaires à temps pour la sortie de la version stable. Tout d'abord, en lieu et place de l'ancienne méthode de montée de version, il a été décidé de s'appuyer sur le module Migrate, présent dans l'écosystème depuis déjà plusieurs années, en l'étendant pour qu'il soit en mesure de traiter nativement toutes les données nécessaires. 

Avec Drupal 8.1.0, les équipes de développement du cœur ont enfin eu le temps de finaliser une première version de ces outils et de les intégrer. Cette suite de modules sert donc de socle aux équipes de développement et permet même de convertir la configuration et le contenu d'un site très simple sans une ligne de code. En prime, la présence de Migrate dans le cœur permet également de procéder à des imports de contenus venant d'autres sources comme d'un autre CMS ou d'une base de données indépendante. Dans ce dernier cas, on s'appuiera volontiers sur des modules contribués comme Migrate Source CSV, Migrate Plus et Migrate Tools pour aller encore plus loin.

Pour en savoir plus, vous pouvez consulter le replay du webinar sur les problématiques liées à la migration de contenu et à la montée de version que nous avons tenu par deux fois en collaboration avec Kaliop.

Capture d'écran de la page de récapitulatif des capacités de migration pour un projet donné

Autres améliorations diverses

Outre ces quelques modules expérimentaux, le reste des fonctionnalités de Drupal a continué d'évoluer afin de proposer des nouveautés qui, même si elles semblent parfois minuscules, contribuent à se rapprocher des besoins de notre industrie.

Choix de la langue lors de l'installation

Cette fonctionnalité qui devait être présente dès Drupal 8.0.0 avait été désactivée en raison d'un trop grand nombre de bugs. Depuis Drupal 8.1.0 il est donc possible d'installer Drupal directement dans une autre langue que l'anglais, en profitant des traductions de la communauté.

Choix de la langue dans l'éditeur de texte riche

Certains sites jonglent dans une même page entre plusieurs langues. Dans le but de satisfaire aux exigences des normes d'accessibilité, il est important de pouvoir spécifier qu'une partie du contenu est dans une autre langue que la page. Ce nouveau plugin pour l'éditeur de texte riche propose de choisir la langue du texte en cours de frapper via un menu déroulant.

Capture d'écran du sélecteur de langue de l'éditeur de texte riche

Correction orthographique dans l'éditeur de texte riche

Les éditeurs de texte riche étant de petites applications, elles regorgent d'options. Cette modification est l'une des plus petites réalisées dans cette nouvelle version mais son impact est sensible. En 2 lignes de code il s'agit de permettre au navigateur d'accéder au texte inscrit dans l'éditeur pour y appliquer son système de correction orthographique.

Capture d'écran du correcteur orthographique dans l'éditeur de texte riche

Évolutions à destination des développeurs

Bien évidemment, outre les évolutions fonctionnelles, Drupal a aussi beaucoup avancé du point de vue du code et de l'expérience développeur (DX). Voici une petite liste non exhaustive des nouveautés que l'on peut retrouver dans cette version :

 

À suivre avec les nouveautés de la version 8.2.0… dans moins de 6 mois c'est promis ;)

 

Photo de couverture © Frank Taillandier

Ajouter un commentaire

Restricted HTML

  • Balises HTML autorisées : <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.
By submitting this form, you accept the Mollom privacy policy.