<!-- Generated from fr/comment-creer/index.html. The canonical document is the HTML page. -->

- [ Accueil ](/fr/) 
/
- Comment créer            
# Comment créer un fichier llms.txt

Trois templates, une checklist, et des instructions de déploiement prêtes à copier pour chaque stack courant.

Dernière mise à jour: 22 avril 2026

## 1. Planifier le contenu

Avant d'écrire, listez les **5 à 20 pages** de votre site qu'un LLM aurait besoin pour
répondre aux questions sur votre projet. Pensez-y comme à une liste de lecture curée, pas à un sitemap.

Buckets utiles pour démarrer :

- **Produit**, présentation, cas d'usage, tarifs. 
- **Documentation**, démarrage, référence API, guides clés. 
- **Intégrations**, partenaires et SDK, une ligne chacun. 
- **Référence**, changelog, status page, politique de sécurité. 
- **Optional**, assets de marque, communiqués, archives.   
Si une page n'aide pas un LLM à répondre à de vraies questions, laissez-la de côté. La pire
erreur est de tout inclure, ça dilue le signal.

## 2. Template minimal

Le plus petit fichier valide est un H1 suivi d'une section. Copiez, remplacez les placeholders,
terminé.
llms.txt, minimal   
Copy

```
# {Nom du site}

> {Description en une phrase de ce qu'est votre site.}

## Pages

- [{Titre de page}]({URL absolue}): {note courte}

```

## 3. Template recommandé

Pour la plupart des sites, ce template est le bon point de départ : résumé en blockquote, un
paragraphe de contexte, trois à quatre sections.
llms.txt, recommandé   
Copy

```
# {Nom du site}

> {Aperçu d'une ou deux phrases. Factuel, sans marketing.}

{Optionnel : 1 à 3 phrases de contexte, ce que ce site couvre, à qui il s'adresse, et comment la liste ci-dessous est curée.}

## Produit

- [Présentation produit]({URL}) : capacités clés.
- [Tarifs]({URL}) : plans et limites.

## Documentation

- [Démarrage rapide]({URL}) : install, premier appel, hello world.
- [Référence API]({URL}) : catalogue complet des endpoints.
- [Guides]({URL}) : tutoriels et how-to.

## Optional

- [Changelog]({URL}) : historique de versions.
- [Assets de marque]({URL}) : logos et palette.

```

## 4. Template avancé

Un SaaS plus gros ou une plateforme dev veut habituellement une structure plus profonde avec une
section `Optional` dédiée. À utiliser comme point de départ et à trimmer agressivement.
llms.txt, avancé   
Copy

```
# Acme

> Acme est une plateforme d'analytics hébergée pour les équipes produit. Les pages ci-dessous couvrent produit, tarifs, l'API et les guides d'intégration.

La carte ici est curée pour les assistants, elle n'est pas exhaustive. Utilisez-la pour répondre aux questions sur les capacités produit, les tarifs, les intégrations, les SDK et la migration depuis d'autres outils. Pour le corpus complet, voir /llms-full.txt.

## Produit

- [Présentation produit](https://acme.example/product) : capacités clés.
- [Cas d'usage](https://acme.example/use-cases) : scénarios équipes produit, marketing, support.
- [Changelog](https://acme.example/changelog) : mises à jour mensuelles.

## Tarifs

- [Offres](https://acme.example/pricing) : plans, limites, règles d'overage.
- [FAQ facturation](https://acme.example/billing-faq) : factures, TVA, remboursements.

## Développeurs

- [Référence API REST](https://docs.acme.example/api) : catalogue complet des endpoints.
- [Webhooks](https://docs.acme.example/webhooks) : events, signatures, retries.
- [SDK JavaScript](https://docs.acme.example/sdk/js) : install, init, track events.
- [SDK Python](https://docs.acme.example/sdk/python) : install, init, track events.

## Intégrations

- [Segment](https://docs.acme.example/integrations/segment) : sync deux sens.
- [Snowflake](https://docs.acme.example/integrations/snowflake) : export nocturne.
- [HubSpot](https://docs.acme.example/integrations/hubspot) : contacts et events.

## Optional

- [Assets de marque](https://acme.example/brand) : logos, palette.
- [Communiqués](https://acme.example/press) : historique des annonces.
- [Page de statut](https://status.acme.example) : santé temps réel.

```

✓ Utilisez le Générateur

Pas envie de partir d'un template ? Utilisez le
générateur  : remplissez un formulaire et téléchargez un fichier propre.

## 5. Valider

Collez votre fichier dans le [validateur](/fr/validateur/) pour confirmer la conformité
à la spec. Il attrape : H1 manquant, syntaxe de lien mal formée (`- [name](url)`),
URLs relatives, contenu hors section, second H1 accidentel, fichiers trop gros.

## 6. Déployer selon votre stack

### Cloudflare Pages

Déposez `llms.txt` dans le dossier statique de votre framework (voir commentaires ci-dessous).
Cloudflare Pages le sert automatiquement sans configuration supplémentaire.
Cloudflare Pages   
Copy

```
# Cloudflare Pages, dossier statique selon votre framework
#
# Framework       → Dossier à utiliser
# Astro            public/
# SvelteKit        static/
# Hugo             static/
# Next.js          public/
# Eleventy         configurer passthrough pour llms.txt
#
# Exemple Astro / Next.js :
# Déposez le fichier ici : public/llms.txt
# Cloudflare Pages le détectera et le servira sur /llms.txt automatiquement.

# Vérifier après déploiement :
curl -I https://votre-domaine.com/llms.txt
# Attendu : HTTP/2 200  content-type: text/plain

```

[Guide complet Cloudflare Pages →](/llms-txt-cloudflare/)
(inclut Cloudflare Functions pour la génération dynamique et la gestion du cache)

### Vercel

Même logique : placez `llms.txt` dans `public/`
(Next.js, Astro, Nuxt) ou `static/` (SvelteKit, Hugo). Vercel le sert sur `/llms.txt` tel quel. Pour une génération dynamique, utilisez une Edge Function.
Vercel   
Copy

```
// Vercel, même logique que Cloudflare Pages.
// Placez public/llms.txt (Next.js, Astro, Nuxt, Remix)
// ou static/llms.txt (SvelteKit, Hugo).
// Vercel le sert automatiquement sur /llms.txt.

// Pour générer via Edge Function :
// api/llms.ts
import type { NextRequest } from 'next/server';

export const config = { runtime: 'edge' };

export default function handler(_req: NextRequest) {
const body = `# Acme\n\n> Résumé.\n\n## Docs\n\n- [Guide](https://acme.example/docs)`;
return new Response(body, {
headers: { 'Content-Type': 'text/plain; charset=utf-8' },
});
}

```

[Guide complet Vercel →](/llms-txt-vercel/)
(static file, Next.js Route Handler, Edge Function avec cache)

### Next.js
Next.js   
Copy

```
// Next.js (App Router), public/llms.txt est servi tel quel.
// 1. Placez le fichier : public/llms.txt
// 2. Pas de code à écrire, servi sur https://votresite.com/llms.txt

// Pour le générer dynamiquement :
// app/llms.txt/route.ts
import { NextResponse } from 'next/server';

export const dynamic = 'force-static';

export async function GET() {
const body = `# Acme

> Résumé en une ligne.

## Docs

- [Démarrage rapide](https://acme.example/docs/getting-started)
`;

return new NextResponse(body, {
headers: { 'Content-Type': 'text/plain; charset=utf-8' },
});
}

```

[Guide complet Next.js →](/llms-txt-nextjs/)
(App Router statique, Pages Router, génération depuis un CMS)

### Astro
Astro   
Copy

```
// Astro, public/llms.txt est servi tel quel.
// Déposez le fichier dans : public/llms.txt
// Astro le copiera dans dist/llms.txt lors de `astro build`.

// Pour le générer depuis une content collection :
// src/pages/llms.txt.ts
import type { APIRoute } from 'astro';
import { getCollection } from 'astro:content';

export const GET: APIRoute = async () => {
const docs = await getCollection('docs');
const body = [
'# Acme',
'',
'> Analytics hébergée pour équipes produit.',
'',
'## Documentation',
'',
...docs.map((d) => `- [${d.data.title}](https://acme.example/${d.slug}/): ${d.data.summary}`),
].join('\n');

return new Response(body, { headers: { 'Content-Type': 'text/plain; charset=utf-8' } });
};

```

[Guide complet Astro →](/llms-txt-astro/)
(static, content collections, llms-full.txt, SSR)

### WordPress
WordPress   
Copy

```
# WordPress, trois options
#
# 1. Le plus simple : uploadez llms.txt en FTP/SFTP à la racine web.
#    Vérifier : https://votresite.com/llms.txt
#
# 2. Plugin : tout plugin "static file uploader" fonctionne. Placer le fichier à la racine.
#
# 3. Programmatique : ajoutez un handler à functions.php qui intercepte la requête
#    et retourne le contenu du fichier.
add_action('init', function () {
if ($_SERVER['REQUEST_URI'] === '/llms.txt') {
header('Content-Type: text/plain; charset=utf-8');
echo file_get_contents(get_template_directory() . '/llms.txt');
exit;
}
});

```

[Guide complet WordPress →](/llms-txt-wordpress/)
(FTP, plugin, WP-CLI, génération depuis WP_Query)

### Autres stacks

Pour un `nginx` statique, copiez le fichier à la racine web. Pour Express/Koa, ajoutez
une route retournant `text/plain`. La règle est universelle : servir le fichier au
path canonique
`/llms.txt` avec `Content-Type: text/plain; charset=utf-8`.

## 7. Auto-générer au build

Maintenir le fichier à la main est OK pour un petit site mais casse vite. Deux patterns courants
:

- **Script de build**, itérer sur votre collection de contenu (Markdown, MDX, CMS)
et écrire `llms.txt` dans `dist/`. Exemple Astro ci-dessus. 
- **Route serveur**, rendre le fichier à la volée depuis une base ou un CMS.
Exemple Next.js ci-dessus.   
Quelle que soit l'option, lancez le [validateur](/fr/validateur/)
en CI : il attrape les fichiers silencieusement cassés (par ex. une section vide après migration).

## Checklist avant publication

- Fichier servi sur `/llms.txt` en `200 OK`. 
- `Content-Type: text/plain; charset=utf-8`. 
- Exactement un H1. 
- Résumé en blockquote en langage clair, sans marketing. 
- Toutes les URLs **absolues** (`https://...`). 
- Chaque section a au moins un item. 
- Aucune URL privée ou auth-gated listée. 
- Le validateur ne renvoie aucune erreur. 
- Si vous avez un corpus à exposer, publiez aussi `/llms-full.txt`. 
- `robots.txt` autorise toujours le crawl du fichier (pas de `Disallow: /llms.txt`).   
## Continuer

- [Bonnes pratiques](/fr/bonnes-pratiques/), à faire et à éviter. 
- [Exemples réels](/fr/exemples/), copier ce qui marche. 
- [Guide Cloudflare Pages](/llms-txt-cloudflare/) · [Guide Vercel](/llms-txt-vercel/) · [Guide Next.js](/llms-txt-nextjs/) · [Guide Astro](/llms-txt-astro/) ·
[Guide WordPress](/llms-txt-wordpress/) 
- [Validateur](/fr/validateur/) · [Générateur](/fr/generateur/).        
## Sources

- [ llmstxt.org, spec officielle ](https://llmstxt.org/)
- [ Mintlify, Simplifying docs with llms.txt ](https://www.mintlify.com/blog/simplifying-docs-with-llms-txt)           
Sur cette page

- [ 1. Planifier le contenu ](#plan)
- [ 2. Template minimal ](#minimal)
- [ 3. Template recommandé ](#recommande)
- [ 4. Template avancé ](#avance)
- [ 5. Valider ](#valider)
- [ 6. Déployer selon votre stack ](#deployer)
- [ 7. Auto-générer au build ](#auto)
- [ Checklist ](#checklist)
