Listes compatibles IA : 12 bonnes pratiques LLM (Guide 2025)
Découvrez 12 bonnes pratiques pour créer des listes prêtes pour l'IA et les LLM en 2025. Exemples concrets, preuves officielles, templates JSON/XML. Optimisez vos contenus dès maintenant !


Pourquoi vos « listicles » ne suffisent plus
Vous écrivez des listes claires pour vos lecteurs, mais côté machines, c’est une autre histoire : extraction incertaine, champs manquants, formats ambigus. Résultat : les assistants (RAG, agents, AI Overviews) récupèrent mal vos informations, citent un concurrent plus « structuré », ou hallucinent. Ce guide propose 12 bonnes pratiques pour produire des listes lisibles par l’humain et robustes pour les LLM — avec des exemples concrets (Markdown, JSON/XML) et des sources officielles.
Méthodologie de sélection (résumé) : nous avons priorisé (1) la robustesse machine (30 %), (2) l’utilité humaine (25 %), (3) l’intégrabilité RAG (20 %), (4) la conformité aux standards/évidences (15 %), (5) sécurité & gouvernance (10 %). Voir les guides officiels cités dans chaque item.
1) Définissez le « contrat » de la liste (objectif, usage machine, sortie attendue)
- Objectif : clarifier à quoi sert la liste et la forme de sortie (extraction d’attributs, ingestion RAG, réponses agent).
- Format recommandé : annoncer la sortie structurée (JSON strict ou XML) et les délimiteurs.
- Bonnes pratiques :
- Délimitez vos blocs (p. ex. balises XML ou triple quotes) et spécifiez « réponse en JSON brut uniquement ».
- Décrivez les clés attendues et types.
- À éviter : mélange texte narratif + JSON « non brut » dans le même bloc.
Exemple d’exigence de sortie (côté prompt/brief) :
<instruction>
Rédige une liste de 5 outils avec les champs id, title, summary, pros, cons, links.
Renvoie UNIQUEMENT du JSON brut valide, conforme au schéma fourni.
</instruction>
<data>
<!-- Contenu de référence ici -->
</data>
Pourquoi ? Les modèles répondent mieux aux consignes avec délimiteurs et exemples concrets, comme l’expliquent le guide de « prompt engineering » d’OpenAI (2025) et l’usage de balises chez Anthropic, voir OpenAI — Prompt Engineering et Anthropic — Use XML tags.
2) Normalisez des « cartes d’item » + fournissez un JSON Schema minimal
- Objectif : rendre chaque item uniformément extractible.
- Champs conseillés :
id
,title
,summary
,pros
,cons
,best_for
,not_for
,links
. - Bonnes pratiques :
- Définir un JSON Schema (required, enum, minItems, types,
additionalProperties:false
). - Valider les données avant publication (CI/CD).
- Définir un JSON Schema (required, enum, minItems, types,
Exemple de JSON Schema minimal :
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ListCard",
"type": "object",
"additionalProperties": false,
"required": ["id", "title", "summary", "links"],
"properties": {
"id": {"type": "string", "pattern": "^[a-z0-9_-]{3,64}$"},
"title": {"type": "string", "minLength": 1},
"summary": {"type": "string", "minLength": 1},
"pros": {"type": "array", "items": {"type": "string"}},
"cons": {"type": "array", "items": {"type": "string"}},
"best_for": {"type": "array", "items": {"type": "string"}},
"not_for": {"type": "array", "items": {"type": "string"}},
"links": {
"type": "array",
"minItems": 1,
"items": {"type": "string", "format": "uri"}
}
}
}
OpenAI documente la contrainte de sortie via schéma JSON (« Structured Outputs ») pour fiabiliser la conformité et réduire l’ambiguïté, voir OpenAI — Structured Outputs (2025). Des exemples multi-langages sont également publiés, voir OpenAI — Structured Outputs Samples.
3) Formatage robuste : Markdown minimaliste + blocs JSON/XML dédiés
- Objectif : faciliter le parsing et le split.
- Bonnes pratiques :
- Utiliser H2/H3 clairs, listes plates limitées, paragraphes courts.
- Encapsuler les données machine dans des blocs de code dédiés (
```json
,```xml
). - Éviter les imbrications profondes et les syntaxes ambiguës.
Les éditeurs conseillent des délimiteurs et balises explicites pour séparer instructions et données. Voir Anthropic — Prompt engineering overview (2025) et OpenAI — Prompt Engineering (2025).
4) Reliez vos affirmations à des preuves (ancres descriptives, sources officielles)
- Objectif : permettre aux assistants qui citent de pointer vers des sources canoniques.
- Bonnes pratiques :
- Lier les points de fait directement à des ancres descriptives.
- Favoriser docs officielles et pages canoniques.
Perplexity a renforcé en 2025 l’exposition de sources dans les résultats (champ « search_results ») et exige la citation, voir le Changelog Perplexity 2025 et les Conditions d’utilisation Perplexity (2025).
Exemple de style d’ancre : « Selon le guide Structured Outputs 2025 d’OpenAI, le schéma JSON réduit les erreurs de parsing. »
5) Ajoutez des métadonnées et schémas (FAQPage, HowTo, ItemList) quand c’est pertinent
- Objectif : améliorer l’interprétabilité pour la recherche et certains assistants.
- Bonnes pratiques :
- N’utiliser FAQPage/HowTo que si le contenu visible correspond fidèlement.
- Valider avec le Rich Results Test et monitorer dans Search Console.
Google a ajusté l’éligibilité des FAQ/HowTo en 2023 ; respectez les règles actuelles et les champs requis, voir Google — FAQPage, Google — HowTo : changements 2023 et Google — ItemList/Carrousel. Pour les fondamentaux, voir Google — Données structurées : introduction.
6) Découpez pour le RAG : tailles, overlap et splitters hiérarchiques
- Objectif : optimiser le rappel et la contextualisation.
- Recommandations de départ (à ajuster) :
- 500–1000 tokens par chunk avec 10–20 % d’overlap.
- Utiliser des splitters sensibles à la structure (titres Markdown) plutôt que le découpage brut.
- Conserver des métadonnées (source, H2/H3, URL, ancres).
Guides et API utiles : LangChain — Recursive splitter (2025), LangChain — Markdown header splitter, et les bonnes pratiques d’Unstructured pour le chunking contextuel, voir Unstructured — Chunking for RAG (2025).
Exemple (pseudo-config) :
splitter: MarkdownHeaderTextSplitter
headers:
- level: 2
pattern: "^## "
- level: 3
pattern: "^### "
chunk_size: 800_tokens
chunk_overlap: 120_tokens
metadata:
- url
- h2
- h3
7) Nommez clairement vos entités et titres hiérarchiques
- Objectif : éviter les « synonymes flottants » et aider l’extraction d’attributs.
- Bonnes pratiques :
- Titres explicites (H2/H3) et noms d’entités stables (produit, version, prix).
- Aligner ces noms avec vos enums dans le JSON Schema.
À croiser avec le splitter d’en-têtes Markdown et les schémas JSON : LangChain — Markdown header splitter et OpenAI — Structured Outputs.
8) Accessibilité & i18n : plus de portée, moins d’ambiguïtés
- Objectif : rendre vos listes lisibles pour tous et cohérentes multi-langues.
- Bonnes pratiques (WCAG 2.2) :
- En-têtes/étiquettes informatifs (2.4.6), contrastes suffisants (1.4.3/1.4.6), redimensionnement (1.4.4), déclaration de langue (3.1.x).
- Glossaires des acronymes et labels uniformes entre langues.
Consulter les normes W3C : WCAG 2.2 — Recommandation 2023 et le référentiel rapide WCAG.
9) Hygiène & sécurité : sanitization, délimiteurs, anti‑injection
- Objectif : prévenir XSS côté publication et prompt injection côté LLM.
- Bonnes pratiques :
- Sanitize le HTML au rendu (DOMPurify), parser le Markdown en streaming en bloquant les éléments non sûrs.
- Séparer les contenus non fiables, appliquer l’allow‑list et le moindre privilège, sandboxer les outils.
Références : le guide Chrome pour un rendu LLM sécurisé (2025) présente les approches DOMPurify et streaming Markdown, voir Chrome Developers — Render LLM responses (2025). Côté menaces LLM, voir l’OWASP — LLM Prompt Injection Prevention Cheat Sheet (2025) et l’OWASP GenAI — LLM01 : Prompt Injection (2025).
10) Évaluez factualité, ancrage (groundedness) et complétude
- Objectif : savoir si vos listes réduisent les hallucinations et couvrent bien les attributs.
- Bonnes pratiques :
- Combiner métriques automatiques et revue humaine.
- Mesurer faithfulness/groundedness, answer relevancy, context precision/recall sur un set de questions.
Le framework RAGAS documente ces métriques et propose des notebooks d’exemples : voir Ragas — documentation (2025) et le dépôt GitHub Ragas.
11) Monitorer après publication : présence dans les AI answers et citations
- Objectif : vérifier que vos listes sont correctement reprises et citées.
- Bonnes pratiques :
- Suivre l’évolution des citations/sources affichées par des assistants qui référencent (comme Perplexity).
- Corréler vos changements de schéma/formatage avec les variations de présence.
Contexte : Perplexity a évolué vers un champ « search_results » en 2025 pour exposer des sources structurées, et impose la citation dans ses conditions, voir Perplexity — Changelog 2025 et Perplexity — TOS 2025.
12) Automatisez : templates réutilisables, lint & validation en CI
- Objectif : garantir la qualité structurelle avant mise en ligne.
- Bonnes pratiques :
- Centraliser vos schémas et patrons de « cartes d’item ».
- Valider en CI : JSON vs JSON Schema, lint JSON/YAML, vérifier les liens.
Outils utiles :
- Validation JSON Schema avec Ajv CLI : voir Ajv — CLI (2025) et la doc Ajv.js.
- Lint JSON/YAML avec Spectral CLI : voir Spectral — guide CLI.
Exemple (GitHub Actions, simplifié) :
name: Validate list cards
on: [push]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm i -g ajv-cli @stoplight/spectral-cli
- run: ajv validate -s schemas/list-card.json -d data/*.json
- run: spectral lint schemas/list-card.json
Mini‑modèle réutilisable : carte d’item « LLM‑ready »
Utilisez ce patron dans vos listicles (à adapter selon votre domaine) :
{
"id": "outil_x",
"title": "Outil X",
"summary": "Ce qu’il fait et pour qui c’est utile, en une phrase claire.",
"pros": ["Avantage 1", "Avantage 2"],
"cons": ["Limite 1"],
"best_for": ["PMM", "SEO technique"],
"not_for": ["Cas hors scope"],
"links": ["https://exemple.com/docs"]
}
Checklist finale (rapide)
- Le « contrat » de liste est explicite (objectif, usage machine, format de sortie) ?
- Les cartes d’item suivent un JSON Schema validé ?
- Les preuves sont liées via ancres descriptives et sources canoniques ?
- Les en-têtes sont hiérarchiques et les entités nommées de façon stable ?
- Le chunking est configuré (taille, overlap, métadonnées) ?
- L’accessibilité et l’i18n sont prises en compte ?
- La sanitization et l’anti‑injection sont en place ?
- Des métriques d’évaluation sont suivies (RAGAS) ?
- Un monitoring post‑publication est en place ?
- Une CI valide vos schémas et données ?
FAQ rapide
- Faut‑il mettre l’année dans le titre ?
- Gardez l’H1 sans année (principe durable). Ajoutez éventuellement « Guide 2025 » dans le title SEO.
- Quelle taille de chunks choisir ?
- Démarrez à 500–1000 tokens, overlap 10–20 %, puis ajustez selon vos résultats (voir les docs LangChain et Unstructured).
- Faut‑il toujours utiliser JSON ?
- Pas forcément. Le Markdown clair peut suffire côté humain, mais fournissez des blocs JSON/XML quand une extraction fiable est critique.
Références (sélection)
- OpenAI — guides 2025 : Prompt Engineering ; Structured Outputs
- Anthropic — 2025 : Use XML tags ; Aperçu « Agents & Tools »
- LangChain — 2025 : Recursive splitter ; Markdown header splitter
- Unstructured — 2025 : Chunking for RAG : best practices
- Google Search Central : FAQPage ; HowTo – changements 2023 ; ItemList
- Chrome Developers — 2025 : Render LLM responses
- OWASP — 2025 : LLM Prompt Injection Prevention Cheat Sheet ; LLM01 : Prompt Injection
- RAGAS — 2025 : Documentation ; GitHub
- Perplexity — 2025 : Changelog ; Terms of Service
