Aller au contenu principal

La porte nommée

Les agents prennent encore la page HTML. Le site peut leur ouvrir une porte, et dire ce qu’on y lit.

A weathered slate-blue wooden door in a stone wall
  • robots.txt est un mot, pas un verrou. Un 404 n’autorise rien.
  • Entraînement ≠ lecture demandée : OpenAI et Anthropic divergent.
  • llms.txt (3 sept. 2024 ; v2 10 août 2026) : carte, pas norme. ~2 % (juil. 2025).
  • MCP : prise. Un MCP public en lecture seule est une porte nommée.
  • Corpus agent = page publique : règle de maison, pas norme.
  • Accessible n’est pas nommé. Le site désigne le lecteur — ou non.
Que fait un agent, par défaut, quand il veut une page ?

Il va chercher une page web, le plus souvent du HTML. Il n’existe pas de défaut officiel markdown seulement, ni API seulement. La plupart des sites peuvent laisser un robots.txt. S’il est introuvable, le RFC 9309 permet au robot d’accéder aux ressources. Joignable n’est pas nommé.

robots.txt est-il un verrou ?

Non. La norme dit que les règles ne sont pas une autorisation d’accès. OpenAI dit qu’elles peuvent ne pas s’appliquer à ChatGPT-User lorsqu’une personne a demandé. Anthropic permet de bloquer Claude-User via robots.txt et dit que ses robots respectent les signaux de non-crawl. Un mot n’est pas un verrou.

Qu’est-ce que llms.txt ?

Jeremy Howard l’a proposé le 3 septembre 2024. La version 2 est datée du 10 août 2026. C’est une carte de pages dont un agent peut se servir lorsqu’une personne a demandé. Ce n’est pas un verrou, et ce n’est pas une norme Internet. Dans l’échantillon HTTP Archive de juillet 2025, environ deux sites sur cent avaient un fichier valide.

Qu’est-ce qu’un MCP de site public ?

Une prise que le site a nommée. L’agent du visiteur peut demander les pages publiques au lieu de deviner à partir du HTML. L’autorisation est facultative dans la spécification. Ce volume s’appuie sur quatre exemples vivants. Ce n’est pas un recensement.

Une page publique égale-t-elle un corpus pour agent ?

Pas comme norme publique. Deux sites de ce volume en font une règle de maison, pour qu’un brouillon du CMS ne devienne pas une page d’agent. Les organismes d’éditeurs vont ailleurs : le contenu s’utilise selon des conditions, pas seulement parce que la page est publique.

Qui nomme le lecteur ?

Le site, s’il ouvre une porte et dit ce qui a le droit d’être lu. Accessible n’est pas nommé. Une page joignable n’est pas un lecteur désigné.

On demande une URL. Un agent va chercher la page.

Le geste n’est pas un protocole. Il n’est pas un produit. C’est une adresse.

Si vous tenez un site, ça se passe déjà. Si vous parlez à un outil de chat qui va lire une page, vous êtes déjà d’un côté de ce geste.

Le site a déjà un visage pour les gens : du HTML, un menu, un titre, un paragraphe où l’on peut s’attarder.

Les agents, eux, passent par le mur. Ils prennent cette page, sauf si quelque chose les arrête.

Dans ce volume, scrape désigne une machine qui prend une page par la surface web ordinaire, et non par une surface que le site a prévue pour les agents. Plus étroit que le jargon du métier. Utile ici : toute la note tient dans cette distinction.

On peut laisser le trou. On peut aussi ouvrir une porte et dire ce qui a le droit d’être lu.

Le site peut nommer une porte.


Le mur, par défaut

Sans consigne contraire, on prend encore le HTML.

Un agent qui veut une page ne commence ni par un markdown officiel, ni par une API officielle. Il va chercher une page web. Le plus souvent du HTML. Ces deux autres défauts n’existent pas.

La plupart des sites peuvent déposer un petit fichier texte à une adresse connue : robots.txt. Un mot aux robots. Quelles pages le site aimerait-il qu’ils laissent tranquilles.

Un RFC est une norme Internet numérotée. Les ingénieurs la tiennent pour une règle qu’ils ont acceptée. Le RFC 9309 est le Robots Exclusion Protocol. Norme, donc. Et la norme dit aussi que les règles de robots.txt ne sont « not a form of access authorisation ».

Il faut retenir cette phrase.

Trois cas, dans le protocole. Fichier introuvable — le serveur répond 404, par exemple : le robot peut accéder aux ressources du serveur. Fichier injoignable pour une erreur de serveur ou de réseau — une 5xx, par exemple : le robot doit supposer un refus total. Fichier présent, mais aucun groupe ne correspond à ce robot, et pas de groupe joker : aucune règle ne s’applique.

Un robots.txt manquant ne pose donc aucune restriction au titre du Robots Exclusion Protocol. Le robot peut continuer. Ce n’est pas une autorisation.

robots.txt est un mot. Ce n’est pas un verrou.

Les laboratoires ne tracent pas non plus le même trait autour de ce mot. Le nom du robot compte moins que ce qu’il fait. Un crawl d’entraînement, c’est la machine d’un laboratoire qui parcourt le web pour collecter du matériau susceptible de servir au développement d’un modèle. Autre geste : une personne a posé une question, et le modèle va chercher une page.

OpenAI trace cette ligne sans ambiguïté. ChatGPT-User sert à certaines actions d’utilisateur. OpenAI dit que, parce que ces actions viennent d’un utilisateur, les règles robots.txt peuvent ne pas s’appliquer.

Anthropic trace autrement. Claude-User est le robot employé lorsqu’une personne demande à Claude d’aller chercher une page. Anthropic dit que désactiver Claude-User dans robots.txt empêche cette lecture, et que ses robots respectent les signaux de non-crawl.

Le même fichier n’a donc pas le même sens opérationnel chez tous les fournisseurs d’agents.

Google sépare les robots courants, les robots de cas particuliers, et les lecteurs déclenchés par un utilisateur. Le crawl de recherche est une chose. D’autres usages vivent à côté.

On ancre un modèle lorsqu’on lui demande de répondre à partir de pages nommées, pas seulement de ce dont il se souvient. Google-Extended est un jeton spécial qu’un site peut écrire dans robots.txt. Il sert à encadrer certains usages Gemini et Vertex, sans retirer la page de la recherche Google ordinaire. La page officielle des robots Google ne dit pas que Google-Extended retire une page des AI Overviews.

Cloudflare n’est pas un robot. C’est le porche devant le serveur : le bord du réseau, derrière lequel beaucoup de sites s’abritent. Cloudflare dit que le respect de robots.txt est volontaire. Ses produits peuvent publier un fichier géré, et appliquer à part une politique de robots. Le mot et le mécanisme d’application ne sont pas le même objet.

Voilà le mur. Une page peut être accessible. Un robot peut, au titre du protocole robots, être autorisé à la prendre. Ni l’un ni l’autre, à lui seul, ne dit que le site a destiné cette route à un agent.

Figure 1. Le mur, par défaut. Un agent prend une page web, sauf si un mot ou le porche l’arrête. Un robots.txt manquant n’est pas un verrou, et ce n’est pas une porte nommée.
Figure 1. Le mur, par défaut. Un agent prend une page web, sauf si un mot ou le porche l’arrête. Un robots.txt manquant n’est pas un verrou, et ce n’est pas une porte nommée.

Une carte n’est pas un verrou

Certains sites laissent désormais un second petit fichier. Il s’appelle llms.txt.

Jeremy Howard, chez Answer.AI, a proposé /llms.txt le 3 septembre 2024. La proposition actuelle est la v2, modifiée le 10 août 2026.

Carte markdown, choisie à dessein. Du texte brut : un modèle peut le lire sans les menus ni la mise en page d’une page web. Un agent s’en sert pour trouver les pages qui ont des chances de compter, pendant qu’il aide une personne.

Ce n’est pas robots.txt. Ce n’est pas une interdiction de crawl.

La proposition officielle décrit /llms.txt comme une information pour aider les agents à se servir d’un site. La version 2 recommande aussi des versions markdown propres des pages, et des relations de lien standard entre la page ordinaire, son alternative markdown, et le fichier llms.txt qui décrit le périmètre.

Pas de RFC de l’IETF. Proposition et convention, pas une norme Internet.

La proposition dit maintenant que des milliers de sites en publient un. Ça dit quelque chose sur l’adoption. Ce n’est pas un recensement du web.

La meilleure source mesurée que j’ai trouvée reste le crawl HTTP Archive de juillet 2025, publié dans le Web Almanac en janvier 2026. Dans cet échantillon, environ deux sites sur cent avaient un fichier valide. Les chiffres : 2,13 pour cent des pages bureau, 2,1 pour cent des pages mobiles, et 324 184 fichiers valides sur les sites mobile. Beaucoup venaient de systèmes et d’extensions qui génèrent le fichier tout seuls.

Deux sites de ce volume en servent un. thierry-gilgen-ict.ch/llms.txt : un titre, une citation, une ligne qui nomme la porte publique, une liste de Field Notes, et un contact facultatif. theoldhandofasia.ch/llms.txt : des listes bilingues, une ligne qui nomme la porte publique, et une note : les ressources publiques pour agents sont en lecture seule. Les deux servent aussi /agents.

Une carte n’est pas un verrou. Elle dit à un agent où sont les pièces. Elle n’empêche pas une autre machine de prendre le HTML par la surface web ordinaire. Elle ne crée pas de licence. Elle ne désigne pas tout lecteur possible.

Il peut y avoir un troisième objet. Pas un mot. Pas une carte. Une porte que le site expose exprès.

Figure 2. Trois objets, trois métiers. robots.txt est un mot. llms.txt est une carte. Un MCP public est une porte que le site a nommée.
Figure 2. Trois objets, trois métiers. robots.txt est un mot. llms.txt est une carte. Un MCP public est une porte que le site a nommée.

Une porte qu’on peut nommer

Il existe une prise commune pour cela. On l’appelle MCP, le Model Context Protocol.

Imaginez une prise. Un client peut demander à un serveur des ressources ou des outils structurés, au lieu d’aspirer le HTML de présentation et de deviner ce qui compte.

La spécification Streamable HTTP actuelle est plus simple que les révisions d’avant. La révision du 28 juillet 2026 a retiré le flux GET autonome et les sessions au niveau du protocole. Un serveur HTTP moderne expose le point MCP et reçoit les demandes en POST. Des événements envoyés par le serveur peuvent encore apparaître dans une réponse, le cas échéant, mais l’ancien flux de longue durée a disparu.

L’autorisation est facultative pour les implémentations MCP. Quand une implémentation HTTP s’en sert, la spécification définit un flux d’autorisation moderne, fondé sur OAuth 2.1 et des normes voisines. Un MCP sans authentification n’est donc pas une erreur en soi. Un MCP de site public en lecture seule est un choix que le site peut faire.

Ce volume s’appuie sur quatre exemples que j’ai confirmés. Ce n’est pas un recensement de tous les MCP de sites publics sur le web.

Le site ICT à thierry-gilgen-ict.ch.

The Old Hand of Asia à theoldhandofasia.ch.

Joost de Valk, qui écrit sur le web, sur joost.blog. Le 4 mai 2026, il a décrit son point d’accès comme volontairement public et sans authentification.

Et cocktail.glass, un autre site qui expose une surface MCP publique.

Il y en a d’autres. Ces quatre-là sont simplement les exemples sur lesquels ce volume s’appuie.

The Last Interface (La dernière interface) a déjà dit que le logiciel peut devenir quelque chose que l’on appelle, comme on appelle une prise. Ce n’est pas cette note d’architecture. Ici, c’est un site.

The Unappointed Operator (L’opérateur non nommé) a déjà dit qu’un processus que vous avez lancé peut agir tout seul. On arrête. On regarde. On le nomme. Ce n’est pas ce test. Ici, on reste sur le site.

J’ai relu les deux sites les plus proches de cette note. Les deux servent du HTML pour les gens. Les deux servent du markdown. Les deux servent /llms.txt. Les deux servent /agents. Les deux exposent /mcp en lecture seule et sans authentification.

Ce qu’un visiteur voit dans le navigateur, c’est la page publique. Ce que l’agent peut demander à la porte publique, sur ces deux sites, c’est le même corpus public. C’est la porte qu’ils ont choisie de nommer.

Sur le site ICT, la page publique invite à amener son agent. Le MCP public n’a pas besoin de clé. Il y a une seconde porte, la Operator Library à /api/mcp/library, qui a besoin d’une clé. Ce n’est pas la surface publique. robots.txt refuse /api/mcp et autorise /mcp.

Sur Old Hand, les pages publiques — allemand et anglais — disent la même chose : MCP public, pas d’authentification, lecture seule. robots.txt refuse /api/. La conversation reste avec l’agent choisi par le visiteur.

Engawa est une boîte à outils qui peut ouvrir ces surfaces. C’est un cas, pas le sujet. Un autre projet, tsuru0805/engawa-mcp, emploie le même mot japonais pour un porche Python local. Même nom. Autre objet.

La boîte à outils peut ouvrir la porte. La question intéressante, c’est ce que le site choisit de mettre derrière.


L’équivalence est une règle de maison

Les deux sites de ce volume tiennent une règle de maison. Voici le motif.

Un CMS contient plus que la page publique : des brouillons, des notes jamais publiées. Une page marquée brouillon n’est pas sur le site public. Un inconnu qui arrive dans un navigateur ne la voit pas. Si vous donnez la base de données à un agent, vous lui avez donné le brouillon.

La règle de maison dit non. Le corpus public pour l’agent égale ce qu’un visiteur humain anonyme voit déjà. Le README d’Engawa l’écrit comme règle de produit : « Engawa's public corpus must match what anonymous human visitors see—not merely what exists in a CMS or database. »

Règle de maison. Pas un fait IETF. Pas un fait W3C. Pas un fait IAB. Les voisins les plus proches ne sont pas le même objet.

Le RFC 9309 dit comment on demande aux robots de se conduire quand ils demandent des ressources. Il ne définit pas un corpus public pour agent.

La politique de cloaking de Google porte sur une autre coupure : montrer un contenu matériellement différent à un moteur et à un humain pour manipuler le classement. Ce n’est pas la même chose qu’exposer exprès une représentation lisible par un agent de la même information publique.

WCAG 2.2 a une règle pour une version de remplacement conforme. Une seconde version doit satisfaire des exigences d’accessibilité précises et fournir une information équivalente. C’est de l’accessibilité. Ce n’est pas une règle de corpus pour agent.

Les Content Signals de Cloudflare laissent un site exprimer des préférences autour de la recherche, de l’entraînement, et d’autres usages IA. Ce sont des indications de politique. Elles ne définissent pas quelles pages un agent peut traiter comme son ensemble public.

Les organismes d’éditeurs vont ailleurs.

IAB Tech Lab a finalisé la spécification CoMP en avril 2026. CoMP n’est pas, en soi, un bloqueur de robots, un système de licences, ou un marché. C’est un cadre de protocole pour communiquer avec des systèmes d’IA autorisés. Son flux documenté suppose que, s’il n’y a pas d’accord, le propriétaire peut refuser la demande et orienter le robot vers une licence.

IAB Australia, en juillet 2026, a dit le principe plus large sans détour : le contenu s’utilise selon des conditions, pas par défaut. Sa propre matrice de décision distingue encore la recherche, les robots d’entraînement, les agents IA en direct, et les robots opérationnels, plutôt que de traiter toute demande machine de la même façon.

Il n’existe donc pas une seule règle de l’industrie qui dirait : le HTML public égale automatiquement un corpus pour agent. Chez les éditeurs et leurs organismes, un autre principe émerge : l’accès selon des conditions, pas seulement parce que la page est publique.

La génération augmentée par récupération, ou RAG, est une forme du même geste de fond que l’ancrage : aller chercher le matériau pertinent, puis s’en servir pour produire la réponse. Les conditions du New York Times, en vigueur le 20 janvier 2026, restreignent l’entraînement IA, l’ancrage et le RAG sans consentement écrit.

Position contractuelle. Pas une règle de protocole. Cette distinction-là, il faut la tenir.

robots.txt n’est pas une licence. llms.txt n’est pas une licence. MCP n’est pas une licence. Chaque objet répond à une question différente.

Figure 3. Accessible n’est pas nommé. Une page joignable, une carte et une porte sont trois choses. Aucune n’est une licence à elle seule.
Figure 3. Accessible n’est pas nommé. Une page joignable, une carte et une porte sont trois choses. Aucune n’est une licence à elle seule.

Accessible n’est pas nommé

Prendre une page n’est pas la nommer pour un agent.

La page web peut être joignable. La carte peut aider à trouver. La porte peut aider à demander. Aucun de ces faits, à lui seul, n’accorde un droit.

Le mur, c’est la surface web ordinaire. Le mot exprime les préférences aux robots. La carte pointe vers du matériau utile. La porte est une surface que le site expose exprès.

Sur deux sites, la porte est ouverte. Ce qui passe, c’est ce qu’un inconnu voit déjà. C’est un choix que ces sites ont fait. Ce n’est pas un droit que l’agent apportait avec lui.

Un site peut décider ce qu’il expose, par quelle surface, et à quelles conditions. La boîte à outils peut ouvrir la porte. Elle ne peut pas prendre cette décision.

Qui a nommé le lecteur ?

Le site.

Ou il ne l’a pas fait.


Sources

La requête par défaut

La carte

La porte

Publication et licence

Bibliothèque


Non retenus comme faits, parce que contestés : llms.txt comme norme IETF ou W3C, ou comme interdiction de crawl ou d’entraînement ; tout pourcentage d’adoption autre que la mesure HTTP Archive de juillet 2025 citée plus haut ; un recensement 2026 du web pour llms.txt ; Cloudflare qui bloquerait tous les robots IA par défaut ; ChatGPT-User qui honorerait toujours robots.txt ; Google-Extended qui arrêterait les AI Overviews ; l’affirmation que les quatre exemples MCP publics de ce volume sont tout le marché ; tsuru0805/engawa-mcp comme cette boîte à outils ; la règle de corpus public d’Engawa comme norme d’industrie ; les agents ayant droit à n’importe quel corpus HTML anonyme ; des parts de marché de robots ou des pourcentages de trafic ; Google qui utiliserait ou ignorerait llms.txt.

Ce volume n’est pas un conseil juridique.