EPUB FACTORY
Comprendre l'EPUB / Les bases
Les bases

Qu'y a-t-il dans un fichier EPUB ?
décompressez et regardez la mécanique

Un fichier EPUB est en réalité un ZIP. Changez l'extension et n'importe qui peut l'ouvrir et voir. Cet article parcourt ce qui s'y trouve réellement une fois déplié, et ce que fait chaque fichier. Une fois la mécanique connue, on devine où chercher quand quelque chose ne s'affiche pas.
Dans cet article
  1. Décompresser un EPUB
  2. La forme d'ensemble
  3. mimetype ── le fichier le plus étrange
  4. container.xml ── le panneau indicateur
  5. content.opf ── le cœur du livre
  6. nav.xhtml ── la table des matières
  7. Texte, CSS et images
  8. Pourquoi en construire un à la main est difficile

Décompresser un EPUB

Commencez par le faire. Si vous avez un EPUB sous la main, il ne faut que ceci.

1Copiez le fichier EPUB (pour ne pas abîmer l'original)
2Changez l'extension de .epub en .zip
3Décompressez comme d'habitude

C'est tout. Aucun logiciel particulier. Un EPUB est un ZIP : il se déplie sans même un avertissement.

L'inverse ne marche pas

On pourrait se dire « si ça se décompresse, alors compresser un dossier et le renommer en .epub fait un EPUB ». Ce n'est pas si simple, à cause des règles sur la façon dont il doit être compressé décrites dans la section suivante.

La forme d'ensemble

Une fois déplié, cela ressemble en général à ceci.

Le dossier déplié
├── mimetype       signale que cette boîte est un EPUB
├── META-INF/
│  └── container.xml  indique où se trouve le livre lui-même
└── OEBPS/       le dossier qui contient le livre
  ├── content.opf   informations du livre, liste des contenus, ordre de lecture
  ├── nav.xhtml    table des matières
  ├── text/
  │  ├── p001.xhtml  le texte (un fichier par page)
  │  └── p002.xhtml
  ├── image/
  │  └── cover.jpg   la couverture et les autres images
  └── style/
    └── book.css   apparence

OEBPS — ce nom de dossier, et la façon dont les choses y sont réparties, varient selon l'outil qui a construit le fichier. Cela pourrait être item ou xhtml à la place, et c'est très bien ainsi.

Ce que vous ne pouvez changer, ni de nom ni de position, c'est mimetype en tête et META-INF/container.xml . Ces deux-là sont fixes et tout le reste est libre — voilà l'étape un pour comprendre la structure.

mimetype ── le fichier le plus étrange

Son contenu tient en une seule ligne.

application/epub+zip

Son rôle est de déclarer « ce ZIP est un EPUB ». Mais il s'accompagne de règles strictes qu'aucun autre fichier n'a.

Une application de lecture peut décider « ceci est un EPUB » en ne lisant que les premiers octets du fichier. C'est pour cela que la position et la forme sont figées.

C'est là que les EPUB faits à la main tombent en premier

Compressez un dossier avec un outil ordinaire et vous ne pouvez pas choisir l'ordre des fichiers, et mimetype se retrouve compressé avec tout le reste. Résultat : vous le renommez en .epub et les applications de lecture ne l'ouvrent pas.

Remplir la condition « en premier, sans compression » implique de lancer la compression en deux étapes distinctes. C'est la toute première chose que fait un outil de construction d'EPUB.

container.xml ── le panneau indicateur

META-INF/container.xml ressemble à ceci.

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

Il fait exactement une chose : il dit « les informations du livre sont dans OEBPS/content.opf ».

C'est grâce à ce panneau que les noms de dossiers peuvent être libres. Une application de lecture regarde d'abord META-INF/container.xml et se rend là où il pointe.

content.opf ── le cœur du livre

C'est le fichier le plus important d'un EPUB. Il se divise en trois parties.

PartieCe qu'elle fait
metadataTitre, auteur, langue — les informations propres au livre
manifestLa liste de tous les fichiers inclus
spineL'ordre dans lequel les pages se tournent

metadata ── les informations du livre

<metadata>
  <dc:title>Alice au pays des merveilles</dc:title>
  <dc:creator>Lewis Carroll</dc:creator>
  <dc:language>fr</dc:language>
  <dc:identifier id="uid">urn:uuid:xxxxxxxx</dc:identifier>
  <meta property="dcterms:modified">2026-08-04T00:00:00Z</meta>
</metadata>

Celui à surveiller, c'est dc:title . Ce qui apparaît sur l'étagère d'une application de lecture, c'est cette valeur, pas le nom du fichier. Aussi soigneusement que vous ayez nommé le fichier, si ceci est vide l'étagère affiche « Untitled ».

dc:language compte aussi. Mettez fr pour le français, ja pour le japonais. Sans cela, une application de lecture peut ne pas appliquer les règles de composition de la langue — ce qui se paie surtout en japonais.

manifest ── la liste des fichiers inclus

<manifest>
  <item id="nav" href="nav.xhtml" media-type="application/xhtml+xml" properties="nav"/>
  <item id="p001" href="text/p001.xhtml" media-type="application/xhtml+xml"/>
  <item id="css" href="style/book.css" media-type="text/css"/>
  <item id="cover" href="image/cover.jpg" media-type="image/jpeg"/>
</manifest>

Tous les fichiers de l'EPUB doivent être déclarés ici. Ajoutez une image et oubliez de la déclarer, et cela suffit à produire une erreur. L'inverse — déclarée mais absente — est également une erreur.

Le fichier de table des matières est marqué par properties="nav" , qui est sa façon de dire « ce fichier est la table des matières ».

spine ── l'ordre de lecture

<spine page-progression-direction="rtl">
  <itemref idref="p001"/>
  <itemref idref="p002"/>
</spine>

manifest est la liste de ce qu'il y a dedans ; spine est l'ordre dans lequel on le lit. L'ordre indiqué ici devient l'ordre des pages.

Et la partie qui compte le plus pour un livre japonais, c'est page-progression-direction .

ValeurSignificationLivres concernés
rtlProgresse de droite à gaucheÉcriture verticale, manga
ltrProgresse de gauche à droiteÉcriture horizontale

Omettez cela dans un livre composé verticalement et les pages se tournent à l'envers. C'est l'une des premières choses à vérifier quand l'écriture verticale ne fonctionne pas.

nav.xhtml ── la table des matières

EPUB 3 exige toujours la table des matières comme fichier à part entière. Elle ressemble à une liste de liens HTML ordinaire, distinguée par le marqueur epub:type="toc" .

<nav epub:type="toc">
  <ol>
    <li><a href="text/p001.xhtml">Chapitre 1</a></li>
    <li><a href="text/p002.xhtml">Chapitre 2</a></li>
  </ol>
</nav>

C'est ce qui s'affiche quand le lecteur appuie sur le bouton de table des matières. S'il manque un fichier lié, vous avez un livre dans lequel on ne peut pas naviguer.

Vous pourriez y trouver toc.ncx également

Dans l'ancien EPUB 2, un fichier nommé toc.ncx faisait le travail de la table des matières. EPUB 3 l'a remplacé par nav.xhtml , mais certains EPUB incluent les deux pour que les anciennes applications de lecture fonctionnent encore.

Texte, CSS et images

À partir d'ici, c'est à peu près pareil qu'une page web.

La façon de découper le texte vous appartient, mais un fichier trop gros rend les applications de lecture poussives, donc découper par chapitre est la norme.

Pourquoi en construire un à la main est difficile

Comme vous l'avez vu, la structure d'un EPUB n'est pas compliquée. Du texte, des images et des instructions de mise en forme empaquetés dans une boîte avec un panneau indicateur et une liste — c'est tout.

Les règles à respecter, en revanche, sont pointilleuses.

S'il en manque une, le livre ne s'ouvre pas, ou il est refusé au dépôt en boutique. Et la cause de l'erreur n'est en général pas visible dans ce qui s'affiche à l'écran.

C'est pourquoi, en production réelle, on utilise un outil qui assemble la structure à partir d'un manuscrit ou d'images. Malgré tout, avoir regardé une fois à l'intérieur signifie que vous pouvez deviner où chercher quand quelque chose cloche — c'est tout l'objet de cet article.

La structure est assemblée pour vous

EPUB FACTORY construit automatiquement chaque partie de la structure décrite ici. Il suffit de choisir un dossier d'images ou un manuscrit texte. Sans compte, sans installation.

Essayer EPUB FACTORY