Accueil / Blog / Métier / 2015 / Les nouveautés de Drupal 8

Les nouveautés de Drupal 8

Par Simon Georges publié 23/11/2015
Qu'apporte cette nouvelle version du CMS Drupal ?
Les nouveautés de Drupal 8

Le 19 novembre 2015 est sortie la première version stable de Drupal 8, offrant ainsi un sympathique cadeau d'anniversaire au créateur de Drupal, Dries Buytaert (les développeurs savent que les en-têtes d'expiration des fichiers de Drupal sont placés par clin d'œil au 19 novembre 1978, en l'honneur de Dries). Cette refonte majeure (réécriture quasiment intégrale du code en objet, utilisant également des composants du framework PHP Symfony 2) apporte son lot de nouveautés, sur des sujets majeurs comme le multilinguisme, l'accessibilité, les performances et l'ergonomie, amenant Drupal à une grosse maturité fonctionnelle. Voyons en détail ces changements (et pour en savoir plus, venez vous former à l'administration de sites Drupal 8).

L'installation

Si vous avez l'habitude d'installer Drupal, peu de choses ont changé ici. Principale nouveauté : au lieu de devoir télécharger un fichier de langue à placer dans un répertoire précis pour effectuer une installation dans une autre langue que l'anglais, cette fonctionnalité est désormais directement intégrée à l'installation de Drupal, dans le cadre de la refonte majeure de la gestion multilingue. Une installation en français désormais extrêmement facile pour tout le monde !

Installation de Drupal en français

Le multilinguisme

Cette version de Drupal est la première a être vraiment multilingue : vous pouvez faire plus et mieux avec uniquement le cœur de Drupal 8 qu'avec l'intégralité des modules de la communauté Drupal 7 offrants des possibilités de traduction.

Grâce à une combinaison de modules ajoutés au cœur, clairement identifiés et isolés du reste des modules, et la transformation de nombreuses données en entités, les menus, blocs, taxonomy, contenus et la configuration sont directement traduisibles.

Modules de traduction Drupal 8

Pour la liste complète des nouveautés, je vous invite à consulter le blog du développeur principal : Multilingual Drupal 8, vous trouverez la liste des fonctionnalités, mais également la liste des issues du cœur concernant les derniers problèmes, à suivre absolument pour préparer efficacement votre travail de traduction, même si la plupart devraient être résolues pour la version 8.1.

Les champs

De nombreux champs ont été intégrés au cœur, réduisant d'autant le nombre de modules supplémentaires à récupérer, et garantissant une maintenance efficace de ces modules, notamment pour la gestion des Dates.

Nouveaux champs Drupal 8

En plus, les références vers des entités (auparavant gérées par le module Entity reference) sont désormais partie intégrante du cœur.

Les blocs

La gestion des blocs a été pas mal revue dans cette version, bénéficiant d'une nouvelle interface offrant la possibilité de placer un même bloc dans plusieurs régions (fonctionnalité apportée auparavant par MultiBlock).

Cette possibilité, couplée au fait que la plupart des éléments d'affichage ont été transformés en bloc (Logo, Fil d'ariane, titre de la page, messages de statut, ...), va permettre de contrôler plus finement la mise en page selon les contextes, directement dans l'interface du CMS, offrant plus de personnalisation sans aucun développement.

Nouveaux blocs Drupal 8

Mais ce n'est pas tout ! Les blocs de menus ont une fonctionnalité supplémentaire, intégration légère du module Menu Block : il est possible de choisir le niveaux des menus à afficher.

Menublock

Enfin, les blocs sont désormais des plugins, et vous pouvez donc créer des des types de blocs, qui disposent de champs, reproduisant ainsi le comportement du module Bean.

Type de bloc

L'ergonomie

L'ergonomie générale de l'interface de back-office a été retravaillée, avec souvent l'action principale possible mise en avant, les autres n'étant disponibles que lors d'un clic sur une flêche à côté du bouton (voir le bouton "Gérer les champs" sur la capture précédente).

En plus, outre un éditeur de texte riche enfin présent dès l'installation (cKEditor) et complètement intégré avec les filtres (les tags autorisés dépendent automatiquement des boutons présents dans l'éditeur de texte riche),  certaines fonctionnalités ont été revues en profondeur.

Création d'un lien de menu

Un complétion automatique a été ajoutée pour chercher plus facilement la page à laquelle lier le nouvel élément de menu créé (fonctionnalité identique à ce que propose le module Multi-path autocomplete en Drupal 7) :

Menu autocomplete

Création de contenu

Si les onglets verticaux étaient déjà une amélioration pour l'écran de création de contenu, qui contient de nombreuses possibilités, ce n'était à priori pas totalement satisfaisant puisque ces onglets ont été déplacés dans une colonne à droite de l'écran principal de création, et avec une mise en forme graphique un peu différente, avant de les démarquer de la partie principale (fonctionnellement parlant) : la création du contenu.

Création de contenu en Drupal 8

Prévisualisation

Mais si l'interface de création de contenu a été revue, Drupal 7 manquait également de prévisualisation contextuelle lors de cette création. C'est désormais corrigée avec une toute nouvelle interface dans Drupal 8 :

Prévisualisation en Drupal 8

On note au passage la possibilité de vérifier les différents modes d'affichage du contenu (Défaut ou Accroche) lors de cette prévisualisation.

"Quick Edit"

Des tests utilisateurs ont démontré que certains rédacteurs étaient perturbés par les aller-retours entre back et front office. Une fonctionnalité d'édition directement dans la page, en javascript, a donc été ajouée, avec le doux nom de "quick edit" :

Quick Edit

Il reste maintenant à vérifier si cette fonctionnalité est réellement utilisée en production.

Intégration de Views

L'intégration du modules Views au cœur de Drupal a permis de transformer certains écrans d'administration en Views, permettant dès l'installation du CMS de pouvoir personnaliser les écrans de gestion du contenu ou des utilisateurs, offrant une personnalisation inégalée du back-office sans aucun ajout ni développement.

Modes d'affichage

Pour revenir sur les modes d'affichage (la possibilité de contrôler ce qui est affiché selon les contextes (RSS, recherche, ...)), il est désormais possible d'en créer de nouveaux par l'interface (fonctionnalité reprise du module Display Suite).

Mais l'on peut également créer des contextes d'affichages pour les formulaires de création d'entités (et notamment de contenus ou d'utilisateurs).

Cette fonctionnalité est notamment utilisée pour le formulaire de création de compte utilisateur, où les champs pouvaient déjà en Drupal 7 être seulement une fraction de ceux du formulaire d'édition, mais désormais ce pourra être non seulement des champs différents, mais également dans un ordre différent du formulaire d'édition du compte. Un bon outil pour tous les sites communautaires !

Les services web

Il est maintenant très facile d'exposer les informations de votre site à d'autres applications en utilisant des services web, puisque ces services sont inclus dans le cœur de Drupal.

Services web Drupal 8

Drupal 8 est donc désormais une plateforme à considérer pour implémenter des back-ends d'applications mobiles rapidement.

Les performances

Le javascript

La refonte intégrale du code était l'occasion de refondre également la couche front-end, notamment la gestion du javascript. Dorénavant, sur un site Drupal, si vous n'avez pas besoin de fonctionnalités liées à jQuery sur une page, la bibliothèque n'est pas chargée sur la page, diminuant à la fois le nombre de requêtes et leur poids total, et donc améliorant la vitesse d'affichage de la page.

Le cache

Le cache et l'aggrégation des CSS / javascripts sont désormais activés par défaut dès l'installation du profil standard de Drupal, ce qui qui empêchera probablement la situation actuelle où de nombreux sites Drupal 7 sont en production sans le cache activé.

En plus, un cache pour les utilisateurs authentifiés est désormais disponible (et activé dès l'installation), améliorant notablement les performances pour TOUS les utilisateurs, y compris authentifiés.

Caches Drupal 8

Ce cache a fait l'objet de nombreuses discussions sur les 6 derniers mois du développement Drupal 8, et est très bien décrit sur le post de blog de son initiateur, Wim Leers.

En plus de ces nouveautés, les mêmes développeurs ont planché sur un module (pas encore inclus dans le cœur, mais en discussion pour la version 8.1 si il fonctionne correctement) permettant de servir des parties de pages plus rapidement que d'autres, permettant un début de rendu de la page très rapide. N'hésitez pas à lire l'article concernant le module BigPipe sur le même blog que précédemment.

Conclusion

Cette version recèle déjà pas mal de nouvelles possibilités enthousiasmantes pour les webmasters et constructeurs de sites, réduisant la quantité de modules de la communauté à identifier ou installer. Nous reviendrons dans d'autres articles sur les nouveaux modules de la communauté disponibles. N'hésitez pas à suivre notre flux twitter si cela vous intéresse.

Si vous souhaitez aller plus loin, nous donnons également des formations sur la création de sites en Drupal 8.

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
La roadmap Drupal 8 La roadmap Drupal 8 05/04/2017

Sorti fin 2015, le CMS Drupal 8 a basculé dans un nouveau cycle de versions tous les 6 mois. Cet ...

Makina Corpus et Drupal Makina Corpus et Drupal 18/06/2018

Chez Makina Corpus, nous avons fait le choix depuis 2007 d’utiliser le gestionnaire de contenu ...

Retour d'expérience sur la réalisation d'un portail Drupal mêlant cartographie et Open Data Retour d'expérience sur la réalisation d'un portail Drupal mêlant cartographie et Open Data 15/02/2018

Utilisation de Drupal comme outil centralisateur de flux.

Breaking news : j'aime la communauté Drupal ! Breaking news : j'aime la communauté Drupal ! 24/04/2018

L'apport de la communauté Drupal sur un cas concret.

Varnish et Drupal : gérer un cache anonyme étendu Varnish et Drupal : gérer un cache anonyme étendu 14/03/2018

Le rôle d'un Reverse Proxy Cache Varnish dans une architecture Web (type Drupal).