# Ce qu’un agent de recherche interne doit respecter sur un site multilingue

> Avant de déployer un agent de recherche interne sur un site multilingue, cette checklist vérifie qu'il respecte bien la langue active de chaque visiteur.

- Auteur : Clément Hadrot
- Publié le : 2026-03-24
- Mis à jour le : 2026-03-24
- Catégorie : Multilingue
- URL : https://wpmoderne.dev.wordpress-developpement.fr/multilingue/agent-recherche-interne-langue-active-visiteur/

## L’essentiel

- L'agent doit hériter la langue active du visiteur, jamais la deviner depuis le seul texte de la question
- Le contenu retourné dans les résultats doit être filtré par langue avant d'atteindre l'agent
- Un test avec une question courte et ambiguë révèle les failles de détection de langue

Un agent de recherche interne branché sur un site multilingue pose une question simple en apparence : dans quelle langue doit-il chercher, et dans quelle langue doit-il répondre ? Cette question se règle mal si elle est laissée à l'appréciation de l'agent lui-même, à partir du seul texte de la requête du visiteur. Cette checklist rassemble les points vérifiés avant chaque déploiement d'un tel agent sur les sites multilingues suivis.

Le postulat de départ : la langue active du visiteur, déterminée par le mécanisme multilingue déjà en place sur le site (sous-dossier, sous-domaine ou cookie de langue selon l'architecture), est une information disponible et fiable avant même que l'agent ne reçoive la question. Il n'y a aucune raison de la faire deviner une seconde fois par l'agent.

## Point 1 : la langue vient du contexte de la page, pas du texte de la question

Un visiteur naviguant sur la version allemande du site peut très bien poser sa question en anglais, par exemple parce qu'il tape depuis un clavier configuré en anglais ou par habitude professionnelle. Un agent qui déterminerait la langue de réponse à partir du texte de la question répondrait alors en anglais, dans un contexte où le visiteur consulte pourtant une page en allemand.

Le contrôle vérifié : la langue transmise à l'agent au moment de l'initialisation de la session doit provenir de la locale active de la page (typiquement `pll_current_language()` sur un site Polylang, ou l'équivalent selon l'extension multilingue en place), jamais d'une détection appliquée après coup sur le texte saisi par le visiteur.

```
$langue_contexte = function_exists( 'pll_current_language' )
    ? pll_current_language()
    : get_locale();

$session_agent = array(
    'langue'            => $langue_contexte,
    'question'          => $texte_saisi_visiteur,
);
```

## Point 2 : le contenu source doit être filtré par langue avant d'atteindre l'agent

Un agent de recherche interne s'appuie généralement sur un index ou une base de contenus interrogée en amont de la génération de réponse. Le contrôle à vérifier ici n'est pas la langue de réponse de l'agent, mais la langue des documents qu'il peut consulter pour construire cette réponse.

- Vérifier que la requête envoyée au moteur de recherche ou à l'index sous-jacent inclut un filtre explicite sur la langue active, pas uniquement un filtre implicite qui dépendrait du hasard de l'indexation.
- Vérifier qu'un contenu existant uniquement en français ne remonte jamais dans les résultats fournis à l'agent quand la langue active est l'allemand, même si ce contenu semble pertinent au moteur de recherche par ailleurs.
- Vérifier que l'absence de résultat dans la langue active produit une réponse explicite de l'agent (« aucune information disponible dans cette langue »), jamais un repli silencieux vers un résultat dans une autre langue.

> L'essentiel à retenir : L'agent doit hériter la langue active du visiteur, jamais la deviner depuis le seul texte de la question ; Le contenu retourné dans les résultats doit être filtré par langue avant d'atteindre l'agent ; Un test avec une question courte et ambiguë révèle les failles de détection de langue

## Point 3 : le test de la question courte et ambiguë

La méthode de test la plus révélatrice consiste à poser à l'agent une question très courte, dont le texte seul ne permet pas de déterminer la langue avec certitude : un simple nom de produit, un code, ou une question d'une syllabe. Sur ce type de question, un agent qui déterminerait la langue depuis le texte échouerait fréquemment, faute de signal suffisant, alors qu'un agent recevant la langue depuis le contexte de la page répond correctement à chaque fois, indépendamment de la brièveté de la question.

| Test | Comportement attendu | Signal d'échec |
| --- | --- | --- |
| Question d'un seul mot sur la page allemande | Réponse en allemand, contenu filtré sur l'allemand | Réponse dans une autre langue, ou contenu français mélangé |
| Changement de langue en cours de session | La session suivante reflète la nouvelle langue active | L'agent conserve la langue de la première question de la session |

## Point 4 : la persistance de la langue tout au long de la session

Un visiteur peut changer de langue en cours de navigation, par exemple en cliquant sur le sélecteur de langue après avoir déjà entamé une conversation avec l'agent. Le contrôle vérifié ici : chaque nouvelle question envoyée à l'agent doit être associée à la langue active au moment où elle est posée, et non à la langue active au début de la session. Un agent qui conserverait la langue initiale toute la session produirait un décalage croissant entre la langue de la page consultée et la langue des réponses fournies.

> La langue active d'un visiteur sur un site multilingue n'est jamais une donnée à deviner : elle est déjà déterminée, quelque part dans le système, par le mécanisme multilingue en place. Un agent qui la redevine prend le risque de se tromper là où l'information correcte était disponible sans effort.

## Ce que cette checklist ne couvre pas

Cette checklist porte uniquement sur le respect de la langue active du visiteur par l'agent de recherche interne : elle ne traite pas de la qualité intrinsèque des réponses générées, ni de la pertinence du contenu retourné en dehors de la question linguistique. Un agent peut parfaitement respecter la langue active du visiteur tout en produisant des réponses de mauvaise qualité pour d'autres raisons, qui relèvent d'un travail distinct sur le modèle de génération ou l'index de recherche utilisé.

## En résumé

Sur un site multilingue, un agent de recherche interne doit recevoir la langue active du visiteur depuis le contexte de la page, filtrer le contenu source par cette même langue, et maintenir cette cohérence tout au long de la session même en cas de changement de langue. Ces quatre points, vérifiés systématiquement avant déploiement, évitent l'écueil le plus fréquent : un agent qui devine la langue depuis le texte de la question plutôt que de recevoir une information déjà fiable et disponible.
