La version stable de Drupal 8 est enfin là !

Merci pour le partage...Share on Facebook5Share on Google+0Tweet about this on TwitterShare on LinkedIn3

Le parcours fut long et difficile, avec des reports et des retards. La phase bêta a duré 12 mois, ce qui est très long, puis les versions RC (juste avant la version finale) se sont succédé sur plusieurs semaines. Mais cela ne signifie pas que Drupal 7 (D7) soit morte dès maintenant. Son support actif est assuré au moins pour 3 ans.

Par contre, la version 6 n’est plus maintenue, excepté pour la sécurité. D’ores et déjà, les équipes Drupal travaillent sur la version 8.1.x dont le processus de développement démarrera réellement en janvier 2016 pour une disponibilité au courant du mois mars.

D8 propose beaucoup de nouveautés et d’évolutions : nouveaux champs, éditeur de texte revu, fonctions de responsive design (natif à D8), multilingue intégrée et améliorée, module de configuration, utilisation des couches de Symfony, etc.

Les points majeurs à retenir

Quatre ans après le début de son développement, 3290 contributeurs et 1228 entreprises plus tard, la version stable de Drupal 8 est sortie mondialement le 19 novembre dernier. Très attendue par la communauté, cette nouvelle version du CMS Open Source offre plus de 200 nouvelles fonctionnalités et améliorations. Jetons donc un coup d’œil sur les nouveautés et changements majeurs apportés par Drupal 8.

Mobile-first (Responsive)

Première évolution notable, une approche « mobile-first » a été adoptée pour cette 8ème version : les principaux thèmes proposés par le CMS sont intégralement responsive et le back office a été repensé (barre d’outils mobile-friendly, tables responsives, bouton « retour au site » sur les pages backend) afin de permettre l’administration de son site depuis des supports mobiles. Le marquage des pages en HTML5, complété par des outils de saisie mobile, permet d’offrir aux internautes en situation de mobilité une expérience utilisateur fluide et ergonomique.

Architecture

  • Serveur : Apache 2.0 et +, Nginx 1.1 et +
  • Langage : PHP 5.5.9 et +
  • Base de données : MySQL 5.5.3 et +,
  • MariaDB 5.5.20 et +, Percona Server 5.5.8 et +,
  • PostgreSQL 9.1.2 et +, SQLite 3.6.8 et +

Des nouveaux modules entrés dans le cœur de Drupal 8

Il y a de nombreux modules qui ont été intégrés dans cette nouvelle version de Drupal. Voici ci dessous certains qui sont largement utilisés :

  • Views, permet de créer, gérer et afficher des listes de contenu. Cette intégration apporte de nouvelles fonctionnalités et permet entre autres la personnalisation de divers éléments (slideshows, galeries, contenu des sidebars, listes des écrans d’administration…) sans avoir recours à du code, le clonage des vues, la modification en série des contenus…
  • Multilingue, permet la traduction complète de tous les éléments du site.
  • Layouts, permet de créer des affichages différents pour les contenus.
  • Web Services, permet d’exposer vos données à un système externe en créant des Web services.

Les champs

De nouveaux champs ci-dessous souvent utilisés sont entrés dans le cœur également, ce qui facilite la tâche de la configuration du site : Date, Email, Link, Reference, Telephone.

Multilangue

Dès l’installation de Drupal 8, il vous sera demandé de sélectionner votre langue de travail parmi plus d’une centaine fournies par la communauté sans avoir besoin de télécharger un fichier de langue à placer dans un répertoire précis comme sur Drupal 7. De nombreux modules “contribs” ont été intégrés dans le cœur (par exemple i18n, Administration Language…), qui sont réorganisés en 4 modules. Cela permet une traduction complète (l’interface, les configurations, les contenus, etc.) sans avoir besoin d’installer de modules complémentaires.

Les blocs

Le système de gestion des blocs est bien plus évolué dans cette nouvelle version. Ce ne sont que des bonnes nouvelles pour les site-builders. Parmi les nouveautés, il y en a 3 qui nous apparaissent particulièrement importantes :

  • La possibilité de positionner un même bloc dans plusieurs régions. C’est ce que MultiBlock propose sur Drupal 7.
  • Cette nouvelle version inclut la fonctionnalité du module Bean. Cela veut dire que le bloc devient une entité qui permet de créer des types de blocs et personnaliser les champs pour chaque type de bloc.
  • Il est possible de configurer le niveau de menu à afficher pour un bloc de menus. Cela intègre la fonctionnalité du module “menu block”.

Gestion de contenu

La création et l’édition de contenu a été globalement facilitée grâce à l’éditeur de texte WYSIWYG intégré CKeditor. On compte donc parmi les nouvelles fonctionnalités : une interface ergonomique répartie en deux colonnes (l’éditeur de contenu à gauche, les informations d’administration à droite), la possibilité de modifier le contenu directement (édition rapide) depuis les pages sans ouvrir le back office, une fonction d’aperçu de la page côté visiteur, une gestion des brouillons améliorée et une sécurité renforcée.

Tous les formulaires des entités peuvent donc désormais être personnalisés davantage, tant au niveau de leur apparence que des données qu’ils contiennent. Cela permet surtout de configurer l’affichage du formulaire simplement avec un drag&drop que ce soit le formulaire d’inscription d’un utilisateur ou d’ajout de contenu.

Font-end / Intégration

TWIG : le système de Template PHPTemplate a été abandonné au profit de TWIG. Ce dernier a plus d’avantages :

  • TWIG est plus sécurisé car il n’est plus possible d’exécuter de code PHP dans ce nouveau type de Template.
  • La syntaxe de TWIG est simple et plus lisible que l’ancien fichier de Template.
  • TWIG propose également un système de débogage. Par exemple, la fonction dump est disponible pour imprimer une variable.
  • Le fichier de Template est réutilisable car il est possible d’inclure un autre Template à l’intérieur du fichier.
  • TWIG est bien documenté.
  • jQuery2 et Backbone.js : Drupal 6 avait adopté jQuery, Drupal 8 continue en intégrant la dernière version jQuery2 et y ajoute Backbone.js (et de nombreuses autres librairies JS).

Les développeurs front-end vont pouvoir nativement créer des interfaces riches utilisant le JavaScript.

Programmation Orientée Objet

Dans cette nouvelle version, Drupal quitte son île et s’oriente vers la POO (Programmation Orientée Objet) en intégrant dans son cœur des composants du Framework français Symfony comme par exemple Routing, HttpFoundation, HttpKernel, DependencyInjection… On utilise donc maintenant des classes, des interfaces, l’héritage, l’injection de dépendances, l’autoloading, les annotations PHP, etc. Le but poursuivi ici est de rendre Drupal plus flexible et polyvalent ainsi que d’attirer des développeurs venus d’autres horizons qui connaissent déjà les grands principes et pourront donc s’adapter rapidement avec cette standardisation. Pour un développeur Symfony, Drupal 8 sera donc plus rapide à prendre en main. En parallèle, les intégrations des composants extérieurs seront plus faciles, cela permettra de gagner du temps pour se concentrer sur les développements spécifiques.

Cache et performance

Entity cache module est intégré dans le cœur. Le cache et l’agrégation des CSS / JavaScript sont désormais activés par défaut dès l’installation du profil standard de Drupal. Nous verrons si cela améliorera la situation actuelle car de nombreux sites Drupal 7 sont en production sans le cache activé. En parallèle, le cache pour les utilisateurs authentifiés est également disponible (et activé dès l’installation), cela permet d’améliorer les performances pour tous les utilisateurs. Du côté front-end, la gestion de JavaScript est bien améliorée, le JavaScript est désormais chargé dans le footer, et jQuery est chargé uniquement sur les pages qui en ont besoin. Tout cela permet de rendre l’affichage des pages plus rapide.

Gestion des configurations

Le déploiement de nouvelles configurations d’une version de développement vers une version de pré-production ou de production était toujours compliqué sur Drupal 7 même avec des solutions comme le module Features ou les fonctions hook_update_N()…

Le système de configuration de Drupal 8 laisse le choix à l’utilisateur quant à l’emplacement et la manière de stocker les fichiers de configuration. Vous pouvez ainsi stocker vos paramétrages au sein même de votre base de données ou les exporter et les importer sous la forme de fichiers YAML. Vous avez également la possibilité d’importer/exporter en masse des éléments individuels (par exemple, le nom du site, les blocs, les vues, les rôles utilisateurs, les types de contenus, les entités, etc.). D’un point de vue technique, cela facilite grandement les mises en production et les déploiements.

Drupal 8 introduit le concept de UUIDs (identifiants uniques universels). Chaque contenu a un identifiant unique (et même d’un site à l’autre), par exemple : 744bdca2-b748-448a-af00-de0ad132e931. Celui-ci est indépendant de l’ID de l’auteur. Il permet de vérifier si un contenu existe déjà ou pas sur le site à migrer même si il n’a pas le même node ID (nid).

Conclusion

Si ces nouvelles fonctionnalités apporteront sans aucun doute plus de confort aux clients et utilisateurs finaux, la majeure partie des évolutions se situe sous l’angle technique. Bien plus que de simples évolutions, certaines de ces fonctionnalités constituent une véritable révolution qui permettront sans aucun doute d’étendre le champ des possibles du CMS et d’attirer de nouvelles compétences au sein de la communauté. Avec des références prestigieuses à son actif telles que La Maison Blanche, gouvernement.fr, Voyages-SNCF, BNP Paribas, ou encore PRR, Drupal n’est pas prêt d’arrêter de sitôt sa croissance.

 

 

Christian Kas

Spécialiste de la réussite et du bien-être.

Laisser un commentaire

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