Sites


Créer un Epub

EPUB 2

Un fichier epub est en réalité un ensemble de fichiers et de dossiers regroupés et compressés en un unique document (comme c'est le cas pour les fichiers OpenOffice (.odt) ou MS Word (.doc) que vous avez l'habitude de manipuler, mais guère besoin de décortiquer).

Trois spécifications régissent le contenu des epub. Ce sont des ensembles de règles bien précises établies par l'IDPF (International Digital Publishing Forum) :

  • La spécification OCF (Open Container Format) définit l'organisation des fichiers à l'intérieur de l'epub grâce à deux fichiers nommés container.xml et mimetype ;
  • L'OPS (Open Publication Structure) définit le type de fichiers utilisés et utilisables dans un epub (par exemple des fichiers HTML ou XHTML, des images, des feuilles CSS) ;
  • L'OPF (Open Packaging Format) établit l'ordre de navigation et l'emplacement des fichiers dans l'epub grâce à deux fichiers nommés content.opf et toc.ncx.

Pour plus d'informations à ce sujet, n'hésitez pas à vous plonger dans la documentation (en anglais) que l'on trouve sur le site http://idpf.org/epub.

Organisation du contenu

Lorsque l'on extrait le fichier epub, c'est-à-dire lorsqu'on l'ouvre pour accéder à l'ensemble des fichiers et dossiers qui le composent (nous verrons comment dans le chapitre Extraire et recompresser un epub), nous constatons que ceux-ci sont organisés d'une manière spécifique imposée par le standard EPUB :

  • le fichier mimetype ;
  • le dossier META-INF qui contient le fichier container.xml ;
  • le dossier OEBPS (Open EBook Publication Structure), ou OPS dans les epub de version 3, qui regroupe :
    • le dossier Texte (Text) qui contient les fragments HTML ou XHTML (ce sont vos chapitres),
    • le dossier Style qui contient la ou les feuilles CSS (par exemple style.css),
    • le dossier Images s'il y en a,
    • le dossier Polices (Fonts) si des typographies spécifiques ont été intégrées,
    • le dossier Divers (Misc) qui contient par exemple des fichiers audio, vidéo ou des fichiers xml spécifiques,
    • le content.opf (où sont entre autres indiqués l'emplacement des fichiers et les métadonnées),
    • le toc.ncx (qui régit la table des matières, la navigation dans le livre).

Il peut arriver que vous ayez d'autres fichiers lorsque vous extrayez votre epub, si par exemple vous l'avez créé avec certains logiciels de PAO ou de traitement de texte offrant des fonctions d'exportation (ces fichiers supplémentaires étant spécifiques à ces logiciels).

Hormis mimetype et META-INF dont les noms et structures sont imposés par la convention, les autres dossiers peuvent être nommés librement. Sigil utilisant une structure par défaut fréquemment utilisée, nous l'avons en général conservée dans nos descriptions et nous la conseillons quand elle est possible.

Le fichier mimetype

Le fichier mimetype contient une seule ligne qui stipule que le fichier est au format EPUB. Il ne faut en aucun cas la modifier :

application/epub+zip

Le mimetype est le premier fichier qui est ouvert par le logiciel lorsqu'on ouvre un livre epub sur un support de lecture. C'est une opération transparente pour le lecteur, mais qui est indispensable aux outils pour interpréter et lire correctement les autres éléments du livre. Il doit être placé à la racine du document epub, et non par exemple dans les dossiers META-INF ou OEBPS. Cet impératif est fondamental et a des implications en matière de zippage et dézippage des fichiers (voir le chapitre Extraire et recompresser un epub dans la section Enrichir son epub).

Le container.xml

Présent dans le dossier META-INF à la racine de l'epub, il indique où est situé le fichier .opf (généralement nommé content.opf, bien que l'on puisse changer son nom). De même que pour le mimetype, son nom ne doit pas être modifié.

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

Le content.opf

Par convention (mais pas impérativement) nommé ainsi, et présent dans le dossier OEBPS, il indique l'emplacement des fichiers de l'epub. Il peut être renommé si on le désire, tant qu'il l'est également dans le fichier container.xml.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookId" version="2.0" xmlns:opf="http://www.idpf.org/2007/opf">
  <metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
    <dc:identifier id="BookId" opf:scheme="IMRID">184363</dc:identifier>
    <dc:identifier opf:scheme="ISBN">9782814506510</dc:identifier>
    <dc:title>Zonzon Pépette, fille de Londres</dc:title>
    <dc:language>fr</dc:language>
    <dc:publisher>publie.net</dc:publisher>
    <dc:creator opf:role="aut">André Baillon</dc:creator>
    <dc:contributor opf:role="aut">André Baillon</dc:contributor>
    <dc:type>text</dc:type>
    <dc:date opf:event="creation">2012-07-27</dc:date>
    <dc:date opf:event="publication">2012-07-27</dc:date>
    <dc:description>Quand il fait paraître "Zonzon Pépette, fille de Londres" en 1923, le belge André Baillon, entre deux tentatives de suicide, entre à l'hôpital psychiatrique de la Pitié-Salpêtrière, à Paris. Il a déjà plusieurs vies derrière lui, flambeur de casino, paysan en sabots, secrétaire de rédaction d'un journal médical.... Est-ce tout cela qui donne à la légèreté de Zonzon Pépette cet arrière-goût d'une danse sur un abîme ? Notre littérature populaire est un continent fait de ces vies qui se brûlent tout entières à l'écriture, mais ne viennent pas rejoindre les livres qu'on dit nobles. </dc:description>
    <meta content="0.5.3" name="Sigil version" />
    <meta name="cover" content="cover.png" />
  </metadata>
  <manifest>
    <item href="toc.ncx" id="ncx" media-type="application/x-dtbncx+xml" />
    <item href="Styles/zonzon.css" id="zonzon.css" media-type="text/css" />
    <item href="Fonts/lemondrop.ttf" id="lemondrop.ttf" media-type="application/x-font-ttf" />
    <item href="Text/Section0001.xhtml" id="Section0001.xhtml" media-type="application/xhtml+xml" />
    <item href="Text/Section0002.xhtml" id="Section0002.xhtml" media-type="application/xhtml+xml" />
    <item href="Text/Section0003.xhtml" id="Section0003.xhtml" media-type="application/xhtml+xml" />
  </manifest>
  <spine toc="ncx">
    <itemref idref="Section0001.xhtml" />
    <itemref idref="Section0003.xhtml" />
    <itemref idref="Section0002.xhtml" />
  </spine>
  <guide>
        <reference href="Text/Cover.xhtml" title="Cover" type="cover" />
        <reference type="toc" title="Table of Contents" href="toc.html" />
        <reference type="loi" title="List Of Illustrations" href="toc.html#figures" />
        <reference type="other.intro" title="Introduction" href="intro.html" />
  </guide>
</package>

Comme vous pouvez le constater sur les lignes de code ci-dessus, ce fichier est constitué de plusieurs parties. Décortiquons-les afin de mieux comprendre comment est constitué ce fichier primordial de l'epub.

La déclaration XML

Le format EPUB, cet ensemble de dossiers, fichiers et documents, utilise un langage de balisage appelé XML.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

Cette ligne identifie les normes utilisées dans le document. Elle est présente en première ligne de tout document XML et indique la version du XML utilisé, le type d'encodage des caractères et si des informations proviennent d'une source externe.

Par convention, l'UTF-8 est toujours utilisée dans l'édition électronique. Pour que cela fonctionne parfaitement, il faut que votre logiciel soit configuré pour, ce qui est le cas des éditeurs que nous avons présenté dans les chapitres précédents.

La déclaration de la version du format EPUB

Le XML peut suivre différentes règles, différentes grammaires en quelque sorte, définies selon les usages auxquels doit répondre le format final. Dans le cas de l'EPUB, la règle, ou norme est l'Open Packaging Format, OPF.

Cette norme évolue régulièrement pour répondre aux nouveaux usages et besoins de l'EPUB. L'organisme de normalisation de l'EPUB (IDPF) définit des versions du format (EPUB2, EPUB3). À chaque version correspondent des nouvelles spécifications dans la norme OPF.

<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookId" version="2.0">

Tout document compressé doit indiquer de quel type est composé son contenu. Ici, nous déclarons que le code XML utilisé est du type OPF. Ce "type" est appelé namespace en anglais, abrégé en ns, d'où ici xmlns. La mention de la version 2.0 nous indique quelles sont les spécifications exploitées dans ce fichier (et par défaut lesquelles ne le sont pas, si l'on connaît l'existence d'une version ultérieure).

Les métadonnées

<metadata> 

Cette partie du fichier fournit les informations relatives aux métadonnées (pour plus d'informations sur les métadonnées voir le chapitre Valider ses métadonnées dans la section Contrôler ses fichiers). Ce sont les informations d'identification du livre et de son contenu qui seront exploitées dans tous les catalogues et outils d'indexation cherchant à répertorier le livre. Ici seront par exemple indiqués le book identifier (un identifiant unique pour chaque epub - typiquement l'ISBN ou l'EAN), le titre du livre, la langue utilisée, l'auteur, les différents contributeurs, la date de création, la date de publication, la date de modification, l'éditeur, etc.

Dans l'exemple ci-dessous, nous détaillons la métadonnée "auteur" du livre.

<dc:creator opf:role="aut">André Baillon</dc:creator>

dc: en début de balise indique que la grammaire (le schéma en langage XML) suivie pour la rédaction des métadonnées est le Dublin Core. Les logiciels sauront en lisant cette indication que l'on "parle" en Dublin Core et que selon ce vocabulaire, creator correspond à l'auteur du livre. Il existe quinze éléments courants Dublin Core réutilisés par EPUB comme publisher, description, subject, date... Cette norme d'écriture est celle utilisée par plusieurs bibliothèques nationales dans les procédés de dépôts légaux et d'enregistrement (telle la Bibliothèque nationale de France). Référez-vous à l'annexe de ce livre où nous vous présentons plus en détail les éléments comportant le schéma de métadonnées en suivant Dublin Core.

opf:role="aut" est un raffinement de la métadonnée creator, selon le schéma OPF cette fois, qui va qualifier le rôle du dit créateur, celui pouvant être un auteur, un compositeur, etc. Certains outils de lecture des métadonnées (sites internet de diffuseurs, libraires, etc.) vont exploiter ces raffinements dans la définition des références du livre.

Le manifeste

<manifest>

Cette partie indique toutes les ressources qui constituent le livre ainsi que leur nature (texte, image...). Aucun élément ou fichier présent dans l'epub ne doit manquer, sous peine de rendre celui-ci invalide et illisible. Voilà une section à manier avec précaution... ou pas du tout (certains logiciels comme Sigil gérant automatiquement ces données).

L'élément ci-dessous décrit un fichier xhtml (un de vos chapitres par exemple, ici nommé "Section0001.xhtml")

<item href="Text/Section0001.xhtml" id="Section0001.xhtml" media-type="application/xhtml+xml" /> 

alors que celui-ci définit une image (ici nommée "chapitreun.png").

<item href="Images/chapitreun.png" id="chapitreun.png" media-type="image/png" />

L'indication href=indique à quel endroit se trouve la ressource mentionnée (le fichier HTML ou l'image) dans l'arborescence des dossiers de l'epub.

Le spine

<spine>

Cette partie doit mentionner l'ensemble des fichiers de contenu présents dans le manifeste et qui constitueront la table des matières. Ils doivent être listés dans l'ordre dans lequel ils devront être lus. Aucun ne doit apparaître plus d'une fois.

On trouvera donc par exemple :

<itemref idref="intro" />
<item id="Section0001.xhtml" />
<item id="Section0002.xhtml" />
<item id="Section0003.xhtml" />

Guide

<guide>

Cette partie est optionnelle. Elle caractérise le rôle de chaque fichier (corps de l'ouvrage, annexe, index, etc.).

Le fichier toc.ncx

Les appareils de lecture utilisent le fichier toc.ncx (toc pour table of content) en particulier pour afficher la table des matières de l'ouvrage et naviguer en son sein. Il reprend certaines des informations contenues dans le content.opf, notamment le titre de l'ouvrage (à condition d'avoir bien renseigné les métadonnées !).

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"
   "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
<head>
   <meta name="dtb:uid" content="urn:uuid:f734c294-4c22-416a-812a-99e15bb9c767" />
   <meta name="dtb:depth" content="0" />
   <meta name="dtb:totalPageCount" content="0" />
   <meta name="dtb:maxPageNumber" content="0" />
</head>
<docTitle>
   <text>Mon Livre</text>
</docTitle>
<navMap>
        <navPoint class="h1" id="ch1">
            <navLabel>
                <text>Chapter 1</text>
            </navLabel>
            <content src="content.html#ch_1"/>
            <navPoint class="h2" id="ch_1_1">
                <navLabel>
                    <text>Chapter 1.1</text>
                </navLabel>
                <content src="content.html#ch_1_1"/>
            </navPoint>
        </navPoint>
        <navPoint class="h1" id="ncx-2">
            <navLabel>
                <text>Chapter 2</text>
            </navLabel>
            <content src="content.html#ch_2"/>
        </navPoint>
    </navMap>
</ncx>

Dans Sigil, ce fichier est produit automatiquement à partir du bouton de génération de table des matières. Pour le personnaliser, il suffit d'apporter une attention à la relation au navPoint qui constitue les entrées du menu (dont le navLabel Text est le texte affichable) et le content, le fichier où se trouve le contenu correspondant dans le document epub.

Les autres fichiers

Les autres fichiers présents dans ce dossier OEBPS constituent le contenu du livre.

Les fichiers de contenu

Les fichiers de contenu sont les fichiers xhtml correspondant à chacun des chapitres, les images, et les polices exploitées dans le livre.

Dans les différentes applications de création d'epub, chacun de ces fichiers et ressources est directement inclus dans les dossiers Images, Text, Misc ou Fonts correspondants.

Les fichiers de forme

Les indications de style, d'apparence, devant s'appliquer au contenu sont inscrites dans un ou plusieurs fichiers portant l'extension .css (Cascading Style Sheets) rangés dans le dossier Style.

Les règles d'écriture des fichiers xhtml/html et css seront abordées dans le chapitre Les bases du HTML et du CSS pour l'epub de la section Enrichir son epub.

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.