Aller au contenu principal
Retour à Technique
ChatbotArticle cluster

Web-grounded RAG : recherche web + citations fiables (guide 2026)

Comment construire un RAG “branché web” : search APIs, extraction, whitelists, robots.txt, snapshots, citations auditables, et anti‑spam.

Pierre Tonon
Senior Tech Writer (IA conversationnelle), Webotit.ai
8 min de lecture
Réservation

Réservez votre diagnostic IA

Un expert Webotit analyse vos flux, identifie les quick-wins et vous propose une feuille de route personnalisée.

45 min · Gratuit · Réponse sous 24h

Voir les disponibilités
En bref

Le Web-grounded RAG est un RAG qui ne se contente pas de votre base documentaire : il fait une recherche web, récupère des pages pertinentes, puis demande au LLM de répondre à partir de ces contenus avec des citations. C’est indispensable quand l’information change (docs publiques, réglementation, actualités). Mais c’est aussi l’un des RAG les plus exigeants : le web est instable, plein de bruit SEO, et encadré par des règles de crawling (robots.txt). Le minimum “prod” : whitelists de sources, respect du Robots Exclusion Protocol (RFC 9309), snapshots des pages utilisées, et anti‑prompt‑injection sur contenu externe.12

Pourquoi brancher un RAG sur le web ?

Il y a deux types de vérité :

  1. la vérité interne (vos procédures, contrats, politiques),
  2. la vérité externe (docs publiques, normes, prix, actus, sites partenaires).

Votre base interne peut être versionnée, gouvernée, stable. Le web, lui, est une rivière : ça bouge, ça déborde, et parfois ça charrie des pneus.

Donc la question n’est pas “est-ce que le web est utile ?”. La question est :

“Est-ce que mon produit a besoin d’informations fraîches, et suis‑je capable de les rendre auditables ?”

Si votre chatbot répond sur des sujets mouvants, un RAG interne finit par vieillir. Le Web-grounded RAG apporte de la fraîcheur — à condition de ne pas confondre “chercher” et “croire”.

Web-grounded RAG ≠ “le modèle sait naviguer”

Un Web-grounded RAG robuste n’est pas un LLM qui improvise une recherche.

C’est une chaîne :

  1. reformuler la requête,
  2. interroger une API de recherche,
  3. sélectionner des résultats,
  4. lire réellement les pages (et les stocker),
  5. extraire le contenu utile,
  6. générer une réponse avec citations.

Et surtout : logguer.

Sinon, vous ne faites pas du grounding. Vous faites du “trust me bro, j’ai lu quelque chose”.

Architecture : le pipeline qui tient (en 9 étapes)

1

Comprendre l'intention (et décider si on cherche)

Toutes les questions ne nécessitent pas le web. Si la réponse est dans votre base interne, cherchez en interne (plus stable, plus rapide, plus sûr). Le web est un fallback, pas un réflexe.

2

Réécriture de requête (query rewrite)

Traduire la question utilisateur en requête de recherche : mots-clés, opérateurs, contrainte de site si besoin. Cette étape doit être explicite et logguée.

3

Recherche via API (SERP)

Interroger une API (Bing Web Search, Google Custom Search, Brave Search, etc.). Vous payez pour éviter de scraper au hasard et pour obtenir des résultats structurés.345

4

Filtrer et whitelister les sources

Appliquer des règles : domaines autorisés, types de contenus, langue, recency. Sans whitelist, vous entraînez votre chatbot à croire des pages “optimisées” plutôt que des pages fiables.

5

Récupérer les pages (respect robots.txt)

Lire réellement les pages, en respectant le Robots Exclusion Protocol (RFC 9309). Le web n’est pas une base de données gratuite.1

6

Extraire le contenu (clean extraction)

HTML → texte propre : titres, paragraphes, listes, tableaux si possible. Conserver la structure aide au chunking.

7

Snapshot + indexation (optionnel mais très conseillé)

Stocker un snapshot (texte/HTML) de ce qui a été utilisé, avec date et URL. Sinon vos citations deviennent impossibles à auditer.

8

Génération contrainte (answer with citations)

Demander au modèle de répondre uniquement à partir des extraits fournis, et de citer ce qu’il utilise. Si l’info n’est pas présente, il doit le dire.

9

Post-check : valider les citations

Vérifier que chaque citation correspond bien à un extrait lu (pas une URL inventée). Sans ce garde‑fou, vous obtenez du “citation theatre”.

Choisir ses sources : le web est grand, votre responsabilité aussi

Sur internet, la pertinence et la fiabilité sont deux axes différents.

Une page peut être :

  • très bien référencée,
  • très bien écrite,
  • et parfaitement fausse.

Votre travail est donc de transformer le web en un “web exploitable”.

La whitelist (l’arme la plus sous-estimée)

Au lieu de “chercher sur le web”, cherchez sur :

  • des docs officielles,
  • des institutions,
  • des sites de référence de votre domaine,
  • des éditeurs que vous acceptez.

Le Web-grounded RAG gagne souvent plus en qualité avec une whitelist qu’avec un modèle plus cher.

Recency : l’information fraîche est utile… si vous la contrôlez

Le web récent n’est pas toujours vrai. Le web vieux n’est pas toujours faux.

Donc plutôt qu’un filtre naïf “moins de 30 jours”, utilisez :

  • recency comme un signal,
  • plus une source fiable,
  • plus idéalement une corroboration (2 sources).

Robots.txt, droits, et “ne pas jouer au pirate par accident”

Le Robots Exclusion Protocol est standardisé via RFC 9309.1

En clair :

  • un site peut déclarer ce que des agents automatisés peuvent crawler,
  • et votre système doit le respecter si vous voulez rester propre (et éviter des ennuis).

Le point important : un Web-grounded RAG n’est pas un scraper sauvage.

Même si vous utilisez une API de recherche, vous devez gérer :

  • le fetch des pages,
  • le respect des politiques,
  • le cache,
  • et les limites.

Extraction : lire une page web sans avaler la barre de navigation

La recherche web vous donne des liens. Mais la valeur est dans le contenu.

Et le contenu web, c’est rarement “un joli article bien structuré”.

C’est souvent :

  • une page avec 40 liens,
  • un cookie banner,
  • un menu,
  • un footer,
  • une sidebar,
  • et au milieu… deux paragraphes qui contiennent votre réponse.

Donc l’extraction est une brique critique : votre Web-grounded RAG est aussi bon que votre capacité à transformer HTML → texte utile.

Les trois niveaux d’extraction (du plus simple au plus robuste)

  1. Extraction naïve : on récupère tout le texte.
    Résultat : bruit massif, tokens gaspillés, groundedness qui baisse.

  2. Extraction “readability” : on isole le contenu principal (article/body) et on jette le chrome.
    Résultat : souvent très bon sur pages éditoriales.

  3. Extraction structurée : on conserve titres, listes, tableaux, et on taggue les sections.
    Résultat : meilleur chunking, meilleures citations, meilleure “preuve”.

Chunking : le web n'est pas un PDF (mais il a ses pièges)

Sur le web, les sections sont parfois courtes et fragmentées.

Un chunking efficace :

  • regroupe des paragraphes voisins,
  • garde le titre de section comme “ancre”,
  • et conserve l’URL + un identifiant de section (ex. #heading-id) quand c’est possible.

Pourquoi ? Parce que citer “la page” est trop vague. Citer “la section” est actionnable.

Anti‑prompt‑injection : traiter le contenu web comme une entrée utilisateur

Le web peut contenir :

  • des instructions cachées,
  • du contenu malveillant,
  • du spam qui “troll” les modèles.

Les risques de prompt injection font partie des menaces documentées autour des applications LLM (OWASP Top 10 for LLM Applications).6

AWS a aussi publié un whitepaper sur les attaques de prompt injection et leurs mécanismes (utile pour structurer des mitigations).7

La règle :

Le contenu web est non fiable par défaut.

Bonnes pratiques simples :

  • séparer clairement “instructions système” et “contenu web”,
  • filtrer les patterns d’injection,
  • limiter le poids du contenu externe (top‑k strict),
  • forcer le modèle à citer et à dire “je ne sais pas”.

Cache, quotas, et latence : le vrai sujet d’un web-grounded à l’échelle

En démo, tout marche. En prod, vous rencontrez :

  • des quotas d’API,
  • des pages lentes,
  • des sites qui bloquent,
  • et des utilisateurs qui posent la même question 1000 fois (c’est leur droit).

Donc vous avez besoin d’un cache.

Deux caches utiles

  1. Cache SERP : “à cette requête, voici les top résultats” (pendant X minutes/heures selon recency).
  2. Cache page snapshot : “à cette URL, voici le contenu extrait + la date”.

Le cache n’est pas seulement une optimisation. C’est un mécanisme de stabilité :

  • vous évitez de citer une page qui change toutes les heures,
  • vous limitez l’impact d’un site indisponible,
  • vous pouvez rejouer une réponse.

Budget search : limiter le coût et le bruit

Une règle simple qui marche :

  • 1 recherche web par message (par défaut),
  • une 2e recherche seulement si la première n’a rien donné (ou si la confiance est basse),
  • jamais “boucler” sur le web tant qu’on n’a pas une preuve solide.

Sinon, votre chatbot se transforme en navigateur compulsif : il cherche beaucoup… et conclut peu.

Sécurité infra : SSRF, egress, et “ne pas laisser l’agent appeler n'importe quoi”

Un Web-grounded RAG, c’est aussi un système qui fait des requêtes réseau.

Donc vous devez traiter ça comme une surface d’attaque :

  • SSRF (le modèle “force” le système à appeler des IP internes),
  • exfiltration (appeler un domaine contrôlé par un attaquant),
  • ingestion de contenu malveillant.

Bonnes pratiques :

  • autoriser uniquement http/https,
  • bloquer les IP privées, localhost, metadata endpoints,
  • limiter les redirects,
  • sandboxer le fetcher (timeouts, size limits),
  • et logguer toutes les sorties réseau.

Les APIs de recherche : open source vs commercial (et pourquoi ça compte)

Vous avez deux grandes familles :

1) APIs commerciales (pragmatiques)

Elles vous donnent des résultats structurés, et évitent de “scraper Google à la main”.

Exemples documentés :

  • Bing Web Search API (Microsoft).3
  • Google Programmable Search / Custom Search JSON API (Google).4
  • Brave Search API (Brave).5

Vous pouvez aussi passer par des agrégateurs (SerpAPI, etc.) selon vos contraintes et votre posture conformité, mais l’idée reste : payer pour une interface stable et documentée.

2) Votre propre index (open source / lourd)

Vous pouvez crawler et indexer vous‑mêmes (OpenSearch/Elasticsearch, crawl interne, etc.). C’est puissant… mais c’est un autre métier :

  • crawling,
  • déduplication,
  • qualité,
  • anti-spam,
  • légalité,
  • coûts.

Beaucoup d’équipes commencent par une API de recherche, puis internalisent quand elles ont une raison très claire (volume, souveraineté, coûts, contrôle).

Citation accuracy : comment éviter la fraude (involontaire) de citations

La citation la plus dangereuse est celle qui a l’air précise… mais qui est fausse.

Deux patterns anti‑fraude :

1) “Citations by construction”

Le modèle ne reçoit que des extraits qui ont un source_id. La citation doit référencer un source_id.

Pas d’URL libre dans la génération.

2) “Citations post-check”

Après génération, vous vérifiez :

  • que chaque citation correspond à un extrait fourni,
  • que l’extrait contient bien l’information citée,
  • et que l’URL existe.

Évaluer un Web-grounded RAG : au-delà de “ça a l’air bien”

Vous devez mesurer :

  1. qualité search : est-ce que la SERP remonte des sources acceptables ?
  2. qualité extraction : est-ce qu’on lit réellement la page (sans bruit nav) ?
  3. groundedness : la réponse est-elle alignée avec extraits ?
  4. citation accuracy : les citations sont-elles correctes ?
  5. stabilité : est-ce que ça fonctionne quand le site est lent / change / rate limit ?

Si vous avez déjà une méthodologie RAG interne, réutilisez‑la. Sinon, vous pouvez démarrer par des métriques orientées RAG (groundedness, pertinence) via des frameworks comme RAGAS.8

Et si vous hésitez sur l’architecture globale, revenez au hub : Comparatif RAG 2026.

FAQ

Questions frequentes

Web-grounded RAG ou base interne RAG ?

Les deux. Base interne pour la vérité métier (stable, versionnée), web pour la fraîcheur et les docs publiques. Le bon système route : si c’est interne, on reste interne ; si c’est externe et mouvant, on cherche web — avec whitelist et snapshots.

Puis-je faire du web-grounding sans API de recherche ?

Oui, mais vous prenez la responsabilité du crawling/indexing, et donc du bruit, du spam, des coûts et de la conformité. Pour une V1, une API documentée est souvent le choix le plus rapide.

Qu'est-ce qui tue le plus souvent un Web-grounded RAG ?

Les sources. Sans whitelist/filtrage, votre système apprend le SEO et la publicité. Et sans snapshots, vos citations deviennent impossibles à auditer.

Sources et references

  1. [1]IETF, “Robots Exclusion Protocol” (RFC 9309).
  2. [2]Google AI for Developers, “Grounding (Gemini API)”.
  3. [3]Microsoft Learn, “Bing Web Search API”.
  4. [4]Google Developers, “Custom Search JSON API”.
  5. [5]Brave, “Brave Search API” documentation.
  6. [6]OWASP, “Top 10 for LLM Applications”.
  7. [7]AWS, “Prompt Injection Attacks: What, Why & How” (whitepaper).
  8. [8]RAGAS, documentation / repo.
RAGsearchwebcitationsgroundingcompliance

Solutions associées