La table des matières (TOC) est ce qui sépare une pile de fichiers d'un véritable livre consultable. Elle permet au lecteur de sauter d'un chapitre à l'autre, de se repérer, et aux moteurs de recherche de comprendre la structure de l'ouvrage.
EPUB a connu deux générations de fichiers de navigation. Comprendre les deux est essentiel, car la plupart des EPUB produits aujourd'hui embarquent encore les deux pour garantir la rétrocompatibilité avec les vieux lecteurs.
Le NCX — héritage d'EPUB 2
NCX signifie Navigation Center eXtended. Il vient de la norme DAISY, développée pour les livres audio destinés aux personnes déficientes visuelles. L'IDPF l'a adopté tel quel pour EPUB 2, puis maintenu comme option en EPUB 3.
C'est un fichier XML standalone, nommé par convention toc.ncx :
OEBPS/toc.ncx<?xml version="1.0" encoding="UTF-8"?>
<ncx
xmlns="http://www.daisy.org/z3986/2005/ncx/"
version="2005-1"
xml:lang="fr">
<head>
<meta name="dtb:uid"
content="urn:isbn:9782070368228"/>
<meta name="dtb:depth" content="2"/>
<meta name="dtb:totalPageCount" content="0"/>
<meta name="dtb:maxPageNumber" content="0"/>
</head>
<docTitle>
<text>À la recherche du temps perdu</text>
</docTitle>
<navMap>
<navPoint id="np-1" playOrder="1">
<navLabel><text>Combray</text></navLabel>
<content src="text/combray.xhtml"/>
<navPoint id="np-1-1" playOrder="2">
<navLabel><text>La madeleine</text></navLabel>
<content src="text/combray.xhtml#madeleine"/>
</navPoint>
</navPoint>
</navMap>
</ncx>
Caractéristiques du NCX
- Fichier XML autonome, non XHTML.
- Hiérarchie récursive via
navPointimbriqués. - Attribut
playOrderséquentiel (hérité de la lecture audio DAISY). - Invisible pour le lecteur : il n'existe que dans l'interface de la liseuse.
- Référencé par le spine via
spine toc="ncx".
Le nav.xhtml — la norme EPUB 3
EPUB 3 remplace le NCX par un document XHTML classique, portant la propriété nav dans le manifest. Il présente deux avantages décisifs : il est visible (on peut le consulter comme n'importe quel chapitre), et il est sémantique (structure HTML + rôles ARIA, donc accessible nativement).
OEBPS/nav.xhtml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:epub="http://www.idpf.org/2007/ops"
xml:lang="fr" lang="fr">
<head>
<meta charset="UTF-8"/>
<title>Table des matières</title>
</head>
<body>
<!-- 1) TOC principale -->
<nav epub:type="toc" id="toc"
role="doc-toc">
<h1>Table des matières</h1>
<ol>
<li><a href="text/combray.xhtml">Combray</a>
<ol>
<li><a href="text/combray.xhtml#madeleine">La madeleine</a></li>
</ol>
</li>
<li><a href="text/swann.xhtml">Un amour de Swann</a></li>
</ol>
</nav>
<!-- 2) Landmarks : points de repère -->
<nav epub:type="landmarks"
role="doc-pagelist" hidden="">
<h2>Repères</h2>
<ol>
<li><a epub:type="cover"
href="text/cover.xhtml">Couverture</a></li>
<li><a epub:type="bodymatter"
href="text/combray.xhtml">Début du livre</a></li>
<li><a epub:type="toc"
href="#toc">Table des matières</a></li>
</ol>
</nav>
<!-- 3) Liste des pages imprimées -->
<nav epub:type="page-list"
role="doc-pagelist" hidden="">
<ol>
<li><a href="text/combray.xhtml#p7">7</a></li>
<li><a href="text/combray.xhtml#p8">8</a></li>
</ol>
</nav>
</body>
</html>
Trois navs pour un livre
La nav.xhtml peut contenir jusqu'à trois éléments <nav> distincts, différenciés par leur epub:type :
1
toc
Obligatoire. La table des matières principale. Un seul <nav epub:type="toc"> par livre.
2
landmarks
Points de repère structurels : couverture, début du livre, TOC, bibliographie, index. Recommandé.
3
page-list
Liste des numéros de pages de l'édition imprimée. Essentiel pour la recherche universitaire et l'EAA.
Faut-il encore garder le NCX ?
La réponse honnête en 2026 : oui, encore un peu. Voici pourquoi :
- Les Kindle anciens (série Paperwhite < 10, Oasis 2…) lisent encore le NCX après conversion.
- Adobe Digital Editions antérieurs à la version 4.5 s'appuient sur le NCX.
- Certaines applications de bibliothèques publiques (Overdrive/Libby) restent conservatrices.
L'usage actuel est donc ceinture et bretelles : on produit à la fois un nav.xhtml (EPUB 3) et un toc.ncx (EPUB 2). C'est d'ailleurs ce que fait Sigil par défaut, ce que recommande Amazon pour Send to Kindle, et ce que produisent Pandoc ou Vellum.
Cacher les navs
L'attribut hidden="" sur un <nav> empêche son affichage comme chapitre, tout en le laissant utilisable par la liseuse. Le TOC principal, lui, est souvent laissé visible — il devient alors la première page du livre.
Astuce : navigation profonde
Rien n'interdit plus d'un niveau d'imbrication dans <ol>. Deux à trois niveaux restent recommandés — au-delà, la plupart des liseuses arrêtent de rendre l'arborescence. Les meilleurs éditeurs gardent la TOC principale à un seul niveau, quitte à laisser les sous-sections pour la navigation interne du chapitre.
Vous savez désormais construire un EPUB 2 parfait. Il est temps d'entrer dans les terres d'EPUB 3 et de ses possibilités étendues.