Chatbot Local
Voici le plugin Chatbot Local en action. (Pour l'instant, il ne contient pratiquement aucune question.) Si vous souhaitez le tester avec davantage de réponses, vous pouvez le faire ici.
Si vous recherchez «chatbot » dans le répertoire WordPress, vous trouverez des centaines de plugins basés sur l’IA ou de services externes. L’IA est partout. Il est impossible de trouver quelque chose de simple et léger qui permette de créer un chat d’assistance basé uniquement sur vos réponses. C’est ainsi qu’est né Chatbot Local, à la recherche de quelque chose que je n’ai pas trouvé. Même si je sais qu’aujourd’hui, vu le nombre de plugins existants, il est plus que probable que seuls trois ou quatre utilisateurs l’installent, je pense que ce plugin comble une lacune.
Il y a quelque temps, j'ai partagé ici un système basique, sous forme de code, permettant d'ajouter à WordPress un chatbot à logique floue (Fuzzy Search) basé sur des mots-clés. Il est léger, fonctionne bien, ne dépend ni d'une IA, ni d'API externes, ni d'appels à des tiers, et préserve la confidentialité. Cependant, sa mise en œuvre nécessitait de jongler avec des snippets, de coller des blocs manuellement ou de modifier les fichiers du thème. Ce que tout le monde ne souhaite pas ou ne sait pas faire.
Pour remédier à cela, j'ai développé Chatbot Local, qui sera bientôt disponible sous forme de plugin dans le répertoire WordPress. Je l'ai soumis pour validation le 2 août, et vous pouvez déjà le tester. Pour l'instant, il est en anglais, mais il sera traduit dans le répertoire en temps voulu.
Pourquoi passer d'un snippet à un plugin dédié ?
Contrairement à l'ajout de fonctions isolées dans le fichier functions.php de votre thème ou dans un gestionnaire de snippets, le fait de l'intégrer sous forme de plugin natif a permis de mieux structurer l'ensemble, d'améliorer la sécurité, d'ajouter un panneau d'administration et de résoudre des problèmes clés liés aux performances et à la base de données :
1. Chargement conditionnel strict des ressources (WPO)
L'un des principaux problèmes liés à l'ajout manuel de code est de contrôler le moment où les styles et les scripts sont chargés. Dans Chatbot Local, le CSS et le JS ne sont ajoutés à la file d'attente que si la page ou l'article contient effectivement le shortcode [chatbot-local]. Si ce shortcode n'apparaît pas dans le contenu, le plugin ne charge absolument rien sur cette URL.
2. Tableau de bord visuel et gestion de la base de connaissances (questions et réponses)
Fini le temps où il fallait modifier manuellement des tableaux PHP ou des fichiers JSON via FTP. Depuis le menu d'administration du plugin, vous pouvez :
- Configurer les règles en JSON : un éditeur dédié avec validation pour définir vos balises (
tags) et vos réponses (res) qui fonctionne en arrière-plan ; vous ne voyez que deux champs simples dans lesquels saisir du texte pour chaque question et sa réponse.

Vous pouvez ajouter des mots isolés séparés par des virgules ou des phrases qui, même si elles contiennent ces mots isolés, donneront un résultat différent, ce qui permet d'affiner les résultats pour des phrases spécifiques et de couvrir davantage de possibilités.
- Personnalisation des styles : vous pouvez modifier les couleurs de l'en-tête, du bouton et du texte « Envoyer », de l'arrière-plan et des bulles de discussion. Si vous laissez la case « Style par défaut » cochée, le style s'affichera selon le CSS de votre blog.

- Détecteur de shortcodes : le panneau analyse la base de données et affiche une liste des pages ou des articles dans lesquels vous avez ajouté le shortcode.

3. Enregistrement des requêtes via l'API REST native
Le chatbot dispose de sa propre table allégée dans la base de données (wp_chatbot_logs). Chaque interaction de l'utilisateur est envoyée via un point de terminaison sécurisé de l'API REST de WordPress, ce qui permet de consulter depuis le tableau de bord les 100 dernières requêtes à l'aide des références et options suivantes :
- Quelles questions ont trouvé une réponse (matched) ?
- Quelles recherches n'ont pas abouti (unmatched) ? C'est l'outil idéal pour savoir quels contenus ou mots-clés il vous reste à ajouter à la base de connaissances afin d'améliorer progressivement les réponses et de couvrir davantage de cas de requêtes réelles.
- Suppression groupée ou individuelle d'enregistrements directement depuis la table des journaux.

4. Confidentialité et sécurité
Confidentialité des données (Zero PII) : aucune adresse IP, aucune donnée utilisateur ni aucun cookie n'est conservé. Seuls le texte de la question et son statut (« matched » ou « unmatched ») sont transmis à la base de données.
Sécurité et assainissement : le point de terminaison de l'API REST nettoie et désinfecte les entrées à l'aide de la fonction ` sanitize_text_field() ` avant d'effectuer toute requête.
Requêtes sécurisées (protection contre les injections SQL) : nous utilisons la méthode native $wpdb->insert() de WordPress, qui prépare et échappe automatiquement toutes les valeurs de manière sécurisée à l'aide de caractères de remplacement (%s).
Aucune divulgation à des tiers : toutes les informations sont conservées sur votre propre serveur (dans la table wp_chatbot_logs). Il n'y a ni appels sortants ni services externes accédant à ces journaux.
5. Désinstallation complète (Zero Bloat)
Si vous décidez de supprimer le plugin, prévoyez une option explicite de « nettoyage complet » qui supprime la table des journaux et toutes les options enregistrées dans la table « options », en laissant la base de données exactement telle qu'elle était.

J'ai également ajusté le taux de réponse et, dans mon cas, j'ai obtenu un CLS de 0,016 sur mobile et de 0,018 sur ordinateur de bureau pour les publications où le chatbot est affiché. Comme il y a encore une marge d'amélioration, j'essaierai de le réduire lors de la prochaine mise à jour.
Comment ça marche ?
Le principe reste le même que celui que je défendais dans mon premier article : confidentialité et rapidité.
- Sans API externes : n'utilise ni OpenAI, ni ChatGPT, ni de serveurs tiers. Tout le traitement des mots-clés s'effectue en local via Vanilla JS.
- Normalisation du texte : l'algorithme supprime les accents et met les lettres en minuscules afin de trouver des correspondances précises.
- Conversion automatique des liens : si la réponse contient une URL (
http://ouhttps://), le script la convertit automatiquement en un lien HTML cliquable.

Installation rapide
- Téléchargez, installez et activez le plugin, puis rendez-vous dans le nouveau menu « Chatbot Local » pour configurer votre message d'accueil et vos règles.
- Collez le shortcode
sur n'importe quelle page, n'importe quel article ou dans n'importe quel widget où vous souhaitez afficher l'assistant.[chatbot-local]
Si vous le testez avant sa publication dans le répertoire WordPress et que vous avez des suggestions, que vous remarquez des détails à peaufiner ou quoi que ce soit d'autre, n'hésitez pas à laisser un commentaire ici ou via le formulaire de contact.
C'est mon cinquième plugin ; tu les trouveras tous ici.








