On a souvent reproché la complexité de Drupal, surtout de sa dernière version, adaptée la plupart du temps aux projets numériques conséquents impliquant des outils puissants et souvent plus complexes. Comment adapter la technologie de Drupal à des sites moins ambitieux ? La solution est peut être le CMS Backdrop, un fork de Drupal !
Backdrop ?
Backdrop est un CMS issu d’un « fork » de Drupal, c'est-à-dire un logiciel créé à partir du code source de Drupal 7, suite à des divergences de points de vue ou d’objectifs parmi les développeurs - comme l’annonce des orientations de Drupal 8. En effet, Drupal 8 proposait une refonte complète du Core en se basant sur le Framework Symfony, ce qui a engendré une série de débats passionnés dans la communauté, au sujet de l'avenir de Drupal. Pour de nombreux développeurs, Drupal 8 imposait une évolution majeure qui nécessitait une mise jour des connaissances et des pratiques notamment pour TWIG et son langage DQL et Symfony avec sa programmation orientée objet.
Certains craignaient que le niveau de complexité imposé à Drupal rendrait impossible la conduite de projets simples - à mener dans des cadres budgétaires contraints. Lors de la sortie de Drupal 8, la problématique de la migration est intervenue : doit-on migrer vers Drupal 8 ou allonger la durée de vie de Drupal 7 via un fork ? C’est à ce moment que le CMS Backdrop a vu le jour. Ce CMS a pour but d’améliorer et de simplifier le code et l’architecture de Drupal 7 tout en minimisant les coûts pour la communauté.
En effet, la solution est de séparer l’architecture de l’implémentation. Drupal 7 et les versions antérieures ont une architecture monolithique, le principale problème de ce type d’architecture est qu’elle centralise tous les besoins et qu’elle est réalisée dans une seule technologie. Backdrop propose une architecture modulaire, qui consiste en plusieurs couches permettant ainsi de supprimer les éléments complexes et inutiles pour un projet simple.
Backdrop repose sur les principes suivants :
- Une conception pour tout le monde : le Core de Backdrop inclut des fonctionnalités et des outils qui profitent à la majorité des sites. Si le besoin d’évolution du CMS se fait sentir, la décision implique toutes les personnes concernées (développeurs, personnes assistant aux meet-up, aux Backdrop Camps…) ;
- Une architecture adaptée : Backdrop veut être un CMS facile à comprendre et à utiliser, même pour les personnes ayant un minimum de compétences en proposant une documentation facile d’accès ;
- Un noyau puissant : Backdrop fournit un puissant noyau avec une importante capacité d’extension via des modules contribués. Étant un fork de Drupal 7, Backdrop bénéficie et profite de tout le potentiel de Drupal ;
- Une diminution des coûts : Backdrop peut fonctionner sur une plateforme d’hébergement abordable avec des exigences basiques ;
- Le respect d’un calendrier des lancements des mises à jour : les mises à jour et les lancements des nouvelles versions sont planifiés dans un calendrier - ce qui permet de réduire les incertitudes liées à la sortie de nouveaux modules ou des mises à jour.
Après Drupal 7 : BackDrop ou Drupal 8 ?
Le choix dépend de l’envergure du projet et des ressources. Backdrop est un CMS destiné aux petites à moyennes entreprises et aux sociétés à but non lucratif. L’idée est de disposer d’un site performant issu de l’environnement de Drupal en minimisant les coûts. Ainsi, Backdrop présente de nombreux avantages, dont :
- Adapter Drupal pour intégrer les sites de moins grande envergure : Backdrop propose de conserver les fonctionnalités de Drupal 7 par la migration de ses modules vers le fork, mais également d'apporter une amélioration comme l’externalisation de la base de données des types de contenus, des vues et des structures, permettant l’utilisation de versions de contrôle pour le déploiement. Backdrop s’est bien développé, si bien que la communauté propose même un thème de Foundation 6 ;
- Évolution des API : Avec Drupal, les mises à jour majeures présentaient de nombreux problèmes lorsque les API devaient également évoluées alors que les modules n’étaient pas mis à jour. Alors que Drupal 8 permet de faire évoluer la plateforme sans briser les connexions aux API, Backdrop tend à répondre à ce besoin en limitant au maximum les changements d’API ;
- Réduction de la courbe d’apprentissage : notamment pour les développeurs PHP, Drupal 8 nécessite un certain niveau de connaissance pour une utilisation optimale tandis que Backdrop est plus simple à déployer. Migrer vers Backdrop semble une solution intéressante puisque le code est le même que celui de Drupal 7 ;
- Durée de vie plus longue : la philosophie de Drupal est d’arrêter le support technique d’une version n une fois la version n+2 publiée. Ainsi, avec la sortie de Drupal 9, la version 7 ne sera plus supportée. BackDrop permet de continuer de bénéficier du support d’un CMS similaire et amélioré de Drupal 7 plus longtemps, en attendant les éventuelles mises à jour. Cependant, la communauté de Backdrop étant jeune, les feedbacks seront moins nombreux et moins réguliers.
Il est difficile de prévoir l'évolution à moyen / long terme de backdrop CMS. La communauté semble active mais encore confidentielle, et nous savons - imaginons - l'énergie nécessaire pour l'animer, faire converger les initiatives, transiger et s'imposer. Il reste cependant un énorme coup à jouer, en relation avec la communauté Drupal : si nous voyons un jour la libération de Drupal 9, Backdrop deviendra une alternative sérieuse aux projets Drupal 7 - qui ne seront plus maintenus. Il sera très intéressant de mesurer l'effort de migration de Drupal 7 à 8 en comparaison à une transformation vers backdrop.
En attendant, nous suivons attentivement l'évolution de cette communauté... C'est une histoire de famille.
Pour aller plus loin : https://backdropcms.org