Créer un ePub

Floss Manuals

ePub (acronyme de « electronic publication » ou « publication électronique », parfois noté EPub ou epub) est un format ouvert standardisé pour les livres numériques.

Il est conçu pour faciliter la mise en page du contenu, le texte affiché étant ajusté pour le type d'appareil de lecture. Il est également conçu comme le seul format pouvant à la fois satisfaire les éditeurs pour leurs besoins internes et la distribution.

Commentez . ♪

- Titre : Créer un ePub

- Auteur : Floss Manuals

- Parution : 6 septembre 2013

- Licence : Le contenu de cet article est rédigé par Floss Manuals et est mis à disposition selon les termes de la Licence Creative Commons Attribution 3.0 non transposé. Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright ® 2013 Developpez.com.

Sommaire

- I. Introduction

- I-A. Qui a créé l'ePub ?

- I-B. Le livre électronique : ePub ou PDF ?

- I-C. Une nécessaire adaptation de la chaine de fabrication

- I-D. Un format ouvert

- I-E. Présentation du contenu de l'ouvrage

- II. Convertir son fonds à partir de fichiers PDF

- II-A. Quelles possibilités avons-nous ?

- II-A-1. La conversion automatique avec Calibre

- II-A-2. La conversion semi-automatisée

- II-A-3. La conversion manuelle

- II-B. Conclusion

- III. Créer un ePub à partir d'un traitement de texte

- III-A. Les extensions pour exporter un ePub

- III-A-1. Writer2ePub

- III-A-2. Writer2xhtml

- III-B. Préparez le document à la cible

- III-B-1. Affichage en mode web

- III-B-2. Éviter la mise en forme directe du texte

- III-B-3. Préférez les styles

- III-B-4. Les marges et les espaces

- III-B-5. Insérer des images

- III-B-6. Les tabulateurs, les listes et les tableaux

- III-B-7. Hyperliens et repères de texte

- III-C. La structure du document

- III-C-1. Les métadonnées

- III-C-2. La table des matières

- III-C-3. Valeurs relatives dans Writer

- Produire l'ePub avec Writer2ePub

- Writer2ePub : métadonnées et couverture

- Writer2ePub : préférences d'exportation

- Index

- File Split

- Images

- Fonts

- III-D. Produire l'ePub avec Writer2Latex

- III-D-1. Gérer l'export des images avec Writer2latex

- III-D-1-a. Définir l'exportation du texte

- III-D-1-b. Table des matières

- III-D-1-c. Structure du document ePub

- IV. Du logiciel de mise en page au fichier ePub

- IV-A. Une exportation, pas un enregistrement

- IV-B. Créer un ePub avec Scribus

- IV-B-1. Ce qui est exporté depuis Scribus

- Renseigner les informations bibliographiques sur le livre

- IV-B-2. Exporter en ePub à partir de Scribus

- V. Créer un ePub avec Sigil

- V-A. Par où commencer ?

- V-A-1. L'interface

- V-A-2. Enrichissements graphiques

- V-A-2-a. Ajouter les fontes

- V-A-2-b. Ajouter les images

- V-A-2-c. Créer une couverture

- V-A-3. Générer une table des matières

- V-A-4. Insérer les métadonnées

- V-A-5. Vérifiez et validez le fichier ePub

- VI. Des outils pour façonner le code

- VI-A. Éditeurs ePub

- VI-B. Éditeurs texte

- Pour Linux

- VI-B-1. Pour Windows

- VI-B-2. Pour Mac OS

- VI-C. Éditeurs HTML/XML

- VI-C-1. Pour Linux

- VI-C-2. Pour Windows/Mac

- VII. Mieux comprendre l'ePub

- VIII. ePub 2

- VIII-A. Organisation du contenu

- VIII-B. Le fichier mimetype

- VIII-C. Le container.xml

- VIII-D. Le content.opf

- VIII-D-1. La déclaration XML

- VIII-D-2. La déclaration de la version du format ePub

- VIII-D-3. Les métadonnées

- VIII-D-4. Le manifeste

- VIII-D-5. Le spine

- VIII-D-6. Guide

- VIII-E. Le fichier toc.ncx

- VIII-F. Les autres fichiers

- VIII-F-1. Les fichiers de contenu

- VIII-F-2. Les fichiers de forme

- IX. ePub 3

- IX-A. Organisation du contenu

- IX-B. Le fichier mimetype

- IX-C. Le container xml

- IX-D. Le content.opf

- IX-D-1. La déclaration XML

- IX-D-2. La déclaration de la version du ePub

- IX-D-3. Les métadonnées

- IX-D-4. Le manifeste

- IX-D-5. Le spine

- IX-D-6. Guide

- IX-E. Le fichier toc

- IX-F. Les autres fichiers

- IX-F-1. Les fichiers de contenu

- IX-F-2. Les fichiers de mise en forme

- IX-F-3. Les fichiers graphiques et multimédias

- IX-F-4. L'interactivité

- IX-G. La lecture vocalisée dans ePub3

- X. Extraire et recompresser un ePub

- X-A. Extraire un fichier ePub

- X-A-1. Sous Linux

- X-A-2. Sous Windows

- X-A-3. Sous Mac

- X-B. Rezipper un fichier ePub

- X-B-1. Sous Linux

- X-B-2. Sous Windows

- X-B-3. Sous Mac

- X-C. Contrôle

- XI. Les bases du HTML et du CSS pour l'ePub

- XI-A. Structurer le texte avec HTML

- XI-A-1. Un premier fichier HTML

- XI-A-2. Utiliser des balises

- XI-A-3. Règle d'imbrication

- XI-A-4. Balises atomiques

- XI-A-5. Définition et utilisation d'attributs

- XI-A-6. Utilisation des attributs

- XI-B. Mettre en forme le contenu avec CSS

- XI-B-1. Créer et lier la feuille de style

- XI-B-2. Définir l'aspect des éléments

- XI-C. Penser l'évolutivité de ses fichiers

- XI-C-1. Styles, un nommage explicite et uniforme

- XI-C-2. Des balises sémantiques autant que possible

- XII. Typographie et mise en page

- XII-A. Ajouter des polices de caractères

- XII-A-1. Quelles polices utiliser ?

- XII-A-2. Importer les fontes dans son projet ePub

- XII-B. Notions de mise en page

- XII-B-1. L'indentation

- XII-B-2. L'interlignage

- XII-B-3. La taille du texte

- XII-B-4. Les marges

- XII-B-5. L'alignement du texte

- XII-B-6. La couleur du texte

- XII-B-7. L'épaisseur de la fonte

- XII-B-8. Le style du texte

- XII-C. Ajouter des lettrines

- XII-D. La césure

- XII-E. Insérer des bordures

- XII-F. Insérer des notes de bas de page

- XII-F-1. Procédure simple

- XII-F-2. Procédure « pop-up » liée à ePub 3

- XII-G. Autres interactions possibles grâce à ePub 3

- XII-H. Contenu fluide et mise en page fixe (reflowable-text et fixed-layout)

- XII-H-1. Qu'est-ce que le contenu fluide (reflowable-text) ?

- XII-H-2. Qu'est-ce que la mise en page fixe (fixed-layout) ?

- XII-H-3. Créer une mise en page fixe

- XIII. Ajouter des données multimédias

- XIII-A. Formats acceptés

- XIII-B. Ajouter un élément multimédia

- XIII-B-1. Importer le fichier multimédia

- XIII-B-1-a. Ajouter de l'audio en codant

- XIII-B-1-b. Ajouter de la vidéo

- XIII-B-1-c. Fallbacks et messages

- XIII-C. Ajouter de l'interactivité avec Javascript

- XIII-D. Validez votre ePub

- XIV. Ajouter des images

- XIV-A. Spécificités des images dans un livre électronique

- XIV-B. Les formats d'image utilisables en ePub

- XIV-C. Ajouter une couverture

- XIV-D. Insertion d'images redimensionnables et zoomables

- XIV-D-1. Les avantages du SVG

- XIV-D-2. Dans quel cas utiliser des SVG ?

- XIV-D-3. Insérer un fichier SVG dans un livre ePub sous forme d'image liée

- XIV-D-3-a. Insertion d'un fichier SVG sous forme native

- XV. Vérifier l'affichage de votre fichier

- XV-A. Penser ou repenser sa maquette

- XV-B. Vérifier l'affichage de votre fichier

- XV-C. Méthode

- XV-D. Logiciels libres de lecture de ePub sur ordinateur

- XV-D-1. EPUBReader

- XV-D-2. Readium

- XV-E. Tablettes et liseuses

- XV-F. Défauts d'affichage courants

- XVI. Vérifier la validité du fichier

- Avec Sigil

- Les erreurs les plus courantes

- XVI-A. Avec EpubCheck

- XVI-A-1. Principe d'installation quel que soit votre système d'exploitation

- XVII. Valider les métadonnées

- XVII-A. Quelles métadonnées insérer dans votre ePub ?

- XVII-B. Vérifier ses métadonnées

- XVII-B-1. Dans Calibre et dans Sigil

- XVIII. Spécifications du schéma de métadonnées Dublin Core

- XIX. Ressources externes

- XIX-A. Norme

- XIX-B. Outils non libres

- XIX-C. Ouvrages/documents de références

- XIX-C-1. Généralistes

- XIX-C-2. Techniques

- XIX-D. Blogs et sites

- XIX-D-1. Technique (en français)

- XIX-D-2. Technique (en anglais)

- XIX-D-3. Actualité (en français)

- XIX-D-4. Actualité (en anglais)

- XIX-E. Articles

- XIX-F. Exemples d'ePub

- XX. Glossaire

- XX-A. Autocomplétion

- XX-B. Bluefish

- XX-C. Calibre

- XX-D. Coloration syntaxique

- XX-E. Dublin Core

- XX-F. Éditeur de texte

- XX-G. ePub

- XX-H. EpubCheck

- XX-I. Fixed layout (mise en page fixe)

- XX-J. FlightCrew

- XX-K. gedit

- XX-L. GIF (Graphics Interchange Format)

- XX-M. GPL (licence publique générale GNU, en anglais)

- XX-N. HTML (HyperText Markup Language)

- XX-O. IDPF (International Digital Publishing Forum)

- XX-P. ISO (International Organization for Standardization - organisation internationale de normalisation)

- XX-Q. Interopérabilité

- XX-R. Inkscape

- XX-S. Kate

- XX-T. Interpréteur de ligne de commande

- XX-U. Métadonnées

- XX-V. Mimetype

- XX-W. MathML

- XX-X. Notepad++

- XX-Y. OCF (Open Container Format)

- XX-Z. OEBPS (Open eBook Publication Structure)

- XX-AA. OPF (Open Packaging Format)

- XX-AB. OPS (Open Publication Structure)

- XX-AC. Reflowable text (contenu fluide)

- XX-AD. Scribus

- XX-AE. Script

- XX-AF. Sigil

- XX-AG. Spécification

- XX-AH. SVG (Scalable Vector Graphic)

- XX-AI. Text Wrangler

- XX-AJ. Unicode

- XX-AK. UTF-8+

- XX-AL. XML (Extensible Markup Language) : vi/vim

- XX-AM. Writer2ePub/Writer2xhtml

- XX-AN. W3C (World Wide Web Consortium)

- XX-AO. ZIP

- XXI. À propos de ce livre

- XXI-A. Un manuel libre disponible sous plusieurs formats et supports

- XXII. Spécification ePub 3

- XXII-A. OCF fichier META-INF/container.xml

- XXII-B. OPF fichier content.opf

- XXIII. Remerciements

I - Introduction

L'ePub (acronyme de electronic publication ou « publication électronique ») est un format standardisé pour les fichiers de livres numériques. Il s'appuie notamment sur le HTML, le langage de balisage utilisé pour créer des sites web.

Un livre au format ePub est composé de plusieurs dossiers et fichiers réunis dans un conteneur qui porte l'extension .ePub. Il contient du texte (fichiers HTML), des images (fichiers .jpg, .png ou .svg), des feuilles de style (fichiers CSS) ainsi que des fichiers décrivant la structure du livre et ses métadonnées (l'ensemble des informations - auteur, titre, date de publication, ISBN… - permettant le bon référencement bibliographique de l'ouvrage).

Pour éviter les confusions, nous écrivons ePub pour désigner le format et .ePub quand il s'agit d'un fichier. Il en va de même pour PDF.

I-A - Qui a créé l'ePub ?

L'ePub a été développé par l'IDPF (International Digital Publishing Forum), une organisation à but non lucratif dont le but est de favoriser l'accessibilité des publications numériques en promouvant la création de standards ouverts.

Elle regroupe aujourd'hui plus de 200 acteurs internationaux du logiciel, d'Internet et de l'édition parmi lesquels des distributeurs, des éditeurs, des librairies et des bibliothèques. L'Association nationale des éditeurs de livres au Canada, le SNE (Syndicat national de l'édition) en France, le groupe d'édition Hachette Livre, ou encore la chaine de librairie américaine Barnes & Noble en font notamment partie.

L'IDPF commence ses activités en 1999 avec la création de l'OEB (ou Open eBook) permettant aux éditeurs de disposer d'un premier format standardisé dédié à la lecture numérique, accepté par un grand nombre de dispositifs de lecture.

En 2007, l'ePub 2 remplace l'OEB et devient officiellement le nouveau format standard pour les fichiers de livres numériques. L'ePub (comme l'OEB) est un format dynamique qui s'adapte à tous les supports de lecture en ajustant l'affichage à la taille de l'écran.

La dernière version, l'ePub 3, a été présentée officiellement en octobre 2011 lors du Salon du livre de Francfort.

Par rapport à la version précédente, ePub 3 permet notamment :

- d'enrichir votre livre numérique avec des documents multimédias (fichiers audio et vidéo) ;

- de mieux intégrer des équations mathématiques grâce au support du format MathML ;

- de mieux intégrer les langues n'utilisant pas l'alphabet latin (notamment les langues avec sens de lecture vertical) ;

- d'opter pour une mise en page fixe (fixed layout) qui empêche le redimensionnement du contenu et permet donc de conserver la mise en page d'origine. Cette dernière caractéristique facilite notamment la réalisation de livres numériques riches en illustrations.

Cette norme revêt une telle importance que plusieurs associations professionnelles d'éditeurs de différents pays ont décidé de devenir membres de l'IDPF afin de prendre une part plus active dans le développement de ce format. C'est le cas notamment du Syndicat national de l'édition (SNE) en France qui a mis en place au sein de son association un groupe de travail consacré aux « Normes et Standards  » dans le numérique (http://www.sne.fr/enjeux/normes-et-standards/).

I-B - Le livre électronique : ePub ou PDF ?

Le PDF est un autre format standard, sur lequel repose encore actuellement la plus grande partie de la production et de la commercialisation de livres.

L'ePub et le PDF reposent sur des logiques tout à fait différentes. Le PDF suit une logique visuelle, correspondant à la page papier. Il a initialement été pensé pour échanger des fichiers tout en préservant la mise en forme d'origine et sert aujourd'hui de base à l'impression. L'ePub est au contraire à l'origine une forme de publication en flux, s'adaptant visuellement et fonctionnellement à son support de lecture : taille de l'écran, capacités d'interaction, etc.

Cette « fluidité » du format ePub a été un frein au passage de nombreux éditeurs à l'édition électronique. Le format est pourtant aujourd'hui largement accepté et recommandé du fait des changements d'outils et d'usages de lecture. À l'instar du HTML utilisé pour les sites web, les contenus d'un livre ePub se présentent en un flux recomposable qui s'adapte aux différents écrans, lesquels vont du smartphone aux tablettes en passant par toutes les tailles d'ordinateurs. Cette particularité, qui bouscule pourtant fortement la tradition éditoriale, répond très bien à ces nouveaux usages mobiles.

I-C - Une nécessaire adaptation de la chaine de fabrication

La chaine de fabrication traditionnelle d'un livre consiste à importer un fichier bureautique (texte et images) issu d'un logiciel de traitement de texte dans un logiciel de mise en page (Scribus, InDesign, QuarkXpress, PageMaker, Publisher, etc.) pour produire un fichier PDF destiné à l'impression. Le fonds des éditeurs est ainsi principalement constitué de fichiers PDF. C'est donc à partir de ceux-ci que sont la plupart du temps produits les fichiers ePub.

Or, si le PDF et l'ePub n'ont pas du tout la même logique, ils n'ont pas non plus les mêmes soubassements techniques. Le code du fichier ePub spécifie la fonction de chaque élément dans le texte (titre, paragraphe, élément d'une liste, citation…) pour leur associer ensuite une façon de s'afficher ou de se comporter. Rien dans un fichier PDF n'indique le rôle que jouent les éléments de contenu, autrement que par leur apparence : on « voit » que tel titre est un titre de chapitre, car il est graphiquement distinct des autres. Malheureusement, contrairement à un humain qui sait implicitement distinguer un titre de chapitre du reste du texte par sa simple différence graphique, aucun logiciel ne « voit » cela par lui-même.

Dans la conversion du PDF vers l'ePub, il faut donc redonner à chaque élément du texte sa fonction. Cela peut se faire en associant aux données géométriques de la maquette une structure fonctionnelle. Mais peu de logiciels permettent de le faire de manière satisfaisante et il reste indispensable de procéder à une validation humaine page à page du résultat. Dans la plupart des cas, nous récupérons un texte brut sans aucune distinction. Tout le travail de structuration est alors à refaire.

Il faut ajouter à cela qu'un PDF peut réserver quelques surprises. Peu importe la manière dont a été géré le contenu tant qu'il apparait « comme il faut ». Ainsi, un texte visuellement linéaire peut en fait ne pas l'être et apparaitre déstructuré lorsqu'on le copie. Des contenus invisibles, camouflés dans un bloc de texte mis en blanc, réapparaîtront au milieu du texte récupéré. Les cas de déstructuration sont nombreux : notes de bas de page réparties sur deux pages, césures de fin de ligne, éléments des cellules d'un tableau éparpillés, etc.

Quelle que soit la qualité du fichier PDF considéré, et malgré le développement d'outils de récupération automatique de plus en plus performants, le PDF est donc un format peu approprié pour servir de point de départ à un processus d'édition ePub. S'il est incontournable lorsqu'il s'agit de traiter le fonds ancien, il est aussi recommandé aux éditeurs de mettre en place dès aujourd'hui des processus de fabrication qui permettront à l'avenir de produire les PDF et les ePub en parallèle et non plus successivement.

C'est pourquoi nous verrons ici comment fabriquer un ePub à partir d'un PDF, mais aussi en partant d'une source texte (OpenOffice, LibreOffice, MS Word…), du logiciel de mise en page ou en rédigeant directement dans un éditeur ePub. À vous d'évaluer chacune de ces méthodes et de voir de quelle manière elle s'insère dans votre chaine de fabrication papier, le cas échéant.

I-D - Un format ouvert

L'ePub a la particularité d'être un format libre et ouvert contrairement à d'autres formats, dits propriétaires, qui reprennent une technologie similaire. Citons ainsi le MoBi et son successeur le KF8, formats propriétaires créés ou repris par Amazon.

Un format ouvert est accessible à tous. Ses normes techniques sont connues et documentées et on peut accéder sans barrière au code du fichier. Cette particularité permet aux créateurs d'ePub de modifier et contrôler leurs fichiers comme ils l'entendent et aux informaticiens de développer des applications de lecture et d'édition des livres.

Cette ouverture technologique a un impact très important pour les éditeurs comme pour les lecteurs. Les éditeurs peuvent maîtriser leur chaine de fabrication et la qualité de leur production, à long terme. D'autre part, cette ouverture permet de construire un écosystème varié de diffusion et de distribution : personne ne détient à lui seul les clés permettant de gérer, de vendre, de lire, d'annoter les livres qui constituent le fonds propre de chaque éditeur.

Les lecteurs, de leur côté, ont a leur disposition de nombreux outils de lecture. Différentes applications, libres ou non, gratuites ou payantes, sont disponibles sur le marché pour afficher leurs fichiers, les classer, les administrer.

Le format propriétaire MoBi ne peut être lu qu'avec des applications dédiées fournies par Amazon qui possède également son propre support de lecture, le Kindle. À l'inverse, l'ePub est lisible directement (sans conversion ou installation d'applications supplémentaires) sur tous les dispositifs de lecture tels que tablettes, liseuses, smartphones, ordinateurs… à l'exception du Kindle.

La réalisation d'ouvrages numériques au format ePub s'inscrit fondamentalement dans un contexte de création et d'usages favorisant la liberté technologique et, en conséquence, la liberté commerciale. En utilisant ce format, l'éditeur comme le lecteur n'est pas contraint de dépendre d'une plateforme unique de vente, d'un seul acteur numérique du secteur ou d'un dispositif de lecture en particulier. C'est sans doute en raison de cette adaptabilité et de cette souplesse que le format ePub s'impose aujourd'hui comme un standard et est adopté par la plupart des grands fabricants et vendeurs de livres numériques.

I-E - Présentation du contenu de l'ouvrage

Cet ouvrage s'adresse principalement aux éditeurs indépendants et aux professionnels de la mise en page souhaitant s'initier à la création de livres au format ePub. L'objectif est de les accompagner sur un plan pratique dans la création de ce type de documents numériques à l'aide de logiciels libres jusqu'à les familiariser avec les éléments de code qui permettront d'en affiner la qualité et le contenu.

La fabrication d'un livre n'inclut pas la protection des fichiers au moyen de DRM (digital rights management) ou de marquages spécifiques. Ces techniques sont appliquées, le cas échéant, par les distributeurs auxquels chaque éditeur confiera son catalogue. Nous ne les aborderons donc pas dans ce livre, non plus que les aspects commerciaux et juridiques de l'édition numérique tels que le contrat de l'auteur, les licences de diffusion, etc.

Afin de répondre précisément aux enjeux actuels soulevés par le livre électronique et le format ePub en particulier, ce livre a été structuré en quatre sections :

- Créer un ePub se consacre à la méthode, comme aux limites, de la réalisation d'un ePub de la façon la plus automatique possible, c'est-à-dire sans avoir à manipuler le code des fichiers ;

- Enrichir son ePub conduit doucement le lecteur vers l'acquisition des connaissances afin de profiter pleinement des nombreuses possibilités offertes par le format ePub et de contourner les limitations de certains logiciels en éditant directement le code. De nombreuses astuces sont également développées au fil des chapitres afin d'ajouter des images, des vidéos, de la musique ou d'incorporer une fonte numérique ;

- Contrôler ses fichiers est consacré aux nombreuses vérifications à réaliser à la fin de la création du livre électronique afin d'en éprouver la qualité et l'interopérabilité ;

- Annexes. Cette dernière section dresse la liste des références utilisées pour l'écriture de ce livre, et apporte des précisions précieuses pour sa compréhension au travers d'un glossaire et de l'exposé du schéma de métadonnées de Dublin Core et les spécifications de l'ePub 3.

II - Convertir son fonds à partir de fichiers PDF

Comme nous l'avons vu en introduction, le format PDF n'est pas le format idéal comme point de départ à la création de vos fichiers ePub. Nos expériences respectives nous ont montré qu'il n'y a cependant parfois pas d'autres choix que d'en passer par là, les PDF de l'imprimeur étant souvent les seuls fichiers à votre disposition.

Cette méthode, malgré ses inconvénients, a la particularité de ne pas bousculer la chaine de fabrication papier traditionnelle, y compris pour de nouveaux ouvrages.

II-A - Quelles possibilités avons-nous ?

Autant vous le dire immédiatement, il n'existe pas, à ce jour, de logiciel (qu'il soit libre ou non) capable de convertir directement et automatiquement un fichier PDF en fichier ePub conforme aux spécifications ePub. Que ce soit du point de vue de la mise en page, aussi simple soit-elle, des enrichissements ou de la mise en forme, le résultat n'est jamais correct.

On peut, bien entendu, trouver des outils, notamment des outils en ligne, proposant ce type de conversion. Toutefois, le résultat obtenu est généralement de piètre qualité, tant sur la forme (respect de la mise en page) que sur le fond (conformité aux spécifications ePub). En choisissant ce type d'outil, vous devrez, à coup sûr, retoucher votre fichier ePub de manière approfondie et cela engendrera bien souvent une perte de temps importante, à l'inverse de l'effet recherché.

Cependant, si vous souhaitez réaliser quelques livres numériques au format ePub à partir de fichiers PDF, nous vous proposons dans ce chapitre de le faire avec Calibre, une solution simple qui propose la conversion. Le résultat obtenu sera imparfait et nécessitera des retouches page à page du texte au moyen, par exemple, du logiciel Sigil (pour en savoir plus sur le fonctionnement de Sigil, vous pouvez vous reporter au chapitre « Créer un ePub avec Sigil »).

II-A-1 - La conversion automatique avec Calibre

Calibre est un logiciel libre développé pour gérer une bibliothèque de livres numériques et destiné aux lecteurs pour un usage privé. Il permet également de lire des livres numériques de tous formats, de les convertir dans d'autres formats, dont l'ePub, et d'enrichir les métadonnées de ces ouvrages, notamment à partir de sources externes.

Dans ce chapitre, nous nous attacherons uniquement à la fonction de conversion du logiciel.

1. Installez Calibre et lancez-le.

2. Cliquez sur

pour ouvrir votre fichier PDF.

3. Sélectionnez votre fichier et cliquez sur

pour lancer la conversion.

4. Vous voyez apparaitre une nouvelle fenêtre qui vous permet de paramétrer différentes options.

5. Nous allons nous contenter ici d'une configuration basique en laissant les options par défaut et en choisissant le format d'entrée PDF (en haut à gauche) et le format de sortie ePub (en haut à droite).

6. Si vous constatez que le fichier obtenu n'est pas valide, les messages d'erreur vous indiqueront quels fichiers sont à retoucher.

7. Cliquez sur le bouton [OK] pour lancer le processus de conversion.

8. Une fois la conversion terminée, un clic droit sur le titre du livre vous permettra d'enregistrer votre fichier ePub : enregistrer sur le disque > enregistrer seulement le format ePub sur le disque.

9. Pour vérifier la validité de votre fichier ePub, utilisez le logiciel Sigil ou l'outil ePubCheck comme indiqué dans le chapitre Vérifier la validité de votre fichier.

Vous pourrez bien entendu affiner la conversion automatique PDF vers ePub en jouant avec les différentes options de conversion offertes par Calibre pour améliorer le résultat final. Sachez toutefois que vous aurez systématiquement à retoucher le code pour obtenir un fichier correct et conforme aux spécifications ePub (voir chapitre Mieux comprendre l'ePub).

Nous avons choisi comme exemple un livre du domaine public : Candide, ou l'Optimisme de Voltaire (le titre est bien adapté à ce chapitre). Le fichier PDF choisi ici n'est pas exactement le reflet d'un « PDF Imprimeur », car il a été généré automatiquement à partir de sources XML, et non à partir d'un logiciel de mise en page. Il nous donne cependant une bonne idée des limites de la conversion automatique de manière générale, et de l'outil de conversion de Calibre en particulier.

Calibre peut vous être utile pour faire vos premiers pas et pour comprendre le principe de la conversion (notamment en approfondissant les options de cette fonction). Cependant il n'est pas, rappelons-le, destiné à un usage professionnel.

II-A-2 - La conversion semi-automatisée

La conversion « semi-automatisée » est intéressante pour un grand nombre de fichiers PDF à traiter. Elle demande une réelle expertise informatique, car elle demandera l'utilisation de plusieurs outils ou le développement d'une chaine de traitement spécifique.

Nous évoquons ici les étapes de la conversion semi-automatisée pour vous donner une idée générale de ce que vous aurez à voir avec un développeur (qu'il soit externe ou interne à votre structure) :

- extraction du texte et des images à partir du fichier PDF (pdftotxt, Adobe Acrobat Pro…) ;

- identification des différentes parties du livre (sections, chapitres, paragraphes…) dans un logiciel de traitement de texte tel que OpenOffice.org ou LibreOffice ;

- automatisation de la génération des fichiers XHTML (HtmlTidy…) ;

- automatisation de la génération des fichiers spécifiques au format ePub (.opf, etc.) et du fichier ePub final (Sigil…) ;

- contrôle qualité.

II-A-3 - La conversion manuelle

La dernière possibilité de « conversion » à partir d'un fichier PDF consiste en fait à extraire le texte à l'aide d'un simple copier/coller (où à l'aide d'un outil de conversion tel que pdftotxt) et les images et à créer le fichier ePub. Pour créer un fichier ePub à partir du texte, vous pouvez vous référer aux trois chapitres suivants.

II-B - Conclusion

Pour convertir votre fonds éditorial existant au format ePub, vous avez donc plusieurs possibilités, sachant que si vous décidez de le faire vous-même, il vous faudra plus ou moins de temps en fonction de vos ressources techniques.

III - Créer un ePub à partir d'un traitement de texte

Pour créer un ePub, la solution la plus simple est d'exporter votre travail écrit avec un traitement de texte de la suite bureautique OpenOffice ou LibreOffice. La procédure est très simple : installez une des deux extensions que nous allons présenter dans ce chapitre, ouvrez votre fichier dans Writer/Texte et exportez votre fichier.

La méthode que nous allons décrire ici implique deux processus différents. D'une part la fabrication papier depuis un logiciel de mise en page, d'autre part la fabrication électronique depuis le logiciel de traitement de texte. Cela implique que les corrections (orthotypographiques et/ou corrections d'auteur) apportées aux épreuves du livre au fur et à mesure de sa fabrication devront être intégrées dans le logiciel de mise en page et dans l'éditeur de texte. Ce travail de report de corrections pouvant être conséquent, il faut avoir conscience de cette contrainte et évaluer l'apport de cette méthode dans sa chaine de fabrication.

III-A - Les extensions pour exporter un ePub

Il existe deux extensions qui vous permettent d'exporter votre fichier .ODT vers un livre ePub :

- Writer2ePub qui vous offre une interface très simple d'exportation ;

- Writer2Latex (W2X) qui contient l'exportation vers plusieurs formats dont HTML (writer2xhtml) et ePub. Il vous permet d'appliquer de nombreux réglages pour optimiser les caractéristiques de l'ePub généré.

III-A-1 - Writer2ePub

Writer2ePub peut être téléchargé à partir du dépôt d'extensions d'OpenOffice (http://extensions.openoffice.org/en/project/Writer2ePub).

Pour installer Writer2ePub, démarrez Office, lancez le gestionnaire d'extensions [Outils > Gestionnaire des extensions] et après avoir cliqué sur le bouton [Ajouter], activez l'extension « writer2ePub.oxt ».

Une fois l'extension installée, vous devriez avoir trois nouveaux boutons dans la partie gauche de la barre principale représentant le logo ePub.

Pour tout nouveau fichier créé ou ouvert, vous aurez une nouvelle barre d'outils avec trois boutons qui vous permettent de configurer les métadonnées et de lancer l'exportation.

III-A-2 - Writer2xhtml

Writer2xhtml peut être téléchargé de http://writer2latex.sourceforge.net/ :

- il vous faut télécharger le paquet Writer2LaTeX 1.2 qui contient entre autres Writer2ePub (la version 1.0.2 que vous trouvez sur le site des extensions d'OpenOffice ne prévoit pas l'export vers ePub) ;

- Writer2xhtml peut être utilisé avec OpenOffice.org 3.0 et LibreOffice 3.3 (ou plus récent) ;

- Java 5 doit être installé ;

- l'interface existe uniquement en anglais.

Pour installer Writer2xhtml décompressez le fichier .zip que vous venez de télécharger, démarrez Office, lancez le gestionnaire d'extensions ([Outils > Gestionnaire des extensions]) et, après avoir cliqué sur le bouton [Ajouter], activez l'extension « writer2xhtml.oxt ».

Désormais, vous aurez dans [Fichier > Exporter…], parmi les types de fichiers disponibles, le format .ePub.

III-B - Préparez le document à la cible

Dans les paragraphes qui suivent, nous allons vous donner quelques conseils préparatoires pour faciliter à la fois :

- le travail dans OpenOffice / LibreOffice ;

- l'exportation en ePub ;

- la retouche de l'ePub après sa création dans un logiciel dédié comme Sigil.

Il s'agit de conseils généraux qui peuvent en général s'appliquer quelle que soit l'extension choisie. Parmi ces conseils, vous pourrez appliquer en priorité ceux qui vous semblent le plus important dans vos productions, car ils ne sont pas normatifs. Nous verrons ensuite spécifiquement les options de chaque extension pour l'exportation.

III-B-1 - Affichage en mode web

Comme votre texte LibreOffice / OpenOffice devra être intégré dans un fichier ePub et que celui-ci n'a pas de dimension, il est inutile de travailler avec l'aperçu du résultat imprimé qui simule une page A4 à l'écran. Utilisez le menu Affichage > Mise en page web, pour voir votre contenu en mode flux.

Dans l'affichage en mode web, le texte est réadapté lorsque vous changez la taille de la fenêtre de document ce qui est parfait pour faire des tests de comportement selon la taille du périphérique de lecteur.

III-B-2 - Éviter la mise en forme directe du texte

Un conseil commun lors de la préparation de la publication est de veiller à garder une certaine sobriété. Cette recommandation est particulièrement importante lorsque vous visez la création d'œuvres ePub : votre ePub sera lu sur des dispositifs très disparates et vous n'avez qu'un contrôle limité sur la façon dont il sera affiché. N'abusez donc pas des polices, des tailles, des couleurs, des styles, etc.

Pour vous assurer que seuls les formats que vous avez décidé d'appliquer seront exportés, il est conseillé avant de commencer votre travail de formatage de lancer la commande [Format > Effacer le formatage directe]. Vous allez revenir au style standard pour tout le document en perdant le formatage manuel, mais en gardant les attributs du style standard (police, alignements, etc.). Ce formatage avec retour à zéro est un peu intimidant à utiliser. Essayez-le au moins une fois sur un texte de quelques lignes.

III-B-3 - Préférez les styles

Une autre bonne habitude est de systématiser l'emploi des styles au détriment du formatage manuel utilisé trop régulièrement dans le traitement de texte classique.

La fenêtre Styles et formatage (F11) permet de modifier de façon pointue les attributs de chaque style et d'en créer des nouveaux.

Mais de combien de style avez-vous besoin ? Si l'on reste dans le domaine de la littérature, la moyenne devrait se situer entre dix et quinze. Par exemple, titre, sous-titre, corps de texte, citation, contenu de tableau, notes de fin, etc. OpenOffice / LibreOffice fournissent déjà des styles pour la majorité de ces catégories. Ils sont très simples à trouver et à utiliser :

1. Affichez la fenêtre [Styles et formatage] en allant dans le menu Format > Styles et formatage ;

2. Sélectionnez le texte sur lequel vous souhaitez appliquer un style, par exemple un titre ;

3. Dans la fenêtre [Styles et formatage], cliquez sur la première icône en haut nommée [Styles de paragraphe]  puis en bas, déroulez la liste pour obtenir [Tous les styles] ;

4. La liste principale de la fenêtre doit s'allonger, cherchez [Titre] et cliquez simplement dessus pour l'appliquer au texte sélectionné.

Regardez bien les styles de paragraphes fournis par le logiciel, faites votre sélection puis appliquez-les selon vos souhaits. Si l'aspect qu'ils ont ne vous convient pas, continuez à utiliser les styles qui conviennent au contenu, mais modifiez simplement leur aspect en cliquant avec le bouton droit sur leur nom et en choisissant [Modifier].

Une petite astuce : pour appliquer plus rapidement des styles plus adaptés à votre cible - l'ePub - vous pouvez utiliser la commande [Édition > Rechercher/remplacer] pour appliquer des styles ou autres attributs de formatage.

Pour appliquer un changement non pas à tout un paragraphe ou titre, mais seulement à une partie de celui-ci, valorisez l'utilisation des styles de caractères qui vous permettront ensuite de retoucher plus facilement votre document, si besoin. Le fonctionnement est le même qu'avec les styles de paragraphe, hormis que le style de caractère ne s'applique strictement qu'à la partie du texte sélectionnée et que ceux-ci sont listés séparément. Vous y accéderez en cliquant sur .

Une fois vos styles utilisés, vous pouvez alléger la liste des styles pour travailler plus vite en passant dans la liste [Styles appliqués] de la fenêtre [Styles et formatage].

III-B-4 - Les marges et les espaces

On a tous tendance, pour ajuster une mise en page, à rajouter des sauts de paragraphe vides en appuyant plusieurs fois sur la touche [Entrée]. Il s'agit d'une mauvaise habitude qui, dans le cas de l'export vers ePub, conduit à une transcription disgracieuse. Vous êtes donc invités à utiliser les espacements au-dessus et en dessous des paragraphes dans les styles, notamment pour les titres, les légendes des images et les tableaux.

Pour forcer un saut de page, utilisez la commande [Insertion > Saut manuel].

Lors du contrôle des espacements, vous pouvez activer l'option [Affichage > Caractères non imprimables] pour voir tous les caractères que vous avez insérés.

Enfin, dans ses options d'exportation, Writer2xhtml vous permet d'éviter que des paragraphes vides soient exportés dans le fichier ePub.

III-B-5 - Insérer des images

Toutes vos images enregistrées aux formats :

- JPEG et GIF pour les photos ;

- PNG pour les dessins ou logos,

sont utilisables dans vos documents OpenOffice / LibreOffice et seront exportés en ePub.

Et le SVG ? Il fait partie des spécifications OPS 2.0 et son emploi est possible dès à présent avec LibreOffice. On peut aussi utiliser un conteneur SVG par exemple pour l'insertion d'images standard. Ce format n'est cependant pas encore supporté par toutes les liseuses et pourra poser des problèmes ultérieurs de conversion vers d'autres formats (MoBi…).

Compte tenu des capacités des liseuses, la résolution d'une image devrait se situer entre 150 et 170 dpi. Cette valeur va bien sûr varier ensuite selon les tailles d'écran.

À titre de compromis, pour les images plein écran, il est possible de choisir une taille d'image réelle proche de 600 × 800 pixels. Les images plus grandes ralentiront le processus d'exportation sans gain pour le lecteur. Au pire, elles ne s'afficheront même pas sur beaucoup de liseuses, car étant considérées comme trop volumineuses.

Il faut donc parfois rétrécir leur taille en utilisant un logiciel de traitement d'images comme GIMP (menu Image/Échelle) ou autres. Pour plus d'informations à ce sujet, vous pouvez vous reporter au manuel GIMP à la page http://fr.flossmanuals.net/initiation-gimp/ch008_changer-les-dimensions.

Cela prend quelques secondes par image, mais vous pourrez ainsi contrôler plus finement l'affichage :

III-B-6 - Les tabulateurs, les listes et les tableaux

L'utilisation de tabulations pour créer une présentation tabulaire ne pouvant pas être reproduite dans le format ePub, vous allez devoir vous rabattre sur des listes ou des tableaux.

Mais soyez parcimonieux aussi avec les listes et les tableaux ! Beaucoup de vos lecteurs vont lire votre œuvre sur des écrans de taille limitée et des listes trop longues ou des tableaux trop complexes sont difficiles à lire.

Sachez aussi que dans le fichier ePub vous ne retrouverez pas l'assortiment complet des puces fantaisie d'Office.

III-B-7 - Hyperliens et repères de texte

Les hyperliens, comme on pouvait bien s'y attendre, utilisant comme cibles des repères de texte (créés avec le menu Insertion : repère de texte) ou des images sont transcrits fidèlement, tandis que les renvois et autres champs de références complexes sont à éviter.

III-C - La structure du document

III-C-1 - Les métadonnées

Les métadonnées sont les données bibliographiques et descriptives qui accompagnent votre document. Vous pouvez les ajouter :

- soit à partir de l'interface de Writer, avec l'appel au menu Fichier > Propriétés, voire en utilisant l'onglet [Propriétés personnalisées] ;

- soit à partir de la fenêtre de dialogue de W2X ou W2ePub.

Les champs Titre et Auteur des métadonnées qui apparaitront dans vos liseuses en font partie.

III-C-2 - La table des matières

Dans le traitement de texte classique et les PDF, vous allez demander à Writer de créer pour vous une table des matières s'appuyant sur les styles de paragraphe. L'export vers ePub utilise le même mécanisme, mais vous n'avez pas besoin d'insérer la table des matières dans votre document : elle sera générée automatiquement et insérée dans un fichier spécifique à l'intérieur de l'ePub. Vous devez simplement veiller à ce que la structure de votre document telle qu'elle apparait dans le navigateur (F5) corresponde à la table des matières que vous souhaitez voir apparaitre dans l'ePub.

III-C-3 - Valeurs relatives dans Writer

Imaginons que vous ayez fixé une largeur de 50 % à une image de votre ePub. Si vous désirez l'utiliser sur un iPad (par exemple), dont la largeur de page serait de 12 centimètres et les marges de 5 millimètres de part et d'autre, la largeur de l'image sera réadaptée au nouveau format de page et mesurera exactement : 120 - (2 x 5) / 2 = 55 millimètres.

W2X affiche une image en plein écran si elle répond aux deux conditions suivantes :

- les dimensions de l'image doivent avoir un rapport de 3 × 4 (exemple, et au minimum 600 × 800 px) ;

- l'action de W2X créant une image plein écran (sans aucune marge) est déclenchée à partir d'un pourcentage de largeur fixé par l'utilisateur dans la fenêtre de dialogue de W2X (voir encadré).

Produire l'ePub avec Writer2ePub

Maintenant que les préparatifs sont effectués, il ne reste plus qu'à produire l'ePub proprement dit. Dans LibreOffice Writer, vérifiez que vous avez bien enregistré votre document et cliquez sur le premier bouton Writer2ePub.

Writer2ePub : métadonnées et couverture

Les champs de ce premier écran, par défaut Document Metadata, appellent peu de commentaires. Il est préférable de tous les renseigner.

En ce qui concerne la couverture, vous avez la possibilité de :

- utiliser la première image du document. Si vous avez mis une image en première page, ce sera celle-ci, mais ce peut aussi bien être une image située plus loin dans votre document. Avec cette option vous contrôlez donc difficilement l'aspect de la couverture ;

- sélectionner [Aucune image] fera simplement commencer le texte en première page, sans couverture. Le texte aura l'aspect tel que défini dans le fichier LibreOffice. Cependant, cette option n'est pas conseillée pour les documents que vous souhaitez rendre publics puisque la première page du document est souvent utilisée par les gestionnaires de librairies électroniques comme icône d'aperçu. Vous rendriez votre document difficilement reconnaissable ;

- enfin, [À partir du fichier] permet de charger une image préparée à l'avance soit par vos soins dans un logiciel comme GIMP ou Inkscape, soit par un prestataire externe.

Writer2ePub : préférences d'exportation

Vous pouvez ensuite cliquer sur le bouton [Document Preferences] pour personnaliser le comportement de Writer2ePub quant au contenu :

Index

Si la case [Ajouter l'index au fichier ePub] est cochée, la table des matières sera ajoutée dans le document. Le champ [Index Title] permet de contrôler le texte qui apparait au-dessus de l'index, par exemple « Table des matières ». Nous rappelons que la table des matières ne doit pas être placée dans le contenu comme page puisque les lecteurs de fichiers ePub mettent toujours à disposition cette table à l'aide d'un bouton qui y donne un accès permanent.

File Split

Le fichier ePub étant un assemblage de fichiers, W2E a besoin d'indications pour savoir où et comment effectuer les scissions. La méthode adoptée ici est basée sur :

- les styles, en cochant les cases correspondantes à Heading 1, 2 ou 3 (Titre 1, 2 et 3). Dans le cas montré dans la capture suivante, seuls les 2 premiers niveaux de titre sont utilisés ;

- selon le poids de la page [Splt files every] qui va découper votre document ePub en parties dès que la partie en cours atteint la limite mentionnée. Cette méthode est évidemment moins utile pour le lecteur final, car elle ne suit pas la structure du contenu textuel.

Images

Par défaut, Writer2ePub va transformer les images pour alléger le fichier ePub, leur taille, en particulier, est réduite pour répondre aux besoins de la lecture sur périphérique mobile et leur enregistrement se fait au format JPEG. Si vous cochez la première case, les images originales seront conservées à leur taille.

À moins que vous n'ayez coché la case précédente, vous pourrez définir la qualité de compression appliquée aux images produites automatiquement par le plugin.

Enfin, [Convert images in Black&White] va convertir toutes les images en niveaux de gris. Cette option n'est utile que dans les contextes où vous souhaitez diffuser votre document pour des périphériques monochromes (Kobo…, éventuellement dédié à des impressions).

Fonts

Les paramètres de taille et d'intégration de fontes numériques sont plus problématiques qu'autre chose puisque pour diffuser une fonte numérique, il faut avoir les droits ad hoc et les fontes numériques mentionnées dans la liste ne sont pas libres. De plus le lecteur a souvent la possibilité de modifier les fontes dans son logiciel de lecture. Il nous semble donc inutile d'intégrer des polices aussi standard qui alourdiront le fichier sans réel avantage.

Cliquez alors sur OK dans la partie extrême gauche de la fenêtre. Attendez un peu. Writer2ePub va éventuellement afficher une fenêtre indiquant les styles qu'il ignorera, puis il continuera dès que vous validerez jusqu'à aboutir à la fenêtre de rapport qui doit mentionner « Export en ePub complété ». Le fichier ePub est créé dans le même dossier que le document ayant servi à le générer, et porte le même nom, mais avec l'extension .ePub.

III-D - Produire l'ePub avec Writer2Latex

La production d'ePub à partir de Writer2Latex est légèrement différente. Il faudra aller chercher le menu de lancement dans Fichier>Exporter puis choisir ePub dans la liste des formats de fichier disponible. Mentionnez éventuellement le nom et le dossier de destination.

La fenêtre d'exportation comporte plusieurs paramètres qu'il faudra renseigner.

III-D-1 - Gérer l'export des images avec Writer2latex

Pour définir la taille finale des images, utilisez le réglage [Image Size]. Le réglage recommandé est [Use relative size], car il laisse en particulier l'image s'adapter aux tailles d'écran.

III-D-1-a - Définir l'exportation du texte

En ce qui concerne le texte, les paramètres par défaut sont intéressants. Le plugin tente de garder tant que possible les styles que vous avez définis, il utilise des valeurs relatives conseillées pour les affichages à l'écran, car plus adaptables. En ce qui concerne les mises à l'échelle [scaling] de texte et de colonnes, ces paramètres sont de toute façon modifiables par le lecteur et dépendent finalement des capacités du périphérique de lecture.

En revanche, les options [Ignore hard line breaks], [Ignore empty paragraphs] et [Ignore double spaces] sont très intéressantes, car elles permettent de « nettoyer » automatiquement des erreurs de saisie fréquentes.

Enfin, vous pouvez ajouter automatiquement les notes utilisées dans votre document LibreOffice. La relation entre l'appel de note et la note demeure.

III-D-1-b - Table des matières

La section [navigation table] permet de choisir les niveaux de titre à inclure dans la table des matières. Il suffit de dérouler pour choisir. Cependant, tous les lecteurs ePub ne gèrent pas bien l'affichage des différents niveaux de titre et, à choisir trop de niveaux de titre, il est possible d'aboutir à des tables des matières trop longues pour être facilement utilisables. Il faut donc rester prudent et trouver un compromis.

III-D-1-c - Structure du document ePub

Enfin, il est important de bien définir les critères d'exportation propres au format ePub.

D'abord, mentionner comment Writer2Latex va procéder au découpage du document en parties comme spécifié dans le standard ePub (voir chapitre dédié). Deux paramètres principaux sont proposés :

- découpage selon les niveaux de titre (comme dans writer2ePub). Dans ce cas, il suffit de dire quel niveau doit engendrer la découpe ;

- découpage selon les sauts de page. Remarquez que ces sauts de page auront pu être saisis manuellement à l'aide du menu Insérer > Saut manuel (qui permet d'avoir un contrôle exact des découpes) ou dans les styles souhaités (s'ils sont différents des niveaux de titre, ce qui est cependant rare).

Vous pourrez alors cliquer sur le bouton [Edit document properties] pour afficher la fenêtre permettant de saisir les métadonnées. Cette fenêtre est plus riche que celle de Writer2ePub et intègre une bonne partie des données Dublin Core*, y compris dans les attributs optionnels que l'on rencontre par exemple dans la description du rôle des auteurs lorsque l'on clique sur le bouton [Add…] pour en ajouter.

À la fin, cliquez sur [OK] dans la fenêtre de métadonnées pour en sortir puis sur [Export].

IV - Du logiciel de mise en page au fichier ePub

Les logiciels de mise en page sont des outils de référence pour bon nombre d'éditeurs, et sont utilisés pour la réalisation de la plupart des travaux graphiques pour divers besoins de communication (catalogues, brochures…). Ce sont de ce fait, des outils essentiels de la chaine de production de l'imprimé et sont par conséquent bien connus des professionnels de ce secteur. Ainsi, même si la mise en page ePub peut difficilement être comparée à la mise en page papier/PDF, la demande est forte pour obtenir un fichier ePub à partir d'une réalisation existante en mise en page. La plupart des logiciels de mise en page produisent donc maintenant des fichiers ePub sur demande. Aucun n'étant cependant nativement conçu à cette fin, il est souvent nécessaire de retoucher ces fichiers après coup, bien que ceux-ci soient valides et fonctionnels.

IV-A - Une exportation, pas un enregistrement

À l'inverse de la production d'ePub à partir de PDF qui est assez approximative, le fait de produire l'ePub à partir du logiciel qui a servi à créer le document laisse un peu plus de marge de manœuvre et de contrôle. Il suffira d'exporter la mise en page, comme on le fait régulièrement pour le PDF. Mais une exportation n'est pas un enregistrement, elle implique des transformations, voire des pertes. Il va donc être important :

- d'adopter une méthode de travail spécifique à une publication à plusieurs formats (PDF, ePub…) ;

- de bien préparer l'export ;

- d'anticiper sur les étapes de production qui suivront, comme la reprise du fichier ePub produit dans un logiciel dédié.

Ce dernier point en particulier est important, car à l'heure actuelle il est presque impossible de se contenter de l'export d'un logiciel de mise en page. Il y a souvent de nombreuses retouches et finitions à faire, sujet qui sera traité dans la section Enrichir son ePub.

Dans tous les cas, si vous possédez la source textuelle au format .txt, .html, .docx ou .odt (ou autre) demandez-vous s'il n'est pas préférable de partir de cette source plutôt que du document mis en page qui a une logique beaucoup plus statique en termes de présentation que les outils bureautiques et électroniques.

IV-B - Créer un ePub avec Scribus

Scribus est le logiciel libre de mise en page le plus répandu. Il est utilisé par de nombreux graphistes, des institutions et entreprises et est recommandé par l'Association francophone des graphistes libres (AFGRAL). Dans ce chapitre nous allons présenter les étapes de production d'ePub à partir de Scribus. Cette fonctionnalité est disponible à partir de la version 1.6 de Scribus qui n'est pas encore publique au moment où nous écrivons ces lignes. Si vous souhaitez créer des ePub à partir d'autres logiciels de mise en page, reportez-vous aux documentations de vos logiciels.

Si vous ne connaissez pas Scribus et que l'aventure vous tente, lisez le manuel d'initiation à Scribus, http://fr.flossmanuals.net/scribus/introduction/.

IV-B-1 - Ce qui est exporté depuis Scribus

Nous imaginons ici que vous avez déjà réalisé votre mise en page, vos textes et vos images sont placés. Les premiers points à prendre en compte sont les éléments qui ne vont pas être conservés lors de l'export :

- une bonne partie de la position des éléments, car la mise en page ePub n'est généralement pas fixe, les éléments seront donc préparés pour s'adapter ;

- les formes géométriques décoratives (à l'exception des groupes composés uniquement de formes géométriques qui seront exportés comme dessins vectoriels en SVG) ;

- les images qui ne sont pas au format .jpg ou .png ;

- les formes géométriques et décoratives ;

- les éléments placés sur les gabarits.

Renseigner les informations bibliographiques sur le livre

Avant d'exporter, si vous souhaitez que votre livre soit bien pris en compte et référencé au niveau bibliographique, il est important de bien saisir les informations qui permettront de l'identifier correctement dans les logiciels de traitement ou dans les logiciels de gestion de bibliothèque ePub de vos lecteurs. Les informations que Scribus met à votre disposition sont celles utilisées par la Bibliothèque nationale de France et d'autres structures.

Pour cela, vous pourrez renseigner les différents champs placés dans : Fichier > Réglage du document… > Informations sur le document.

Vous avez alors deux onglets contenant divers champs que vous pouvez remplir à vos souhaits. Il s'agit des métadonnées.

Les champs du premier onglet appellent peu de commentaires, ce sont les champs essentiels à bien saisir. Ils sont considérés comme obligatoires par la plupart des distributeurs/diffuseurs.

Titre

Correspond en général au titre principal du document tel que mentionné en couverture.

Auteur

Nom, prénom de la personne à l'origine du document, en général l'auteur.

Sujet

Mentionne sous forme de mots clefs ou d'expression les thèmes abordés dans le document.

Description

Peut être un résumé du document, éventuellement la table des matières ou tout texte décrivant le contenu.

Dans ce second onglet, des champs supplémentaires apparaissent et ils seront plus ou moins importants selon les cas. Mais de manière à faciliter votre référencement ou améliorer les fonctions de recherches, nous vous conseillons d'en saisir le maximum :

Publisher

Mentionne le nom de l'éditeur ou de la structure qui publie le document.

Contributors

Doit contenir le nom des personnes ayant contribué à l'ouvrage. Il est éventuellement possible de mentionner le rôle de chaque contributeur.

Date

Correspond à la date de publication qui peut être écrite soit sous la forme de l'année (2012) soit sous la forme ISO 8601 « AAAA-MM-JJ ». Dans le cadre d'une publication officielle, ce champ est obligatoire et représente une édition par rapport à une autre dans les règles bibliographiques. Elle est particulièrement importante pour les magazines, catalogues qui sont publiés de façon régulière.

Type

Renseigne sur le type de document produit. Une liste de 12 valeurs par défaut sont reconnues au niveau international et peut servir de base à votre saisie : collection, dataset, event, image, interactive resource, moving image, physical object, service, software, sound, still image, text.

Format

Peut être la dimension du support (cas d'un livre papier) ou le type mime. Dans le cas d'ePub, le type mime est application/ePub+zip.

Identifier

Doit être un identifiant unique comme une URL ou un ISBN. Il est considéré comme obligatoire surtout dans le cas d'une publication déclarée.

Source

Utile dans le cas où le document est un extrait. On l'utilise aussi parfois pour mentionner le logiciel source.

Langue

Donne la langue dans laquelle le document est écrit. La langue est écrite sous forme abrégée : fr pour français, conformément à la norme ISO 639-2b.

Relation

Si ce document est relié à un autre document, cette ligne sert à mentionner le plus clairement possible cette relation.

Coverage

Décrit l'espace spatial et temporel du contenu de l'ouvrage, par exemple : France, XIXe siècle.

Rights

Définit les droits applicables au document : copyright, droits d'auteurs, domaine public, Creative Commons, GPL… Cet élément est considéré comme obligatoire par la Bibliothèque nationale de France.

Une fois ces informations saisies, vous êtes prêt à produire votre ePub.

IV-B-2 - Exporter en ePub à partir de Scribus

La seconde étape consiste donc en l'exportation proprement dite. Avant de passer à la fenêtre qui permettra de produire le fichier, il est important de comprendre comment travailler dans son document. En effet, l'exportateur va tenter de convertir les textes et images et renseigner automatiquement une grande quantité d'informations spécifiques au format ePub. Parmi ces informations on trouve, par exemple, la table des matières que l'on retrouve dans les logiciels de lecture et qui diffère parfois d'une éventuelle table des matières interne au document lui-même.

Pour tout cela, Scribus va parcourir votre mise en page et prendre en compte ces différents critères :

- les cadres liés seront exportés en un seul bloc ;

- si votre mise en page contient plusieurs cadres par page, Scribus devra comprendre quel cadre constitue le début du texte et lequel constitue la suite, jusqu'à la page suivante. Le principe retenu est que le cadre situé le plus en haut à gauche est considéré comme le début du texte, puis il descend dans le sens de lecture. Cela semble parfaitement naturel, mais pourra parfois s'avérer inapproprié. Il faudrait dans ce cas, noter les emplacements problématiques pour faire une correction a posteriori telle que décrite dans la section Enrichir son ePub ;

- si votre mise en page contient des images, le problème de la relation entre le texte et les images se pose, en particulier en termes de positionnement. Scribus considère que l'ePub est prévu pour s'adapter au support. Dans ce contexte, le positionnement exact n'est pas de mise. Il séparera la page verticalement en deux et placera d'abord les images positionnées dans la première moitié dans Scribus avant le texte et les autres en seconde partie après le texte de la page ;

- chaque section dans le document Scribus est également exporté en tant que section aussi dans le fichier .ePub ;

- la taille des images est définie en fonction de l'espace qu'elles occupent dans la page. En effet, l'affichage sur des écrans de petite taille comme les téléphones mobiles rendant incongru la préservation de chaque détail de positionnement et d'échelle, Scribus exporte en pleine largeur les image dépassant en largeur ou en hauteur la moitié de celle de votre page. Pour les autres, la proportionnalité est conservée. Si ces paramètres ne vous conviennent pas, il faudra retoucher à la mise en page de l'ePub dans un éditeur comme Sigil ;

- Scribus va aussi tenter de comprendre la structure de votre texte pour exporter les titres et autres mises en forme au mieux. Cette détection est grandement facilitée si vous avez utilisé des styles de paragraphe. Dans tous les cas, nous vous conseillons l'utilisation de style de paragraphe, mais aussi de style de caractère, car elles facilitent grandement la retouche du fichier a posteriori si elle est nécessaire.

Pour lancer l'export, il suffit d'aller dans le menu Fichier > Exporter > ePub. Il affiche alors cette fenêtre :

Export vers :

Permet de choisir le dossier et le nom dans lequel le fichier ePub doit être créé.

Plage

Laisse choisir les portions du document à exporter. L'option [Section actuelle] ne fonctionne que si des sections ont été définies dans les Réglages du document. Sinon ce réglage est identique à l'option [Toutes les pages]. Enfin, pour définir l'export de certaines pages, il suffit de lister les numéros de page séparés par des virgules (1,10 = 1 et 10 seulement) ou par un tiret dans le cas d'un ensemble de pages successives (1-10 = de 1 à 10).

Options de texte

Si [Garder les couleurs du texte] n'est pas cochée, Scribus ignorera les couleurs appliquées au texte. Il est souhaitable de désactiver cette option quand la couleur du texte sert uniquement à le rendre lisible, lorsqu'il est superposé à des éléments qui ne seront pas exportés. [Garder les polices] permet de préserver les mises en forme directes ou définies dans des styles et d'incorporer la police dans le fichier ePub. Vérifiez que vous possédez les droits de diffusion de police avant de cocher cette case ou remplacez votre police de document par une police standard ou libre (si vous avez utilisé la propriété [Basé sur] des styles, cela sera très facile à changer).

Options d'image

Si l'option [Redimensionner les images] est cochée, Scribus redimensionnera les images supérieures à la taille maximale mentionnée dans le champ [Largeur max en points].

Il suffit alors de cliquer sur [Export]. Le fichier ePub sera créé. Nous vous conseillons alors d'effectuer les changements et contrôles nécessaires.

V - Créer un ePub avec Sigil

Sigil est un logiciel libre de création/modification de fichiers ePub. Il s'agit d'un éditeur dit WYSIWYG (What You See is What You Get), c'est-à-dire que vous voyez directement à l'écran à quoi ressemblera l'aspect final du fichier sur lequel vous travaillez. Il respecte totalement les spécifications ePub 2 et est disponible sur http://code.google.com/p/sigil/  pour les systèmes Linux, Mac et Windows.

Créer ses fichiers ePub avec Sigil est une approche totalement séparée de la production papier puisqu'elle ne permet pas de produire simultanément un PDF imprimeur. Elle est donc pertinente dans le cas d'une édition exclusivement électronique ou dans une démarche de modification d'un ePub créé ailleurs (depuis un éditeur de texte ou un logiciel de mise en page papier).

Nous vous présentons ici les fonctions essentielles du logiciel et vous invitons, pour aller plus loin, à consulter la documentation officielle du projet.

V-A - Par où commencer ?

Avec Sigil, vous pourrez :

- créer de nouveaux documents au format ePub ;

- retravailler un livre ePub existant ;

- importer des fichiers TXT ou HTML dans votre projet ePub.

Tous les éléments ouverts ou ajoutés au projet de livre apparaissent à gauche dans le navigateur. Ils respectent l'ordre dans lequel apparaitront les fichiers HTML de votre ePub. Vous pouvez les déplacer à loisir.

Le [Navigateur du livre] contient cinq dossiers pour le travail de mise en page :

- Texte : contient le texte à mettre en page qui sera réparti en plusieurs sections ;

- Styles : contient les feuilles de style qui seront créées au cours de la mise en page comme dans les autres logiciels de mise en page ;

- Images : contient toutes les images qui seront intégrées dans le livre ;

- Polices : contient toutes les polices de caractères qui seront utilisées dans le livre ;

- Divers : contient les fichiers multimédias.

Cette structure de dossier n'est pas fixe et peut être adaptée, mais elle fait référence pour la majorité des ouvrages et s'y tenir facilite le travail.

V-A-1 - L'interface

Sigil possède une interface assez simple et pratique du fait qu'il est très proche d'un logiciel de traitement de texte standard, mais simplifié à l'essentiel. Pour des usages courants et des contenus simples, la prise en main de Sigil est donc rapide.

L'écran principal est divisé en 3 fenêtres. La fenêtre [Navigateur du livre] utilisée pour accéder à tous les fichiers de l'ePub est située à gauche, une fenêtre plus grande se trouve au centre permettant d'éditer et de voir le contenu du livre, enfin la troisième fenêtre située à droite contient la table des matières du livre. Pour la faire apparaitre, il faut cliquer dans le menu Vue > Table des matières.

Sous la barre de menu usuelle : Fichier, Édition, Recherche, Affichage, Fenêtre, Aide et les icônes que nous connaissons : Nouveau, Ouvrir, Enregistrer, Enregistrer sous, Annuler, Restaurer, Couper, Copier, Coller, Rechercher/Remplacer, nous allons nous attarder sur les icônes moins connues de nous tous :

: permet d'éditer et d'afficher le livre comme il apparaitra aux lecteurs ;

: permet d'éditer et d'afficher moitié le livre, moitié les codes HTML qui composent la page ;

: permet d'éditer et d'afficher le code HTML ;

: découpe la page en deux à l'endroit du curseur ;

: permet d'insérer un nouveau chapitre à partir du paragraphe courant (créer un nouveau fichier xhtml). Il est possible que cette icône n'apparaisse plus dans les versions stables du logiciel ;

: en cliquant ici, le contenu du dossier Images du navigateur du livre s'affiche. Vous pouvez choisir l'image à insérer (à défaut, si vous n'avez pas encore ajouté de fichiers images dans votre livre, une alerte vous invite à en ajouter) ;

: affiche une fenêtre pour choisir le caractère spécial à insérer ;

: affiche un champ pour entrer un nom qui servira d'ID ;

: permet d'insérer un lien ;

: faire un don pour le développement du logiciel Sigil ;

: affiche la fenêtre pour éditer les métadonnées ;

: vérification des erreurs de structure. En activant cette icône, le vérificateur est lancé pour une vérification/correction des erreurs de structure des documents XML et HTML composant le fichier ePub ;

: effectue le contrôle de la validité du fichier ePub tout en signalant les insuffisances éventuelles.

V-A-2 - Enrichissements graphiques

Après avoir créé votre projet ePub et importé ou écrit le texte, vous devrez l'enrichir graphiquement. Pour cela, vous pouvez utiliser des images, des fontes personnalisées, ajouter une couverture ou divers autres éléments.

V-A-2-a - Ajouter les fontes

Sigil n'intègre pas automatiquement les fontes contenues dans le système, car ces fontes peuvent varier d'un périphérique de lecture à un autre. Si vous le souhaitez, vous pouvez ajouter des fontes dans le répertoire Polices en faisant clic droit puis [Ajouter] qui indiquera l'emplacement des fontes pour les choisir.

V-A-2-b - Ajouter les images

Sur le dossier Images du navigateur, un clic droit puis [Ajouter] vous indiquera l'emplacement des images pour les importer dans le projet.

Veillez à bien enregistrer vos images dans l'un des formats suivants : jpeg, png, gif ou svg, et dans le cas des trois premiers de bien définir la taille en pixels de celles-ci pour ne pas alourdir inutilement le fichier.

V-A-2-c - Créer une couverture

Sélectionnez l'image de couverture contenue dans le gestionnaire de fichiers : Insérer > Image pour sélectionner l'image dans le dossier Images.

Il faut ensuite passer à la création d'un fichier HTML pour insérer l'image de couverture. Créez un nouveau fichier HTML dans l'ePub par un clic droit sur un nom de fichier dans le [Navigateur du livre] et en sélectionnant l'option de menu [Ajouter une section vierge].

Un nouveau fichier HTML sera créé dans votre dossier Texte. Renommez le fichier en cover.xhtml, puis déplacez-le au-dessus des autres fichiers contenus dans le dossier Texte.

- Pour marquer le fichier HTML comme une couverture, clic droit sur cover.xhtml dans la fenêtre du navigateur Livre, sélectionnez l'élément de menu [Ajouter notions], puis choisissez l'entrée de [Couverture].

La couverture de l'ePub est maintenant disponible.

V-A-3 - Générer une table des matières

Une table des matières interactive est nécessaire pour aider les lecteurs à se retrouver facilement dans l'ebook (et répondre aux spécifications ePub). Sigil la génère automatiquement.

Il faut marquer les titres, sous-titres des chapitres en sélectionnant [Titre 1] pour un niveau supérieur, [Titre 2] pour le niveau secondaire et ainsi de suite… Cela marquera le texte ayant un titre de niveau 1, de niveau 2, etc. Pour générer la table des matières, il faut cliquer sur le bouton [Générer] à partir de la fenêtre Table des matières puis marquer les rubriques à inclure ou non dans la table des matières. Cliquez sur [OK] pour terminer.

V-A-4 - Insérer les métadonnées

- Allez dans le menu Outils et cliquez sur [Éditeur de métadonnées] (raccourci F8).

- Une fenêtre intitulée [Éditeurs de métadonnées] s'ouvre. Vous pouvez tout d'abord y inscrire le titre de l'ouvrage, le nom de l'auteur et la langue principale.

V-A-5 - Vérifiez et validez le fichier ePub

Le contrôle de la validité de votre fichier ePub est fondamental : cela permet de vérifier que votre fichier respecte bien les spécifications ePub.

Pour valider votre fichier ePub, allez dans le menu Outils > Valider ou cliquez sur l'icône .

Vous verrez apparaitre une nouvelle fenêtre avec le message « Aucun problème trouvé ! » si tout se déroule correctement, ce qui signifie que votre fichier est bien valide. Dans le cas contraire, des messages d'erreurs vous indiqueront ce que vous devez revoir dans vos fichiers.

Vous pouvez consulter le chapitre Vérifier la validité du fichier dans la section Contrôler ses fichiers pour en savoir plus, notamment, sur les erreurs les plus courantes.

VI - Des outils pour façonner le code

Les outils d'édition et de conversion ePub, s'ils s'avèrent pratiques, ne permettent pas toujours d'obtenir le résultat souhaité. Les capacités offertes par l'ePub sont telles qu'à l'heure actuelle aucun outil de visualisation disponible et, a fortiori, aucun logiciel dédié à la création de fichier ePub n'est capable de supporter l'intégralité des possibilités du format. Cette relative limitation des outils risque de perdurer. L'ePub a en effet été conçu pour laisser le maximum de liberté créative. Comment concevoir alors des logiciels qui permettraient des réalisations spécifiques ? Le rôle d'un logiciel est avant tout de mettre à disposition des fonctions utiles au plus grand nombre. Il ne peut proposer une palette exhaustive de fonctionnalités prédéfinies.

Lorsque le concepteur d'un livre numérique a besoin de réaliser une opération spécifique qui n'est pas proposée par défaut dans son logiciel de création, il devra agir directement sur le fichier de l'ouvrage en saisissant directement les instructions informatiques appropriées. Ces actions dans le code ePub du livre nécessiteront de posséder un certain degré de maîtrise du HTML et CSS, les langages techniques sur lesquels repose le format ePub. Des compétences en programmation seront surtout nécessaires pour la création de livres interactifs. Ces compétences permettront aussi aux éditeurs d'avoir une vraie politique, au niveau graphique, de leur collection.

Dans l'organisation de la chaine de production, on pourra imaginer de constituer le cas échéant des équipes mixtes réunissant diverses compétences. Dans l'édition papier, il existe déjà des spécialisations fortes : pôle création et pôle exécution, opérateurs de saisie, graphistes, illustrateurs, maquettistes… Pour le livre électronique, un travail personnalisé de qualité pourra également impliquer l'utilisation de plusieurs compétences possédées par une ou plusieurs personnes. Si l'impact sur l'auteur reste inexistant, il est en tout autrement du côté technique où les développeurs et intégrateurs ePub seront certainement de la partie, comme ils le sont à l'heure actuelle pour les sites et applications web.

Dans tous les cas, le logiciel de traitement de texte ou de mise en page ne pourra à lui seul vous permettre de tout réaliser, et comme aucun logiciel ne le pourra, il peut s'avérer plus simple de retourner à des logiciels spécifiques et de compter davantage sur les compétences humaines que sur les capacités de l'outil de production. Dans cette perspective, la principale compétence à développer et mobiliser est de savoir écrire ou modifier le code technique qui structure le livre et qui correspond le mieux à son projet pour obtenir le résultat voulu. En termes d'outil, on privilégiera un logiciel offrant cet accès au code à travers la saisie textuelle d'instructions informatiques. Il existe trois grandes catégories de logiciels de ce type : éditeurs ePub dédiés, éditeurs de texte et éditeurs HTML/XML.

VI-A - Éditeurs ePub

Sigil est actuellement le seul éditeur ePub digne de ce nom, spécifiquement dédié à l'écriture et à la modification du code structurant un livre conçu dans ce format. S'il dispose d'une interface graphique constituée de menus et boutons, Sigil donne aussi la possibilité de visualiser et de modifier le contenu technique de la page en mode code. C'est certainement à l'heure actuelle la solution la plus pratique, car elle permet d'agir librement sur le code tout en bénéficiant des options d'automatisation et d'organisation du logiciel.

VI-B - Éditeurs texte

Le format ePub étant composé d'instructions textuelles (du texte écrit et structuré d'une façon spécifique), de simples éditeurs de texte peuvent suffire à modifier un livre conçu dans ce format. Le choix est nombreux et varié. Sont listés ci-après certains éditeurs connus que nous avons testés pour leur utilité. Vous pouvez également privilégier un autre éditeur à condition que celui-ci soit compatible et configuré en UTF-8, norme d'encodage universelle des caractères qui assurera que les textes seront parfaitement lisibles partout sans problèmes d'accentuation et autres spécificités linguistiques nationales. Si vous ne connaissez pas les caractéristiques techniques de votre éditeur de texte favori, reportez-vous à sa documentation.

Dans les listes qui suivent, nous valorisons les outils répondant aux critères suivants :

- ils ne doivent rien faire à l'insu de l'utilisateur afin de lui laisser le contrôle absolu et éviter les mauvaises surprises ;

- ils doivent fournir si possible une coloration syntaxique qui aide à mieux se représenter la structure du fichier travaillé ;

- ils doivent éventuellement offrir des facilités d'écriture ou de débogage (autocomplétion, liste de balises, etc.).

Pour Linux

Linux est certainement le système qui met le plus facilement à disposition un grand nombre d'éditeurs de texte :

gedit/Kate

Éditeurs de texte de l'environnement GNOME/KDE. Disposent d'une coloration syntaxique. Disposent d'un dictionnaire des langages facilitant la prise en main pour des débutants. gedit peut éditer des fichiers distants, ce qui peut être utile en mode multiauteurs.

vi/vim

Célèbres éditeurs de texte en mode console. Leur avantage : aucun bouton ni menu, fonctionnent uniquement en combinaison de touches clavier, ce qui les rend un peu difficile à apprendre, mais très productifs après un jour ou deux de pratique d'apprentissage.

emacs

Éditeur multiusage. Apprentissage plus difficile que vi, mais entièrement personnalisable. Il convient parfaitement aux personnes souhaitant contrôler minutieusement leur environnement.

VI-B-1 - Pour Windows

Notepad++

Excellent éditeur compatible avec plusieurs langages, offrant la coloration syntaxique et disposant d'outils de conversion des caractères spéciaux. Proposant également des menus pour l'insertion de balises courantes, il peut afficher la structure du document ou fonctionner avec des signets pour pointer les emplacements importants du fichier. Notepad++ facilite l'écriture grâce à une autocomplétion intelligente.

VI-B-2 - Pour Mac OS

Text Wrangler

Éditeur multiusage permettant d'écrire facilement dans différents langages et offrant la coloration syntaxique.

BBEdit

Autre éditeur multiusage réputé sur la plateforme Mac.

VI-C - Éditeurs HTML/XML

Le format ePub reposant sur le HTML/XML*, les éditeurs dédiés à ces langages de structuration de contenu peuvent constituer une autre alternative logicielle pour intervenir sur le code. Les éditeurs HTML et XML sont moins nombreux. Ils offrent un certain nombre de fonctionnalités supplémentaires par rapport aux éditeurs de texte vus précédemment.

VI-C-1 - Pour Linux

Bluefish/Quanta

Éditeurs web performants permettant d'éditer facilement les langages à balises de type HTML, OPF, NCX tels qu'utilisés en ePub.

N.B. : une fois les fichiers individuels édités, pour créer le fichier ePub, il faut créer une archive .zip en ajoutant en premier le fichier « mimetype » puis les répertoires OPS et META-INF (cf. tutoriel en anglais ici : http://helpdeskgeek.com/how-to/edit-ePub-files-with-a-text-editor-and-archive-zip-program/) puis remplacer l'extension .zip par l'extension .ePub. Pour aller plus loin, cf. Extraire et recompresser un ePub.

VI-C-2 - Pour Windows/Mac

XMLSpy et Oxygen sont des exemples d'environnement de développement XML utilisables dans le cadre d'un projet ePub.

VII - Mieux comprendre l'ePub

Dans les chapitres qui vont suivre, nous allons pousser plus loin notre exploration du format ePub, rentrer dans ses entrailles et examiner ce qui constitue réellement le document ePub. Nous allons décrire des parties plus techniques, qu'il n'est pas forcément utile de connaitre lorsque l'on crée un ePub, mais qu'il est bon d'avoir en tête pour comprendre les maillons constitutifs du document. Nous verrons également l'extraction et la compression d'un fichier ePub, commandes primordiales qui vont vous permettre d'examiner par vous-même les constituants ePub.

Au préalable, rappelons que le format ePub évolue (voir l'introduction de ce livre). Connaitre les différentes versions et leurs implications éventuelles peut être un avantage dans la définition d'une stratégie commerciale ou technique, dans l'exploitation des possibilités du format ou encore dans le contrôle qualitatif de ce qui est réalisé. Il faudra par la suite privilégier une version par rapport à une autre en fonction des spécificités du livre numérique à créer et du nombre de terminaux de lecture (tablettes, liseuses, etc.)  prenant en compte la version ePub la plus récente.

À l'heure actuelle, deux versions du format ePub sont utilisées, ePub 2 et ePub 3.

La version 2 de l'ePub est la version actuellement (2012) la plus répandue même si ePub 3 est disponible (voir chapitre suivant). Il vous appartient de faire le choix entre ces deux versions. Cependant la version 2 suffit pour la plupart des livres, en permettant notamment la mise en forme de texte et l'ajout d'images. L'ePub 3 intègre les nouveautés du HTML 5, CSS 3, SVG et MathML, ce qui augmente les capacités graphiques, multimédias et interactives. Sachez que tous les outils de lecture ne sont pas nécessairement compatibles avec ePub 3. Nous vous proposons donc de commencer par ePub 2 et de poursuivre par un chapitre de même structure sur ePub 3. Si vous savez d'ores et déjà que vous créerez en ePub 3, passez directement au chapitre qui y est consacré.

Pour la lecture des chapitres qui suivent, il faut savoir que les applications de création d'ePub génèrent et organisent elles-mêmes les fichiers et dossiers dont nous allons parler. Il n'est donc pas nécessaire de savoir les coder de novo un à un, mais seulement, en tout cas dans un premier temps, de les connaitre et les comprendre. Leur manipulation demande une certaine expertise et il est recommandé de ne pas les modifier à la légère.

VIII - 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.

VIII-A - 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.

VIII-B - 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).

VIII-C - 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>

VIII-D - 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 paraitre « 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&#8230; Est-ce tout cela qui donne à la légèreté de Zonzon Pépette cet arrière-gout d'une danse sur un abime ? Notre littérature populaire est un continent fait de ces vies qui se brulent 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="/creer-un-ePub/toc" />
<reference type="loi" title="List Of Illustrations" href="toc.html#figures" />
<reference type="other.intro" title="Introduction" href="/creer-un-ePub/intro" />
</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.

VIII-D-1 - 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és dans les chapitres précédents.

VIII-D-2 - 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 connait l'existence d'une version ultérieure).

VIII-D-3 - 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 dudit 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.

VIII-D-4 - 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.

VIII-D-5 - 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 apparaitre plus d'une fois.

On trouvera donc par exemple :

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

VIII-D-6 - Guide

<guide>

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

VIII-E - 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.

VIII-F - Les autres fichiers

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

VIII-F-1 - 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.

VIII-F-2 - Les fichiers de forme

Les indications de style et 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.

IX - ePub 3

Un fichier ePub 3 n'est pas très différent, dans son principe, d'un fichier ePub 2 : 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).

Quatre spécifications régissent à présent 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 du ePub grâce à deux fichiers nommés container.xml et mimetype ;

- l'ePub Content Documents définit le type de fichiers utilisés et utilisables dans un ePub (par exemple des fichiers html ou xhtml, des images, une feuille CSS) ;

- l'ePub Publications établit l'ordre de navigation et l'emplacement des fichiers dans l'ePub grâce à deux fichiers nommés content.opf et toc.ncx ;

- l'ePub MediaOverlay qui définit les possibilités de synchronisation audio dans le document.

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/30/spec/ePub30-overview.html.

Pour les personnes ayant déjà lu le chapitre ePub 2, vous pouvez si vous le souhaitez-vous rendre directement au point intitulé Le content.opf. Avant ce point, le contenu du présent chapitre consacré à l'ePub 3 est en effet identique au chapitre précédent.

IX-A - 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 qui doit nécessairement être placé la racine du projet ;

- le dossier obligatoire META-INF qui contient le fichier container.xml (éventuellement signatures.xml ou encryption.xml) ;

- le dossier OEBPS, ou OPS dans les ePub de version 3 pour simplifier, qui regroupe :

- le dossier optionnel Texte (Text) qui contient les fragments html ou xhtml (ce sont vos chapitres),

- le dossier optionnel Style qui contient la ou les feuilles CSS (par exemple style.css),

- le dossier optionnel Images s'il y en a,

- le dossier optionnel Polices (Fonts) si des typographies spécifiques ont été intégrées,

- le dossier optionnel 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).

mimetype
META-INF/container.xml
OEBPS/content.opf
OEBPS/livre_texte.html
OEBPS/nav.html
OEBPS/toc.ncx
OEBPS/images/cover.png

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 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ées de façon libre. Sigil créant 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.

IX-B - 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 Enrichier son ePub).

IX-C - 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>

IX-D - 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 container xml.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookId" version="3.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 paraitre « 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&#8230; Est-ce tout cela qui donne à la légèreté de Zonzon Pépette cet arrière-gout d'une danse sur un abime ? Notre littérature populaire est un continent fait de ces vies qui se brulent 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 id="r4915"
href="/creer-un-ePub/Section0001"
media-type="text/html"/>
<item id="r7184"
href="images/chapitreun.png"
media-type="image/png"/>
<item id="nav"
href="nav.xhtml"
media-type="application/xhtml+xml"
properties="nav"/>
<item id="ncx"
href="toc.ncx"
media-type="application/x-dtbncx+xml"/>
</manifest>

<spine toc="ncx">
<itemref idref="r4915"/>
</spine>
</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.

IX-D-1 - La déclaration XML

Le format ePub, cet ensemble de dossiers, fichiers et documents, utilise un langage de programmation 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és dans les chapitres précédents.

IX-D-2 - La déclaration de la version du 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 du ePub, la règle, ou norme, est l'Open Container Format, OPF.

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

<package xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookId" version="3.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 3.0 (version=« 3.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 connait l'existence d'une version ultérieure).

IX-D-3 - 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 numéro unique pour chaque ePub), le titre du livre, la langue, l'ISBN, 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 allons détailler 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 une dizaine d'éléments courants Dublin Core utilisée 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).

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 dudit créateur, celui pouvant être un auteur, 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.

IX-D-4 - 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 seul ces données).

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

<item id="r4915"
href="/creer-un-ePub/Section0001"
media-type="text/html">

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

<item id="r7184"
href="images/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 du ePub.

IX-D-5 - 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 apparaitre plus d'une fois.

On trouvera donc par exemple où itemref est relié en idref un id d'item défini plus haut dans le fichier :

<itemref idref="intro" />
<itemref idref="r4915" />

IX-D-6 - Guide

<guide>

Cette partie est dépréciée en ePub 3.

IX-E - Le fichier toc

Les appareils de lecture utilisent le fichier toc.ncx (toc pour table of contents) ou toc.xhtml en particulier pour définir la table des matières de l'ouvrage telle qu'elle sera disponible dans les outils de navigation du logiciel de lecture. Il reprend certaines des informations contenues dans le content.opf. Le titre de l'ouvrage est notamment obligatoire. ePub 3 change radicalement l'approche par rapport à ePub 2 et utilise les éléments de navigation contenus dans HTML5 en place de l'ancien système.

Il utilise l'extension de paramètre lié au namespace ePub, par exemple pour spécifier le type de contenu (au niveau sémantique) comme dans l'exemple suivant ePub-type:toc spécifie que l'élément de navigation nav est spécifiquement une table des matières toc, de manière à éviter toute confusion.

<?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>
<title>MonLivre</title>
<link href="Styles/toc.css" type="text/css" rel="stylesheet" />
</head>
<body>
<nav ePub:type="toc" id="toc">
<h2>Contenu</h2>
<ol>
<li id="np-313">
<a href="s1.xhtml">Introduction</a>
<ol>
<li id="s1-1" class="front">
<a href="s1.xhtml#bib">Bibliographie/a>
</li>
<li id="s1-2" class="front">
<a href="s1.xhtml#comp">Comprendre</a>
</li>
</ol>
&#8230;
</li>
</nav>
</body>
</html>

IX-F - Les autres fichiers

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

IX-F-1 - Les fichiers de contenu

Les fichiers de contenu sont les fichiers html correspondent à chacun des chapitres, les images et les polices exploitées dans le livre. Avec ePub 3, il est possible d'utiliser HTML5 ce qui augmente les possibilités en termes de sémantique. Quelques compléments spécifiques à la lecture ont été ajoutés comme le typage (ePub:type) de contenu (paragraphe de pied de page, de note…), ainsi que la possibilité d'avoir un contenu changeant (ePub:switch) selon un contexte défini, par exemple définir un contenu de remplacement pour pallier les défauts de rendu éventuels des périphériques de lecture.

La norme ePub liste deux types de contenu :

- les médias reconnus sans remplacement nécessaire, donc considérés comme étant sans risque pour l'éditeur et devant absolument être supportés par les logiciels de lecture ;

- les autres médias qui peuvent nécessiter des outils spécifiques pour la visualisation.

En ce qui concerne les médias par défaut (core medias), voici une petite liste :

- images : GIF, JPEG, PNG, SVG ;

- éléments textuels : HTML5, XHTML, NCX (ancien format pour la table des matières), CSS ;

- polices : OTF (opentype), WOFF, SVG ;

- médias : MP3, MP4 ;

- multimédia et interactivité : SMIL, JAVASCRIPT, text-to-speech (synthèse vocale).

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

IX-F-2 - Les fichiers de mise en forme

Les indications de style, d'apparence, devant s'appliquer au contenu sont inscrites dans un ou plusieurs fichiers portant l'extension .css (Cascading StyleSheet) rangés dans le dossier Style. En ePub 3, il est possible d'utiliser la version CSS3 qui apporte des fonctions graphiques et typographiques intéressantes pour le confort de lecture. Mais il reste possible de s'en tenir à CSS2.1 qui est la dernière officiellement recommandée par le W3C.

Les règles d'écriture des fichiers 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.

IX-F-3 - Les fichiers graphiques et multimédias

Grâce aux améliorations de HTML5, l'intégration d'images vectorielles au format SVG ainsi que de fichiers multimédias son ou vidéo a été largement facilitée et standardisée. Il devient possible de les utiliser dans la norme. Ce point sera abordé plus en détail dans le chapitre Ajouter du contenu multimédia de la section Enrichir son ePub.

IX-F-4 - L'interactivité

Enfin, les lecteurs ePub sont aussi censés permettre l'utilisation de scripts* à l'intérieur du fichier ePub de manière à le rendre interactif.

IX-G - La lecture vocalisée dans ePub3

La section Media Overlay de la spécification détermine comment avoir recours aux systèmes de synthèse vocale pour les applications et périphériques qui donnent cette possibilité. Elle est basée sur la technologie smile et les fichiers doivent comporter l'extension .smil.

<?xml version="1.0" encoding="utf-8"?>
<smil
xmlns="http://www.w3.org/ns/SMIL"
xmlns:ePub="http://www.idpf.org/2007/ops"
version="3.0">
<body>
<seq id="id1" ePub:textref="monlivre_chapitre1.xhtml" ePub:type="bodymatter chapter">
<par id="heading1">
<text src="monlivre_chapitre1.xhtml#c01h01"/>
<audio src="audio/monlivre_chapitre1_001_001.mp4"
clipBegin="0:00:5.000"
clipEnd="0:00:20.975"/>
</par>
</seq>
</body>
</smil>

- seq définit une séquence de lecture.

- par, contenu dans seq, va permettre de spécifier ces séquences.

- text, contenu dans le contenu de l'ePub auquel cette séquence se référence, en général une page html ou une partie de celle-ci si elle est longue.

- audio définit enfin la partie de média qui doit être jouée, le nom du média (src), le point du fichier média à laquelle la lecture doit débuter (clipBegin) ou s'arrêter (clipEnd) sous l'une des formes suivantes : heure:minute:secondes.millisecondes ou 9min.

La lecture de fichier média peut remplacer à l'avenir les livres audio et permettre au lecteur quel qu'il soit d'avoir accès à la lecture audio. C'est aussi une fonctionnalité prometteuse en termes publicitaires dans des utilisations moins littéraires de l'ePub.

X - Extraire et recompresser un ePub

Un fichier ePub est un fichier zippé, mais le décompresser (extraire) et, surtout, le compresser (rezipper), suppose de suivre quelques règles précises. Si vous utilisez Sigil ou Calibre, vous n'aurez pas besoin de faire ce travail puisque ces outils s'occupent seuls de cette tâche. Mais si vous souhaitez travailler avec d'autres outils ou bien créer un livre au format ePub 3 (que Sigil ne supporte pas encore dans sa version 0.53) vous n'aurez pas d'autres choix que de savoir le faire « à la main », notamment pour l'ajout de données multimédias. Il se peut également que vous en arriviez très rapidement à préférer manipuler ainsi vos ePub et à les éditer avec un simple logiciel de texte, méthode parfois moins lourde, pour les amateurs, qu'avec des logiciels dédiés.

X-A - Extraire un fichier ePub

Prenons comme exemple un fichier ePub intitulé monlivre.ePub

X-A-1 - Sous Linux

Vous pouvez utiliser n'importe quel utilitaire de décompression supportant ZIP. Votre environnement graphique fournit certainement cette fonction par défaut.

- Sous GNOME (Ubuntu par exemple), renommez le fichier monlivre.ePub en monlivre.zip (clic droit > Renommer), puis décompressez (clic droit > Extraire ici).

- En ligne de commande, placez-vous dans le dossier contenant le document ePub et écrivez simplement unzip monlivre.ePub.

Voici le résultat :

cedric@cedric-ubuntuQ17R:~$ unzip *.ePub
Archive:  monlivre.ePub
extracting: mimetype
inflating: OEBPS/content.opf
inflating: OEBPS/toc.ncx
inflating: META-INF/container.xml
inflating: OEBPS/Text/Section0001.xhtml
inflating: OEBPS/Styles/Style0001.css

X-A-2 - Sous Windows

Sous Windows, il existe de nombreux outils destinés à décompresser et rezipper correctement votre ePub : 7zip, ePubPack, Stuffit, etc. Une recherche Internet vous permettra de trouver de nombreux logiciels gratuits et libres.

1. Créez un dossier sur votre bureau afin d'éviter de disperser vos fichiers une fois que l'archive ePub aura été dézippée. Appelons ce dossier « monlivre ».

2. Avec la plupart des logiciels, lorsque vous faites un clic droit sur le fichier ePub, le menu déroulant laissera apparaitre la commande « Extraire ici » (Extract here) que vous allez alors sélectionner. Dans 7zip par exemple, il vous suffit de cliquer sur l'icône « Extraire », d'indiquer à quel endroit enregistrer les fichiers extraits (le dossier « monlivre ») et de cliquer sur « OK ».

3. Vous avez désormais un dossier contenant tous les fichiers que nous avons étudiés dans la première partie de ce chapitre.

X-A-3 - Sous Mac

Nous vous conseillons d'installer ePub Zip (http://code.google.com/p/ePub-applescripts/downloads/detail?name=ePub_Zip_1.0.3.zip&can=2&q=) ou ePub Packager (https://itunes.apple.com/fr/app/epub-packager/id468997015?mt=12) qui sont très faciles à manier.

Si vous souhaitez utiliser les commandes du Terminal, en voici la procédure :

1. Créez un dossier sur votre bureau afin d'éviter de disperser vos fichiers une fois que l'archive ePub aura été décompressée. Appelons ce dossier « monlivre » ;

2. Lancez le terminal et utilisez la commande « unzip », ce qui va donner :

unzip monlivre.ePub

Note : vous pouvez également dézipper le fichier ePub en utilisant The Unarchiver qui est un utilitaire fourni dans l'environnement Mac.

3. Vous avez désormais un dossier contenant tous les fichiers que nous avons étudiés dans la première partie de ce chapitre et pouvez à loisir les explorer dans un éditeur de texte HTML.

X-B - Rezipper un fichier ePub

Avant tout rezippage, contrôlez bien que tous les fichiers sont présents dans les bons dossiers (voir ci-dessus) et dans le bon ordre.

X-B-1 - Sous Linux

À partir de l'utilitaire zip, il sera possible de compresser facilement le dossier de projet ePub. Nous effectuerons ce travail en 2 fois.

zip -X -Z store monlivre.ePub mimetype

zip -r monlivre.ePub  META-INF/ OEBPS/

La première ligne crée le zip dans le fichier monlivre.ePub à partir du fichier mimetype. L'option -X est importante puisqu'elle évite l'ajout de l'en-tête (header) de fichier qui n'est pas obligatoire et pourrait plutôt poser problème ici.

La seconde ligne ajoute les dossiers META-INF et OEBPS ainsi que tous les éléments qu'ils contiennent dans l'archive monlivre.ePub existante (option -r).

X-B-2 - Sous Windows

1. Compressez avec l'outil d'archivage de votre choix tous les fichiers présents dans votre dossier à l'exception du fichier mimetype. Ce dossier zippé aura alors pour nom « monlivre.zip » ;

2. Glissez-déposez le fichier « mimetype » sur « monlivre.zip » afin que le fichier mimetype soit présent dans l'archive sans être lui-même compressé ;

3. Renommez votre fichier .zip en changeant son extension en .ePub.

X-B-3 - Sous Mac

Encore une fois, nous vous conseillons d'utiliser la procédure ePub Zip ou ePub Packager, très simple d'emploi et que nous ne détaillerons pas ici.

Si vous souhaitez vous servir du Terminal, la procédure est la suivante :

1. Utilisez la commande

zip -X monlivre.ePub mimetype

2. Utilisez les deux commandes suivantes afin de zipper les deux répertoires restants de votre ePub (le META-INF et le OEBPS) :

zip -rg monlivre.ePub META-INF -x \*.DS_Store
zip -rg monlivre.ePub OEBPS -x \*.DS_Store

Si nous détaillons ces commandes :

- le -r permet de zipper tout le contenu des deux dossiers. Il dit à l'utilitaire de zip de passer en revue l'arborescence afin de ne pas oublier de fichier,

- le -g permet de spécifier qu'il faut zipper ces deux dossiers dans le même fichier zip (celui qui contient le mimetype),

- le -x indique qu'il ne faut pas intégrer les permissions OS X (les informations destinées à décider qui peut voir ou modifier le fichier par exemple),

- les fichiers DS_Store sont invisibles sur MAC OS X : la commande permet de dire à l'utilitaire de ne pas les zipper avec le reste des autres fichiers ;

X-C - Contrôle

Afin de contrôler si votre rezippage a correctement fonctionné, utilisez par exemple EpubCheck disponible sur http://code.google.com/p/epubcheck/. Le plus souvent, les erreurs proviennent d'un mauvais positionnement des fichiers dans l'archive, d'un souci de code dans un fragment XHTML ou du fichier mimetype.

Veillez bien à ne jamais modifier le contenu du fichier mimetype (pas d'espace, de retour à la ligne, toujours la même ligne identique « application/ePub+zip ») et à le placer toujours en première position dans l'arborescence des fichiers.

XI - Les bases du HTML et du CSS pour l'ePub

ePub est comme nous l'avons vu une encapsulation de divers types de fichiers. Les plus importants sont les fichiers HTML qui constituent les « pages » du livre.

HTML est le langage bien célèbre du web. Il est la base de toutes les pages web qui existent. C'est un peu grâce à lui que le réseau des réseaux s'est développé publiquement. Car HTML est un langage très simple qui permet à chacun, moyennant quelques petites heures d'apprentissage, de diffuser des documents au monde entier. On a pas encore trouvé plus simple, et les langages ressemblant à HTML se sont multipliés comme la peste, mais pour le bonheur de nombreuses personnes.

Pour le détail des relations et usages des formats XHTML (ePub2) et HTML (ePub3), que nous ne détaillerons pas ici, veuillez-vous reporter à l'article Wikipédia français Hypertext Markup Language : http://fr.wikipedia.org/wiki/Hypertext_markup_language.

Si HTML a pu sembler abscons à certains, il a montré de réelles capacités au fil du temps. Il a évolué jusqu'à aboutir à la version 5 qui fait actuellement beaucoup parler d'elle dans les milieux spécialisés. HTML a été complété par d'autres technologies comme CSS, qui permet de gérer la présentation graphique de la page, ou encore SVG qui permet de définir des images vectorielles. HTML et CSS sont sans conteste les standards les plus utilisés par les personnes qui font de l'édition électronique, quelle qu'en soit la forme.

XI-A - Structurer le texte avec HTML

HTML est une abréviation de Hypertext Markup Language. Peu de choses à dire sur le mot « langage » si ce n'est que cela ne doit pas vous effrayer, hormis deux ou trois règles grammaticales, le reste du HTML consiste en un petit vocabulaire. Il vous suffira donc de comprendre son fonctionnement et de conserver sous les yeux le dictionnaire HTML, et le tour est joué (vous pouvez trouver la référence du langage HTML sur le site du W3C : http://www.w3.org/). Lorsque vous aurez assimilé la notion de balise « markup » et ce que cela implique, vous saurez en fait quasiment tout. Il ne vous restera plus qu'à comprendre pourquoi l'hypertexte est si important, et pourquoi sa place et son rôle inspirent de nombreuses autres technologies. À ce stade, vous serez quasiment incollable.

HTML est basé sur une technologie nommée XML (extensible markup language) qui a défini les impératifs syntaxiques. Sur cette base, HTML rajoute quelques termes qui permettent de structurer le texte pour les titres, les paragraphes, les listes, etc.

XI-A-1 - Un premier fichier HTML

Pour comprendre la logique sortant un peu de nos éditeurs ePub pour voir le fonctionnement de HTML en propre :

1. Lancez l'éditeur de texte de votre choix. Référez-vous au chapitre sur les outils en début de section si vous ne savez pas lequel prendre, mais selon votre système d'exploitation Smultron, TextWrangler, Notepad++, gedit ou Kate feront l'affaire ;

2. Lancez le navigateur de votre choix. À ce niveau, le choix importe peu ;

3. Organisez votre espace de travail afin que le navigateur et l'éditeur soient tous deux facilement accessibles ;

4. Dans votre éditeur, tapez le texte suivant : « Mon premier fichier HTML » ou tout autre texte que vous souhaitez inscrire ;

5. Dans le menu [Fichier], sélectionnez [Enregistrer sous…] ;

6. Donnez le nom que vous souhaitez à votre fichier, mais sans oublier de rajouter à la fin .html (par exemple « essai.html ») ;

7. Utilisez le menu « Ouvrir » de votre navigateur pour afficher votre page HTML : votre contenu apparait simplement sans autre fioriture.

Voilà une bonne base, mais nous sommes loin du compte. Il va falloir structurer le texte, modifier son aspect, positionner des images… bref travailler la mise en forme. Comment faire ?

XI-A-2 - Utiliser des balises

Le terme balise définit un des concepts de base de HTML. La balise, c'est la structure même du langage. Heureusement, dans HTML cette structure est simple, ce qui a fait son succès. Voyons cela :

1. Retournez dans votre éditeur pour continuer à travailler sur « essai.html » ;

2. Ajoutez <b> après « Mon premier » et </b> après « HTML ». Vous obtenez quelque chose qui ressemble à cela :
Mon premier <b>fichier HTML</b>

3. Enregistrez votre fichier et affichez-le dans votre navigateur en cliquant simplement sur le bouton [Recharger] ou [Actualiser].

Après cette petite modification, votre texte s'affiche toujours, mais les mots « fichier HTML » apparaissent maintenant en gras. Comment cela se passe-t-il ? Dans un premier temps, le navigateur récupère votre page. Il va alors à l'intérieur du fichier pour voir ce qu'il contient. Il le lit de haut en bas, et l'affiche. Mais parfois, il rencontre le caractère < : il sait alors que quelque chose de nouveau se passe et que dans ce qui suit, il ne va pas tout afficher. Il récupère ce qui est écrit entre > et < et comprend que cela va lui servir de base pour modifier l'apparence de ce qu'il doit afficher. Les chevrons < et > servent donc à délimiter un ensemble de signification lié à la présentation des données. Passé ce premier cap, il affiche le texte. Avançant, le navigateur rencontre ensuite </b>, et comprend alors que le graissage (application du style « gras ») se termine ici.

Comme une grande partie des mises en forme ont un début et une fin (ce que l'on fait dans un logiciel avec une sélection au moyen de la souris), nous représentons cela en HTML avec une balise double.

<element>contenu</element>

Les deux parties de la balise s'écrivent de la même façon, le second élément commence juste par un / placé immédiatement après le chevron d'ouverture. Cela fonctionne pour la grande majorité des balises disponibles. Ainsi, comme <b>Texte</b> affiche le texte en gras, <i>Texte</i> mettra en italique ou <h1>Texte</h1> définira un grand titre. On voit bien que le principe est le même, il s'agit seulement d'avoir en tête les quelques balises utiles. On peut avoir la liste complète sur cette page du W3C : http://www.w3.org/html/wg/drafts/html/master/single-page.html, mais voici les principales :

- du h1 au h6 : les niveaux de titre du plus grand au plus petit ;

- p : paragraphe ;

- span : début d'une mise en forme locale ;

- header : définit un en-tête ;

- article : encadre un article.

Pour plus d'informations sur les balises de mise en forme, mais aussi sur la structuration du fichier, reportez-vous au manuel HTML5 : http://fr.flossmanuals.net/html5/.

XI-A-3 - Règle d'imbrication

Comme des paragraphes seront inclus dans des articles et des articles dans des sections, voire dans des regroupements plus génériques, il sera important de respecter cette hiérarchie dans le code. Ainsi toute balise ouverte après une autre et devant y être incluse doit absolument être fermée avant de manière à éviter les erreurs de compréhension par les dispositifs de lecture.

<element1><element2>contenu</element2></element1>

XI-A-4 - Balises atomiques

À l'inverse, certains éléments de la page n'ont pas d'étendue à définir. C'est le cas des retours à la ligne ou encore même des images qui ont leur dimension en propre. Dans ce cas, il est possible d'utiliser une notation particulière :

<element />

Dans les cas qui nous intéressent, nous aurons donc :

- <br /> pour un retour à la ligne ;

- <img /> pour une image.

XI-A-5 - Définition et utilisation d'attributs

Si vous essayez ce dernier cas sur votre page HTML, vous verrez qu'aucune image ne s'affiche dans le navigateur. Alors comment allons-nous nous y prendre pour mettre une image ? Faudrait-il rajouter une balise supplémentaire ? Eh bien non. HTML n'aime pas trop fractionner les informations de mise en forme : chaque mise en forme a sa balise et il n'y a généralement pas de sous-balise (on verra qu'il y a une exception). En fait, lorsqu'il s'agit de donner une précision sur une mise en forme, on utilise des attributs. C'est notre cas ici avec l'image. La balise indique qu'il va falloir mettre une image et c'est l'attribut qui donnera le chemin de celle qui faut mettre.

XI-A-6 - Utilisation des attributs

Un attribut se met toujours à l'intérieur de la balise ouvrante, après l'élément, en laissant un espace entre eux de manière à ce qu'ils puissent être différenciés. Une balise peut contenir plusieurs attributs différents, mais chaque attribut doit être suivi du signe = puis d'une valeur encadrée par des guillemets droits.

<element attribut1="valeur" attribut2="valeur"> contenu </element>

Dans le cas de l'insertion de l'image, nous obtiendrons le code suivant :

<img src="image.jpg" />

où image.jpg est le nom de fichier de votre image, éventuellement précédé de son chemin d'accès, normalisé en ePub, et src son attribut. Un autre exemple très utile est la création de lien permettant d'accéder directement à d'autres ressources. Dans ce cas, la balise est a, une balise double, et son attribut href. Ce qui nous donne :

<a href="http://www.flossmanualsfr.net"/>Texte ou image cliquable</a>

Bien sûr, il y a une liste des attributs officiels en HTML. Retenez aussi que certains attributs seront utilisables avec certaines balises, mais pas avec d'autres. Il est cependant inutile de tous les connaitre, à moins que vous n'ayez de réelles velléités de personnalisation et de contrôle. Pour plus de détail, reportez-vous à notre référence W3C : http://www.w3.org/html/wg/drafts/html/master/single-page.html.

XI-B - Mettre en forme le contenu avec CSS

Le langage CSS (Cascading Style Sheets) permet de définir l'aspect du texte et de tout contenu, comme des feuilles de style dans un traitement de texte ou un logiciel de mise en page. De plus, la feuille de style pourra être automatiquement partagée dans tous les fichiers HTML composant l'ePub, voire être réutilisée dans tous les ePub d'une collection pour que tous les livres partagent automatiquement la même ligne graphique.

Pour bien utiliser le CSS, il faut savoir faire trois choses :

- créer la feuille de style et la lier au fichier HTML ;

- définir les propriétés du style ;

- appliquer le style.

XI-B-1 - Créer et lier la feuille de style

Pour créer une feuille de style, rien de très compliqué :

1. Lancez l'éditeur de texte de votre choix. Référez-vous au chapitre sur les outils en début de section si vous ne savez lequel prendre, mais selon votre système d'exploitation les logiciels Smultron, TextWrangler, Notepad++ ou gedit, Kate feront l'affaire ;

2. Dans le menu [Fichier], allez chercher [Enregistrer sous…] ;

3. Donnez le nom que vous souhaitez à votre fichier, mais ajoutez à la fin .css (par exemple styles.css, une appellation courante) ;

4. Éditez une page HTML que vous avez déjà créé, puis selon le cas :

1. Collez le code suivant dans la section <head></head> si vous aviez rajouté une en-tête de fichier :

<link rel="stylesheet" href="styles.css" type="text/css" />

2. Sinon, et uniquement si vous avez suivi ce chapitre à la lettre, ajoutez en début de fichier :

<html><head><link rel="stylesheet" href="style.css" type="text/css" /></head><body>

3. puis en fin de fichier :

</body></html>

5. Puis affichez votre page dans le navigateur pour tester que la liaison n'affiche pas d'erreur, au cas où.

XI-B-2 - Définir l'aspect des éléments

Maintenant que les ressources sont créées et associées, il est possible de définir le style de chacune des parties du texte qui doit être changée. Si le texte a été bien conçu en HTML, il n'est normalement pas nécessaire de le modifier, mais il peut être intéressant de garder le code de la page HTML sous les yeux, simultanément au fichier CSS, pour être plus efficace et éviter les erreurs.

Le fonctionnement du CSS est très simple et de la forme :

element_HTML_de_reference { propriété_css : valeur_de_la_propriété }

- element_HTML_de_reference est un élément défini dans la recommandation HTML et utilisé dans votre fichier HTML ;

- propriété_css fait référence à des instructions spécifiques du langage CSS et mentionnées dans la recommandation CSS traduite sur http://www.yoyodesign.org/doc/w3c/css2/propidx.html pour CSS version 2 et http://www.w3.org/Style/CSS/current-work en cours pour CSS3.

Dans tous les cas, veillez à bien écrire les accolades pour encadrer les propriétés et les : (deux-points) entre la propriété et la valeur.

Un cas concret arriverait à ça :

1. Le fichier HTML contient un élément body que nous venons d'insérer. Cet élément définit les propriétés de la « page » ePub : son fond, ses marges… ;

2. Dans le fichier CSS, ajoutez la ligne :

body {background-color:yellow}

3. Enregistrez et mettez à jour votre page dans le navigateur : la couleur de fond doit être jaune ;

4. Enregistrez et mettez à jour votre page dans le navigateur : la marge entre le texte et le bord de votre logiciel de lecture doit être de 100 pixels. C'est beaucoup trop, mais cela vous permet de bien visualiser la modification.

Pour définir plusieurs propriétés pour le même élément, il suffit de les mettre dans les mêmes accolades et de séparer chacune des propriétés par?; (point-virgule).

Vous pouvez tenter l'expérience sur h1 ou p avec des valeurs différentes. Vous verrez qu'automatiquement tous les titres h1 ou tous les paragraphes de la page prendront les mêmes caractéristiques, ce qui permet d'aller très vite.

Les propriétés les plus utiles sont :

- margin : marge à l'extérieur de l'élément ;

- padding : marge à l'intérieur de l'élément ;

- font-family : pour changer la police ;

- font-size : pour changer la taille du texte ;

- color : pour changer la couleur du texte ;

- font-weight : bold pour passer le texte en gras ;

- font-style : italic pour italiser le texte.

XI-C - Penser l'évolutivité de ses fichiers

Ces quelques recommandations ont pour but d'assurer la qualité et la pérennité de votre catalogue ePub à moyen terme. Les normes ePub et les fonctionnalités des logiciels et supports de lecture changent rapidement. Il faut envisager d'intervenir au cours du temps dans vos fichiers afin de leur faire profiter de ces évolutions, ou de les corriger. Plutôt que d'avoir à les re-produire… Mais afin de limiter les interventions à l'avenir, il est important de le penser en amont de la production afin de le spécifier à vos « compositeurs ePub ».

Comme pour n'importe quel fichier électronique, le code d'un fichier ePub peut être « propre » ou moins « propre ». Il doit dans tous les cas respecter les spécifications définies par leurs instances officielles (W3C, IDPF). Si la validité du code, sa structure correcte, vont être garanties lors de la validation des fichiers par les outils dédiés (voir chapitre Vérifier la validité du fichier dans la section Contrôler ses fichiers) rien ne garantit cependant son élégance. Malheureusement, ou heureusement, celle-ci est assez relative et rien ne permet ici d'en donner une définition précise. Certains éléments qui en relèvent peuvent cependant être décrits. Ils sont importants non pour des questions esthétiques, mais pour les questions pratiques évoquées ci-dessus.

XI-C-1 - Styles, un nommage explicite et uniforme

Imaginez que vous avez fabriqué, ou fait fabriquer, un an plus tôt, un catalogue de 325 ePub. Les nouveaux appareils de lecture supportent maintenant un paramètre de style qu'ils ne supportaient pas auparavant et qui faisait tout le sel graphique de votre collection.

Le changement de ce style dans vos 325 ePub peut devenir (très) compliqué :

- si le style en question est difficile à identifier dans vos livres. La classe « citation » est par exemple plus explicite que la classe « s15 » ;

- s'il n'est pas identifié de la même manière dans tous vos livres. Si les citations ont un style nommé « s15 » dans un livre et « citation » dans un autre il faudra que vous cherchiez dans vos 325 ePub quel est pour chacun le style à modifier ;

- s'il n'est pas identifié de la même manière dans tous les fichiers d'un même livre (cela s'est déjà vu !). Si c'est le cas, il vous faudra chercher dans chacun des fichiers HTML de vos 325 ePub, afin de vous assurer que vous identifiez bien partout ce style et le changiez partout.

La problématique est la même s'il s'agit cette fois non pas d'un aspect graphique, mais d'une fonctionnalité ou d'un comportement que l'on peut affecter à un élément donné du texte : par exemple, l'affichage en popup des notes de bas de page au passage de la souris sur l'appel de note dans le texte. Ce type d'enrichissement commence à prendre forme, mais est actuellement peu supporté. On peut aisément envisager ce besoin de mise à jour à très court terme. Il est donc important de pouvoir identifier facilement, et si possible pour l'ensemble du catalogue, par exemple toutes les notes de bas de page, les appels de notes, les titres, etc. C'est-à-dire tous les éléments d'un même type.

Des normes de nommage explicites et uniformes d'un livre à l'autre sont donc un minimum à imposer à vos compositeurs afin de garantir une certaine évolutivité à moindre coût de votre catalogue ePub.

XI-C-2 - Des balises sémantiques autant que possible

On peut, schématiquement, coder son contenu HTML de deux façons différentes :

- en utilisant des balises génériques de conteneur (type <div> ou <span>) associées à une classe (type « p-standard » ou « liste01 ») ;

- en utilisant des balises spécifiques à certains contenus, comme <p> pour un paragraphe ou <ul> pour une liste, associées à un style et/ou une classe type « p-standard » ou « liste01 ».

Ces balises sémantiques, telles que p, ul, h1, h2, cite, des classiques de HTML, indiquent nativement la place, la fonction, le sens logique au sein du texte, des contenus qu'elles encadrent. Elles donnent ainsi des repères indispensables par exemple pour l'extraction de données à destination d'une table des matières ou d'un logiciel de lecture pour handicapés.

L'édition numérique n'ayant pas pour unique objet d'offrir un joli affichage, mais aussi, et peut-être surtout, une exploitation raffinée et novatrice des savoirs, ces balises doivent donc être exploitées au maximum.

XII - Typographie et mise en page

L'une des craintes des éditeurs tient en leur difficulté à évaluer la qualité graphique du contenu du livre. S'il est difficile de penser en termes de mise en page de la même façon que dans l'édition papier, la mise en forme du texte et la gestion typographique s'est grandement améliorée et permet à présent de jouer assez finement sur le texte.

XII-A - Ajouter des polices de caractères

Les fontes présentes dans votre ordinateur ne sont pas automatiquement intégrées dans le fichier électronique d'un livre. Cette intégration est optionnelle. Le terminal sur lequel sera lu l'ouvrage pourra faire appel aux fontes qu'il possède lui-même.

Il faut cependant savoir que tous les terminaux ne possèdent pas les mêmes polices. Un lecteur peut aussi installer ses propres polices sur son appareil. Enfin, la licence d'utilisation des polices ne permet pas toujours leur utilisation dans un cadre ePub ou selon certaines conditions.

Au cours de la réalisation de l'ePub il peut donc être nécessaire d'ajouter manuellement une fonte donnée dans le répertoire Fonts du livre.

XII-A-1 - Quelles polices utiliser ?

Dans le cadre d'une édition électronique, plusieurs critères peuvent être retenus pour le choix des fontes :

- le critère esthétique, bien sûr, puisqu'il va participer fortement à l'aspect graphique du document ainsi qu'à sa lisibilité ;

- la complétude de la fonte, car votre fichier électronique pourra éventuellement être lu dans des contextes informatiques variés, de langues variées ;

- pour la même raison, elles doivent respecter la norme Unicode. Les caractères spéciaux utiles à certaines langues doivent être à leur emplacement Unicode. Une fonte incomplète peut, sur le terminal du lecteur, voire substituer à ces caractères absents des caractères étranges ;

- enfin, il faut analyser les licences pour vérifier les conditions de diffusion de la fonte avec votre document ePub. Pensez bien qu'en ajoutant une police de l'ePub, vous diffusez la fonte avec le fichier et qu'il suffit au lecteur de votre document de l'extraire pour pouvoir l'utiliser. En cas de non-respect de licence, vous pourriez être accusé de diffusion illicite. Pour ces raisons, nous pensons que l'utilisation de fontes créées pour vos propres collections ou de fontes libres est plus simple et judicieuse. Par ailleurs, afin de respecter au mieux le droit des créateurs et des fonderies, des options d'obfuscation (« masquage ») sont spécifiées dans la norme ePub (http://www.idpf.org/epub/30/spec/epub30-ocf.html).

Pour plus d'informations sur les licences de fontes ainsi que les fontes libres, reportez-vous au manuel Fontes libres http://fr.flossmanuals.net/fontes-libres/introduction/.

XII-A-2 - Importer les fontes dans son projet ePub

Comme cela sera le cas pour toutes les ressources à utiliser dans un fichier ePub, il est préférable de s'en tenir aux répertoires définis par la spécification.

1. Si vous en avez la possibilité, faites une copie de vos fontes dans le dossier Fonts de votre document. Si vous utilisez Sigil, cliquez avec le bouton droit sur le dossier Fonts (Polices) et utilisez [Ajouter fichiers…]. Parcourez vos dossiers pour trouver le fichier de fonte que vous utilisez (les répertoires par défaut sont, sous Windows C:/Windows/Fonts, sous OS X Finder/Bibliothèque/Fonts et sous GNU/Linux /usr/share/fonts ou ~/.fonts).

2. Vérifiez éventuellement que le fichier content.opf contient la référence :

<item id="ePub.embedded.font" href="MaPolice.otf" media-type="font/opentype"/>

3. Une fois le fichier ajouté au projet, il vous faudra associer la fonte à la feuille de style pour pouvoir l'utiliser. Dans la feuille de style CSS du document, ajoutez :

@font-face {

font-family: MaPolice;

font-weight: normal;

font-style: normal;

src: url(MaPolice.otf);

@font-face {
font-family: MaPolice;
font-weight: normal;
font-style: normal;
src: url(MaPolice.otf);
}

- font-family permet de définir le nom de la fonte tel que vous y ferez référence dans les règles CSS. Choisissez un nom simple, mais représentatif.

- font-weight et font-style permettent de définir la graisse et la forme de votre fonte ; ici, ni l'une ni l'autre.

- src : permet d'associer un fichier .otf ou .woff (.woff à partir de l'ePub 3, cf. http://www.idpf.org/epub/30/spec/epub30-overview.html).

4. Spécifier :

body {
font-family: "MaPolice", serif;
}

Serif ou sans-serif détermine la fonte utilisée par défaut si le moteur de rendu ne lit pas la fonte que vous intégrez.

5. Apple demande un fichier spécifique pour que les fontes soient reconnues dans iBooks. Il faut extraire le fichier ePub et intégrer dans le dossier META-INF un fichier nommé « com.apple.ibooks.display-options.xml » qui contient ces lignes de code :

<?xml version="1.0" encoding="UTF-8"?>
<display_options>
<platform name="*">
<option name="specified-fonts">true</option>
</platform>
</display_options>

XII-B - Notions de mise en page

XII-B-1 - L'indentation

Vous pouvez décider de l'indentation (l'alinéa) du début de vos paragraphes. Pour ce faire, indiquez dans votre CSS :

p {
text-indent:1.3px;
ou
text-indent:0px; (pas d'indentation)
}

L'indentation n'est pas obligatoire pour tous les textes (la poésie par exemple a parfois des règles spécifiques), c'est à vous de décider de sa taille et du rendu que vous souhaitez obtenir.

XII-B-2 - L'interlignage

Bien que le lecteur puisse le régler à sa guise, il est important de définir l'espacement entre vos lignes de texte. L'ePub étant lu sur différents appareils de lecture, à l'écran plus ou moins grand, il faut que le confort de lecture soit optimal. Il vaut mieux mettre un interlignage important plutôt qu'un trop petit.

On le code par exemple ainsi :

p {
line-height:1.5; (1.5 qui est l'interlignage souvent utilisé, mais qu'il faut bien sûr modifier selon les fontes utilisées)
}

XII-B-3 - La taille du texte

Il est toujours très difficile de choisir la taille de la fonte puisque selon les dimensions de l'écran elle est plus ou moins lisible. Pour régler ce problème, on peut définir :

p {
font-size:100%;
}

La taille de la fonte s'adaptera alors automatiquement à votre appareil de lecture. Bien évidemment, vous pouvez toujours la spécifier en px ou em ; n'oubliez pas d'effectuer plusieurs tests sur différents moteurs de rendu.

XII-B-4 - Les marges

On peut décider de donner des marges au bloc de texte.

p {
margin-left:5%;
margin-right:5%;
width:90%;
}

définira une marge de 5 % de chaque côté du texte, lequel remplira donc 90 % de la page.

On peut également décider de placer une marge en haut (par exemple de 7 %) et/ou en bas (ici de 15 %) du texte, ce qui donne :

p {
margin-top:7%;
margin-bottom:15%;
}

On peut également choisir de spécifier les marges d'une autre manière :

p {
}

signifie que la marge du haut est de 20 px, la marge de droite est de 15 px, celle du bas de 10 px et enfin celle de gauche est de 5 px.

XII-B-5 - L'alignement du texte

On peut choisir d'aligner son texte à droite (right), à gauche (left), de le centrer (center) ou de le justifier (justify).

p {
text-align:justify;
}

XII-B-6 - La couleur du texte

On peut évidemment s'adonner à des fioritures, mais c'est déconseillé en terme d'interopérabilité. En effet, il faut penser que les liseuses à encre électronique ont un moteur de rendu en niveaux de gris, et qu'il est fort peu probable qu'un titre en jaune soit assez contrasté pour être lisible. De la même manière, une mise en page sobre permet parfois de mieux rehausser l'intérêt d'un texte : inutile de compliquer une mise en page pour utiliser le plus de classes possible. Néanmoins, il est toujours agréable d'avoir affaire à un ePub qui témoigne d'une réflexion graphique.

Pour spécifier la couleur dans la CSS :

p {
color:#070719;
}

On peut trouver les codes couleurs html à la page : http://html-color-codes.info/Codes-couleur-HTML/ par exemple, et des réflexions autour du formatage simple de l'ePub : http://jiminy.chapalpanoz.com/.

XII-B-7 - L'épaisseur de la fonte

La graisse (épaisseur des caractères) est définie par l'attribut de style font-weight. On peut décider de plusieurs valeurs : light, normal ou bold.

p {
font-weight:bold;
}

XII-B-8 - Le style du texte

On peut définir le style du texte grâce à font-style : normal ou italic.

p {
font-style:italic;
}

Finalement, si l'on assemble toutes ces valeurs, la classe p (paragraphe) donne :

p {
font-family:"MaPolice";
font-style:italic;
font-weight:bold;
text-indent:1.3px;
line-height:1.5;
font-size:100%;
margin-top:7%;
margin-bottom:15%;
margin-left:5%;
margin-right:5%;
width:90%;
text-align:justify;
color:#070719;
}

Parfois, certains moteurs de rendu ne lisent pas la valeur de l'attribut de style : rajoutez !important;, il est probable que cela puisse forcer le moteur à en tenir compte.

font-family:"MaPolice" !important;

XII-C - Ajouter des lettrines

L'usage de lettrines pour habiller votre texte est possible. Notez seulement qu'il peut y avoir certaines différences d'affichage selon les moteurs de rendu.

Voici une procédure possible :

- comme vous l'avez appris dans la première partie de cette section, importez si nécessaire la fonte qui sera utilisée pour votre lettrine ;

- dans votre CSS, il va falloir spécifier que la première lettre de la première ligne du premier paragraphe sera une lettrine. En plus des attributs de style que vous avez donnés à votre p utilisé couramment dans votre ePub, nous allons définir une autre sorte de paragraphe. Par exemple :

p.premier {
font-family:"nom de la fonte du corps de texte";
text-align:justify;
text-indent:0;
margin-top:10%;
-webkit-hyphens:none;
}

La propriété -webkit-hyphens est relative à la césure, nous y reviendrons après.

- Puis, nous définissons la lettrine. Pour ce faire, nous utiliserons la balise <span>. Celle-ci permet d'appliquer un attribut de style à une partie précise du texte. On la spécifie ainsi : <span>…</span> et tout ce qui se trouve entre les deux balises est stylé comme on le désire. Nous sommes toujours dans la CSS :

span.lettrine {
float:left;
font-family:"nom de la fonte de lettrine";
font-size:3em;
text-indent:0;
margin-right:0.1em;
}

float:left fait en sorte que la lettrine soit à gauche dans le flux du paragraphe et que le texte l'entoure correctement.
font-family définit le nom de la fonte que vous utilisez pour la lettrine.
font-size en donne la taille.
text-indent en définit l'indentation (ici elle est nulle, sinon le texte serait décalé à droite).
margin-right permet au texte qui entoure la lettrine de ne pas être collé à celle-ci.
Vous pouvez également rajouter d'autres attributs de style comme line-height (interlignage), color (la couleur du texte), etc.

- Dans vos fichiers html, votre premier paragraphe sera donc défini ainsi :

<p class="premier"><span class="lettrine">C'</span>est des histoires dont on ne se vante pas devant tout le monde.</p>

XII-D - La césure

L'un des gros problèmes relatif à la lecture numérique est la césure (parfois aléatoire et incontrôlable) définie par certains moteurs de rendu ou appareils de lecture. Pour optimiser au maximum vos ePub, et que l'appareil de lecture choisisse le bon dictionnaire de césure, il faut spécifier la langue de votre ePub à l'intérieur du code de celui-ci (et non pas seulement dans les métadonnées). Notons que certains appareils de lecture (heureusement de plus en plus minoritaires et, on peut l'espérer, voués à des mises à jour prochaines) ne supportent pas la césure.

Si votre ePub est rédigé en langue française par exemple, spécifiez xml:lang=« fr » dans vos fichiers xhtml, à la suite de :

<html xmlns="http://www.w3.org/1999/xhtml"
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
Vous pouvez également le spécifier dans la balise <body> :
<body xml:lang="fr">

Le standard ePub 3 permet de spécifier un -webkit-hyphens:none; dans la feuille de style ce qui a pour effet d'annuler toute césure. Cela est particulièrement utilisé pour les titres de chapitres.

XII-E - Insérer des bordures

Cette capture d'écran d'un ePub lu dans l'application de lecture iBooks (sur iPad) permet de comprendre que l'on peut utiliser des bordures afin de créer une mise en page soignée. Ici, l'on utilise la balise <table>, mais sans aller jusque-là, plusieurs attributs de style de bordure sont acceptés par la norme ePub, par exemple :

p {
border-style:solid;
border-width:15px;
border-color:#ff0000 #0000ff;
}

Voir http://www.w3schools.com/cssref/pr_border.asp qui référence les attributs de valeurs des bordures. Attention toutefois, certains ne fonctionnent pas (doubles lignes par exemple) dans l'ePub. Vous pouvez intégrer une couleur de fond (background-color), jouer sur les marges, etc. (voir la section Enrichir son ePub > Chapitre Les bases de l'HTML et du CSS).

XII-F - Insérer des notes de bas de page

Il y a plusieurs façons de procéder pour insérer des notes de bas de page, selon leur nombre et l'esthétique que vous avez choisi de donner à votre livre. Vous pouvez très bien choisir de les placer à la fin du livre, à la fin de chaque chapitre, ou encore d'utiliser les modalités ePub 3 afin de les créer en pop-up. Notez que sur un écran tactile, les notes de bas de page peuvent parfois s'avérer problématiques : on peut tourner une page en essayant d'y accéder, le point d'accès est trop petit en taille, etc. Ne pas hésiter, donc, à mettre des numéros de notes de bas de page entre crochets par exemple, ou à donner une taille de caractères assez grande pour les numéros de notes de bas de page, etc.

XII-F-1 - Procédure simple

Voyons la procédure pour insérer les notes de bas de page à la fin du livre. Elles fonctionnent par liens hypertexte. C'est un jeu d'allers et retours entre le texte et la note :

1. créez un fichier XHTML que vous positionnez en fin d'ouvrage (généralement). Nommez-le comme vous le voulez, dans notre exemple il s'intitulera « footnotes.xhtml » ;

2. insérez chacune des notes de bas de page comme des paragraphes ordinaires. Vous pouvez leur attribuer une classe spécifique dans la CSS afin de les styler d'une manière particulière (marges entre chaque note par exemple) ;

3. dans votre fichier « footnotes.xhtml », vous avez trois notes de bas de page, présentées ainsi :

<p><a id="footnote1"></a></p>
<p><a href="/ecrire/creer-un-ePub/Text/presentation.xhtml#footnote-ref1"><sup>[1]</sup> Philippe Ethuin est chroniqueur à la revue <a href="http://www.galaxies-sf.com/"><em>Galaxie Science-Fiction</em></a></p>

<p><a id="footnote2"></a></p>
<p><a href="/ecrire/creer-un-ePub/Text/presentation.xhtml#footnote-ref2"><sup>[2]</sup></a> <em>La Guerre infernale</em> de Pierre Giffard, illustrée par Albert Robida, 1908.</p>

<p><a id="footnote3"></a></p>
<p><a href="/ecrire/creer-un-ePub/Text/presentation.xhtml#footnote-ref3"><sup>[3]</sup></a> Voir Octave Béliard, <em>Occident et Orient, Touche à Tout</em> n° 3 du 15 mars 1914, repris dans <em>Le Bulletin des Amateurs d'Anticipation Ancienne</em> n° 36, 2005.</p>

Chaque note de bas de page a un identifiant : la première ici est identifiée par « footnote1 », la seconde par « footnote2 » ? etc.
Les liens sont identifiés par <a>.
Le chemin du lien par <href=« /ecrire/creer-un-ePub/Text/presentation.xhtml » (ici, toutes nos notes de bas de page pointent vers le fichier xhtml « presentation.xhtml » présent dans le dossier « Text » de l'ePub).
Le référent du lien (ce vers quoi il pointe dans le texte) par « #footnotes-ref1 ». C'est ce qui permettra au moteur de rendu de renvoyer à la note de bas de page spécifique et non pas au début du fichier xhtml contenant les notes de bas de page.
La balise <sup>…</sup> permet d'indiquer qu'il s'agit d'un exposant (généralement le nombre concerné par la note de bas de page) ;

4. dans votre fichier XHTML « presentation.xhtml », vous aurez donc :

Présentation par Philippe Ethuin<a href="/ecrire/creer-un-ePub/Text/footnotes.xhtml#footnote1" id="footnote-ref1"><sup>[1]</sup></a>&nbsp;:
<p>&nbsp;</p>
Des auteurs comme le Capitaine Danrit, Pierre Giffard<a href="/ecrire/creer-un-ePub/Text/footnotes.xhtml#footnote2" id="footnote-ref2"><sup>[2]</sup></a> ou même Octave Béliard<a href="/ecrire/creer-un-ePub/Text/footnotes.xhtml#footnote3" id="footnote-ref3"><sup>[3]</sup></a>, ont écrit de nombreuses guerres futures mettant en scène des engins extrapolés tels des aéroplanes blindés, des dirigeables cuirassés, des chars, des super-canons ou des forts imprenables.</p>

Nous avons donc bien l'indication qu'il s'agit d'un lien grâce à la balise <a>, son chemin qui est href=« /ecrire/creer-un-ePub/Text/footnotes.xhtml#footnote1 » et son référent (l'identifiant de la note de bas de page) id=« footnote-ref1 ». Le numéro de la note est entre crochets, défini en exposant grâce à <sup> et lié grâce à <a>.
Visuellement, cela donne dans Sigil :

et lorsque l'on clique sur l'une ou l'autre des notes de bas de page, nous arrivons sur le fichier « footnotes.xhtml » où l'on peut voir :

5. vérifiez que tous les liens fonctionnent.

XII-F-2 - Procédure « pop-up » liée à ePub 3

Une nouvelle fonctionnalité de notes de bas de page est possible grâce au standard ePub 3. Elle n'est pas disponible dans ses versions précédentes et n'est donc lisible que par les moteurs de rendu prenant en compte ce standard. Il s'agit d'ouvrir les notes en mode « pop-up », à l'endroit du texte où l'on clique ou touche, ce qui permet un gain de temps considérable (on évite les allers-retours) et une meilleure expérience utilisateur. Il suffit, pour les lecteurs qui le supportent, de formater les notes ainsi :

<p> 2050 représente, dans l'imaginaire collectif, une somme d'inquiétudes entre changement climatique, fin du pétrole, et inconnues géopolitiques <a ePub:type="noteref" href="#note1">1</a></p>. </p>

Faites bien attention d'inclure le ePub:type.

Ensuite créez un élément <aside> (qui sera automatiquement masqué par le moteur de rendu et qui contient la note de bas de page). Cet élément contient le texte de la note.

<aside ePub:type="footnote" id="note1">
<p>Ceci est la note de bas de page pop-up.</p></aside>

L'élément <aside> est défini par ePub:type=« footnote » pour signifier qu'il s'agit d'un contenu de bas de page. L'identifiant <id> renvoie au lien <href>.

XII-G - Autres interactions possibles grâce à ePub 3

Nous ne détaillerons pas ici toutes les procédures relatives à l'intégration d'interactions liées aux normes ePub 3 (qui utilise HTML5/CSS3). Néanmoins sachez qu'il est désormais possible de créer des ePub enrichis interactifs, notamment grâce au langage Javascript. Le multimédia est largement mis à l'honneur.

Quelques actions possibles grâce à cette norme :

- écrire, dessiner directement sur le texte ou les images ;

- ajouter de l'audio, de la vidéo, des diaporamas ;

- cocher des cases, différents modes de sélection ;

- intégration de quizz, d'animations ;

- etc.

De fait, l'ePub 3 se rapproche de plus en plus d'un site Internet en termes de construction, de langage et d'application. Pour en savoir plus, référez-vous à cet article : http://blog.walrus-books.com/2011/06/20/11-ideas/ qui vous donnera une bonne idée de l'intérêt de ce format. L'ePub 3 est en quelque sorte le compromis entre une publication « simple » et le livre-application.

XII-H - Contenu fluide et mise en page fixe (reflowable-text et fixed-layout)

La mise en page d'un ePub est directement liée au type de son contenu : de même qu'en édition papier, on ne met pas en page de la même manière une bande dessinée ou un roman.

L'ePub a la possibilité de proposer deux manières d'appréhender une mise en page : le contenu fluide (flot de texte, ce pour quoi l'ePub a été créé) et la mise en page fixe. Voyons ensemble ce qui les différencie et dans quels cas les utiliser.

XII-H-1 - Qu'est-ce que le contenu fluide (reflowable-text) ?

C'est à la base le format que privilégie le livre numérique puisqu'il s'adapte à la taille des écrans sur lesquels on lit le livre numérique (le texte qui s'adapte à l'utilisateur et non l'inverse : c'est là tout l'intérêt de l'ePub). Le lecteur, dans cette configuration et selon l'appareil qu'il utilise, peut choisir de régler la taille des caractères, l'interlignage, la fonte, les marges, etc. Le texte est donc « vivant ». De fait, il se rapproche plus de la mise en page d'un site Internet que de celle d'un livre papier : plus de notion de page ici, le texte est un flux qui s'adapte à l'appareil qui le contient. C'est le format le plus plébiscité par les mises en page contenant du texte et qui ne demandent pas de réflexion très graphique (romans, essais, etc.). Tout créateur d'ePub de ce type doit donc bien comprendre que s'il décide d'une mise en page, le lecteur peut à tout moment la déconstruire. Il faut donc optimiser au maximum sa mise en page afin que cela arrive le moins souvent possible, mais on ne peut pas tout contrôler : c'est la règle du jeu dans un ePub.

XII-H-2 - Qu'est-ce que la mise en page fixe (fixed-layout) ?

Il arrive parfois que contenu et mise en page ne puissent être cohérents qu'en étant fixes. Dans sa configuration, la mise en page fixe (définie par les normes ePub 3) se rapproche beaucoup d'un PDF et donc de la mise en page papier. En effet, elle est par définition « figée » dans un cadre limité et pensée pour des réalisations où la mise en page graphique est importante et précise (albums jeunesse, magazines, beaux livres). De fait, n'étant pas un flux, elle ne s'adapte pas à tous les appareils de lecture et est donc d'abord créée pour un nombre limité d'appareils. Il faut donc avant tout penser au design de son livre, mais également à son accessibilité.

XII-H-3 - Créer une mise en page fixe

Pratiquement, voyons comment coder un ePub avec une mise en page fixe. Tout d'abord, ne pas hésiter à aller sur le site de l'IDPF qui en documente les spécificités http://idpf.org/ePub/fxl/ et sur le wiki d'ePub 3 http://code.google.com/p/epub-revision/ (en anglais). La mise en page fixe dépend de la norme ePub 3.

Dans le content.opf, dans l'ensemble <package>, comme pour tout ePub 3, modifiez « version=2.0 » en « version=3.0 ».

Voyons les modifications spécifiques à la mise en page fixe :

1. Dans le content.opf, ensemble <package>, ajouter

prefix="rendition: http://www.idpf.org/vocab/rendition/#"

puis, ajouter

<meta property="dcterms:modified">2012-08-28</meta>

qui stipule la date à laquelle le contenu a été modifié (ne pas oublier donc de changer « 2012-08-28 » en la date à laquelle vous créez votre ePub)

Puis définir les variables de la mise en page fixe. Trois variables définissent la disposition et la restitution (rendition) d'une mise en page fixe :

- layout : qui se définit avec les valeurs reflowable (texte-flux) ou pre-paginated (texte prépaginé) ;

- spread : qui se définit avec les valeurs none (aucune), portrait (portrait), landscape (paysage), both (les deux), auto (automatique) ;

- orientation : qui se définit avec les valeurs auto, portrait ou landscape.

2. Dans le fragment XHTML, ajouter dans l'ensemble <head>

<meta charset="utf-8" />

Puisque le jeu d'encodage présent dans la déclaration XML (première ligne) est généralement :

encoding="utf-8"

Puis ajouter la balise <meta> avec valeurs width et height afin de spécifier la taille du contenu :

<meta content="width=1200,height=1700" name="viewport" />

3. Créer une nouvelle table des matières (TOC / Table of Contents). Créez un nouveau fichier xhtml qui servira de table des matières (par exemple nav.xhtml) et ajoutez l'élément <nav>.

<nav xmlns:ePub="http://www.idpf.org/2007/ops" ePub:type="toc" id="toc">

Puis listez vos différents chapitres.

- <a> indique que c'est un lien ;

- href en donne le chemin ;

- <li> signifie « liste » ;

- <ol> signifie « liste ordonnée » (les éléments sont dans le bon ordre) ;

4. Dans le content.opf, déclarez dans l'ensemble <manifest>

<item id="toc" href="nav.xhtml" properties="nav" media-type="application/xhtml+xml"/>

5. Rezippez votre ePub et vérifiez-le avec EpubCheck et Readium. Attention toutefois, Apple a quelques spécificités pour la mise en page fixe et il faut jeter un œil sur les recommandations que la marque fournit afin de ne pas avoir de mauvaise surprise.

XIII - Ajouter des données multimédias

Le passage du papier au numérique ouvre la porte à l'intégration dans vos ouvrages de contenus multimédias, c'est-à-dire de sons et de vidéos ainsi que des options d'interactivité. Le standard ePub 3 le permet. Si vous souhaitez créer des ePubs de ce type, il faudra prendre une attention particulière à bien cibler le public et les prérequis techniques, car de nombreux périphériques de lecture ne les prennent pas en charge malgré les recommandations. Les raisons de cette réticence sont simples :

- la vidéo est lourde donc longue à télécharger ;

- la vidéo est lourde et demande des puissances de calculs, ce qui a tendance à vider rapidement les batteries ;

- le fonctionnement des options d'interaction est variable selon les périphériques (survol disponibles sur ordinateurs, mais pas sur tablette…) ;

- les bonnes pratiques concernant la vidéo ne sont pas évidentes et ne viennent pas tempérer les contre-arguments précédents.

Jusqu'à présent, aucun outil dédié spécifiquement à la création d'ePub ne permet d'intégrer automatiquement des données multimédias complètes.

Pour les logiciels de lecture qui ne supportent pas la vidéo, ils sont incités à présenter au lecteur le fait que celui-ci n'aura pas accès à l'intégralité du contenu du livre. FBReader affiche par exemple ce message conformément à ce que les créateurs du fichier ont demandé :

Your Reading System does not support (this) video.

<video id="video1"autoplay="" role="button" aria-controls="video1" controls="">
<source src="#/video/shared-culture.mp4" type="video/mp4"></source>
<source src="#/video/shared-culture.webm" type="video/webm"></source>
<track src="#/captions/cc-en.vtt" srclang="en" kind="subtitles" label="English"></track>
<track src="#/captions/cc-fr.vtt" srclang="fr" kind="subtitles" label="Français"></track>
</video>

Que ce soit du côté du lecteur comme du créateur de fichier, les choses vont bien sûr évoluer, mais force est de constater qu'à l'heure actuelle, il vous faudra travailler directement sur les fichiers source de l'ePub à l'aide d'éditeurs de texte HTML (lisez les chapitres Mieux comprendre l'ePub et Les bases du HTML et du CSS pour l'ePub pour les manipulations de base des fichiers).

XIII-A - Formats acceptés

Pour les ePub, il existe deux formats multimédias natifs : le MP3 pour le son et le MP4 pour la vidéo (http://www.idpf.org/epub/30/spec/epub30-publications.html).

Si vous utilisez d'autres formats que le MP3 ou le MP4, ou si l'outil sur lequel sera lu l'ePub ne peut pas les lire (c'est le cas de la plupart des liseuses actuelles), votre fichier multimédia sera remplacé par une icône ou un texte par défaut. Afin de fournir au lecteur une information plus substantielle, il est recommandé d'intégrer dans tous les cas pour chaque fichier multimédia un fichier alternatif (fallback) dans un format standard : une image (pour les vidéos) et une description textuelle (pour les fichiers son comme vidéo) sont conseillées (http://www.idpf.org/epub/30/spec/epub30-publications.html).

XIII-B - Ajouter un élément multimédia

XIII-B-1 - Importer le fichier multimédia

1. Ouvrez l'ePub dans Sigil.

2. Cliquez droit sur le dossier [Divers] (ou [Misc]) dans la structure de l'ePub et importez les fichiers multimédias que vous souhaitez inclure.

3. Enregistrez et fermez. Les outils actuels d'édition d'ePub (tel Sigil) ne supportant pas les spécifications ePub 3, ils vont « nettoyer » les ajouts que vous aurez apportés dans les fichiers de contenu (HTML, XHTML) sur ces points. Notez aussi que l'aspect des boutons de lecture (lire, pause, arrêt) peut varier selon les logiciels.

Pour rappel, la structure de dossier du fichier ePub, hormis le dossier META-INF d'ailleurs caché par Sigil, n'est pas fixe et vous pouvez très bien placer vos sons et vidéos dans un dossier personnalisé. Dans les exemples qui suivent nous utiliserons une musique téléchargée de http://musopen.org/music, très exactement la première directement téléchargeable par le lien http://musopen.org/download/music/id/994?download=1, renommée Suite_Espanola_Op_47_Leyenda.mp3 pour supprimer les espaces et autres signes non recommandés, et une vidéo libre produite par la fondation Blender et disponible à l'adresse https://durian.blender.org/wp-content/content/download.html.

La seule alternative consiste pour l'instant à décompresser votre fichier (voir le chapitre Mieux comprendre l'ePub dans la section Enrichir son ePub) et à travailler dans un éditeur HTML (voir la section Des outils pour façonner le code).

XIII-B-1-a - Ajouter de l'audio en codant

Vous voilà dans votre fragment XHTML.

Placez-vous à l'endroit où vous désirez que le morceau audio apparaisse.

Codez par exemple :

<audio id="audio1" src="audio/Suite_Espanola_Op_47_Leyenda.mp3" controls="controls" width="200"/>

Notons que width définit la largeur de la fenêtre audio qui sera présente dans l'ePub et que controls permet l'affichage des boutons de lancement et d'arrêt de la lecture de son.

N'oubliez pas d'ajouter la référence votre vidéo dans le fichier opf de votre ePub :

<item id="audio1" href="audio/Suite_Espanola_Op_47_Leyenda.mp3" media-type="audio/mpeg"/>

XIII-B-1-b - Ajouter de la vidéo

Codez par exemple :

<video src="video/sintel_trailer-480p.mp4" controls="controls" width="320" height="240"/>

Une seconde notation incluant l'élément source à la place de l'attribut src permet de définir plusieurs sources pour la même vidéo et ainsi laisser le logiciel de lecture choisir le format le plus approprié pour lui. Attention cependant, car cela alourdit évidemment d'autant les fichiers ePub.

<video id="video3" controls="controls" width="320" height="240">
<source src="video/sintel_trailer-480p.mp4" type="video/mp4"/>
<source src="video/sintel_trailer-480p.webm" type="video/webm"/>
<source src="video/sintel_trailer-480p.ogv" type="video/ogg"/>
</video>

Notons que width définit la largeur de la fenêtre vidéo et height sa hauteur.

Dans le content.opf, modifiez :

<item id="video3" href="video/sintel_trailer-480p.mp4" media-type="video/mpeg" />

Si vous utilisez la notation avec plusieurs sources pour le son ou la vidéo, chaque source doit être indiquée dans le fichier opf.

Rezippez votre fichier.

Ne l'ouvrez pas sous Sigil, il nettoiera automatiquement les balises multimédia et vous serez alors obligé de tout recommencer…

Aperçu d'une vidéo dans Readium et dans ePubReader (Firefox) (fichier : http://code.google.com/p/ePub-samples/downloads/detail?name=cc-shared-culture-20120130.ePub&can=2&q=)

XIII-B-1-c - Fallbacks et messages

Fournir un contenu ou message de remplacement pour le cas où votre élément multimédia ne serait pas chargé peut s'avérer important afin de montrer au lecteur qu'il n'a pas accès à une partie de l'information.

Le principe est d'ouvrir la balise audio ou vidéo et d'y insérer des balises contenant textes ou images qui s'afficheront en cas de problème.

<video id="video3" controls="controls" width="320" height="240">
<source src="#/video/sintel_trailer-480p.mp4" type="video/mp4"/>
<source src="#/video/sintel_trailer-480p.webm" type="video/webm"/>
<source src="#/video/sintel_trailer-480p.ogv" type="video/ogg"/>
<div class="errmsg">
<p>Une vidéo ne peut être affichée</p>
</div>
</video>

XIII-C - Ajouter de l'interactivité avec Javascript

Depuis très longtemps, les pages web peuvent être enrichies par diverses techniques. L'une des plus répandues est l'usage du Javascript, utilisé dans de nombreux contextes. Le succès de Javascript a été tel qu'au fil du temps de nombreuses « librairies », applications évoluées réutilisables, ont été créées. Elles sont en général dédiées à des tâches spécifiques comme :

- jQuery, pour gérer l'interaction avec le contenu de la page ;

- Raphaël, pour agir sur les contenus SVG et modifier dynamiquement des graphiques.

L'interactivité était déjà possible avec le standard ePub 2, mais les orientations ePub 3 le rende plus utilisable que jamais en posant le multimédia comme une part intégrante du standard. Dans l'exemple qui suit, nous utiliserons jQuery qui est certainement la librairie la plus célèbre en ce moment.

1. Téléchargez jQuery à l'adresse : http://code.jquery.com/jquery-latest.js. Vous pourrez en trouver ailleurs avec d'autres numéros de version, toutes iront pour notre initiation. Certains sites conseillent de lier votre fichier au site de référence plutôt que de l'importer dans votre projet ePub. Nous préférons l'importation, car nous considérons qu'un livre électronique peut être lu sans connexion Internet.

2. Placez ce fichier téléchargé dans le dossier Misc et ajoutez ce code dans la partie <head> </head> de la page ePub :

<script src="#/Misc/jquery-latest.js" type="text/javascript"></script>

3. Ensuite, nous préparons les informations de notre page :

<h1>Téléchargez directement un livre !</h1>
<ul style="display:inline;style-type:none;position:relative;">
<li class="gimp">Gimp</li>
<li class="scribus">Scribus</li>
</ul>

Regardez bien le nom des class CSS associées à chaque élément de liste li.

4. Ensuite, ajoutez le code suivant dans la partie head, à nouveau, juste après le code d'insertion du script :

<script type="text/javascript">
//<![CDATA[
$(function(){
$('.gimp').click(function(){
alert('Vous avez choisi Gimp');
});
$('.scribus').click(function(){
alert('Vous avez choisi Scribus');
});
});
//]]>
</script>

Nous voilà déjà avec un code réactif à l'action sur le texte.

En ajoutant une image qui aurait l'id gimp, vous pouvez faire apparaitre progressivement votre image en utilisant la ligne :

$('#gimp').fadeIn("slow");

Au lieu de :

alert('Vous avez choisi Gimp');

XIII-D - Validez votre ePub

Si vous voulez vendre sur les plateformes Apple ou Amazon, vous devez faire très attention à respecter à la lettre leurs recommandations. Dans le cas contraire, vous risquez de voir votre ePub refusé. Pour connaitre les procédures de validation d'un ePub, rendez-vous à la section Contrôler ses fichiers/Vérifier la validité du fichier.

XIV - Ajouter des images

Les images peuvent être des éléments importants du document. Dans le cas d'un roman, la seule image sera peut-être celle de couverture, dans d'autres cas (magazines, guides…) elles seront plus nombreuses et certainement plus variées.

XIV-A - Spécificités des images dans un livre électronique

Le livre électronique est technologiquement très différent du livre papier. L'un des éléments le plus frappants pour un débutant en création de document ePub est souvent l'absence partielle de contrôle sur le résultat final. En effet, c'est le lecteur qui en a les clés. De toute la chaine de vie d'un livre électronique, le lecteur est celui qui a le moins de connaissance sur le sujet et qui a la liberté de choisir son achat.

Les terminaux de lecture, monochrome ou multicouleur, étant très variés en termes de dimensions (de 2 à 30 pouces de diagonale) et les logiciels pouvant varier dans leur interprétation du fichier ePub, le lecteur pourra avoir sous les yeux un document bien différent de celui qui a été conçu par l'éditeur.

XIV-B - Les formats d'image utilisables en ePub

Tous les types d'images ne sont pas utilisables et leur rendu pourra varier. Donc, oubliez vos fichiers Photoshop au format PSD et exportez dans un des formats suivants :

- jpeg ;

- png ;

- gif ;

- svg.

La balise servant à placer une image est img, suivie de l'attribut src, sous la forme :

<img src="chemin/nomImage" alt="Texte alternatif" title="Titre" />

Par exemple :

<img src="#/Images/Fra_Carnevale_-_The_Ideal_City_-_Walters_37677.jpg" width="1160px" />

Les images doivent être placées au préalable dans le dossier Images de votre structure ePub de manière à y faire référence par un simple chemin d'accès ../Images. Si vous codez votre ePub vous-même, n'oubliez pas de rajouter votre ressource dans le fichier content.opf.

Dans Sigil, un simple clic droit sur le dossier Images > Ajouter fichiers… pour la rendre disponible, puis utilisez le bouton d'insertion d'image pour la placer dans le document.

XIV-C - Ajouter une couverture

L'insertion de la couverture est obligatoire. Certaines plateformes ont des spécificités précises en ce qui concerne ses dimensions. Pendant longtemps, la norme a été du 600px par 800px. Désormais Amazon demande du 1000px de large et Apple du 1400px. Il se peut que la couverture ne s'affiche pas du tout à cause de son poids ou de ses dimensions. Il est donc important de la tester sur plusieurs supports.

Vous pouvez par exemple définir ainsi la classe CSS de votre couverture, avec une indentation nulle et un alignement centré :

.cover {
text-indent:0;
text-align:center;
}

ce qui donne dans le code ePub/HTML5 :

<div class="cover"><img src="#/Images/Fra_Carnevale_-_The_Ideal_City_-_Walters_37677.jpg" width="1160px" /></div>

Si vous avez une image en mode portrait et que vous voulez qu'elle prenne tout l'écran, modifiez « width=100 » en « height=100% ». Le <div> peut éventuellement être remplacé par un <p> si nécessaire.

Pensez qu'une couverture d'ePub doit être lisible dans une très petite taille, car les plateformes de vente d'ePub affichent des tailles miniatures. Le titre, le nom de l'auteur et l'éditeur doivent donc être formatés en assez grands caractères.

Dans le fichier content.opf, pour vous assurer que votre couverture passe partout, et notamment chez Apple, vérifiez votre ligne de code, générée parfois automatiquement notamment par Sigil, et assurez-vous que votre <meta content> définisse le nom de votre fichier image de couverture et que son nom soit « cover » (name=« cover »). Vérifiez toujours l'extension et la casse des noms de vos fichiers image. En cas d'erreur elle ne sera pas affichée.

<meta content="cover.png" name="cover" />

En ePub3, la spécification propose d'ajouter l'attribut properties avec la valeur cover-image. Cette méthode tend à se répandre est se retrouve utilisée par de nombreux logiciels de lecture, y compris gratuits.

<meta name="cover" content="cover.png" properties="cover-image" />

XIV-D - Insertion d'images redimensionnables et zoomables

L'ePub, en tant que proposition basée sur des standards du web, définit le SVG (Scalable Vector Graphics) comme format de représentation graphique sous forme vectorielle.

XIV-D-1 - Les avantages du SVG

Si vos images étaient au format .ai, .eps, .cdr ou autre, oubliez-les, elles ne remplissent pas les objectifs de l'édition web :

- du contenu léger pour faciliter le téléchargement sur des appareils éventuellement mobiles et économiser la batterie des périphériques de lecture ;

- permettre l'indexation du contenu par les moteurs de recherche si celui-ci est important ;

- permettre une interaction entre le contenu de la page et le contenu de l'image ;

- créer des animations ou transitions éventuelles.

SVG remplit tous ces objectifs et fournit en plus d'autres avantages liés aux fontes ou à quelques autres sujets. Le logiciel le plus compétent à l'heure actuelle dans la création de fichiers SVG est Inkscape, mais Illustrator peut également enregistrer au format SVG même si les résultats sont moins concluants.

Pour plus d'informations sur Inkscape et le SVG, reportez-vous aux manuels spécifiques :

- manuel Inkscape : http://fr.flossmanuals.net/initiation-inkscape/introduction/

- manuel SVG : http://fr.flossmanuals.net/svg/introduction/

XIV-D-2 - Dans quel cas utiliser des SVG ?

En impression, l'utilisation de fichiers vectoriels permet de laisser le RIP générer le bitmap à sa résolution de sortie sans perte et assure alors la qualité maximale. En édition électronique, de façon identique, le SVG permettra à l'image de s'adapter à la résolution du logiciel ou matériel de lecture de votre livre ePub. Il conviendra parfaitement pour les :

- logos ;

- cartes et plans ;

- graphiques ;

- contenus interactifs ;

- contenus devant s'adapter à la page (bandes dessinées, mangas, présentations type diaporama…).

En utilisant un logiciel de création, produire des SVG est très simple. Vous pouvez aussi créer ou personnaliser directement dans le code, qui ressemble beaucoup à du code HTML. Si vous souhaitez du contenu interactif ou animé, l'étape de modification de code sera nécessaire.

Cependant, si vous souhaitez réaliser des documents complexes, veillez aux points suivants :

- l'intégralité des capacités offertes par le SVG n'est pas nécessairement utile pour un livre (par exemple les contenus animés). ePub définit donc un sous-ensemble utile et exclut certaines parties de la recommandation ;

- il faudra faire de nombreux tests, car le rendu du fichier est entièrement assuré par le logiciel de lecture du livre et la qualité d'affichage peut varier très sensiblement.

XIV-D-3 - Insérer un fichier SVG dans un livre ePub sous forme d'image liée

Le type d'insertion le plus simple est d'utiliser le fichier SVG comme une image « classique ». Pour cela, il suffit d'utiliser l'élément img et de passer l'adresse et le nom du fichier SVG en valeur de l'attribut src :

<img src="#/Images/plan_appartement.svg" alt="page 6" />

Le rendu ne sera pas purement vectoriel, car un cache bitmap semble être réalisé sur plusieurs logiciels de lecture. Mais cette solution est la plus universelle et simple à mettre en œuvre.

XIV-D-3-a - Insertion d'un fichier SVG sous forme native

L'insertion d'un fichier SVG directement dans le code de l'ePub est l'autre forme pour assurer la préservation vectorielle maximale, mais elle aura l'inconvénient d'alourdir le code de la page HTML de l'ePub et d'en complexifier sa mise à jour. Cependant elle permet d'éviter des problèmes de relation et d'insérer le code SVP directement dans la page HTML, à l'endroit voulu, par un simple copier-coller. Dans l'exemple qui suit, vous trouverez un panneau « sens interdit » produit dans Inkscape. Il suffira d'afficher le code sSVG dans un éditeur de texte de la même façon qu'avec une page Web, de copier la partie du code qui est entre <svg> et </svg> et de le coller dans la page ePub.

<svg
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="67"
height="67"
id="svg3199"
version="1.1">
<g
id="layer1"
transform="translate(-103.57143,-255.93361)">
<g
transform="translate(-142.85715,-232.14286)"
id="ico_dont">
<path
transform="matrix(1.46875,0,0,1.46875,40.803571,213.49128)"
d="m
185.71429,209.80876 c 0,12.62365 -10.23349,22.85714
-22.85714,22.85714 C 150.2335,232.6659 140,222.43241 140,209.80876 c
0,-12.62365 10.2335,-22.85714 22.85715,-22.85714 12.62365,0
22.85714,10.23349 22.85714,22.85714 z"
ry="22.857143"
rx="22.857143"
cy="209.80876"
cx="162.85715"
id="path2992"
style="fill:#483737"
/>
<rect
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="btn_dont"
width="50.357143"
height="16.785715"
x="254.28571"
y="514.14789"
/>
</g>
</g>
</svg>

Ce code montre aussi la personnalité du SVG et la façon de le construire. Dans l'exemple ci-dessus, l'utilisation de certaines fonctions d'Inkscape a complexifié légèrement certaines portions, mais on peut voir que le SVG :

- permet de créer des formes géométriques (rect) ;

- permet de créer à partir de vecteur (path) ;

- définit la position et la taille des éléments (x, y, width, height) ;

- définit l'aspect des éléments par l'utilisation du CSS (ici écrit directement dans l'attribut style, mais qui pourrait aussi être lié à une feuille de style externe).

Dans bien des cas, quand il s'agit de dessins, plans… un fichier SVG va s'avérer bien plus léger qu'un équivalent en JPG ou PNG avec une qualité de rendu supérieur. Dans le cas du plan ci-dessous, le fichier SVG occupe 47 ko, et peut être agrandi à volonté pour laisser le lecteur analyser des détails. Pour arriver à un taux d'agrandissement à peu près équivalent sur cette page à 1200 pixels, notre image enregistrée en PNG ferait 1000 ko soit 1 Mo, 20 fois plus.

Voici le résultat obtenu en agrandissant dans Readium, l'extension au navigateur Chrome validée par l'IDPF :

Et le même rendu avec une image PNG, mais dont le poids sera 20 fois supérieur !

XV - Vérifier l'affichage de votre fichier

La question du graphisme dans le format ePub confronte l'approche traditionnelle du graphisme et de la typographie dans l'édition. Elle fait, ou a fait, partie des freins au passage de certains éditeurs vers l'édition mixte papier/électronique.

Elle a deux origines. D'une part, le format ePub est à la base une forme de publication en flux dont le contenu va s'adapter à la taille de l'écran sur lequel il s'affiche. Il accepte aujourd'hui certaines contraintes permettant de définir un contenu fixe (fixed layout, voir le chapitre Typographie et mise en page de la section Enrichir son ePub), mais avec la réserve d'être lu sur certains supports uniquement et avec des écrans de taille adaptée. D'autre part, toutes les applications n'affichent pas le livre de la même façon et une même application de lecture peut ne pas afficher un même livre de la même façon sur deux supports de lecture différents.

Il est donc recommandé d'une part de penser, ou repenser, sa maquette en amont de la fabrication électronique. Et d'autre part de procéder à une vérification minutieuse de son rendu sur les supports de lecture de son choix.

XV-A - Penser ou repenser sa maquette

Il y a trois positions possibles face à cette question :

1. Opter pour un ePub (version 3) à mise en page fixe (fixed layout) avec les restrictions de support et d'écran qui s'imposent ;

2. Chercher à conserver une maquette en « flux » très élaborée en prévoyant autant que possible dans sa feuille de style les options de rechange en cas de styles non supportés ;

3. Élaborer une maquette « plus grand dénominateur commun », s'affichant sans surprise sur les supports et applications de lecture les plus répandus.

Aucune des positions n'est bonne ou mauvaise. Le choix dépend en grande partie du type éditorial. Un roman ne pose pas les mêmes défis graphiques qu'un livre d'art. Ceci étant, une maquette très graphique, imposant un positionnement élaboré des éléments les uns par rapport aux autres est un parti pris encore risqué, et peut-être illogique, dans une publication ePub.

Il faut savoir que même dans une maquette très simple, des éléments élémentaires de typographie ne sont pas toujours supportés par les supports de lecture. Mentionnons par exemple les petites capitales, voire les capitales, en attribut css : {font-variant: small-caps;} ou {text-transform: uppercase;}.

Un livre dont les titres dans la version papier sont traités ainsi devra peut-être être repensé pour sa version électronique qui risque de n'afficher que des titres en bas de casse. Il est ainsi préférable de rédiger ses titres en capitales plutôt que de compter sur un style forçant les minuscules à s'afficher en capitales.

Sachez d'autre part que certains éléments seront gérés par vos lecteurs plutôt que par vous-même. Il en est ainsi pour les fontes, avec l'impact que vous pouvez imaginer. Il vaut donc sans doute mieux envisager une certaine sobriété graphique…

XV-B - Vérifier l'affichage de votre fichier

Vérifier le rendu, autrement dit l'affichage de votre fichier sur différents supports de lecture fait partie intégrante du processus de contrôle qualité avec pour objectif d'assurer une bonne expérience de lecture à vos lecteurs. C'est également le contrôle le plus basique que vous puissiez réaliser.

Vous voudrez certainement procéder à ces vérifications sur les principales liseuses et tablettes du marché (Apple iPad, Fnac Kobo, Sony e-Reader et, le cas échéant, Amazon Kindle). Si vous ne possédez pas tous ces supports, certains constructeurs offrent une version logicielle gratuite qui vous permettra d'effectuer ces tests sur votre ordinateur : Amazon propose le Kindle Previewer pour les différentes versions de son Kindle ; Sony et la Fnac, de leur côté, utilisent pour leurs liseuses le logiciel Adobe Digital Edition que l'on peut installer facilement et gratuitement, et qui permettra donc d'avoir une bonne idée de l'affichage de votre fichier sur ce support. Sony propose également un previewer qui lui est propre.

Comme nous l'avons indiqué plus haut, tous les supports de lecture n'offrent pas un rendu identique des fichiers, même s'ils utilisent la même application de lecture. Cette vérification sur votre ordinateur reste donc une simulation qui ne garantit pas que votre ePub aura exactement le même aspect visuel sur chacun d'entre eux. Il faut donc tester son ePub sur les deux moteurs de rendu principaux : le moteur ARM (donc Adobe Digital Edition par exemple) et le moteur Webkit (donc iOS par exemple).

Tous les dispositifs de lecture n'offrent pas la même couverture de langage Unicode. L'intégration d'une fonte n'est pas seulement un critère esthétique, elle est également liée à un critère linguistique. La fonte intégrée est relative à la langue utilisée, il faut donc impérativement en tester l'affichage sur divers supports.

XV-C - Méthode

Il vous suffit d'ouvrir votre fichier sur votre support de lecture pour vérifier et valider les points suivants :

- la mise en page du texte, ainsi que les enrichissements éventuels (liens hypertextes, etc.) ;

- la disposition des différents éléments multimédias (image, son, vidéo) ;

- la gestion des règles typographiques telles que les césures, les caractères insécables ou les caractères spéciaux.

Sur la plupart des supports de lecture actuels, vous avez la possibilité de modifier et d'agrandir la taille de la fonte, ou encore de changer l'orientation du livre. Servez-vous de ces fonctionnalités pour vérifier les points évoqués ci-dessus.

Agrandir la taille de la fonte vous permettra de vérifier que la disposition des éléments multimédias est modifiée en conséquence tout en restant cohérente avec votre mise en page initiale, ou bien de vérifier que les espaces insécables sont correctement gérés.

Cliquer sur les différents liens de note de bas de page vous permettra de vérifier leur bon fonctionnement.

XV-D - Logiciels libres de lecture de ePub sur ordinateur

Analysons quelques logiciels libres offrant la possibilité de lire des ePub sur votre ordinateur.

XV-D-1 - EPUBReader

EPUBReader est une extension pour le navigateur Mozilla Firefox que vous pouvez télécharger et installer depuis l'adresse https://addons.mozilla.org/fr/firefox/addon/epubreader/. Dans le menu [Fichier] de Firefox vous pouvez alors sélectionner [Ouvrir un fichier] et aller chercher votre fichier ePub.

L'image ci-dessous présente un exemple de fichier ePub ouvert dans Firefox.

Les options accessibles en cliquant sur l'icône , en bas de l'écran, vous permettent de modifier les préférences de lecture. La fenêtre suivante s'affiche :

En choisissant la fonte et la taille du texte « Comme défini dans le livre », vous pourrez vérifier aisément ces points tels que vous les avez définis lors de la création de votre ePub ou bien vérifier l'ePub qui vous a été remis par votre prestataire.

Vous pouvez également choisir d'autres styles et d'autres tailles de fontes en sélectionnant l'option « Comme défini par l'utilisateur ».

Cela vous permettra de vérifier que l'affichage de votre ePub se fait de la manière dont vous l'avez imaginé ou, au moins, de manière correcte afin de ne pas gêner la lecture.

XV-D-2 - Readium

Readium est un projet open source lancé par l'IDPF. Il s'agit d'une application qui permet de lire des ePub avec l'avantage de supporter les spécifications ePub 3. Son téléchargement, à partir de l'adresse https://chrome.google.com/webstore/detail/empty-title/fepbnnnkkadjhjahcafoaglimekefifl?utm_source=chrome-ntp-icon nécessite d'utiliser le navigateur Chrome et de disposer d'un compte Gmail.

L'illustration ci-dessous montre l'interface d'accueil de Readium.

Vous pouvez ajouter un livre à votre bibliothèque en cliquant sur l'icône . Les préférences de lecture sont modifiables en cliquant sur l'icône .

XV-E - Tablettes et liseuses

Chaque liseuse à encre électronique (Kobo, e-Reader, Bookeen, etc.) possède sa propre application de lecture et il n'est pas question de pouvoir en changer. Si vos tests sont concluants sur une liseuse donnée, ils seront valables pour tous les lecteurs possédant cette liseuse.

Les tablettes par contre permettent le téléchargement et l'installation de multiples applications de lecture d'ePub. La plupart sont gratuites, mais très peu sont libres. Nous ne les documenterons donc pas ici. Elles équipent cependant bon nombre de tablettes et il est recommandé d'y tester vos livres en gardant en tête qu'elles ne sont pas toutes très abouties et qu'il faut s'en tenir aux plus utilisées telles que Mantano ou Aldiko.

XV-F - Défauts d'affichage courants

Voici une liste des défauts les plus souvent rencontrés et propositions de solutions rapides :

- perte des petites capitales :  'attribut de style small-caps n'est pas supporté par le moteur de rendu ;

- perte des caractères spéciaux : selon les normes Unicode ou encore HTML, certains caractères peuvent ne pas être supportés par les moteurs de rendu ;

- césure dans les titres : utiliser l'attribut webkit-hyphens:none; ou encore jouer sur le letter-spacing, etc. ;

- veuves et orphelines : on peut parfois les éviter grâce aux attributs page-break-after:avoid; ou page-break-before:avoid; (par exemple) ;

- image et légende séparées : revoir le code HTML et CSS afin de les styler correctement ;

- perte des espaces insécables : les rajouter dans les fichiers HTML ;

- entités HTML (ou XHTML) interdites ;

- images pixelisées, trop grandes ou trop lourdes : retravailler leur résolution dans un logiciel de retouche d'images ;

- césures ou retours forcés à cause de l'export via un logiciel de PAO : à nettoyer dans le code ;

- marges inégales, trop grandes : les retravailler dans le code ;

- numérotation des notes de bas de page : vérifier les liens hypertextes ;

- défaut de couverture : vérifier son poids et ses dimensions, le nommage de son fichier image.

XVI - Vérifier la validité du fichier

Un fichier valide est un fichier qui respecte les spécifications de son standard. Le principe est le même pour l'ePub relativement aux règles de structuration définies par l'IDPF que pour les formats HTML, XHTML et CSS du W3C.

Que vous ayez créé vous-même votre ePub ou que vous ayez fait appel à un prestataire de service pour le réaliser, vous devez, au minimum, vous assurer de sa validité. C'est le premier point, et souvent le seul, que votre e-distributeur/e-diffuseur vérifiera avant d'intégrer votre fichier sur sa plateforme de distribution/diffusion, sous peine de le voir purement et simplement rejeté.

La validation ePub peut être comparée au contrôle en amont dans les logiciels de mise en page. Un fichier valide s'affiche en général sans erreur sur les terminaux de lecture. Si un lecteur rencontre un défaut d'affichage sur tel fichier, ce problème ne pourra vous être imputé. L'erreur viendra certainement du logiciel utilisé par votre lecteur. La validation permet de répartir objectivement les responsabilités entre les acteurs de la chaine du livre numérique et d'éviter les problèmes avant commercialisation.

Sachant que la majorité des e-distributeurs/e-diffuseurs vous demande vos fichiers environ un mois avant leur mise en ligne effective, en vérifier la validation au préalable vous évitera un retard de parution conséquent.

Plusieurs outils libres ont été développés pour faciliter la validation des fichiers ePub. Le plus ancien est FlightCrew (également intégré à Sigil). Le plus connu et le plus utilisé est EpubCheck.

- FlightCrew est téléchargeable sur http://code.google.com/p/flightcrew/downloads/list

- EpubCheck est disponible sur http://code.google.com/p/epubcheck/.

Avec Sigil

La méthode de validation la plus simple (et la plus graphique) pour valider votre fichier ePub est d'utiliser Sigil.

Dans le menu [Fichier] sélectionnez [Ouvrir] puis choisissez votre fichier ePub. Dans la fenêtre principale de l'application, cliquez sur le bouton [Valider l'ePub] de la barre d'outils pour lancer la validation. Si tout se passe correctement, vous verrez apparaitre une fenêtre affichant « Aucun problème trouvé ! ». Cela signifie que votre fichier est valide (et accessoirement, que vous avez suivi correctement toutes les étapes de création de votre ePub !).

Dans le cas d'un fichier invalide, vous verrez s'afficher la même fenêtre avec un ou plusieurs messages vous donnant des indications sur le type d'erreurs rencontrées. Ces indications vous permettront de corriger vous-même votre fichier ePub ou bien de revenir vers votre prestataire afin qu'il puisse effectuer les modifications nécessaires. Ces messages d'erreurs se présentent comme suit :

La colonne [Fichier] indique le fichier concerné. La colonne [Ligne] indique le numéro de ligne du fichier dans lequel l'erreur est constatée. La colonne [Message] donne le message d'erreur lui-même.

Les erreurs les plus courantes

Les erreurs les plus courantes sont :

- le nom du premier fichier de l'arborescence (qui correspond au mimetype) ne comporte pas le bon nombre de caractères (exemple le fichier est nommé « monmimetype » alors que ce fichier doit comporter exactement 8 caractères) ;

- un fichier existe dans l'arborescence du fichier ePub mais n'est pas utilisé ou référencé dans le fichier OPF (dans le manifeste, voir le chapitre ePub 2 dans la section Enrichir son ePub) ;

- une référence à un fichier existe dans la section <manifest> du fichier OPF alors que le fichier n'est pas présent dans l'archive ePub ;

- des différences de casse et d'extension dans le nom des fichiers.

XVI-A - Avec EpubCheck

EpubCheck est le validateur le plus abouti à ce jour et prend en compte certains éléments de la spécification ePub 3.

Il est intégré au logiciel Oxygen Editor. Ce dernier n'étant pas un logiciel libre, vous pouvez néanmoins utiliser EpubCheck directement en ligne de commande, quel que soit votre système d'exploitation. Il nécessite au préalable d'installer Java.

XVI-A-1 - Principe d'installation quel que soit votre système d'exploitation

- installez l'environnement JRE s'il n'est pas encore sur votre système http://www.java.com/fr/download/ ;

- téléchargez EpubCheck sur http://code.google.com/p/epubcheck/downloads/list ;

- décompressez l'archive dans le répertoire de votre choix ;

- lancez ePubcheck ainsi :

java -jar ePubcheck-xxxxx.jar votrefichier.ePub

x.xxx fait référence au numéro de version d'EpubCheck
Si vous rencontrez des problèmes lors de l'installation et de l'utilisation d'EpubCheck, consultez la procédure sur le site officiel : https://blog.safaribooksonline.com/2010/12/16/running-epubcheck-on-your-computer/

XVII - Valider les métadonnées

Il existe plusieurs types de métadonnées pour le livre de manière générale et pour le livre numérique en particulier :

- les métadonnées descriptives, qui fournissent des informations à propos du livre et de son contenu telles que le titre de l'ouvrage, l'ISBN, le nom de l'auteur, le nom de l'éditeur, la langue utilisée, un extrait du livre, les mentions de licence, etc. ;

- les métadonnées dites de gestion, qui fournissent des informations sur la manière de gérer l'affichage et la lecture d'un livre numérique sur une plateforme de distribution/diffusion par exemple.

Les métadonnées descriptives sont utilisées par tous les supports de lecture, qu'ils soient logiciels ou matériels, ainsi que par les plateformes de distribution/diffusion. Elles sont intégrées au format ePub (spécifications Dublin Core, voir le chapitre Mieux comprendre l'ePub dans la section Enrichir son ePub) et reprises par les plateformes de distribution/diffusion à l'intention de leurs clients (librairies, lecteurs). Elles sont essentielles à la fois pour l'éditeur, le distributeur/diffuseur et le lecteur.

Côté éditeur : elles assurent un bon référencement de votre livre numérique, mais également - on l'oublie trop souvent - de votre livre dans sa version papier si elle existe ;

Côté e-distributeur/e-diffuseur : elles permettent l'échange de données entre plateformes (d'un e-distributeur vers un libraire par exemple) ;

Côté lecteur : elles permettent notamment une recherche plus aisée ou la constitution d'une bibliothèque personnelle.

Nous nous attachons ici aux métadonnées descriptives intégrées à l'ePub.

XVII-A - Quelles métadonnées insérer dans votre ePub ?

Le Dublin Core utilisé pour le format ePub vous permet d'inclure 15 éléments descriptifs (métadonnées). Certains sont obligatoires et d'autres facultatifs. Toutefois, nous vous encourageons à les utiliser tous (ou tout du moins un maximum d'entre eux).

Si la majorité des supports de lecture actuels ne reprennent que 4 ou 5 de ces éléments à titre informatif pour le lecteur, certaines plateformes de distribution/diffusion utilisent tous les éléments indiqués et il est probable que le nombre de ces informations augmente dans les futures versions des supports de lecture.

Les éléments obligatoires sont indiqués en gras, les éléments vivement recommandés sont indiqués en gris graissé, les autres sont facultatifs :

- titre de l'ouvrage (title) ;

- nom de l'auteur ou des auteurs (creator) ;

- ISBN ou EAN (identifier) ;

- langue(s) utilisée(s) (langage) - Attention ! Certains logiciels incluent automatiquement la langue anglaise ;

- nom de l'éditeur (publisher) ;

- date de publication (date) ;

- date de modification (date) ;

- description, telle que la quatrième de couverture (description) ;

- droits (rights) ;

- sujet(s) du livre - mots clefs (subject) ;

- format du livre, ici ePub (format) ;

- type de document, on notera text pour les livres (type) ;

- couverture géographique et/ou temporelle (coverage) ;

- source éventuelle - ressource dont dérive éventuellement le livre (source) ;

- relation avec un autre document - par exemple le titre du livre original dans le cas d'une traduction (relation).

Pour une liste descriptive plus complète du format Dublin Core, lisez en Annexes le chapitre Le schéma de métadonnées Dublin Core.

XVII-B - Vérifier ses métadonnées

Nous allons aborder spécifiquement deux logiciels qui sont les plus utilisés : Sigil et Calibre. Ils ont des usages différents, mais permettent tous deux d'insérer, de modifier et de vérifier les métadonnées d'un livre numérique. Les vérifier consiste simplement à analyser les champs qui sont remplis et ceux qui ne le sont pas.

De même, il ne faut surtout pas oublier de jeter un œil sur ses fichiers lorsqu'ils sont distribués sur différentes plateformes. En effet, il est possible que les métadonnées aient été mal intégrées : imaginez retrouver votre livre affublé d'une autre couverture ou d'une description erronée ! La meilleure façon de décevoir et de perdre des lecteurs… Il est parfois même nécessaire de télécharger soi-même le livre afin de voir si ce que le lecteur obtient est le bon livre.

XVII-B-1 - Dans Calibre et dans Sigil

Un clic droit sur le titre du livre dans la fenêtre principale de Calibre permet d'accéder à l'option [Afficher les détails du livre]. La fenêtre suivante s'ouvre :

Dans Calibre une autre façon de vérifier les métadonnées consiste à ouvrir la fenêtre permettant de les éditer en cliquant sur le bouton [Éditer les métadonnées] en haut de la fenêtre principale.

Dans Sigil, la touche F8 de votre clavier ou le menu [Outils] puis [Éditeur de métadonnées] permet d'ouvrir la fenêtre suivante :

Vous constaterez que les termes employés pour chaque champ de métadonnée ne correspondent pas systématiquement à ceux spécifiés dans la norme Dublin Core. Nous sommes ici dans des applications différentes qui n'ont pas le même objectif et qui pour cette raison peuvent choisir de renommer ces champs à l'intention de leurs utilisateurs. Calibre présente par exemple des fonctionnalités de recherche et de tri des livres et nomme ses champs en conséquence. Il ne faut pas se formaliser de ces différences, mais apprendre à faire le lien entre les termes propres à chaque application et les termes des spécifications techniques.

Nous voyons également que pour un même livre, les deux logiciels n'affichent pas toutes les métadonnées ni forcément les mêmes. On peut voir par exemple que la licence de cet ouvrage n'est pas lisible depuis la fenêtre de métadonnées de Calibre alors qu'elle l'est depuis celle de Sigil.

Nous recommanderons ici de vérifier les métadonnées dans Sigil, un outil orienté « édition des fichiers ePub » plutôt que « bibliothèque de lecture ». Mais en dernier lieu, on peut dire que la meilleure manière de vérifier les métadonnées, si vous maîtrisez un peu l'aspect technique de l'ePub, est encore d'ouvrir le fichier source .opf dans les dossiers décompressés de votre livre (voir le chapitre Extraire/Recompresser un ePub dans la section Enrichir son ePub).

XVIII - Spécifications du schéma de métadonnées Dublin Core

Dublin Core possède un statut officiel au sein du W3C (l'organisme de normalisation des standards du Web) et de la norme ISO 23950. Il propose un schéma de métadonnées générique permettant de décrire des ressources numériques et d'établir des relations avec d'autres ressources. Il comprend quinze éléments de description formels, intellectuels et relatifs à la propriété intellectuelle.

Au sein du code ePub, il est en général fait référence à ce schéma en préfixant les éléments (présentés ici entre parenthèses) par dc: sous la forme

dc:title

ou

dc:creator

Dans cette annexe, vous trouverez le tableau repris de l'article Dublin Core sur Wikipédia.

1. Titre (métadonnée) (title) : Titre principal du document.

2. Créateur (métadonnée) (Creator) : Nom de la personne, de l'organisation ou du service à l'origine de la rédaction du document.

3. Sujet (métadonnée) ou mots-clés (Subject) : Mots-clés, phrases de résumé, ou codes de classement.

4. Description (métadonnée) (Description) : Résumé, table des matières, ou texte libre. Raffinements : table des matières, résumé.

5. Éditeur (Publisher) : Nom de la personne, de l'organisation ou du service à l'origine de la publication du document.

6. Contributeur (Contributor) : Nom d'une personne, d'une organisation ou d'un service qui contribue ou a contribué à l'élaboration du document. Chaque contributeur fait l'objet d'un élément Contributor séparé.

7. Date (métadonnée) (Date) : Date d'un événement dans le cycle de vie du document.

8. Type de ressource (Type) : Genre du contenu.

9. Format (Format) : Type MIME, ou format physique du document.

10. Identifiant de la ressource (Identifier) : Identificateur non ambigu : il est recommandé d'utiliser un système de référencement précis, afin que l'identifiant soit unique au sein du site, par exemple les URL ou les numéros ISBN. Raffinement : Is Available At.

11. Source (Source) : Ressource dont dérive le document : le document peut découler en totalité ou en partie de la ressource en question. Il est recommandé d'utiliser une dénomination formelle des ressources, par exemple leur URL.

12. Langue (métadonnée) (Language).

13. Relation (métadonnée) (Relation) : Lien avec d'autres ressources. De nombreux raffinements permettent d'établir des liens précis, par exemple de version, de chapitres, de standard, etc.

14. Couverture (métadonnée) (Coverage) : Couverture spatiale (point géographique, pays, régions, noms de lieux) ou temporelle.

15. Droits (métadonnée) (Rights) : Droits de propriété intellectuelle, Copyright, droits de propriété divers.

Dans l'article de Wikipédia de Dublin Core, vous trouverez des liens conduisant vers des exemples de documents de travail réalisés par des bibliothèques publiques décrivant plus profondément leur façon de décrire chacune de ces quinze catégories.

XIX - Ressources externes

XIX-A - Norme

Le site de l'IDPF, organisme normalisateur du format ePub (en anglais) : http://idpf.org/

XIX-B - Outils non libres

eCub, un autre éditeur d'ePub : http://www.juliansmart.com/ecub

Polifile, un éditeur d'ePub en ligne : http://polifile.fr/

Faciles d'emploi et peu puissant. Cependant, la licence d'utilisation mentionne : « permet d'obtenir un livre numérique au format ePub qui est strictement réservé à l'usage privé de l'utilisateur. Il ne peut ni être vendu ni être diffusé. Ceci est indiqué par un marquage spécifique dans la version ainsi téléchargée. »

XIX-C - Ouvrages/documents de références

XIX-C-1 - Généralistes

Annick Lantenois, <stdin>, Florian Cramer, Pierre Cubaud, Marin Dacos, Yannick James, Lire à l'écran, novembre 2011, b42 | http://www.editions-b42.com/books/lire-lecran/

XIX-C-2 - Techniques

Élisabeth Castro, Créer des documents ePub, Concevoir des livres électroniques pour iPad et autres liseuses, Pearson, janvier 2011 | http://www.pearson.fr/livre/?GCOI=27440100800070

Élisabeth Castro, From InDesign CS 5.5 to ePub and Kindle, 2011, (autoédition)

Inside ePub : compte-rendu de l'atelier du Syndicat National de l'Édition du 19 juin 2012 | http://www.sne.fr/enjeux/normes-et-standards/

Assises du livre numérique, Normes et standards, Syndical National de l'Édition, mars 2012 : http://www.sne.fr/enjeux/normes-et-standards/#sne-h-223-guide-du-numerique-a-lusage-des-editeurs

XIX-D - Blogs et sites

XIX-D-1 - Technique (en français)

Le blog de Jiminy Panoz (en français, quelques articles traduits en anglais) : http://jiminy.chapalpanoz.com (techniques ePub, typographie, mise en page, ebook design, templates, code, tutoriels, etc.)

Le blog de Lecteurs en Colère (en français) : http://lecteursencolere.com/ (dissection des ePub et examen du code)

XIX-D-2 - Technique (en anglais)

Le blog d'Élisabeth Castro (en anglais) : http://www.pigsgourdsandwikis.com/ (techniques ePub avancées : ePub en japonais, préparation ePub pour iPad, etc.)

Outils CSS et CSS3 comme

http://www.css3maker.com/, http://css3generator.com/, http://css3please.com/, http://cssload.net/, http://cssarrowplease.com/

XIX-D-3 - Actualité (en français)

Le blog de Marc Jahjah (en français) : http://marginalia.hypotheses.org/ (réflexions autour de l'environnement du monde du livre numérique, de ses usages, lecteurs, annotations, etc.)

eBouquin : http://www.ebouquin.fr/ (actualités du monde du livre numérique)

Actualitté : https://www.actualitte.com/ (actualités du monde du livre avec une bonne expertise de l'environnement du livre numérique)

Le labo de l'édition (une initiative de la Mairie de Paris autour de l'édition numérique) : http://labodeledition.com/

Lettres Numériques (une initiative de la communauté wallonne de Belgique autour de l'édition numérique) : http://www.lettresnumeriques.be/

XIX-D-4 - Actualité (en anglais)

Publishing Perspectives (en anglais) : http://publishingperspectives.com/ (actualités du monde du livre numérique)

The Digital Reader (en anglais) : http://the-digital-reader.com/ (actualités du monde du livre numérique)

FutureBook (en anglais) : http://www.thebookseller.com/futurebook (actualités et réflexions autour du livre numérique)

Baldur Bjarnasson (en anglais) : http://www.baldurbjarnason.com/ (réflexions, notamment techniques, autour du livre numérique)

XIX-E - Articles

Stéphanie Michaux, Les 5 challenges techniques de l'éditeur de livres numériques, www.lettresnumeriques.be, 24 août 2012 | http://www.lettresnumeriques.be/2012/08/24/les-5-challenges-techniques-de-lediteur-de-livres-numeriques/

François Gèze, L'enjeu des métadonnées dans l'édition et la commercialisation du livre, Arabesques, n° 67, juillet-septembre 2012 | http://www.editionsladecouverte.fr/actu/articles-editeurs.php?id=4805

Lorenzo Soccavo, Liste des éditeurs éditeurs numériques pure-players francophones (mise à jour régulièrement)| http://ple-consulting.blogspot.fr/2011/04/plus-de-30-editeurs-pure-players.html

Julien Simon/Studio Walrus, Ebook enrichi : onze idées, onze conseils, 11 juin 2011 | http://blog.walrus-books.com/2011/06/20/11-ideas/

XIX-F - Exemples d'ePub

Les ePub (libres) d'Eric Muller : http://efele.net/ebooks/

Les samples ePub 3 : http://code.google.com/p/ePub-samples/

XX - Glossaire

XX-A - Autocomplétion

Fonctionnalité informatique offrant à l'utilisateur un complément automatique lors de la saisie d'informations.

XX-B - Bluefish

Éditeur web avec coloration syntaxique fonctionnant notamment sous Linux. Il permet d'éditer facilement les langages à balise de type HTML, OPF, NCX utilisés dans le format ePub.

XX-C - Calibre

Logiciel libre permettant de lire des livres numériques, de convertir des fichiers au format ePub et surtout de gérer sa bibliothèque numérique.

XX-D - Coloration syntaxique

Fonctionnalité informatique de certains éditeurs de texte qui permet d'afficher chacun des éléments du texte en utilisant une couleur caractéristique selon son type.

XX-E - Dublin Core

Voir le chapitre Le schéma de métadonnées Dublin Core dans la section Annexes.

XX-F - Éditeur de texte

Logiciel destiné à créer des fichiers au format texte brut. Contrairement à un traitement de texte, un éditeur de texte est orienté lignes de code plutôt que paragraphes, et le texte ne contient pas de mise en forme.

XX-G - ePub

C'est un format standardisé pour les fichiers de livres numériques. Il s'appuie notamment sur le XHTML, le langage de balisage utilisé pour créer des sites web.

XX-H - EpubCheck

Logiciel libre permettant de vérifier la validité des fichiers d'un ePub. C'est l'outil de validation le plus abouti à ce jour. Il prend en compte certains éléments de la spécification ePub 3.

XX-I - Fixed layout (mise en page fixe)

Mise en page fixe définie par les normes ePub 3 proche de la mise en page papier. Comme cette dernière, elle est par définition « figée » dans un cadre. Elle est conseillée pour des réalisations où la mise en page graphique est importante (albums jeunesse, beaux livres…). N'étant pas en flux, elle ne s'adapte pas à tous les dispositifs de lecture et son accessibilité est par conséquent limitée.

XX-J - FlightCrew

Logiciel libre permettant de vérifier la validité des fichiers d'un ePub. Il est directement intégré dans Sigil.

XX-K - gedit

Éditeur de texte disponible dans l'environnement graphique GNOME (interface graphique d'Ubuntu notamment). Dispose de la coloration syntaxique et d'un dictionnaire des langages facilitant la prise en main pour des débutants.

XX-L - GIF (Graphics Interchange Format)

Format d'image qui peut être fixe ou animé. D'autres formats d'image : PNG (qui gère la transparence), JPG, SVG (vectorielle).

XX-M - GPL (licence publique générale GNU, en anglais)

Licence de logiciel libre la plus utilisée.

XX-N - HTML (HyperText Markup Language)

Format de données initialement créé pour les pages web et langage de balisage permettant de structurer sémantiquement et mettre en page un contenu.

XX-O - IDPF (International Digital Publishing Forum)

L'IDPF est une organisation à but non lucratif dont le but est de favoriser l'accessibilité des publications numériques en promouvant la création de standards ouverts (dont la spécification ePub). L'IDPF regroupe aujourd'hui des acteurs importants de l'édition, d'Internet et du logiciel.

XX-P - ISO (International Organization for Standardization - organisation internationale de normalisation)

Organisme international produisant des normes pour les biens et les services dans les domaines technologiques et économiques.

XX-Q - Interopérabilité

Capacité que possède un produit ou un système, dont les interfaces sont intégralement connues, à fonctionner avec d'autres produits ou systèmes existants ou futurs.

XX-R - Inkscape

Logiciel libre de dessin vectoriel. À la différence d'autres applications de dessin vectoriel (propriétaires ou non), Inkscape offre la possibilité d'accéder au code de l'image directement dans la fenêtre de dessin, permettant ainsi une assurance de qualité et de conformité aux normes du W3C.

XX-S - Kate

Éditeur de texte populaire sur les systèmes de type UNIX (Linux…). Dispose de la coloration syntaxique et d'un dictionnaire des langages facilitant la prise en main pour des débutants.

XX-T - Interpréteur de ligne de commande

Le programme fonctionne à partir d'instructions en mode texte. Comme son nom l'indique, il interprète la commande frappée sur la ligne de commande.

XX-U - Métadonnées

Informations à propos du livre et de son contenu telles que le titre de l'ouvrage, l'ISBN, le nom de l'auteur, le nom de l'éditeur, la langue utilisée, etc. Les métadonnées sont utilisées par tous les supports de lecture et les plateformes de distribution. Elles permettent le bon référencement du livre et sont donc essentielles aussi bien pour le distributeur, le libraire ou le lecteur.

XX-V - Mimetype

Fichier situé en première position dans l'arborescence des fichiers de l'ePub. Il ne contient qu'une seule ligne qui stipule que le fichier est au format ePub. Il ne faut en aucun cas modifier son nom ou son contenu.

XX-W - MathML

Spécification recommandée par la W3C permettant d'intégrer des données mathématiques (équations, diagrammes, tableaux…).

XX-X - Notepad++

Éditeur de texte sous Windows offrant la fonctionnalité de coloration syntaxique prenant en charge plusieurs langages. Il dispose d'outils de conversion des caractères spéciaux. Ses menus permettent l'insertion des balises les plus courantes.

XX-Y - OCF (Open Container Format)

L'une des trois spécifications (voir également OPS et OPF) régissant le contenu de l'ePub. Elle définit l'organisation des fichiers à l'intérieur de l'ePub grâce à deux fichiers nommés container.xml et mimetype.

XX-Z - OEBPS (Open eBook Publication Structure)

Standard XML pour les livres numériques. Open Book est un fichier ZIP associé à un fichier Manifest. L'extension par défaut est .opf et utilise XHTML, CSS et les métadonnées Dublin Core.

XX-AA - OPF (Open Packaging Format)

L'une des trois spécifications régissant le contenu de l'ePub (voir également OPS et OCF). Elle établit l'ordre de navigation et l'emplacement des fichiers dans l'ePub grâce à deux fichiers nommés content.opf et toc.ncx.

XX-AB - OPS (Open Publication Structure)

L'une des trois spécifications régissant le contenu de l'ePub (voir également OPF et OCF). Elle définit le type de fichiers utilisés et utilisables dans un ePub (par exemple des fichiers html ou xhtml, des images, une feuille CSS).

XX-AC - Reflowable text (contenu fluide)

Mise en page privilégiée par le livre numérique puisqu'elle adapte le contenu à la taille des écrans sur lesquels on lit l'ouvrage. Le texte s'adapte à l'utilisateur et non l'inverse.

XX-AD - Scribus

Scribus est le logiciel de mise en page libre le plus connu. Il est utilisé par de nombreux graphistes, institutions et entreprises et est recommandé par l'Association francophone des graphistes libres.

XX-AE - Script

Langage de programmation permettant de manipuler les fonctionnalités d'un système informatique afin de lui permettre d'interpréter un environnement et une interface.

XX-AF - Sigil

Logiciel libre destiné à créer, modifier ou manipuler des fichiers ePub. Sigil dispose d'une interface graphique simple le rendant accessible au plus grand nombre tout en donnant la possibilité d'accéder directement au code HTML. Il s'agit d'un outil indispensable actuellement pour travailler sur le format ePub.

XX-AG - Spécification

Ensemble de normes techniques.

XX-AH - SVG (Scalable Vector Graphic)

Format vectoriel basé sur le langage XML spécifié par le World Wide Web Consortium (W3C), sur la base d'une proposition d'Adobe Systems. C'est l'une des spécifications du format ePub 3. Il permet d'ajouter des images sous format vectoriel en évitant la pixellisation et la perte de qualité en cas de redimensionnement du contenu.

XX-AI - Text Wrangler

Éditeur de texte disponible sur les systèmes d'exploitation de type OS X. Il dispose de la coloration syntaxique et permet d'écrire facilement dans différents langages.

XX-AJ - Unicode

Système de codage des caractères spécifiant un numéro unique pour chaque caractère, quelle que soit la plateforme, quel que soit le logiciel et quelle que soit la langue. Unicode peut traiter tous les systèmes d'écriture.

XX-AK - UTF-8+

Norme d'encodage universelle des caractères qui permet une bonne lecture des textes sans problèmes d'accentuation et autres spécificités linguistiques nationales.

XX-AL - XML (Extensible Markup Language) : vi/vim

Éditeurs de texte très répandus sur les systèmes d'exploitation de type UNIX (Linux…). Sans boutons ni menus, ils fonctionnent uniquement en combinaison de touches clavier.

XX-AM - Writer2ePub/Writer2xhtml

Plugins permettant aux personnes utilisant OpenOffice/LibreOffice d'exporter directement au format ePub.

XX-AN - W3C (World Wide Web Consortium)

Organisme international de normalisation fondé en 1994 se consacrant à la promotion de standards pour le web. Son but est de faciliter la communication par Internet.

XX-AO - ZIP

Format ouvert permettant la compression de données par l'incorporation de plusieurs fichiers dans un même fichier d'archive. L'ePub est un format zippé.

XXI - À propos de ce livre

Le cœur et la structure de l'ouvrage de plus de 160 pages ont été réalisés en 5 jours dans le cadre d'un Libérathon qui s'est tenu à Rennes en France dans l'école ActivDesign du 27 au 31 août 2012 grâce à l'initiative et au soutien de l'Organisation Internationale de la Francophonie (OIF) (www.francophonie.org) en partenariat avec l'Alliance internationale des éditeurs indépendants (www.alliance-editeurs.org) et l'école de formation Activ Design (http://www.activdesign.eu/index.php).

Expérimentée et popularisée par la Fondation Floss Manuals et l'association Floss Manuals Francophone dans le cadre de ses activités de création de manuels multilingues sur les logiciels et pratiques libres, la méthodologie du Libérathon (Booksprint en anglais) permet de rédiger de manière collaborative en un temps très court des livres de qualité. Floss Manuals Francophone est une association loi 1901 dont l'objectif est d'organiser et de faciliter l'écriture ou la traduction de documentations en français.

Un groupe de huit coauteurs originaires d'Europe et d'Afrique ont travaillé ensemble à rédiger cet ouvrage :

- Malam Abdou Bako (Niger), éditeur et metteur en page, utilisateur professionnel et formateur de plusieurs logiciels libres de la chaîne graphique, il a des bases en création de sites Internet (HTML, CSS) et directeur des Editions Gashingo ;

- Valérie Ferrière (France), formatrice et fondatrice de Flexedo (www.flexedo.com), entreprise innovante spécialisée dans les nouvelles technologies de l'industrie du livre et de la documentation ;

- Cédric Gémy (France) (www.cgemy.com), formateur, graphiste/maquettiste y compris ePub, auteur sur les logiciels libres de la chaîne graphique. Il est également fondateur de Fmfr et de l'Afgral et directeur de l'école de graphisme activdesign ;

- Chloé Girard (France), responsable de fabrication papier et électronique chez l'éditeur Droz, maître de conférence associé à l'Enssib en édition numérique, cofondatrice de l'association Les complexes à l'origine de la chaîne éditoriale libre « La Poule ou l'Œuf » ;

- Matthieu Joulin (France), coordinateur de projets numériques au sein de l'Alliance internationale des éditeurs indépendants ;

- Roxane Lecomte (France), codeuse de livres électroniques (ePub) & graphiste au sein notamment des éditions numériques Publie.net. Elle anime également un blog ladameauchapal.com ;

- Alessandro Rimoldi (Suisse), développeur web, animateur de communautés, développeur au sein de l'équipe du logiciel de mise en page libre Scribus, notamment du plugin d'exportation au format ePub.

Elisa de Castro Guerra (France), facilitatrice du Libérathon est par ailleurs graphiste utilisant les logiciels libres, auteur et formatrice sur les logiciels libres. Elle est également fondatrice de Fmfr (http://fr.flossmanuals.net) et de l'Afgral.

Remercions également les contributeurs actifs en ligne ou sur place :

- Jean-Philippe Moreux, éditeur scientifique et chef de projet numérique à la BnF, a assuré une relecture des différentes contributions composant cet ouvrage ;

- Christophe Moille, administrateur système utilisant les logiciels libres, et facilitateur par ailleurs, a testé quelques éléments de code proposé dans cet ouvrage ;

- Frank Adebiaye, comptable-typographe, fondateur de la fonderie libre Velvetyne et de Forthcome (conseil en organisation et ingénierie documentaire), contributeur du Flossmanual Fontes Libres.

XXI-A - Un manuel libre disponible sous plusieurs formats et supports

Écrit en collaboration, ce manuel d'initiation a été inspiré par les valeurs du libre. Il est disponible depuis le site de Floss Manuals sous plusieurs formes : livre imprimé, pages web, PDF et ePub, ce dernier format permettant de le consulter facilement sur des appareils portatifs.

Publié sous licence GPLv2 et licence Creative Common By-SA ce manuel peut être lu et copié librement.

Par ailleurs, la version électronique de cet ouvrage évoluera encore au fur et à mesure des contributions. Pour consulter la dernière version actualisée, nous vous invitons à visiter régulièrement le volet francophone de Floss Manuals sur le site http://fr.flossmanuals.net/.

N'hésitez pas à votre tour à améliorer ce manuel en nous faisant part de vos commentaires dans la liste de diffusion francophone de Floss Manuals. Si vous avez des talents de rédacteur et une bonne connaissance sur le format ePub, l'envie d'ajouter une remarque ou un détail, inscrivez-vous en tant que contributeur pour proposer la création de nouveaux chapitres ou améliorer les chapitres existants.

Vous consultez la révision de la première édition du 26 novembre 2012.

XXII - Spécification ePub 3

Vous trouverez dans cette annexe, les spécificités en relation avec la nouvelle norme ePub 3.

XXII-A - OCF fichier META-INF/container.xml

http://idpf.org/ePub/30/schema/ocf-container-30.rnc

container
version : 1.0, attribut obligatoire
enfant de : aucun
parent de : rootfiles, au moins un rootfiles nécessaire

rootfiles
enfant de : container
parent de : rootfile, au moins un rootfile nécessaire, le premier rootfile est considéré comme celui à être utilisé par défaut et les systèmes de rendu ne sont pas contraints de donner accès aux autres.

rootfile
full-path : URI
media-type : application/oebps-package+xml
enfant de : rootfiles

<?xml version="1.0"?>
<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>

XXII-B - OPF fichier content.opf

XXIII - Remerciements

Ce livre vous est offert par Floss Manuals.