Makina Blog
Les nouveautés de Drupal 8
Qu'apporte cette nouvelle version du CMS Drupal ?
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 !
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.
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.
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.
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.
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.
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) :
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.
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 :
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" :
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.
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.
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.
Formations associées
Actualités en lien
Migration d'un site Drupal 7 en Drupal 11
Trucs, astuces et "bouts" de code pour migrer votre site web de Drupal 7 à Drupal 11. Compte-rendu d'une conférence donnée au Drupalcamp Rennes 2024.
Makina Corpus, partenaire du DrupalCamp 2024
Nous sommes fiers d’annoncer que Makina Corpus est le sponsor du DrupalCamp à Rennes. Notre expert vous y propose une conférence « migrer de Drupal 7 à Drupal 10 ».