Drupal, CMS extrêmement souple, permet de définir des actions en réponse aux événements internes signalés par des déclencheurs. Voyons comment mettre ceci en pratique sous Drupal 6 et 7
Drupal est un CMS hautement extensible, au moyen de modules. Classiquement, un module définit des traitements effectués lors de situations bien précises, par exemple lorsque l’utilisateur valide un formulaire. Mais lebesoin peut se faire sentir d’effectuer des traitements dans des situations peu ou pas définies à l’avance. Par exemple un mécanisme d’expédition de mails à l’administrateur ne saura pas d’avance de quoi celui-ci désire être notifié. Dans un tel cas, Drupal prévoit la mise en place d’actions qui seront lancées, en réaction à des événements, par des déclencheurs associés à ces actions. Drupal vient bien sûr avec des actions et des déclencheurs par défaut, mais il est possible d’enrichir tout cela par programmation, ce que nous faisons maintenant. Pour cet article, nous supposons que le lecteur connaît PHP, et qu’il connaît au moins l’interface d’administration de Drupal. La programmation action/déclencheur présente des similitudes avec la programmation ‘simple’ de module, et nous invitons le lecteur à (re)lire l’article «Ecrire un module d’extension pour Drupal» paru dans Programmez 123. Cet article se focalise sur Drupal 6, mais nous signalerons au passage les particularités relatives à Drupal 7 sorti récemment.
Frédéric Mazué