Drupal 8, quoi de neuf ?

Le billet d'annonce sur drupal.org trace les grandes nouveautés à attendre de cette nouvelle version du CMS. Une petite dizaine d'initiatives ont en effet permis d'avancer sur plusieurs axes d'améliorations pour cette nouvelle version majeure. A ce titre, nous pouvons regrouper les changements en plusieurs ensembles :

Les améliorations visibles apportées par Drupal 8

Ces améliorations apportent des changements sensibles dans la façon d'utiliser Drupal et/ou dans son interface utilisateur :

  • les champs enrichis : toujours plus de types de champs pour plus de souplesse,
  • Views intégré au Core : si on ne devait avoir qu'un seul module, ça aurait été Views, désormais c'est directement dans le coeur même de la bête...
  • l'éditeur riche intégré au Core : CKEditor, la Rolls des éditeur, fait désormais également partie de l'installation de base,CKEditor, éditeur par défaut de Drupal 8
  • l'interface de saisie revue : deux colonnes pour plus de facilité de lecture, nous retrouvons un peu là ce qu'on a sous Joomla d'ailleurs (mais heureusement la comparaison s'arrête là!),
  • un nouveau système de gestion des affichages : plus de possibilités pour gérer les différents affichages possibles des contenus,
  • mobile friendly : pensé pour le mobile dès le début, cette nouvelle version de Drupal sera aussi bien utilisable sur desktop que sur vos tablettes, et ceci na-ti-ve-ment,
  • le multilingue à l'honneur : pour avoir des sites plus simples à traduire et plus simples à mettre en oeuvre, 

Les améliorations plus techniques de Drupal 8

Non content de vous faciliter la vie et d'enrichir votre expérience d'utilisateur, Drupal 8 c'est une petite révolution sous le capot. Cette version apporte en effet son lot de nouveautés pour les développeurs et intégrateurs :

Meilleure intégration HTML5

  • intégration d'éléments HTML5 : avec notamment l'inclusion des breakpoints pour le "responsive facile",
  • un effort sur l'accessibilité : pour coller plus efficacement aux standards WAI-ARIA,
  • une couche Web services plus avancée,
  • un support des migrations de contenus, pour passer plus facilement des versions précédentes à la version 8,
  • Field API gagne du terrain : les entrées de menu ou le formulaire de contact vont bénéficier de cette API,
  • les dernières versions de jQuery et jQuery UI sont intégrées,
  • des nouveaux composants logiciels sont désormais inclus, ce qui a mon sens forme une avancée majeure même si l'utilisateur final ne le verra pas forcément.

Les améliorations majeures de Drupal 8

Ces améliorations ne seront pas visibles par le contributeur, pourtant ce sont des avancées énormes qui permettront à Drupal de gagner en efficacité et en sécurité. Voici donc ce dont il est question :

Nouveau framework Symfony 2

  • l'intégration de la POO : en plus d'utiliser jusqu'ici largement les design patterns et bonnes pratiques de développement, Drupal passe enfin aujourd'hui à l'objet pour une bonne partie de son code,
  • un système de configuration unifié : au lieu d'être stocké dans des tables spécifiques ou dans des variables en base de données, la configuration va désormais être stockées dans des fichiers YAML. Ceci va faciliter le staging (et donc la percée de Drupal dans le monde de l'entreprise) en séparant les données, présentes en base de données, et la configuration qui pourra du coup être versionnée et facilement migrée,
  • l'intégration de Symfony 2 : ce framework va permettre à Drupal de profiter de composants techniques déjà existants et donc de se concentrer sur les fonctionnalités plus purement CMS, tout en apportant du sang neuf dans la communauté des développeurs, ce qui n'est pas du tout négligeable puisque cette communauté sera déjà au fait du développement d'applications riches sur internet, au delà du simple site web,
  • passage à PHPUnit : Drupal pronait déjà le développement test-driven, mais en s'appuyant sur un framework maison, aujourd'hui en utilisant PHPUnit, ce sera un gain d'efficacité et le développement du framework lui même sera évité,
  • Twig comme nouveau moteur de template : ceci va permettre de rendre les templates plus lisibles et surtout plus sûrs, à la base pas vraiment fan des langages de templating, mais si c'est pour la sécurité! allons-y :-)
  • enfin, quelques modules disparaissent du Core, puisque personne ne les utilisait ou qu'ils ne répondaient pas aux bonnes pratiques. Ce dernier point n'est pas le plus important mais, comme les points évoqués juste avant, il refléte bien la philosophie de Drupal : aller de l'avant en s'appuyant sur une architecture construite, réfléchie et sûre.

La suite de la découverte de Drupal 8

Dans la suite des articles, nous aborderons plus spécifiquement chaque point évoqués au fur et à mesure du développement de notre site. Déjà, nous pouvons dire deux mots de l'interface utilisateur revue : c'est rapide et efficace!

Nouvelle interface de Drupal 8

Le menu d'administration à gauche (ou en haut si vous souhaitez) est fluide et bien présenté, en l'absence pour le moment d'autres modules d'administration stable, cela facilite énormément la navigation dans l'admin. L'interface de gestion des modules ne change pas beaucoup, bien que la description des modules soit plus compacte et mieux agencée.

Comme vous pouvez le voir sur cette capture d'écran, l'optimisation pour le mobile n'est pas que sur le papier : 

Optimisé pour le mobile

Nous n'avons pas encore testé la gestion de configuration, mais ça va venir, en attendant, voici une vue de l'interface permettant de gérer les configurations :

Gestion des configurations avec Drupal 8

Voilà pour cette fois ci ! Prochain épisode, le nouveau moteur de template Twig ou bye-bye les print PHP!