Drupal 8, sorti il y a maintenant 3 ans, est souvent mis en avant par rapport à ses capacité de CMF (Content Management Framework). Et à juste titre lorsque l’on sait que son code repose largement sur Symfony un des meilleurs framework PHP aujourd’hui. Pour autant Drupal est aussi un CMS au sens plus classique du terme, c’est à dire un outil de création de sites destiné à un public non-développeur (sans aucune connaissance des languages du Web). Est-ce cependant toujours le cas ?

Au commencement…

Avant d'utiliser Drupal je créais tous les fichiers nécessaires (HTML, JS et CSS) manuellement, tâche très fastidieuse et chronophage. L’intérêt pour moi d’un CMS était devenu évident. Très vite Drupal est apparu comme la solution la mieux adaptée à mes besoins. Son côté "Légo" m'a immédiatement plu ! Et pourtant je n'étais absolument pas développeur PHP à cette époque; je faisais tout ou presque à l'aide de la souris.

Aujourd’hui on peut se poser la question de savoir si Drupal 8 est toujours un CMS destiné à un public non-développeur. Si j’étais un débutant aujourd’hui, Drupal 8 serait-il un bon choix de CMS ? Pas sûr non plus que je conseillerais aujourd'hui Drupal 8 pour réaliser un simple blog ou un petit site vitrine. Ce serait évidemment possible, mais il existe des solutions plus simples...

 

Out of the box

L’installation du système ne pose pas de problèmes et est réalisée via des formulaires directement. Même la base de données n’est plus à créer en amont. Par contre en fin d’installation du profil Standard, on a à peu près la même chose qu’avec un Drupal en version 7. On ne voit pas vraiment d’améliorations flagrantes, même si en réalité il y en a beaucoup qui sont cachées. On peut être un peu déçu par le peu de fonctionnalités prêtes à l’emploi. Drupal 8 nous laisse sur notre faim comme c'était le cas avec les versions précédentes.

 

Flexibilité vs simplicité

On peut souligner que le spectre fonctionnel s’est pourtant considérablement étendu : Drupal 8 est un CMS très bien fourni avec un écosystème de modules toujours plus large. Ce constat est caractéristique de Drupal : on a tous les outils pour créer un site évolué mais encore faut-il les connaitre et les mettre en oeuvre. C’est la philosophie de Drupal : rien n’est fait par défaut mais tout est possible. C’est la flexibilité au détriment de la simplicité.

La partie CMS est en progrès. On peut ici insister sur la nouvelle gestion des blocs (multiple instances d’un même bloc, facilité d’ajout d’un bloc sur la page courante…), l’édition en ligne des contenus, l’intégration d’un système de workflow ou encore une gestion plus claire des comptes administrateur. Cependant des modules du coeur qui semblent indispensables ne sont pas installés, comme par exemple Media, Responsive Image, Inline Form Errors, Settings Tray ou encore Content Moderation. Ces modules font également la force du système mais on peut facilement passer à côté. Globalement l’interface s’est nettement améliorée mais il faut encore pas mal de temps pour configurer les différents modules afin d’obtenir ce que l’on souhaite.

Au coeur du système s’ajoute également des milliers de modules contribué, donc autant de pièces disponibles pour assembler le site ou l'application. C’est évidemment l’une des forces de Drupal mais aussi une faiblesse pour les débutants. Le choix des modules n’est pas évident. 

 

L’approche Drupalienne

Le Web et Internet sont de plus en plus complexes et Drupal tente de satisfaire tous les besoins. C’est l’approche monolithique qui s’oppose souvent à une architecture de micro-services.

De plus en plus de sites complexes à fort traffic s’orientent vers Drupal 8. En particulier de nombreuses institutions montent des sites intranet/extranet utilisant Drupal et s’intégrant au coeur du SI : import/export via des Web Services, authentification externe, connexion à un annuaire LDAP, synchronisation de données avec un système tiers…

Drupal est une boite à outils complexe et puissante capable de fabriquer des applications très élaborées. Par contre le temps de mise en oeuvre est très long. On pourrait dire que tout est possible à condition d’avoir le temps et les compétences.

 

Développer avec Drupal 8

Développer un site avec Drupal nécessite une bonne connaissance de l'éco-système afin de profiter au maximum de l'existant. On peut alors construire un site relativement complexe rapidement. Mais cela est rarement suffisant et c'est là que les développements "maison" interviennent. Il faut alors faire appel à des développeurs drupaliens et pas seulement PHP. En effet il est indispensable de connaitre l'architecture du système pour éviter de "bricoler" et souvent de perdre du temps.

 

Maintenance du système

La philosophie globale de Drupal a changé radicalement depuis la version 8. On est passé d’un CMS 100% Drupal à un framework bâtit sur de nombreuses bibliothèques externes (Symfony, Guzzle, Doctrine, Twig…). De fait le développement est plus standard comparé aux versions passées mais la marche à franchir est d’autant plus importante pour des développeurs PHP novices. Une bonne connaissance des patterns objets est maintenant requise.

Par ailleurs les mises à jour du système et son déploiement nécessitent beaucoup de rigueur et peuvent devenir un cauchemar pour un novice. Evidemment les solutions existent pour travailler proprement mais elles obligent à avoir une bonne connaissance d’outils comme Composer, GIT ou encore Drush. On est très loin d’un CMS que l’on administre à la souris. Et même si la documentation officielle explique comment réaliser les tâches de maintenance "simplement", en pratique cela n'est pas toujours possible : on a recours à des outils complexes à installer et à utiliser.

 

Conclusion

Il n'est pas question ici d'écarter des développeurs PHP de Drupal, bien au contraire, mais plus de faire comprendre à tous pourquoi Drupal 8 ne s'adresse plus aux petits sites web. On est en revanche devant un outil extrêmement puissant capable de s'intégrer dans une architecture complexe et multi-canal.

Drupal 8 est un CMS davantage orienté vers les professionnels. En cela il est unique en son genre.

 

Dans la même catégorie

CMS Drupal

Drupal : LE CMS pour les professionnels ?


Drupal et les structures de données

Que reste-t-il à Drupal ?


Drupal et les structures de données

Drupal et les structures de données