Drupal 8 : en route vers un nouveau monde

Drupal 8 nous propose beaucoup de nouveautés, le choix le plus important est l'utilisation de composants externes.

Cet article a été initialement rédigé pour Drupal 8 mais son contenu est toujours d'actualité pour Drupal 9 et Drupal 10.

N'hésitez pas à nous contacter ou à vous inscrire à notre formation «Drupal pour les développeurs et développeuses» pour en savoir plus !

Lors du démarrage de la version 8 de Drupal, un choix important a été fait par la communauté. En effet, pour schématiser, jusqu’à Drupal 7 inclus, le cœur de Drupal était à la fois une application web et un CMS. L’ensemble des briques permettant de faire un site complet.

Aujourd’hui Drupal a pris le virage de l’ouverture aux autres technologies Open Source et de la spécialisation. Le cœur de métier de la communauté Drupal est le CMS. Le cœur de métier de Symfony est de faire des applications web.  La jonction entre les 2 permet de faire ressortir les qualités de chacune des communautés et la puissance des outils.

L’utilisation de briques Symfony (HTTP Foundation, HTTPKernel, etc) et de composants Web reconnus tels que Twig, Backbone.js, CKeditor permettent à Drupal d’améliorer l’ensemble de son système tout en se concentrant sur ce qui fait sa force, la gestion du contenu.

Le support des entités devient natif et complet. Le module Views devient un élément du cœur. Le support de l’internationalisation est maintenant natif. Enfin Drupal intègre désormais un gestionnaire de configuration. Toutes ces améliorations tendent à rendre Drupal encore plus solide et complet qu’avant. L’effort de professionnalisation démarré en Drupal 7 est poursuivi, Drupal est maintenant totalement orienté programmation objet, il facilite la gestion des déploiements et intègre les outils permettant la mise en place d’une intégration continue, de tests unitaires et fonctionnels.

La mise à jour des pré-requis

Les éléments de ce paragraphe ont évolué avec la sortie de Drupal 9 et Drupal 10 ! Pour consulter les pré-requis des dernières versions (EN), rendez-vous sur la page de documentation officielle.

Les pré-requis niveau serveur évoluent eux aussi :

  • Serveur web :  Apache ou Nginx recommandés mais aussi compatible avec Hiawatha et IIS
  • Serveur de base de données : MySQL 5.5.3 (ou MariaDB 5.5.20), PostgreSQL 9.1.2 ou SQLite 3.6.8.
  • C’est côté PHP que cela évolue le plus. Bien que PHP 5.5 soit supporté, il est très fortement conseillé de partir sur la version 5.6. Mais surtout, Drupal 8 supportera PHP 7 dès sa sortie !

On notera que le mod-rewrite d’Apache devient obligatoire et que les extensions php-curl et PDO deviennent nécessaires.

Du point de vue des navigateurs, les choses bougent car la version minimale d'IE supportée est maintenant la version IE 9. En cas de besoin de support de IE 8 un module contrib existe : https://www.drupal.org/project/iE8

Ces évolutions et bien d’autres étendent le spectre des projets auxquels Drupal peut répondre. Déjà bien large, du site plaquette au projet communautaire ou e-commerce, il est maintenant envisageable de produire des applications métier ayant un volet CMS.

Côté utilisateurs et clients, l’interface d’administration a été améliorée (rajout de l’édition en ligne, modification de la page d’édition d’un contenu, etc.) et l’expérience d’utilisation est plus agréable. Néanmoins, il ne faut pas s’attendre à un chamboulement, les utilisateurs connaissant Drupal ne seront pas dépaysés. Drupal reste lui même aussi bien dans ses concepts que dans sa gestion.

Environnement de développement

L’arrivée de la programmation objet change beaucoup de choses, nos pratiques de développement sont particulièrement impactées par cette évolution. Si ce n’est pas déjà le cas, il va devenir essentiel d’utiliser un véritable IDE pour développer avec Drupal. Même si vous n’utilisez que 5% des possibilités, les fonctionnalités de parcours de code, de debugage, d'auto-complétion sont essentielles dans un usage quotidien. Les IDE spécialisés les plus connus sont PhpStorm, Netbeans, ou Eclipse. Nous n'affirmons pas que les utilisateurs d'emacs et autres seront perdus mais pour l'utilisateur "lambda", un IDE "grand public" apportera une grande dose de confort.

Drupal met donc le cap sur un web plus ouvert, plus à l'écoute des tendances et innove pour rester à la page et vous permettre de mener à bien vos projets. Ce chantier de fond a ajouté de la complexité mais c'est surtout une dette technique qui aurait dû en partie être payée avec Drupal 7 et qui vient d'être réglée pour redevenir un CMS moderne. La mue s'est opérée, à vous d'accrocher les wagons, ce sera une bonne occasion de vous mettre à jour avec les standards du monde PHP de 2015.

Votre commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
Votre adresse servira à afficher un Gravatar et à vous notifier des réponses. Votre commentaire sera anonymisé si ce billet est dépublié pendant plus de 3 mois.
Pour lutter contre le spam notre système enregistre votre adresse IP et votre adresse e-mail si vous la partagez.
Nous vous invitons à consulter notre politique de confidentialité pour comprendre les traitements faits de ces données et comment les rectifier.

À propos de Julien

Co-fondateur - Scrum master & Expert technique

Utilisateur de Drupal depuis 2008, j’ai fait mes armes comme développeur chez Commerce Guys puis me suis mis à encadrer les nouveaux arrivants avant de donner des formations, participer aux avant ventes et accompagner les équipes au passage à Scrum.

Je suis impliqué dans la communauté française de Drupal depuis 2009, j’ai été tour à tour président puis vice-président de l’association Drupal France et francophonie entre 2011 et 2013.