reference/anatomie-epub-3.md

Anatomie du format EPUB 3

Référence factuelle de la structure d'un paquet EPUB 3, telle que définie par les spécifications EPUB 3.3 et EPUB Accessibility 1.1 du W3C. Cette fiche décrit les fichiers, media-types et vocabulaires ; elle n'enseigne pas la fabrication. Pour construire un EPUB pas à pas, voir le tutoriel « Produire un EPUB accessible, pas à pas ».

Un EPUB est une archive ZIP de documents XHTML décrits par un manifeste (le fichier .opf). L'EPUB 3 s'appuie sur HTML5 sérialisé en XML (XHTML5).


Structure du paquet

Arborescence type

paquet.epub (archive ZIP)
├── mimetype                    (1er fichier, non compressé)
├── META-INF/
│   └── container.xml           (point d'entrée)
└── EPUB/                       (dossier de contenu ; nom conventionnel)
    ├── content.opf             (manifeste + métadonnées + ordre de lecture)
    ├── nav.xhtml               (table des matières EPUB 3)
    ├── *.xhtml                 (documents de contenu)
    ├── *.css                   (styles)
    └── img/*                   (ressources)

Contraintes d'archive

Contrainte Valeur
Format de conteneur ZIP
Position de mimetype Premier fichier de l'archive
Compression de mimetype Aucune (mode « stocké »)
Compression des autres fichiers Autorisée
Nom du dossier de contenu Libre ; EPUB/ est la convention

Fichiers système obligatoires

Fichier Rôle Obligatoire
mimetype Déclare le type de paquet Oui
META-INF/container.xml Désigne le fichier .opf racine Oui
EPUB/content.opf Manifeste, métadonnées, ordre de lecture Oui
EPUB/nav.xhtml Document de navigation (TOC EPUB 3) Oui
EPUB/toc.ncx Table des matières héritée d'EPUB 2 Optionnel (rétrocompat.)

mimetype

Contenu littéral unique, sans espace ni saut de ligne superflu :

application/epub+zip

META-INF/container.xml

Namespace : urn:oasis:names:tc:opendocument:xmlns:container. L'attribut full-path doit pointer exactement le chemin du .opf.

<?xml version="1.0" encoding="UTF-8"?>
<container version="1.0"
           xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
  <rootfiles>
    <rootfile full-path="EPUB/content.opf"
              media-type="application/oebps-package+xml"/>
  </rootfiles>
</container>

Le fichier .opf (Open Packaging Format)

Élément racine <package>, namespace http://www.idpf.org/2007/opf, version="3.0". Il contient trois sections.

Section Élément Contenu
Métadonnées <metadata> Identité (Dublin Core) + accessibilité (schema.org)
Manifeste <manifest> Liste exhaustive des ressources du paquet
Colonne vertébrale <spine> Ordre de lecture linéaire

<metadata> — Dublin Core requis

Namespace http://purl.org/dc/elements/1.1/ (préfixe dc:).

Propriété Rôle Requis
dc:identifier Identifiant unique (ex. urn:uuid:…) Oui
dc:title Titre de la publication Oui
dc:language Langue principale (BCP 47, ex. fr) Oui
dc:creator Auteur / responsable Recommandé
meta property="dcterms:modified" Horodatage ISO 8601 UTC Oui

L'attribut unique-identifier de <package> référence l'id du dc:identifier. xml:lang est déclaré sur <package>.

<manifest> — attributs d'<item>

Attribut Rôle
id Identifiant interne, cible des itemref du spine
href Chemin relatif de la ressource
media-type Type MIME de la ressource (voir table dédiée)
properties Propriétés déclaratives (ex. nav, cover-image, scripted, svg, mathml)

Règle : toute ressource du paquet (y compris images et CSS) doit figurer dans le <manifest> ; un fichier omis fait échouer la validation.

<spine> — ordre de lecture

Suite d'<itemref idref="…"> référençant les id du manifeste, dans l'ordre de lecture linéaire.

Attribut d'itemref Rôle
idref Référence l'id d'un <item> du manifeste
linear yes (défaut) / no : contenu hors flux linéaire

Media-types (types MIME)

Types MIME normalisés pour l'attribut media-type du manifeste.

Ressource Media-type
Paquet EPUB (le conteneur) application/epub+zip
Fichier .opf (racine) application/oebps-package+xml
Document de contenu XHTML application/xhtml+xml
Feuille de style text/css
Image PNG image/png
Image JPEG image/jpeg
Image GIF image/gif
Image SVG image/svg+xml
Image WebP image/webp
Police OpenType font/otf
Police TrueType font/ttf
Police WOFF font/woff
Police WOFF2 font/woff2
Audio MP3 audio/mpeg
Audio MP4/AAC audio/mp4
Table des matières NCX (EPUB 2) application/x-dtbncx+xml
Media Overlay (SMIL) application/smil+xml

Métadonnées d'accessibilité (schema.org)

Déclarées dans <metadata> via <meta property="schema:…">, définies par EPUB Accessibility 1.1 sur le vocabulaire schema.org. Une même propriété peut être répétée pour porter plusieurs valeurs.

Vue d'ensemble

Propriété Rôle Cardinalité
schema:accessMode Mode(s) de perception du contenu 1..n
schema:accessModeSufficient Combinaison(s) de modes suffisante(s) pour consulter 1..n
schema:accessibilityFeature Fonctionnalités d'accessibilité présentes 1..n
schema:accessibilityHazard Risques physiologiques connus 1..n
schema:accessibilitySummary Résumé lisible par un humain 0..1

accessMode — valeurs courantes

Valeur Signification
textual Contenu perceptible sous forme de texte
visual Contenu perceptible visuellement
auditory Contenu perceptible à l'écoute
tactile Contenu perceptible au toucher

accessModeSufficient liste des combinaisons autonomes (ex. textual seul suffit pour une publication entièrement textuelle).

accessibilityFeature — valeurs courantes

Valeur Signification
structuralNavigation Structure de titres navigable
tableOfContents Table des matières présente
alternativeText Alternatives textuelles aux images
readingOrder Ordre de lecture logique défini
displayTransformability Présentation adaptable (police, taille, couleur)
longDescription Descriptions longues pour contenus complexes
MathML Formules en MathML
describedMath Descriptions textuelles des mathématiques
synchronizedAudioText Synchronisation texte/audio (Media Overlays)
index Index présent
none Aucune fonctionnalité déclarée

accessibilityHazard — valeurs

Valeur Signification
none Aucun risque connu
unknown Risques non évalués
flashing / noFlashingHazard Présence / absence de clignotements
motionSimulation / noMotionSimulationHazard Présence / absence de simulation de mouvement
sound / noSoundHazard Présence / absence de sons potentiellement gênants

Règle de sincérité : ces métadonnées doivent refléter le contenu réel. Déclarer alternativeText sans alt sur les images est une non-conformité.


Valeurs d'epub:type courantes

Attribut epub:type (namespace http://www.idpf.org/2007/ops), porté par les éléments XHTML pour enrichir la sémantique structurelle. Souvent couplé à un attribut ARIA role (doc-*) pour les technologies d'assistance.

epub:type role ARIA associé Emploi
toc doc-toc Table des matières (dans nav.xhtml)
landmarks — Repères de navigation (couverture, corps, biblio…)
cover doc-cover Couverture
chapter doc-chapter Chapitre
part doc-part Partie
titlepage — Page de titre
frontmatter — Pages liminaires
bodymatter — Corps de l'ouvrage
backmatter — Pages de fin
footnote doc-footnote Note de bas de page
noteref doc-noteref Appel de note
endnotes doc-endnotes Notes de fin
glossary doc-glossary Glossaire
bibliography doc-bibliography Bibliographie
index doc-index Index

Document de navigation (nav.xhtml)

Fichier XHTML marqué properties="nav" dans le manifeste, contenant au moins un <nav epub:type="toc">.

epub:type du <nav> Rôle
toc Table des matières (obligatoire)
page-list Liste des points de pagination
landmarks Repères structurels du livre

Outils de conformité

Outil Objet
EPUBCheck Validation de la conformité structurelle (XML, manifeste, ordre du ZIP)
Ace by DAISY Audit d'accessibilité (métadonnées, alternatives, structure, langue)

Références normatives

Spécification Objet
EPUB 3.3 (W3C) Structure du format et du paquet
EPUB Accessibility 1.1 (W3C) Exigences et métadonnées d'accessibilité
WCAG 2.1 (W3C) Accessibilité du contenu (transposée à l'intérieur du paquet)
Dublin Core (DCMI) Vocabulaire des métadonnées d'identité (dc:)
BCP 47 (IETF) Étiquettes de langue (dc:language, xml:lang)

Assistant documentaire

Posez une question sur la documentation. Les réponses citent leurs sources — un clic ouvre le document à gauche.