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
alternativeTextsansaltsur 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) |