Drupal 8 – partie 1 : les nouvelles fonctionnalités

drupal8_logo

Drupal 8, actuellement en beta 9, devrait sortir en version stable cet été. La version actuelle se rapproche donc fortement du produit final. Nous pouvons donc examiner sans plus attendre ce que nous réserve le nouveau cœur du plus grand CMS de tous les temps (après Spip bien sûr) !

Remarque liminaire : à côté de chaque sous-partie de cet article sera adjoint un ou plusieurs symboles « + » permettant de discerner facilement quelles sont les fonctionnalités ayant le plus grand impact sur cette nouvelle version de Drupal.

Une interface améliorée (+)

Commençons par les changements ergonomiques introduits dans cette version 8.

Les thèmes par défaut (et même l’interface d’installation ) sont à présent orientés responsive design afin d’avoir un site lisible depuis une tablette ou un smartphone, que ce soit en front-office ou en back-office.

responsive_d8_1

Affichage Desktop

responsive_d8_2

Affichage mobile.

L’interface reste toutefois proche de Drupal 7 et sera familière aux initiés : même celle de Views est quasiment identique, au point qu’on a l’impression d’avoir affaire à un Drupal 7 doté simplement d’un nouveau thème :

views_d8

L’interface de Views dans Drupal 8

Confort supplémentaire, un wysiwyg est installé par défaut (le puissant Ckeditor 4) :

Le wysiwyg intégré à Drupal 8

Le wysiwyg intégré à Drupal 8

Un mode d’édition rapide des contenus (fourni par le module du coeur Quick Edit) apparaît également : une fois activé via un clic sur une icône crayon dans la barre d’outils (ou au survol du contenu), il permet d’éditer les différentes parties de la page via une icône qui propose différentes options au clic (notamment « Edition rapide »).

Toutefois, le gain de temps octroyé par cette nouvelle fonctionnalité est assez mince, puisqu’il faut cliquer au moins deux fois pour lancer l’édition rapide d’un contenu, alors qu’un contenu classique présente déjà un onglet « Modifier » -le formulaire d’édition est donc accessible en un clic. De plus, tout comme pour un formulaire d’édition traditionnel, il faut cliquer sur un bouton pour valider ses modifications. Par ailleurs, comme le montre la capture d’écran ci-dessous, l’édition rapide n’est pas forcément très lisible :

quickedit_d8

On peut imaginer que cette dernière n’était pas un point prioritaire aux yeux des développeurs et qu’elle bénéficiera d’ajustements ultérieurs, car actuellement, l’édition rapide semble plus lente qu’une édition normale !

Enfin, si l’interface BO change au final assez peu en terme d’organisation (ce qui permet une prise en main rapide pour les utilisateurs de Drupal 7), le wording a été légèrement revu pour de nouveaux arrivants sur le CMS (par exemple, il a été estimé que l’utilisateur comprendrait mieux que l’onglet « Étendre » permet de gérer des modules mais aussi d’en installer de nouveaux, qu’un bouton appelé « Modules »).

Au final, l’interface de Drupal 8 rencontre donc diverses améliorations, qui ne sont cependant ni novatrices ni forcément finalisées (comme l’édition rapide) : il s’agit d’évolutions nécessaires pour la modernité du CMS, mais qui restent mineures.

De nouveaux modules core (++)

Drupal 8 intègre à présent nativement Views, aux fonctionnalités semblables au Views 3 de Drupal 7.

Il gère par ailleurs de nouveaux types de champs comme les dates, les courriels, les numéros de téléphone, et l’entity reference.

Mais l’innovation principale est sans doute le multilingue amélioré, qui devrait éviter d’avoir à installer de nombreux modules de la communauté :

translation_1

  • Interface Translation permet de traduire l’interface utilisateur. Le fonctionnement de base reste le même, mais plusieurs ajouts fonctionnels ont été réalisés. En effet, on peut traduire simultannément plusieurs chaînes :

translation_2

Par ailleurs, on peut importer et exporter les traductions, notamment les traductions personnalisées.

  • Language permet de définir des paramètres personnalisés pour les langues et les différents éléments constitutifs du site (contenus, blocs, utilisateurs...). On peut par exemple donner le choix à l’utilisateur de dire qu’un nœud est en français ou en anglais.
  • Content Translation (couplé à Configuration Translation) permet de traduire les contenus du site, notamment les champs, les termes de taxonomie, les blocs personnalisés. On peut par exemple définir quels sont les champs traduisibles (par exemple le titre dans la prise d’écran ci-dessous) et utiliser l’onglet « translate » sur le contenu pour simplement traduire ce dernier.

translation_3

La gestion des traductions apparaît donc comme plutôt bien pensée et intuitive, ce qui est souvent un manque dans les CMS.

Des innovations sur les blocs (++)

Les blocs ne bénéficient pas seulement de la possibilité d’être traduits, d’autres nouveautés sont au programme :

  • Un onglet « Custom block library » dans la page de gestion des blocs permet de trouver facilement ses blocs personnalisés :

blocks

  • Dans cette même page, un sous-onglet "Types" permet de créer des types de bloc : cela permet d’ajouter des champs aux blocks à la manière de types de contenus (et d’activer ou non la traduction de ce type de block) !
  • On peut gérer les caches de bloc individuellement, sans passer par du code :

blocks_cache

  • Avec la possibilité d’ajouter différents types d’affichage via Structure > Display mode, on peut afficher un bloc de manières différentes et dans différentes régions d’une page web.

On peut donc considérer que les blocs ont bénéficié d’améliorations conséquentes sur Drupal 8, qui s’avéreront utiles quel que soit le type d’utilisation du CMS.

La fin de la configuration seulement en BDD (+++)

Nous avons vu qu’à présent, nous pouvons importer/exporter sous forme de fichiers les traductions personnalisées. Il ne s’agit pas du seul type de configuration en BO qu’on peut exporter facilement avec Drupal 8 : à présent on peut stocker toute configuration ou presque dans des fichiers de paramétrages en yml (ce formatage est déjà utilisé pour le routing dans D8).

En effet, la fonctionnalité Configuration Management permet d’importer et d’exporter différents types de configuration (champs, menus, rôles, taxonomies…) sous forme de fichiers yaml. Il est également possible d’exporter/importer la configuration complète du site sous la forme d’une archive contenant tous les fichiers de configuration.

Jusqu’à présent, la configuration de Drupal était uniquement stockée en base et il fallait utiliser le module Feature pour répercuter des modifications de configuration d’une plate-forme à une autre.

Il s’agit donc d’une innovation majeure et demandée depuis longtemps, qui permet même d’utiliser directement la configuration issue des fichiers et non de la BDD.

Conclusion

En définitive, bien que certaines nouveautés ne semblent pas totalement abouties (édition rapide, configuration management), l’ensemble est prometteur pour un Drupal 8 qui sera plus fin et rigoureux que son prédécesseur. Toutefois la révolution apportée par Drupal 8 n’est pas fonctionnelle mais bien technique : nous verrons dans un prochain article combien l’architecture du CMS a été chamboulée dans cette nouvelle version.

Un commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.