Guide d'installation
Deux éléments doivent être en ligne sur votre site : la mention que voient vos visiteurs, et un petit fichier public qui déclare votre usage de l'IA (votresite.com/.well-known/ai-disclosure.json). La balise du script se colle une seule fois, reste identique sur chaque page, et votre déclaration décide quelles mentions apparaissent et où. Choisissez votre plateforme ci-dessous ; la plupart demandent environ dix minutes.
La bannière et les étiquettes IA que vos visiteurs voient sur la page.
ai-disclosure.json, un fichier public lisible depuis votre propre domaine.
le vérificateur affiche Niveau 2 · Affiché.
Choisissez votre plateforme
WordPress
Installer l'extension
Dans votre administration WordPress : Extensions → Ajouter → Téléverser une extension, choisissez le fichier téléchargé ci-dessous, puis cliquez sur Activer.
Laissez-la remplir les deux rôles
L'extension affiche les mentions et publie automatiquement votre fichier de déclaration. Marquez le contenu IA sur n'importe quel article ou image grâce à son interrupteur « Contenu IA ». Aucune modification de code.
-
Vérifier
Terminé lorsque le vérificateur affiche Niveau 2 · Affiché.
Lancer le vérificateur
Shopify
Ajouter le script
Boutique en ligne → Thèmes → ⋯ → Modifier le code → theme.liquid : collez cette unique balise juste avant </body>. theme.liquid est la mise en page par laquelle passe chaque page, donc un seul collage couvre toute la boutique. Shopify ne peut pas héberger de fichiers à la racine de votre domaine : la balise porte donc votre clé de site AIDisclose (data-aidisclose) et charge le manifeste que nous hébergeons pour vous.
theme.liquid <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Relier votre déclaration
Collez ce lien à l'intérieur de <head> dans le même fichier. Votre tableau de bord affiche les deux lignes préremplies avec votre clé de site.
<head> <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">C'est une méthode autorisée par la spécification.
-
Vérifier
Terminé lorsque le vérificateur affiche Niveau 1 · Déclaré, accompagné d'une remarque. C'est le résultat attendu sur cette plateforme, et il est conforme.
Lancer le vérificateur
Webflow
Ajouter le script
Paramètres du site → Code personnalisé → Code de pied de page : collez le bloc de script ci-dessous, puis publiez. Le code personnalisé au niveau du site se charge sur chaque page.
Footer code <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Relier votre déclaration
Dans le code d'en-tête, ajoutez la ligne de lien de déclaration (deuxième bloc ci-dessous). Vous préférez servir le fichier depuis votre propre domaine ? Utilisez le proxy présenté dans la section Avancé si votre DNS passe par Cloudflare.
Head code <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">C'est une méthode autorisée par la spécification.
-
Vérifier
Terminé lorsque le vérificateur affiche Niveau 1 · Déclaré, accompagné d'une remarque. C'est le résultat attendu sur cette plateforme, et il est conforme.
Lancer le vérificateur
Squarespace
Ajouter le script
Paramètres → Avancé → Injection de code → Pied de page : collez le bloc de script ci-dessous. L'injection de code s'applique à chaque page. Elle nécessite l'offre Business.
Footer <script src="https://cdn.aidisclose.io/v1/aidisclose.js" data-aidisclose="YOUR_SITE_KEY" defer></script>Relier votre déclaration
Dans l'injection d'en-tête, ajoutez la ligne de lien de déclaration (deuxième bloc ci-dessous).
Header <link rel="ai-disclosure" href="https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY">C'est une méthode autorisée par la spécification.
-
Vérifier
Terminé lorsque le vérificateur affiche Niveau 1 · Déclaré, accompagné d'une remarque. C'est le résultat attendu sur cette plateforme, et il est conforme.
Lancer le vérificateur
Google Tag Manager
Créer la balise
Nouvelle balise → Configuration de la balise → HTML personnalisé → collez le script. Déclencheur : toutes les pages (vue de page). N'utilisez pas de déclencheur différé ou lié au défilement : les règles de transparence exigent la mention dès la première exposition. Publiez l'espace de travail.
Custom HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Publiez aussi votre déclaration
Tag Manager ne gère que les mentions. Votre fichier de déclaration doit encore être mis en ligne : suivez l'étape correspondant à votre plateforme dans les autres onglets, ou l'onglet Code personnalisé si vous gérez votre propre site.
-
Vérifier
Terminé lorsque le vérificateur affiche Niveau 2 · Affiché.
Lancer le vérificateur
Code personnalisé
Ajouter le script
Une seule fois dans le modèle ou la mise en page de votre site, avant </body>, afin qu'il soit livré avec chaque page. Le renforcement pour la production (épinglage de version, SRI) est présenté dans la section Avancé.
HTML <script src="https://cdn.aidisclose.io/v1/aidisclose.js" defer></script>Servir le fichier de déclaration
ai-disclosure.json doit être lisible à /.well-known/ sur votre domaine. Sur Vercel ou Netlify, ajoutez le fichier au dépôt. Si votre framework réécrit chaque route vers index.html, ce fichier nécessite une exception : voir Applications monopages dans la section Avancé. Les configurations nginx et Apache figurent également dans la section Avancé.
Vercel / Netlify # Vercel / Netlify: commit the file public/.well-known/ai-disclosure.json # SPA that rewrites every route to index.html? # Exclude /.well-known/ from the rewrite (see Advanced).-
Vérifier
Terminé lorsque le vérificateur affiche Niveau 2 · Affiché.
Lancer le vérificateur
Vérifier
Lancez le vérificateur. Il confirme trois choses : votre fichier de déclaration est valide, le script s'exécute, et les mentions apparaissent réellement sur la page. (Pour les ingénieurs : vérifications C1, C3 et C4 à C6.)
Si votre site bloque notre vérificateur (AIDiscloseBot)
Les analyses et les captures de preuves proviennent de AIDiscloseBot/1.0. Il ne lit que les pages publiques : il ne se connecte jamais, ne soumet jamais de formulaire et respecte robots.txt. Si votre fichier robots.txt ou votre protection anti-robots bloque les robots inconnus, autorisez-le explicitement :
User-agent: AIDiscloseBot
Allow: /
L'autoriser présente-t-il un risque ? Non. Une autorisation dans robots.txt n'accorde aucun accès. Elle indique seulement aux robots respectueux qu'ils peuvent lire des pages déjà publiques. N'importe qui peut falsifier une chaîne User-Agent, mais un fraudeur n'obtient rien de plus que ce que vos pages publiques donnent déjà.
Si vous filtrez le trafic avec un WAF ou un gestionnaire de robots, ne vous fondez jamais sur le seul User-Agent pour l'autoriser. Associez-y une vérification de la source. Nous publions l'identité de notre robot, ainsi que les plages d'adresses IP de sortie à mesure qu'elles sont provisionnées, à l'adresse aidisclose.io/bot.json.
Avancé
Theming with CSS variables, custom copy, single-page-app setup, and the full option reference are in the snippet reference.
Verrouiller le script sur une version précise (SRI)
Une empreinte d'intégrité dans la balise script amène le navigateur à refuser d'exécuter un fichier modifié. Épinglez l'URL versionnée et générez l'empreinte à partir du fichier exact que vous déployez :
curl -sO https://cdn.aidisclose.io/v1/aidisclose.js
openssl dgst -sha384 -binary aidisclose.js | openssl base64 -A
Servir le fichier vous-même (nginx / Apache)
Pour les serveurs que vous contrôlez, servez directement le fichier ai-disclosure.json téléchargé :
location = /.well-known/ai-disclosure.json {
alias /var/www/site/ai-disclosure.json;
default_type application/json;
add_header Cache-Control "max-age=3600";
}
Alias "/.well-known/ai-disclosure.json" "/var/www/site/ai-disclosure.json"
<Files "ai-disclosure.json">
ForceType application/json
</Files>
Servir depuis votre propre domaine le fichier hébergé par le tableau de bord
Votre serveur nous transfère les requêtes destinées à cette seule adresse : vous modifiez le fichier dans le tableau de bord, et il continue d'être servi depuis votre domaine. Le tableau de bord les affiche préremplies avec votre clé de site.
location = /.well-known/ai-disclosure.json {
proxy_pass https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY;
proxy_set_header Host cdn.aidisclose.io;
proxy_ssl_server_name on;
}
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === "/.well-known/ai-disclosure.json") {
return fetch("https://cdn.aidisclose.io/v1/hosted-manifest/YOUR_SITE_KEY");
}
return fetch(request);
}
};
Applications monopages et hébergeurs statiques
Les frameworks qui réécrivent chaque route vers index.html, ainsi que certains hébergeurs statiques, interceptent /.well-known/ai-disclosure.json et renvoient le HTML de votre application avec un statut 200. Le fichier semble présent dans le dépôt, mais le vérificateur lit du HTML au lieu du manifeste. Deux solutions : excluez /.well-known/ de la réécriture globale afin que le fichier statique soit servi avec le type application/json, ou ajoutez data-aidisclose="YOUR_SITE_KEY" à la balise de script pour charger le manifeste hébergé par AIDisclose et ne plus servir le fichier du tout.
# netlify.toml: serve the real file before the SPA fallback
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
force = false # a real file at the path wins over this fallback
# vercel.json: rewrite everything EXCEPT /.well-known to the app
{ "rewrites": [
{ "source": "/((?!\.well-known/).*)", "destination": "/index.html" }
] }