Intégrer le chatbot SAWL sur un site Drupal de collectivité

Drupal équipe la majorité des sites de métropoles, régions, départements et grandes agglomérations françaises. Côté tourisme institutionnel, on le retrouve sur les sites des CRT, CDT et agences d'attractivité de grande échelle. SAWL s'intègre sur Drupal 9, 10 et 11 sans module Drupal dédié, via la balise HTML universelle du widget. Cette page décrit les trois méthodes courantes, leurs avantages et leur gouvernance.

Pourquoi Drupal dans le secteur public et touristique institutionnel

Drupal est largement utilisé par les collectivités territoriales françaises, en particulier par les métropoles, les régions, les conseils départementaux et les agences d'attractivité de grande échelle. Trois raisons structurelles l'expliquent : sa gouvernance par une fondation (Drupal Association, acteur non commercial), sa réputation robuste sur les sujets de sécurité et de RGPD, et la disponibilité d'intégrateurs publics spécialisés. Côté tourisme, les sites de CRT, de CDT, de grandes métropoles touristiques et de certaines destinations d'agglomération tournent sous Drupal.

SAWL s'intègre sur Drupal sans module dédié. Comme pour les autres CMS, le widget est livré sous forme d'une balise HTML universelle. Ce choix répond à une contrainte forte du secteur public : les directions informatiques des collectivités contrôlent strictement les modules ajoutés à leur instance Drupal, pour des raisons de sécurité, de maintenance et de gouvernance du code. Proposer un module tiers supplémentaire créerait une friction inutile : l'intégration par balise HTML passe les mêmes contrôles que n'importe quel script analytics ou pixel marketing déjà présent sur le site.

Méthode 1 : bloc HTML dans la région de footer

La méthode la plus simple et la plus courante consiste à créer un bloc de type HTML dans l'administration Drupal (menu Structure > Mise en page des blocs), à y coller la balise du widget SAWL, puis à placer ce bloc dans la région de footer du thème. Le widget s'affiche alors sur toutes les pages du site, sans modification du thème ni du code. Cette méthode est accessible à un administrateur Drupal avec les droits de gestion des blocs, sans passer par le service informatique.

L'avantage est double : le changement est versionné dans la configuration Drupal (via le système de config management, si votre collectivité l'utilise), et il peut être activé ou désactivé en un clic depuis l'administration. C'est la méthode que nous recommandons pour un premier déploiement, en particulier sur des instances Drupal où vous souhaitez éviter toute modification de code.

Un point d'attention pour les sites avec un filtre de texte strict : Drupal permet de restreindre les balises HTML acceptées dans les blocs. Si votre instance est configurée avec un filtre qui supprime les balises <script> (par exemple le filtre par défaut Texte restreint), il faut poser le widget via un bloc configuré avec le format HTML complet, en s'assurant que ce format est bien activé pour les administrateurs. C'est un paramètre à vérifier en amont avec votre équipe Drupal.

Méthode 2 : snippet dans le template Twig du thème

Pour une intégration qui résiste à toute modification d'administration et qui suit le versionnage du thème, le plus propre est d'ajouter la balise SAWL directement dans le template page.html.twig ou html.html.twig du thème Drupal. Cette méthode garantit que le widget est présent sur toutes les pages servies par le thème, et qu'il survit aux opérations de maintenance ou aux modifications de configuration des blocs.

Elle demande en revanche une intervention développeur, et surtout qu'elle passe par le circuit habituel de mise en production de votre collectivité : commit dans le dépôt Git du thème, revue par le développeur référent, déploiement en préproduction, validation, mise en production. Sur une instance Drupal institutionnelle, ce circuit prend typiquement une semaine, pas une heure. C'est normal et c'est la contrepartie d'une gouvernance sécurisée. Nous fournissons les deux lignes HTML exactes ainsi qu'un commentaire Twig expliquant le positionnement, pour faciliter la revue de code.

Méthode 3 : petit module custom qui pose le widget via un hook

La troisième méthode, plus rare mais parfois demandée par les directions informatiques, consiste à créer un petit module custom Drupal (une vingtaine de lignes PHP) qui implémente un hook hook_page_attachments() ou hook_preprocess_html() pour ajouter la balise du widget. Cette méthode a l'avantage de centraliser l'intégration dans un artefact versionné et identifiable, ce qui plaît aux équipes qui cartographient finement leurs modules custom.

Elle demande la même intervention développeur que la méthode 2, avec la même chaîne de mise en production. Nous ne la recommandons pas comme méthode de premier recours, mais nous la documentons car certaines collectivités l'exigent pour respecter leur politique interne de gestion du code. Un développeur Drupal expérimenté produit ce module en une à deux heures, intégration dans le cycle de revue comprise.

Compatibilité Drupal 9, 10, 11 et gouvernance du changement

Le widget SAWL est agnostique de la version de Drupal, puisqu'il n'utilise aucune API Drupal. Il fonctionne à l'identique sur Drupal 9, Drupal 10 et Drupal 11, avec n'importe quel thème (Olivero, Claro, thème personnalisé de collectivité). Il fonctionne également sur des architectures Drupal découplées (headless) dès lors que le frontend (Next.js, Nuxt, Gatsby) accepte une balise HTML dans son template.

Côté gouvernance du changement, l'intégration de SAWL sur un site Drupal institutionnel suit généralement le process standard d'une collectivité : demande de la direction métier (office de tourisme, communication, attractivité), fiche d'évaluation par la direction informatique, test en préproduction, validation par la DPO (RGPD), mise en production. Ce cycle dure en moyenne trois à six semaines pour une grande collectivité, selon le calendrier des comités de mise en production. Nous préparons systématiquement avec vous une note technique synthétique (architecture, flux de données, hébergement, conformité) pour alimenter ce circuit.

Points clés à retenir
  • SAWL n'a pas de module Drupal dédié : le widget est une balise HTML universelle de 2 lignes
  • Trois méthodes d'intégration : bloc HTML en footer (le plus simple), snippet dans le template Twig, ou petit module custom via hook
  • Compatible Drupal 9, 10 et 11, avec tous les thèmes et les architectures découplées
  • Point d'attention : le filtre de format de texte doit autoriser les balises script sur le bloc de widget
  • Intégration alignée sur le circuit de mise en production standard des collectivités (3 à 6 semaines pour une grande collectivité)

Questions fréquentes

Faut-il installer un module Drupal SAWL pour intégrer le chatbot ?

Non. SAWL ne distribue pas de module Drupal dédié, c'est un choix délibéré adapté aux contraintes du secteur public. Le widget est une balise HTML universelle, qui passe par les canaux d'intégration standards de Drupal : bloc HTML, template Twig ou éventuellement un petit module custom local à votre collectivité. Cela évite d'introduire un module tiers supplémentaire à maintenir, à auditer et à mettre à jour, dans un environnement où chaque module ajouté passe par une fiche d'évaluation.

Notre instance Drupal est pilotée par une direction informatique centrale. Comment l'intégration se déroule-t-elle ?

Sur une instance institutionnelle, l'intégration suit votre process standard de mise en production : demande métier, fiche d'évaluation DSI, tests en préproduction, validation DPO, déploiement. Nous préparons avec vous une note technique synthétique couvrant l'architecture, les flux de données, l'hébergement UE et la conformité RGPD pour alimenter ce circuit. Le délai moyen est de trois à six semaines, comme pour toute modification sur un site de collectivité de grande taille.

Drupal est-il compatible avec le widget SAWL en mode headless (Next.js, Nuxt) ?

Oui. Le widget SAWL est une balise HTML standard qui n'utilise aucune API Drupal, donc il fonctionne indépendamment de l'architecture : Drupal classique, Drupal découplé avec un frontend Next.js, Nuxt ou Gatsby, ou Drupal en backoffice headless pour un site React. L'intégration se fait côté frontend, dans le template de l'application qui consomme Drupal, comme pour n'importe quel tag tiers.

Peut-on limiter l'affichage du widget à certaines pages de notre site Drupal ?

Oui, via l'interface Drupal standard. Si vous avez intégré le widget via un bloc HTML, vous pouvez limiter son affichage par type de contenu, par chemin d'URL, par rôle utilisateur ou par langue, en utilisant les conditions de visibilité natives de Drupal. Cela permet par exemple d'exclure les pages d'administration, les pages légales, ou de cibler uniquement les sections touristiques d'un site de collectivité plus large.

Notre DSI demande de pouvoir retirer le widget instantanément en cas d'incident. Est-ce possible ?

Oui, de deux façons. La méthode instantanée est de désactiver le widget depuis votre espace client SAWL : le chatbot disparaît du site en quelques secondes, sans intervention Drupal. La méthode Drupal est de désactiver le bloc HTML depuis l'administration, ce qui demande trente secondes à un administrateur. Les deux méthodes sont réversibles en un clic. Nous documentons systématiquement ces procédures de retrait d'urgence lors de la mise en route, pour qu'elles soient connues des équipes d'astreinte.

Est-ce que l'intégration SAWL impacte la conformité RGPD de notre site Drupal ?

L'intégration SAWL n'ajoute pas d'opération de traitement par défaut côté visiteur avant interaction. Le widget est chargé en asynchrone et ne démarre une conversation que lorsque le visiteur l'ouvre. Les données échangées pendant la conversation sont traitées selon notre DPA et hébergées en Union européenne (Allemagne). Nous fournissons la documentation RGPD complète (fiches de traitement, DPA, registre) pour intégration dans votre registre RGPD collectivité. Voir la page dédiée sur notre cadre de sécurité et conformité.

Rédigé par l'équipe Digitz, intégrateurs Apidae depuis 2014. Plus de 25 plateformes Apidae déployées pour les collectivités. Dernière mise à jour : 11 avril 2026.