Drupal 8 - Révolution
Il y a presque 4 ans, la version officielle de Drupal 7 voyait le jour. C’était une énorme mise à jour par rapport à Drupal 6. 
Par rapport aux statistiques de Drupal.org , au 23 novembre 2014, presque 1 million de sites sont sur Drupal 7 (ce chiffre évoluant chaque jour car basé sur les statuts de mise à jour du cœur).
 
C’est maintenant la fin d'un cycle, et la communauté attend impatiemment la prochaine version, qui rendra le processus de développement Drupal beaucoup plus efficace, Drupal 8.
Au jour de cet article, Drupal 8 beta 3 vient d’être publié. Malgré beaucoup de retard, il est donc envisageable de penser que la version finale stable arrivera d’ici peu.
 
Devriez-vous tester Drupal 8 ? Qu'est-ce-que cette nouvelle version possède d'innovant et de spécial ?
Nous allons essayer de vous apporter quelques élements de réponse, en mettant en avant certaines des nouvelles fonctionnalités marquantes.
 

Un backoffice plus sexy et plus user-friendly

Drupal est souvent qualifié de CMF (Content Management Framework ) parcequ’il définit une infrastructure et une logique dynamique avec plusieurs niveaux de complexités mais qui s’intègrent très bien afin de créer un site. Pour travailler avec Drupal, vous devez savoir comment fonctionnent ces différentes parties, et comment les combiner. C’est souvent loin d'être facile et chronophage.
Comparé à d'autres CMS populaires, Drupal n'est pas le plus abordable. A titre d'exemple, pour un utilisateur non technique, il lui faudra 1 mois pour bien appréhender le backoffice, comparé à 1 semaine avec Wordpress, et 2 semaines peut-être avec Joomla. Drupal 7 avait déjà été travaillé pour être plus tourné vers ces utilisateurs là, mais il faut admettre que le pari est encore loin d’être gagné.
 
Ce travail d’ergonomie a été encore plus poussé avec Drupal 8. Vous le trouverez d’office plus abordable et plus joli. 
 

Amélioration du théming

Drupal 8 se montre plus flexible dans la customisation des thèmes au travers de son backoffice. C’est une aide immense à la fois pour les utilisateurs « standards » et pour les développeurs.
Dans wordpress, les utilisateurs non techniques sont bloqués s’il s’agit d’implémenter une fonctionnalité de thème compliquée.
Drupal 7 utilise le moteur de template PHPTemplate qui autorise d’inclure du code PHP dans du code HTML. Pour des utilisateurs non techniques, cela s’avère risqué pour eux d’ouvrir ces fichiers de template afin de les modifier. Drupal 8 utilise Twig, un moteur proposant une syntaxe plus aisé à manipuler demandant moins de connaissance en développement.
 

Gestion Multilingue intégrée dans le cœur

L’intégration de nouvelles langues au sein de Drupal 7 passe par l’ajout de modules tiers. L’intégration et le paramétrage de ces modules s’apparent souvent à un petit casse tête. Beaucoup de différentes ressources / entités sont à gérées séparement : les menus, les blocs, les types de contenus, les champs, les entités…
La bonne nouvelle est que l’aspect multilangue a été implémenté dans le cœur de Drupal 8. Les utilisateurs auront un accès simplifié à toutes les traductions et il sera plus aisé d’implémenter une nouvelle langue.
 

Views intégré dans le coeur

Si vous avez l’habitude de Drupal, un module incontournable est le module Views. D’après les statistiques d'utilisation du module, près de 840 000 sites l’utilisent. Il était donc logique de l’implémenter nativement. 
Son intégration native est donc synonyme de standard, de meilleure flexibilité, et de meilleure performance.
 

POO

Drupal a été développé avec des anciennes versions de PHP. Jusqu’à la 7, ce n’est en aucun cas une plateforme POO (Programmation orientée objet). Mais les choses s’améliorent avec le temps, bien qu’il subsiste certaines fonctionnalités non POO. Cela amène certaines limitations par rapport aux méthodes de développement moderne, ou pour de gros projets necessitant un haut niveau d’architecture, de maintenance, et de tests-unitaires.
Drupal 8 est basé sur le framework PHP Symfony 2, ce qui lui apporte de fait beaucoup d’améliorations POO. C’est donc un gros avantage pour les développeurs Drupal, ou pour les entreprises souhaitant bénéficier d’une approche actuelle de la programmation.
 

Drupal Context inclus nativement

Drupal 7 possède un module très pratique : context. Ce dernier permet le paramétrage / placement de composants Drupal dont les blocs selon différentes conditions. Context vous permet de créer plusieurs instances d’un même bloc, instances dont vous allez pouvoir ensuite paramétrer l’emplacement selon différents contextes : une date, une page …  Tout comme Views, ce module est maintenant intégré nativement dans le cœur de Drupal 8.
 

Wysiwyg inclus nativement

La liste des modules inclus dans le cœur d’allonge. C’est le cas de l’indispensable module Wysiwyg. Une des petites (mais très pratique) amélioration : la configuration de ses options qui se faisait par des case à cocher passe maintenant par du dragndrop.  C'est CKEditor qui est choisi comme éditeur par défaut, mais il est bien entendu possible d'en changer.
 

Edition de contenu « edit-in-place»

Une autre amélioration est la possibilité d’éditer son contenu directement depuis la page sur laquelle il s’affiche. Plus besoin de cliquer sur "éditer", aller sur le formulaire, modifer et enregistrer pour revenir sur l’article. Tout peut maintenant se faire depuis la page elle-même.
 
Un bon exemple est son implémentation dans le thème Spark.
 

Architecture REST afin de proposer des webservices « out of the box »

L’utilisation de webservice est aujourd’hui presque un standard. La multiplication des canaux de diffusion/consultation d’une même information en est la cause logique.  
En bref, vous pouvez considérer l’architecture suivante : 
  • Le serveur ne propose pas qu’un site responsive mais également des webservices qui pourront délivrer des informations en JSON / XML.
  • Les clients peuvent accéder au site depuis leur navigateur normal mais également depuis une application qui tire partie de ces webservices afin d’afficher les actualités par exmple.
 
Dans Drupal 7, le paramétrage de webservices passe par l’installation du module bien nommé Services. Avec Drupal 8, ils sont directement intégrés dans le coeur.
 

En conclusion

 
Le CMS Drupal ou plutôt CMF aborde donc un gros tournant avec cette mise à jour : la refonte totale de son cœur avec Symfony 2 et l’intégration native de plusieurs modules populaires. 
Nous vous avons partagé ici quelques points qui nous semblaient importants concernant cette version tant attendue de Drupal 8. Ces améliorations impactent les différents niveaux d’utilisateurs, des modérateurs de contenus aux développeurs.
 Il ne reste maintenant plus qu’à attendre la sortie officielle (dont la date exacte est quasi introuvable) et en espérant que beaucoup de modules disponibles seront d’ores et déjà compatibles.
 
Cet article se base sur un post de Weebpal