Docs

Machine Page Format (MPF)

Une page pour les personnes. Une pour les machines. Les deux déclarées.

Machine Page Format (MPF) est un format ouvert permettant de publier un compagnon lisible par machine à côté d’une page HTML. Le compagnon contient un frontmatter YAML avec les déclarations de l’éditeur sur la ressource, suivi d’un corps Markdown propre. Il est généré au moment du build à partir du même HTML que lisent les personnes.

MPF répond à une question étroite : qu’est-ce qu’un éditeur doit exposer pour qu’une machine puisse identifier, découvrir et interpréter une page publique sans devoir deviner des faits que l’éditeur aurait pu déclarer directement ?

  • Périmètre : un contrat de publication machine — identité, représentation, déclarations de l’éditeur et découverte, le périmètre de traitement n’en étant qu’une composante.
  • Contribution : la relation déclarée entre une page humaine et sa représentation machine.

La page humaine reste l’adresse canonique. Le fichier MPF est son parallèle déclaré.

Statut

Version actuelle 0.7 — Spécification 0.7
Version précédente 0.6 — Spécification 0.6
Implémentation de référence mpf-build — git.esfi.eu/esfi/mpf
Émetteurs vérifiés Registre des implémentations
Politique de versionnement Versionnement

La spécification décrit ce que l’implémentation de référence produit réellement. Le nom d’un champ ne confère pas à MPF une capacité que l’implémentation ne possède pas.

Comment lire cette section

Les pages de cette section marquent chaque règle avec son statut :

Marqueur Signification
Specification 0.7 Défini dans la spécification publiée. Les producteurs et consommateurs conformes peuvent s’y fier.
Reference implementation Comportement de mpf-build que le texte de la spécification ne décrit pas encore. Stable en pratique, pas encore normatif.
ESFI practice Convention de déploiement utilisée sur les sites ESFI, en dehors du builder et de la spécification. Documentée afin que d’autres puissent la reproduire, sans être requise pour la conformité.

Un mécanisme ne passe de la pratique à la spécification qu’au travers d’une nouvelle version de la spécification.

Anatomie d’un fichier MPF

index.html   →   index.mpf
about/index.html   →   about/index.mpf
---
mpf: '0.7'
title: Example page
url: https://example.org/about/
mpf-url: https://example.org/about/index.mpf
organization: Example Publisher
domain: example.org
lang: en
updated: 2026-09-21
author: Example Publisher
provenance: human
source-hash: 3f1c…
toc:
  - level: 1
    text: About
    id: about
spec-origin: example.org
content-origin: example.org
content-id: example:page:about
content-parity:
  html: true
  human-visible-source: true
  hidden-sections: false
index: true
companion-scope:
  cite: true
  summarize: true
  train: false
  index: true
  relay: false
mpf-id: 9a0b…
---

# About {#about}

Clean Markdown body of the page…

Example Publisher — https://example.org

Le frontmatter est sérialisé dans un ordre stable. mpf-id est un condensat SHA-256 du document complet avant l’insertion de mpf-id lui-même ; source-hash est un condensat SHA-256 du HTML source brut. Détails : Spécification 0.7.

Ce que couvrent les déclarations

Groupe Champs Ce qu’apprend un lecteur
Identité url, mpf-url, content-id, lang, language-variants De quelle ressource logique il s’agit, où vivent les deux représentations et quels fichiers sont des versions linguistiques équivalentes
Éditeur organization, domain, author, spec-origin, content-origin Qui répond des déclarations
Provenance provenance, confidence, c2pa-manifest Comment l’éditeur décrit l’origine et le statut du contenu
Intégrité source-hash, mpf-id, signature Si les deux représentations ont divergé, si ce fichier a changé et si l’éditeur déclaré l’a signé
Parité content-parity Comment le corps machine se rapporte à ce qu’une personne voit
Périmètre de traitement companion-scope Ce que l’éditeur entend permettre à une machine de faire avec le contenu
Cycle de vie updated, valid-until, review-after, supersedes, superseded-by Si la ressource est actuelle et ce qu’elle remplace
Structure toc, section, parent, related, summary, content-type Comment la page est organisée et comment elle se rapporte à d’autres pages
Éditeur vers lecteur companion-instruction, companion-footer, companion-contact, preferred-representation Le message de l’éditeur au lecteur machine, sa ligne de signature et son contact
Indexation index Si la page apparaît dans les index machine du site

Champs obligatoires, champs facultatifs et règles de génération : Spécification 0.7. Configuration et surcharges par page : Implémentation.

La découverte en un paragraphe

Une machine devrait trouver la représentation MPF avant de commencer à interpréter le HTML. Le builder écrit llms.txt avec une section MPF (version, pointeur vers la spécification, chemin de l’index) ainsi que llms.mpf, un index MPF de toutes les pages indexées ; chaque page porte son compagnon au même chemin avec .mpf à la place de .html (Specification 0.7). Les sites ESFI publient en plus un enregistrement DNS TXT et une déclaration /.well-known/mpf (ESFI practice). Référence complète : Publication et découverte.

Des déclarations, pas des verdicts

Chaque champ MPF est soit généré depuis la source, soit déclaré par l’éditeur. Aucun n’est une vérification indépendante.

  • provenance: human indique comment l’éditeur décrit l’origine. Il ne la prouve pas.
  • confidence indique l’évaluation de l’éditeur. Ce n’est pas une validation.
  • companion-scope indique le traitement souhaité. Ce n’est pas un verrou technique et cela ne remplace pas le droit applicable.
  • source-hash montre si les deux représentations ont divergé. Il n’établit pas que le contenu est vrai.
  • Une signature montre qu’une clé donnée a signé un fichier donné. Elle ne montre pas que les affirmations qu’il contient sont correctes.

Un système consommateur devrait conserver ces distinctions dans son propre modèle de données et juger chaque signal pour ce qu’il établit réellement.

Relation avec d’autres standards

MPF fonctionne aux côtés d’autres travaux dans le même espace. Il ne les remplace pas.

Standard Ce qu’il traite
robots.txt Préférences d’accès des crawlers
llms.txt Point d’entrée léger pour les modèles de langage ; MPF étend le llms.txt du site avec une section MPF
TDMRep Protocole du W3C Community Group pour exprimer la réserve européenne de fouille de textes et de données
RSL Conditions de licence de l’éditeur pour l’utilisation par l’IA
AIPREF (IETF) Vocabulaire de préférences d’usage pour l’IA ; travail en cours à l’IETF
C2PA Provenance cryptographique du contenu et credentials ; un fichier MPF peut pointer vers un manifeste C2PA avec c2pa-manifest

Ce que MPF ne prétend pas

  • Ce n’est pas un système de vérité. Les déclarations sont des déclarations ; la vérification exige des preuves indépendantes.
  • Ce n’est pas un instrument juridique. train: false consigne une position déclarée, pas un contrat ni un verrou. Son effet juridique dépend du droit applicable.
  • Ce n’est pas un mécanisme d’application. Aucun champ n’est imposé par le format.
  • Ce n’est pas un remplacement du HTML. La page humaine reste canonique.
  • Ce n’est pas un gardien. Publier et lire MPF ne nécessite aucun service ESFI, aucune inscription ni aucune autorisation.

Pour aller plus loin