Drupal 8, le Roi est mort : vive le Roi

Publié le Mis à jour le Par , , ,

Drupal est aujourd’hui l’un des CMS open source les plus répandus aux côtés de WordPress et Joomla. Utilisé sur plus d’un million de sites web, sa version 7 est actuellement la plus mature. Son successeur, Drupal 8, est en développement depuis maintenant quatre ans. Actuellement en bêta 9, cette nouvelle version se concrétise de jour en jour et une version stable est espérée fin 2015. Le CMS promet un outil encore plus efficace et flexible.

Une communauté prolifique

Tout d’abord faisons un état des lieux de Drupal 8.

L’annonce de la première bêta de Drupal 8 a été faite le 1er octobre 2014, durant la DrupalCon d’Amsterdam par son créateur, Dries Buytaert. Depuis, le développement a repris de plus belle et une bêta 9 est sortie au 14 avril 2015. Plus de 2500 contributeurs ont participé au développement, aussi bien en tant que développeurs, testeurs ou traducteurs.

Bien que disponible en téléchargement, Drupal 8 n’est en aucun cas prêt à être utilisé en production ; le passage d’une version bêta à une autre rend la plate-forme plus complexe à maintenir. Les versions bêta sont destinées aux développeurs et testeurs qui souhaitent contribuer à l’avancée du cœur du projet, ou travailler sur des modules complémentaires.

Une des forces de Drupal repose dans le grand nombre de modules développés par la communauté. Le développement de ces derniers repose principalement sur le travail de bénévoles. Il est donc habituel lors d’une sortie de version de devoir patienter pour la sortie de ces modules. Drupal 8 intègre cependant un ensemble de fonctionnalités répondant à des besoins récurrents pour lesquels les versions précédentes de Drupal nécessitaient des modules complémentaires.

Accélération des évolutions

Avec Drupal 8, le cycle de mise à jour évolue. En effet, d’une numérotation de version “Majeure.Patch” (7.36) nous allons passer à “Majeure.Mineure.Patch” (8.0.0). Sous ces termes techniques se cache une accélération des ajouts de fonctionnalités dans Drupal. En effet, bien que compatibles pour une mise à jour simple, les versions mineures porteront des ajouts fonctionnels. Les patchs quant à eux, fonctionneront de la même façon que les patchs de Drupal 7 qui corrigent des bugs ou des failles de sécurité. Le rythme de ces versions sera d’un patch par mois et d’une version mineure par trimestre.

Drupal 8 et ses nouveautés

Drupal 8 va apporter un vent de nouveautés et de la modernité à Drupal. En intégrant des composants provenant de Symfony 2 ou du Zend Framework et en fournissant des thèmes de base qui sont adaptatifs, Drupal 8 suit les tendances actuelles et se veut flexible pour intégrer des composants tiers.

Plus de fonctionnalités dans le cœur

De nombreuses fonctionnalités, auparavant disponibles via des modules complémentaires, ont été intégrées dans Drupal. Certains modules les plus utilisés, tels que Views et Ckeditor, sont maintenant disponibles dès l’installation du profil standard de Drupal. Des fonctionnalités notables ont été ajoutées telles que le In place editing qui permet d’éditer du contenu directement sur la page ou encore le fameux module Migrate qui permet l’import de contenus issus de différentes sources.

Gestion multi-langues

La communauté de développeurs Drupal a toujours fait de gros efforts pour rendre le support de plusieurs langues possible pour un même site. La complexité du sujet et le manque de coordination technique a malheureusement eu pour résultat de ne pas fédérer tous les développeurs au sein d’un même projet et a produit une foule de modules plus ou moins similaires.

Afin de proposer une solution plus harmonieuse, Dries Buythaert a annoncé courant 2011 la Drupal 8 Multilingual Initiative.

Ainsi, le cœur intègre la majorité des fonctionnalités de gestion multi-langues rendant dans la plupart des cas inutile l’ajout de modules complémentaires. Toute la configuration du site devient traduisible nativement. Il est possible de télécharger les traductions liées aux modules et thèmes additionnels et de les surcharger par ses propres traductions. La langue anglaise “en” est mieux gérée et peut désormais être retirée si besoin ou activée comme étant une langue traduisible avec sa propre configuration.

Services web

Au cours de ces deux dernières années, nombre de projets Drupal se sont concentrés sur la partie gestion de contenu en déléguant l’affichage à d’autres technologies. Afin de répondre à cette problématique, le rendu des contenus et des structures doit être fourni à la partie affichage via des services web. La solution : un module complémentaire qui se nomme Services. Avec Drupal 8, cette fonctionnalité est intégrée au cœur. Ce type d’architecture sera donc plus simple et plus rapide à mettre en place sur de nouveaux projets.

Moteur de thème

Précédemment, Drupal intégrait un système pour gérer le thème (PHPTemplate) qui permettait d’exécuter des opérations très lourdes ce qui pouvait poser des problèmes de performances si le développeur prenait trop de libertés avec le système. Ce temps est révolu avec le nouveau moteur de génération de thème, Twig, qui propose une syntaxe plus restrictive et va donc éviter les dérives que nous avons pu constater auparavant.

Ce nouveau moteur de thème est également plus adapté aux différents métiers de la chaîne de création : ne reposant pas du tout sur PHP, il est facilement accessible aux équipes travaillant sur des technologies front.

Accessibilité

L’accessibilité a été pensée à tous les niveaux et pour tous les types d’utilisateurs (clients, contributeurs, administrateurs et développeurs) selon les règles du WAI-ARIA.

L’important était de régler les problèmes à la source, au niveau du cœur afin de propager ces initiatives pour les thèmes et modules de la communauté.

La plus grande avancée concerne la sémantique qui est notamment utile pour les utilisateurs ayant besoin d’un lecteur d’écran. L’utilisation des attributs ARIA, des éléments fieldset pour grouper les champs de formulaires ou encore l’indication de la langue courante utilisée font partie des améliorations apportées. Des ajustements ont également été faits sur le contraste des couleurs et la taille des typographies.

Par ailleurs, la communauté Drupal a insisté pour que certains composants externes soient rendus plus accessibles comme CKEditor ou jQuery UI avant d’être intégrés à Drupal8.

Mobile ready

L’arrivée des appareils nomades a créé un nouveau besoin, celui d’avoir des sites qui s’adaptent en fonction des terminaux. Drupal 8 a pris en compte la demande et intègre désormais des thèmes responsive, aussi bien pour le front que le back-office. Il n’est plus nécessaire d’avoir un ordinateur de bureau, pour mettre à jour son site. À l’instar de l’interface de WordPress, l’administration d’un site Drupal est maintenant beaucoup plus aisée depuis un terminal mobile.

Une date de sortie ?

Aucune date de sortie de la version finale n’est d’actualité pour le moment et il en sera de même tant que tous les bugs critiques n’auront pas été résolus (45 bugs non résolus à ce jour). Malgré tout, le site drupalreleasedate.com permet aux équipes de développement de fournir une estimation de la date de sortie de ce qui sera une révolution dans notre travail quotidien.

Conclusion

L’intégration de nouvelles fonctionnalités au cœur de Drupal promet de futurs projets plus rapides à mettre en place et plus homogènes d’un projet à un autre. Les nouvelles bonnes pratiques, tant du coté serveur que du coté client, assureront une meilleure qualité de code, de meilleures performances et une meilleure expérience utilisateur.