Aller au contenu
Alaisia · Studios web Un site du réseau Alaisia

Guide

Ajouter un chatbot sur PrestaShop : module et hooks

Module du fournisseur, hooks d'affichage et page Positions : comment ajouter un chatbot à une boutique PrestaShop 8 et le limiter aux bonnes pages.

Mis à jour le

Sur PrestaShop, un chatbot s'installe le plus souvent sous la forme d'un module, fourni par l'éditeur de l'outil ou trouvé sur la place de marché Addons. Ce module s'accroche à un hook, un point de la page où PrestaShop permet d'insérer du contenu. La page Positions du back-office permet ensuite de choisir ce point et d'exclure certaines pages. Si l'éditeur ne fournit pas de module, un développeur peut en écrire un très court qui affiche le script.

Les faits ci-dessous viennent de la documentation officielle de PrestaShop 8 (guide de l'utilisateur et documentation pour développeurs), lue le 15/11/2026.

Comprendre les hooks en deux phrases

La documentation pour développeurs définit les hooks comme un moyen d'associer son code à des événements précis de PrestaShop. Elle en distingue deux familles :

Famille Nom Ce qu'elle fait
Hooks d'action action… Déclenchés par un événement (une commande, une inscription…)
Hooks d'affichage display… Affichent quelque chose, en façade ou dans le back-office

Pour un chatbot, ce sont les hooks d'affichage qui comptent. La documentation donne en exemple displayHeader et displayFooter. Une bulle de chat se place habituellement en pied de page.

Méthode 1 : le module de l'éditeur

  1. Récupérez le module de l'outil (fichier fourni par l'éditeur, ou module de la place de marché Addons).
  2. Dans le back-office, ouvrez la page des modules (Modules and Services dans la documentation en anglais ; les libellés de l'interface française peuvent différer). La documentation indique qu'on y trouve, en haut de page, la connexion à Addons et l'option d'envoi d'un module (« Upload a module »).
  3. Installez et configurez le module : identifiant du chatbot, couleur, langue, selon ce que l'éditeur prévoit.
  4. Vérifiez où il s'affiche, puis ajustez avec la page Positions (ci-dessous).

Méthode 2 : un petit module maison

Si l'outil ne fournit qu'un script à coller, un module minimal suffit. La documentation pour développeurs fixe deux règles :

  • tout hook utilisé « doit d'abord être enregistré », en général lors de l'installation du module, avec Module::registerHook($hookName) ;
  • chaque hook enregistré demande une méthode publique dont le nom commence par hook suivi du nom du hook, par exemple hookDisplayFooter(array $params).

Schéma de principe, à faire écrire et tester par un développeur :

public function install()
{
    return parent::install() && $this->registerHook('displayFooter');
}

public function hookDisplayFooter(array $params)
{
    // Renvoie la balise <script> fournie par l'outil du chatbot,
    // de préférence avec l'attribut defer.
    return '<script defer src="https://fournisseur.exemple/widget.js"></script>';
}

L'adresse est un exemple : remplacez-la par celle de votre outil. L'avantage de passer par un module plutôt que de modifier le thème : le chatbot ne dépend pas d'un fichier du thème (vérifiez tout de même son affichage après un changement de thème), et on peut le désactiver depuis la liste des modules.

Régler l'emplacement avec la page Positions

Dans le menu Design (libellé de la documentation en anglais), la page Positions liste chaque hook et les modules qui y sont accrochés, dans l'ordre d'affichage. D'après le guide de l'utilisateur :

  • greffer un module (« transplant »), c'est l'accrocher à un hook : cliquez sur « Transplant a module », choisissez le module, puis le hook de destination (« Transplant to »), et enregistrez ;
  • tous les modules ne conviennent pas à tous les hooks : si le résultat n'est pas celui attendu, essayez un autre hook ;
  • le champ Exceptions reçoit les noms de fichiers des pages où le module ne doit pas apparaître (Ctrl + clic pour en sélectionner plusieurs) ;
  • désactivez le cache pendant vos tests en façade, et vérifiez toujours la boutique après un changement.

Le champ Exceptions est l'outil pour retirer l'assistant des pages où il gêne, par exemple le tunnel de commande. Pour choisir ces pages avec le client, la page de Collabor-IA sur les pages où placer un chatbot donne une grille simple.

Les points à vérifier sur une boutique

  • Le cache. Désactivé pendant les tests, il doit être réactivé ensuite : refaites alors un test complet, car l'affichage peut changer.
  • Le thème. Si le script a été collé dans un fichier du thème plutôt que dans un module, il disparaîtra au changement de thème. Préférez le module.
  • Les mises à jour. Après une mise à jour de PrestaShop ou du module, rouvrez une page publique et lancez une conversation : c'est une ligne de la maintenance du site.
  • Le consentement. Si le widget dépose un cookie dès le chargement, il doit attendre l'accord du visiteur : voir chatbot et consentement aux cookies.
  • Les réponses sur les commandes. Un assistant qui ne lit que les pages et les documents de la boutique ne connaît pas l'état d'une commande particulière : il doit renvoyer vers l'espace client ou le service client.

Liste de contrôle

  1. Module de l'éditeur installé, ou module maison qui enregistre displayFooter.
  2. Script chargé avec defer quand c'est possible.
  3. Exceptions réglées dans Positions pour les pages où l'assistant n'a pas sa place.
  4. Test cache désactivé, puis cache réactivé.
  5. Domaine de la boutique autorisé dans l'outil du chatbot.
  6. Message d'accueil qui signale l'IA (voir les mentions à ajouter au site).

Questions fréquentes

Comment installer le module d'un chatbot sur PrestaShop ?

Dans le back-office, page des modules (« Modules and Services » dans la documentation) : la documentation de PrestaShop 8 indique qu'on y trouve, en haut, la connexion à la place de marché Addons et l'option « Upload a module », qui sert à envoyer un module reçu sous forme de fichier.

Peut-on retirer le chatbot de certaines pages sur PrestaShop ?

Oui, si le chatbot est un module accroché à un hook. Sur la page Positions (menu Design dans la documentation), le champ « Exceptions » de ce module reçoit les noms des pages où il ne doit pas apparaître.

Sources

Pages consultées pour écrire cet article :

  1. https://docs.prestashop-project.org/v.8-documentation/user-guide/improving-shop/managing-modules/modules-and-services.md
  2. https://docs.prestashop-project.org/v.8-documentation/user-guide/improving-shop/customizing-store-design/positions.md
  3. https://devdocs.prestashop-project.org/8/modules/concepts/hooks/

À lire aussi