--- mpf: '0.7' title: Machine Page Format (MPF) — ESFI Docs url: https://docs.esfi.eu/fr/standards/mpf/ mpf-url: https://docs.esfi.eu/fr/standards/mpf/index.mpf organization: European Strategy & Future Infrastructure domain: docs.esfi.eu lang: fr updated: '2026-11-03' author: ESFI provenance: human source-hash: f0ad234740f730e59ceacf513de0e290005ee048a5734c827bd7cddff17ac6db toc: - level: 1 text: Machine Page Format (MPF) id: machine-page-format-mpf - level: 2 text: Statut id: statut - level: 2 text: Comment lire cette section id: comment-lire-cette-section - level: 2 text: Anatomie d’un fichier MPF id: anatomie-d-un-fichier-mpf - level: 2 text: Ce que couvrent les déclarations id: ce-que-couvrent-les-déclarations - level: 2 text: La découverte en un paragraphe id: la-découverte-en-un-paragraphe - level: 2 text: Des déclarations, pas des verdicts id: des-déclarations-pas-des-verdicts - level: 2 text: Relation avec d’autres standards id: relation-avec-d-autres-standards - level: 2 text: Ce que MPF ne prétend pas id: ce-que-mpf-ne-prétend-pas - level: 2 text: Pour aller plus loin id: pour-aller-plus-loin - level: 2 text: Sur cette page id: sur-cette-page spec-origin: esfi.eu content-origin: docs.esfi.eu content-id: esfi:page:standards-mpf content-parity: html: true human-visible-source: true hidden-sections: false summary: Une page pour les personnes. Une pour les machines. Les deux déclarées. index: true confidence: confirmed content-type: reference companion-footer: ESFI — civilization infrastructure · https://esfi.eu companion-contact: mailto:hermes@esfi.eu preferred-representation: mpf companion-scope: cite: true summarize: true train: true index: true relay: false language-variants: en: https://docs.esfi.eu/standards/mpf/index.mpf fr: https://docs.esfi.eu/fr/standards/mpf/index.mpf nl: https://docs.esfi.eu/nl/standards/mpf/index.mpf de: https://docs.esfi.eu/de/standards/mpf/index.mpf hr: https://docs.esfi.eu/hr/standards/mpf/index.mpf mpf-id: 65d843af7f102fcf7bb36988e349dc86532ebd4fe66d58b565eaa26b948bcae6 --- Langue ✕ /fr/standards/mpf/index.mpf[ouvrir le fichier ↗](/fr/standards/mpf/index.mpf)[spécification ↗](/fr/standards/mpf/0.7)✕ chargement… # Machine Page Format (MPF) {#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 {#statut} | | | | --- | --- | | Version actuelle | **0.7** — [Spécification 0.7](/fr/standards/mpf/0.7) | | Version précédente | 0.6 — [Spécification 0.6](/fr/standards/mpf/0.6) | | Implémentation de référence | `mpf-build` — [git.esfi.eu/esfi/mpf](https://git.esfi.eu/esfi/mpf) | | Émetteurs vérifiés | [Registre des implémentations](/fr/standards/mpf/implementation-registry) | | Politique de versionnement | [Versionnement](/fr/standards/mpf/versioning) | 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 {#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 {#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](/fr/standards/mpf/0.7). ## Ce que couvrent les déclarations {#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](/fr/standards/mpf/0.7). Configuration et surcharges par page : [Implémentation](/fr/standards/mpf/implementation). ## La découverte en un paragraphe {#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](/fr/standards/mpf/publishing-and-discovery). ## Des déclarations, pas des verdicts {#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 {#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](https://www.rfc-editor.org/rfc/rfc9309.html) | Préférences d’accès des crawlers | | [llms.txt](https://llmstxt.org/) | Point d’entrée léger pour les modèles de langage ; MPF étend le `llms.txt` du site avec une section MPF | | [TDMRep](https://www.w3.org/community/tdmrep/) | Protocole du W3C Community Group pour exprimer la réserve européenne de fouille de textes et de données | | [RSL](https://rslstandard.org/) | Conditions de licence de l’éditeur pour l’utilisation par l’IA | | [AIPREF (IETF)](https://datatracker.ietf.org/wg/aipref/about/) | Vocabulaire de préférences d’usage pour l’IA ; travail en cours à l’IETF | | [C2PA](https://c2pa.org/) | 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-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 {#pour-aller-plus-loin} - Pourquoi MPF existe, et la lettre qui a lancé le travail : [companion.esfi.eu](https://companion.esfi.eu) - La position d’ESFI sur le problème sous-jacent : [Préparation à l’IA](/fr/topics/ai-readiness) - Ce que _Companion_ signifie sur les sites ESFI : [Glossaire](/fr/glossary) ## Sur cette page {#sur-cette-page} ESFI — civilization infrastructure · https://esfi.eu