
Drupal ?
Conçu en 2000 à l'Université d'Anvers par Dries Buytaert comme un forum entre amis, Drupal est aujourd'hui une des meilleures solution pour administrer un site internet sans connaissance particulière ni code.
Drupal est un CMS libre et open-source sous licence GNU, développé en PHP. Il facilite la création de sites web comparé à une structure HTML/CSS classique.
Historique
Créé en 2000 par Dries Buytaert à l’université d’Anvers, Drupal commence comme un forum entre amis. Le nom vient du mot néerlandais "druppel" (goutte), mal orthographié lors de l’achat d’un nom de domaine. En 2009, il est désigné meilleur CMS PHP open-source par Packt, utilisé par 500 000 sites, et atteint 1 % du web mondial en 2010. En 2018, il est le 3e CMS le plus utilisé. La société Acquia, liée à Drupal, a levé 50 millions de dollars en 2014.
Fonctionnement
Drupal s’utilise à plusieurs niveaux : en l’état (fonctionnalités de base), avec personnalisation visuelle, via des modules externes, ou par développement de modules internes. Il repose sur une base de données riche, et propose environ 4 000 fonctions d’API, bien documentées.
Contenu et structure
Tout contenu est un “nœud” : article, blog, sondage, etc., avec des champs associés. Chaque nœud a un ID et un historique de révisions. Les contenus peuvent être classés via une taxonomie souple. Le système permet des affichages multiples et révisions successives.
Modules
Les traitements sont gérés par des modules activables indépendamment. Dans Drupal 7, le système repose sur des zones de contenu dynamiques. Les modules peuvent retourner des erreurs, rien (WSOD), ou des structures PHP, qui seront ensuite stylisées.
Thèmes
La présentation est gérée séparément via des thèmes en CSS et PHP. Le module Sweaver permet de modifier dynamiquement polices et couleurs. Les fonctions de thémage convertissent des données en XHTML stylisé, affiché selon la configuration choisie.
Administration
Les blocs (éléments visuels) sont positionnés, activés et hiérarchisés par glisser-déposer. Depuis Drupal 7, toutes les régions sont équivalentes, facilitant les ajustements.
Programmation événementielle
Drupal utilise un modèle de callbacks : chaque action déclenche une fonction. Un module doit être syntaxiquement correct pour ne pas bloquer le système.
Rôles et permissions
Les utilisateurs se voient attribuer des rôles, définissant leurs permissions. On peut créer des rôles très spécifiques selon les besoins (modérateurs, éditeurs, etc.).
Pérennité du contenu
Drupal ne garantit pas la compatibilité du code entre versions majeures, mais assure la conservation du contenu. Ce choix favorise l’évolutivité sans pertes de données, ce qui convient bien à des archives ou contenus de long terme. Deux versions majeures sont toujours maintenues en parallèle pour faciliter les transitions.