🤖 Assistant conversationnel multilingue pour site web

D'un widget générique open source à un assistant personnalisé capable d'orienter les visiteurs dans un site riche en contenus.

Ce projet est né d'un besoin simple : permettre aux visiteurs de mon site de trouver rapidement une information sans devoir parcourir manuellement l'ensemble des pages.

J'ai développé pour cela un chatbot multilingue avec Next.js et React, puis créé deux déclinaisons du même projet.

Une version publique et générique constitue une base personnalisable pouvant être adaptée à d'autres sites. Elle ne contient aucune donnée liée à mon activité et repose sur une structure de réponses à compléter.

Une version interne, utilisée pour Support & Learn with Yann, est alimentée par mes propres contenus et sert d'assistant de navigation. Elle peut orienter les visiteurs vers mes cours, formations, accompagnements, logiciels, livres, articles, partenariats et différentes pages du site.

L'objectif n'est pas de laisser une intelligence artificielle inventer librement des réponses, mais de proposer un assistant contrôlé, multilingue et spécialisé dans les informations réellement disponibles sur le site.

🌍 Un assistant multilingue

La version utilisée sur mon site est conçue pour fonctionner dans plusieurs langues.

Le visiteur peut choisir sa langue puis naviguer dans les différentes catégories de réponses proposées.

Les langues prises en charge dans la version interne incluent notamment :

français • anglais • allemand • espagnol • chinois • japonais • coréen • russe

Cette approche permet d’adapter l’assistant à un public international sans obliger chaque visiteur à parcourir le site dans une langue qu’il maîtrise moins bien.


🧭 Un assistant pensé pour orienter les visiteurs

Le bot ne sert pas uniquement à afficher une FAQ.

Il peut guider l’utilisateur vers les différentes parties du site en fonction de sa demande.

Il peut notamment fournir des informations sur :

  • les cours de langues ;
  • le soutien scolaire ;
  • les accompagnements ;
  • les formations ;
  • les logiciels ;
  • les livres et manuels ;
  • les romans ;
  • les partenariats ;
  • les ressources disponibles ;
  • les moyens de contact.

Les réponses peuvent également contenir des liens directs vers les pages concernées.

L’objectif est de réduire le nombre d’étapes nécessaires pour trouver une information précise.


💬 Une navigation conversationnelle guidée

Dans la version utilisée sur mon site, les réponses sont organisées autour de catégories et de questions contrôlées.

Le visiteur sélectionne une langue puis peut parcourir les différentes thématiques disponibles.

Cette approche permet de conserver des réponses cohérentes et maîtrisées.

Elle évite également qu’un moteur génératif produise des informations incorrectes sur les prestations, les tarifs ou les produits présentés sur le site.


🔎 Une version publique plus générique

Une version publique du projet existe également.

Elle ne contient aucune donnée personnelle ni information spécifique à Support & Learn with Yann.

Cette version sert de base générique réutilisable pour créer un chatbot de site web.

Elle peut notamment intégrer :

  • une zone de discussion ;
  • une base de réponses personnalisables ;
  • une détection de langue ;
  • une recherche par mots-clés ;
  • un historique local ;
  • une API dédiée pour traiter les questions.

Cette base peut ensuite être adaptée à différents besoins ou types de sites.


🧠 Recherche dans une base de connaissances

La version publique fonctionne à partir d’une base de réponses structurée.

Lorsqu’un utilisateur pose une question, le système analyse le texte et recherche les mots ou expressions correspondant aux réponses disponibles.

La langue peut également être détectée automatiquement afin d’orienter la recherche vers la bonne base.

Si aucune réponse adaptée n’est trouvée, le comportement peut être personnalisé selon les besoins du site.

Cette architecture permet de garder un fonctionnement simple, rapide et contrôlable.


🗂️ Une base de réponses entièrement personnalisable

Les informations du bot sont organisées dans des fichiers dédiés.

Chaque langue peut disposer de sa propre base de réponses.

Il est donc possible de créer des réponses spécifiques selon :

  • le sujet ;
  • la langue ;
  • le type de visiteur ;
  • le service recherché ;
  • la page du site concernée.

La base peut évoluer avec le site sans devoir reconstruire l’ensemble de l’application.


🕘 Historique et expérience utilisateur

Le chatbot peut conserver localement l’historique de la conversation dans le navigateur.

Cela permet de retrouver les échanges précédents lorsqu’un visiteur revient sur la page.

L’utilisateur peut également réinitialiser la conversation lorsqu’il souhaite repartir de zéro.

Ces fonctions restent volontairement légères afin de ne pas transformer le bot en système complexe nécessitant une gestion de comptes ou de profils utilisateurs.


🎨 Une interface intégrable dans un site web

Le bot est conçu comme un composant pouvant être intégré directement dans une interface web.

L’apparence peut être adaptée grâce aux styles CSS afin de correspondre à l’identité visuelle du site.

Le widget peut notamment être personnalisé au niveau :

  • des couleurs ;
  • des textes d’accueil ;
  • des boutons ;
  • des dimensions ;
  • du positionnement ;
  • de l’apparence générale.

La version utilisée sur mon propre site est naturellement adaptée à l’univers graphique de Support & Learn with Yann.


⚙️ Une architecture Next.js et React

Le projet repose principalement sur :

Next.js • React • JavaScript • CSS

Une route API permet de traiter les demandes envoyées depuis le widget.

La séparation entre l’interface, les bases de réponses et le traitement permet de modifier ou enrichir le bot sans devoir reconstruire toute l’application.

Le projet peut être déployé sur une plateforme compatible avec Next.js, notamment Vercel.


🔐 Une version interne distincte de la version publique

La version utilisée sur mon site contient des informations spécifiques à mon activité.

Pour cette raison, elle n’est pas distribuée publiquement.

La version publique conserve uniquement la structure générique du projet, sans mes données, mes contenus internes ni les informations propres à Support & Learn with Yann.

Cela permet de présenter le fonctionnement du projet tout en conservant les données privées dans une version séparée.


🧪 Un projet à la fois simple et utile

Ce chatbot n’a pas été conçu pour remplacer un assistant conversationnel généraliste.

Son objectif est beaucoup plus précis :

répondre correctement à des questions liées à un site donné et aider les visiteurs à trouver rapidement l’information dont ils ont besoin.

Cette approche volontairement spécialisée permet de conserver des réponses prévisibles, de limiter les hallucinations et de garder le contrôle sur les informations communiquées.


📌 Statut du projet

Projet personnel — version publique disponible

Deux versions existent :

Version publique

  • base générique ;
  • sans données personnelles ;
  • personnalisable ;
  • réutilisable comme point de départ pour d’autres sites.

Version interne

  • utilisée sur Support & Learn with Yann ;
  • enrichie avec mes propres contenus ;
  • multilingue ;
  • adaptée à la navigation et aux informations de mon site ;
  • non distribuée afin de protéger les données et contenus spécifiques.