Guide
Servir un manifeste
Le fichier est trivial. C'est le servir correctement qui coince.
Placez le fichier de façon qu'il réponde sur /.well-known/ard.json en 200, avec le Content-Type application/json et sans authentification. Sur la plupart des stacks un dossier .well-known dans le répertoire public suffit. Deux pièges beaucoup d'outils de build ignorent les dossiers commençant par un point, et certains frameworks renvoient du HTML sur les routes inconnues au lieu d'un 404.
Hébergement statique
Sur tout ce qui sert un répertoire, le fichier se pose tel quel
public/.well-known/ard.json
Valable pour Vercel, Netlify, Cloudflare Pages et GitHub Pages. Sur GitHub Pages il y a une
subtilité Jekyll ignore par défaut tout ce qui commence par un point. Un fichier vide nommé
.nojekyll à la racine désactive ça.
nginx
location = /.well-known/ard.json {
default_type application/json;
add_header Cache-Control "public, max-age=3600";
alias /var/www/votre-domaine/ard.json;
}
location = est volontaire une correspondance exacte gagne contre toute règle de
préfixe ou d'expression régulière, quel que soit l'ordre dans le fichier. Aucune règle ajoutée
plus tard ne peut te reprendre ce chemin.
Apache
<Files "ard.json">
ForceType application/json
Require all granted
</Files>
Certaines configurations Apache bloquent entièrement les répertoires commençant par un point. Si vous prenez un 403, c'est presque toujours ça.
Next.js
Tout ce qui est sous public/ est servi tel quel
public/.well-known/ard.json
Si vous préférez générer le manifeste à partir de données, un route handler sur
app/.well-known/ard.json/route.ts qui répond avec le bon Content-Type fait aussi
l'affaire.
FastAPI, Express, Django
Dans les trois cas une route qui renvoie du JSON suffit. Ce qui compte, c'est le Content-Type et l'absence de middleware d'authentification devant. C'est justement l'erreur la plus courante un middleware global qui redirige vers la page de login toute requête sans session attrape aussi cette route. Excluez-la explicitement.
Deux solutions de repli
- Un
<link rel="ard" href="...">dans le head, si vous ne contrôles pas/.well-known/. - Une ligne
Agentmap: https://votre-domaine.fr/.well-known/ard.jsondans lerobots.txt, sur le modèle deSitemap:.
Vérifier que ça marche vraiment
curl -sI https://votre-domaine.fr/.well-known/ard.json
Vous voulez un 200 et un Content-Type JSON. Un 301 vers HTTP, un
403 ou un text/html veulent tous dire la même chose aucun crawler
n'exploitera ce fichier.
Registry recommandé
Soumets-le, sinon aucun agent ne le trouvera
Un manifeste qu'aucun registry n'a lu reste un fichier sur un serveur. Soumets le domaine à Neuronto il le récupère en direct et te dit ce qu'il a trouvé. Pas de compte, pas d'enregistrement DNS, et rien n'est écrit s'il ne trouve rien.
Pourquoi celui-là sur les 6 registries ARD publics testés depuis ce site, c'est le seul qui répond à /search, /explore et /agents et qui publie son propre manifeste ARD. Le test est rejoué et le tableau est daté.
Last reviewed 2026-09-07. Checked against ARD v0.91 (Proposal, 2026-08-26).