Le frontmatter est un bloc de métadonnées placé en tête d’un fichier texte (souvent Markdown), généralement encadré par des délimiteurs ---.
Sans lui, un contenu reste du texte brut.
Avec lui, il devient structuré, exploitable et pilotable.
Il sert à décrire le document : titre, dates, tags, statut, image, etc.
Autrement dit, c’est la carte d’identité d’un contenu.
Dans un site statique, un CMS headless ou un pipeline de documentation, le frontmatter permet de structurer l’information sans polluer le corps de l’article.
Souvent associé au Markdown, il en partage la philosophie :
un format lisible par l’humain, mais structuré pour être exploité par une machine.

Pour la définition, c'est par ici
D’où vient le frontmatter ?
Le frontmatter apparaît avec les premiers générateurs de sites statiques modernes, à une époque où l’on cherche à produire des sites sans base de données, à partir de fichiers simples.
- 2008 - Jekyll popularise l’approche :
chaque fichier Markdown commence par un bloc YAML permettant de définir titre, date ou layout.
C’est la première adoption massive du frontmatter. Un cas concret encore très utilisé aujourd’hui : GitHub Pages.
Par défaut, ce service s’appuie sur Jekyll pour générer des sites directement depuis un dépôt.
Le frontmatter y est indispensable pour structurer les pages, organiser les articles de blog et piloter leur affichage. - 2013 - Hugo reprend le principe et l’étend :
support de plusieurs formats (YAML, TOML, JSON), performances élevées, industrialisation de la génération statique. - 2015 - Gatsby (dans l’écosystème JavaScript) réutilise cette logique :
le frontmatter devient une source de données intégrée dans un pipeline plus complexe (GraphQL, React).
À travers ces évolutions, un principe reste constant :
séparer strictement le contenu de sa configuration.
D’un côté, le texte, lisible, versionnable, pérenne.
De l’autre, les métadonnées, exploitables pour organiser, afficher et transformer ce contenu.
Cette approche, héritée de pratiques d’ingénierie classiques (séparation des responsabilités, configuration externe), s’est ensuite diffusée bien au-delà du web statique :
outils de prise de notes (Obsidian), CMS modernes (Ghost), plateformes hybrides (Notion).
Aujourd’hui, le frontmatter est devenu un standard de fait pour structurer du contenu textuel exploitable par des systèmes automatisés.
À quoi ça sert concrètement ?
Le frontmatter permet de :
- classer un article (tags, catégories),
- dater un contenu (publication, mise à jour),
- piloter l’affichage (bannière, image, ordre),
- injecter des métadonnées pour des usages avancés (RAG, recherche, filtrage).
C’est précisément ce dernier point qui le rend essentiel dans les articles liés au RAG : on peut enrichir un document avec des métadonnées exploitables par un pipeline d’indexation.
Autrement dit, on ne range pas seulement du texte :
on produit un objet documentaire qui peut être filtré, trié, comparé, et réutilisé.
Exemple simple de frontmatter
---
title: "Frontmatter - définition"
status: "Draft"
category: "Définition"
tags: ["Markdown", "Metadonnées", "RAG"]
---
Un frontmatter minimaliste
Tout ce qui se trouve sous ce bloc est le contenu de l’article.
Exemple plus réaliste (article technique)
---
title: "Application à toute épreuve : transformez votre application en forteresse de résilience"
status: "Draft"
category: "Back"
tags:
- "Spring Boot"
- "Résilience"
- "Chaos Engineering"
- "Gatling"
published_at: "2026-03-19"
banner: "https://.../image.png"
---
Un frontmatter plus complet
Ce type de frontmatter permet ensuite de :
- générer une page “liste des articles” sans parser le corps du texte,
- afficher automatiquement un bandeau ou une illustration,
- filtrer les contenus par thème ou statut.
Exemple hors du web : structurer une fiche de personnage
Le frontmatter n’est pas limité aux articles ou aux sites web.
Il peut être utilisé dans n’importe quel contexte où l’on manipule du contenu structuré.
Par exemple, dans un outil de jeu de rôle :
---
domain: "character"
topic: "creation"
character_class: "magicien"
---Exemple utilisé pour un essai (avorté) de RAG autour d’un maître du jeu virtuel
Que ce soit pour un article technique ou une fiche de personnage, le principe reste le même :
structurer l’information pour pouvoir la filtrer et l’exploiter.
Frontmatter et RAG : pourquoi c’est stratégique
Dans un usage classique (site statique ou CMS headless), ces métadonnées servent principalement à organiser et afficher le contenu.
Mais dès que l’on dépasse la simple publication — pour entrer dans des systèmes de recherche avancée ou des pipelines d’IA — leur rôle évolue : elles ne servent plus seulement à afficher, mais à orienter l’exploitation du contenu.
Dans un pipeline RAG, on ne se contente pas d’indexer du texte brut.
On ajoute des métadonnées pour filtrer, prioriser ou enrichir les réponses.
---
domain: "Spring Boot"
level: "advanced"
status: "published"
source_url: "https://example.com/article"
---Ces métadonnées permettent de filtrer, prioriser ou enrichir les réponses dans un pipeline RAG. Ce bloc permet de contrôler précisément ce que le modèle peut récupérer et dans quel contexte.
On peut aller plus loin :
filtrer des sources sensibles, prioriser des contenus “officiels”, ou exclure des brouillons.
Formats courants de frontmatter
Le YAML est le plus courant, mais il en existe d’autres :
- YAML (le standard le plus répandu)
- TOML
- JSON
Dans Obsidian, c’est le YAML qui est utilisé par défaut.
Bonnes pratiques
- Garder un frontmatter court, lisible et intentionnel
- Standardiser strictement les clés (
title,status,tags,published_at) - Limiter le nombre de champs : au-delà de 10–15 lignes, c’est souvent le signe d’un mauvais découpage
- Réserver le frontmatter à la description du contenu, pas à sa logique métier
- Maintenir une cohérence globale : un même champ doit toujours avoir le même sens dans tout le projet
Erreurs fréquentes
- Frontmatter invalide : un
:manquant ou une indentation cassée rend tout le bloc illisible. - Clés divergentes :
date,published_at,publishedAt… cela casse les automatisations. - Métadonnées dupliquées : une même information en frontmatter et dans le corps crée des incohérences.
Conclusion
Le frontmatter est un petit bloc, mais un grand accélérateur.
Il structure les contenus, facilite la recherche, et devient un atout majeur dès qu’on travaille avec des pipelines RAG ou des systèmes de publication automatisés.


