ardregistry.net

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

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.

Last reviewed 2026-09-07. Checked against ARD v0.91 (Proposal, 2026-08-26).