Créer un livre électronique au format epub3, partie 1 : structurer son texte

par Oct 4, 2014L'encre & la plume, Les Pixe-Ailes du Phœnix2 commentaires

Dans cette double série d’articles, Making of a book, et Créer un livre électronique au format ePub3, je vous propose le résultat de mes recherches, de mes essais et de mes explorations diverses et variées sur la façon de produire un livre, respectivement en format papier et en format électronique. Ces articles ont vocation à évoluer dans le temps, aussi n’hésitez pas à vous inscrire à la Newsletter d’écaille & de plume qui vous avertira de toute mise à jour.

Version

2.0

}

Mise à jour

10/01/2021

Changement des versions
10/01/2021
  • Refonte complète de la partie sur les styles, la traduction en EPUB, le CSS, les corrections sur les espaces insécables et fines.

Pourquoi le format EPUB ?

Lorsque l’on parle de livre électronique, la plupart des gens mélangent facilement tout un tas de réalités différentes, en confondant le PDF avec le format Kindle ou l’EPUB. Si d’ailleurs on simplifie au maximum, même un simple fichier au format TXT pourrait être un livre électronique.

Cependant, il me semble que le véritable livre électronique doit répondre à certaines caractéristiques et tout d’abord le confort de lecture. Lire un PDF à la mise en page fixe n’est pas vraiment toujours du plus grand confort, car la taille des caractères ne s’adapte pas à la taille de l’écran sur lequel vous lisez. Ainsi, si sur un ordinateur certains textes en PDF peuvent facilement se lire, sur tablette cela devient beaucoup plus compliqué et quasiment impossible sans zoomer 4 fois sur un smartphone. Et je ne parle même pas d’une liseuse…

On considère donc que seuls quelques rares formats répondent aux contraintes qui définissent un livre électronique. Les deux plus importants sont l’EPUB, format libre développé par un consortium regroupant différents acteurs majeurs du secteur de l’informatique (car le standard de codage est basé sur le langage informatique des pages web), et les formats Kindle développés par Amazon dans son coin, plus ou moins avec les mêmes bases mais en rajoutant des barrières. Apple a fait de même avec son format iBooks, dans le même dessein de contrôler de bout en bout la chaîne de vente et d’enfermer ses clients dans une architecture maîtrisée. Il faut néanmoins reconnaître que l’iBookstore accepte les fichiers au format EPUB, ce qui n’est pas le cas pour Amazon.

L’EPUB3

La norme EPUB en est à sa troisième itération majeure. Elle est basée sur un principe simple : le livre sera codé comme un site web, avec les mêmes langages, et selon les mêmes principes. Il n’y aura que quelques particularités rajoutées au code pour faire comprendre au logiciel de la liseuse ou de la tablette (un navigateur internet un peu modifié) qu’il s’agit bien d’un livre.

Cela a pour conséquence que le fond (le texte que vous avez mis tant de temps à peaufiner dans le secret de votre atelier d’écriture) sera dans un fichier séparé de la forme (la police de caractère, sa taille et les couleurs utilisées pour les gros titres, les titres intermédiaires, le corps du texte, les citations, etc.). C’est le principe même de codage des sites internet. Ainsi, vous pourrez quand bon vous semble (ou le lecteur), changer tout ou partie de la forme pour améliorer le confort de lecture.

C’était déjà le cas pour les deux itérations précédentes de la norme, mais cette dernière version permet une véritable avancée dans la mise en page et dans les possibilités d’ajouter des images, des vidéos, de l’audio et de l’interactivité, car elle est basée sur les standards modernes du codage internet que sont les langages HTML5 et CSS3.

Ne vous inquiétez pas, derrière ces noms barbares se cachent en fait de grands cœurs qui vous donneront beaucoup de satisfaction si vous savez leur parler gentiment…

Livre de flux ou livre à mise en page fixe, telle est la question

En parlant de mise en page, cette séparation entre le fond et la forme prend tout son sens quand on sait que les liseuses et les tablettes ne donnent jamais véritablement le même rendu, et que le principe du livre électronique est celui que je vous énonçais plus haut, à savoir :

La mise en page doit pouvoir s’adapter pour rendre le confort de lecture le plus grand au lecteur.

Cette mise en page va dépendre donc de contraintes techniques telles que la taille de votre écran (7 pouces, 9 pouces, 12 pouces, au-delà), sa technologie (couleur, pas couleur, retina, pas retina), mais aussi de contraintes humaines : les difficultés de vision éventuelles de votre lecteur (il lui faudra augmenter la taille de la police de caractères pour bien voir), ses envies (tient-il sa tablette en mode portrait ou paysage pour lire ?), ses habitudes.

C’est là qu’il faut faire un choix métaphysique.

Allez-vous créer un livre dont la mise en page s’adaptera au support en prévoyant des règles dans votre mise en forme (c’est ce que l’on appelle le « flux » de données), ou bien allez-vous fabriquer un livre dont la mise en page sera fixée à l’avance, avec le moins de latitude possible pour le lecteur ?

Généralement, on choisit un livre de flux pour un ouvrage composé essentiellement de texte et où la mise en page n’est pas absolument nécessaire à la bonne compréhension du fond. Un roman, une nouvelle, seront construits selon cette philosophie.

Par contre, un livre dont la mise en page est essentielle à la compréhension (une bande dessinée, un reportage photo, un livre pour enfants avec des images à manipuler) sera conçu de manière à ce que sa forme soit la plus fixée possible, comme un PDF. Mais avec en tête le postulat que la lisibilité doit être maximum.

La différence essentielle entre les deux approches est que l’ouvrage qui en sortira sera soit lisible par à peu près toutes les liseuses et toutes les tablettes dans le premier cas (le flux étant disposé différemment selon les règles que vous aurez spécifiées pour chaque appareil dans votre codage, et laissant au lecteur la possibilité d’agrandir le texte, de se passer des images, de changer les couleurs, etc.), soit codé spécifiquement pour une marque, un type, un modèle, voire un seul logiciel dans le deuxième cas (car les règles de mise en page seront tellement draconiennes que cela vous demandera un travail énorme pour les rendre parfaites, et le lecteur ne pourra modifier ni couleurs ni taille, au risque de ruiner le but même du livre).

Le choix est donc dans le degré de maîtrise que l’on accepte de perdre sur sa mise en page. C’est assez frustrant, je dois l’avouer, lorsque l’on a envie que la forme soit aussi impeccable que le fond. Et je n’ose imaginer ce que doivent ressentir les maquettistes de formation devant cet état de fait…

Il est possible, cela dit, de mélanger un peu les deux approches et de garder la possibilité de maintenir une mise en page fixe sur certaines pages tout en conservant sur d’autre une structure de type « flux », via une astuce particulière de codage du fichier de mise en forme (le fameux fichier de CSS) dont je vous parlerai dans quelque temps.

Existe-t-il un autre Style ? Pourquoi et comment structurer un texte

Une fois ce choix cornélien effectué, il est temps de s’occuper du texte.

Il faut écrire. Écrire. Encore écrire. Beaucoup.

Vous pouvez écumer l’internet en quête de nombreux conseils d’écriture. Vous allez travailler votre propre style, trouver votre propre méthode de travail, et parvenir à un manuscrit définitif.

Et c’est une fois votre texte achevé, relu et encore relu des dizaines de fois, que vous allez pouvoir le préparer à devenir un vrai livre, et un livre numérique dans le cas qui nous intéresse ici.

Pour cela, vous allez devoir le mettre en forme, puisque c’est cela éditer un livre. Créer à partir d’un texte brut une mise en page harmonieuse. Déterminer si vous voulez que vos titres de chapitre soient en « fonte Times New Roman de taille 20, centrés avec un espace de 20 points au-dessus du paragraphe, et un espace de 60 points en dessous du paragraphe » ou bien en « fonte Helvetica de taille 30, alignés à gauche avec un espace de 24 points au-dessus du paragraphe, et un espace de 36 points en dessous du paragraphe », ou d’une autre façon, et ceci pour chaque chapitre, mais également comment vous voulez que votre corps de texte apparaisse, comment les mises en exergue dans votre texte vont apparaître, etc.

Là est le point crucial : votre texte est composé de différentes parties qui ont une fonction bien particulière, un sens. Les titres servent au lecteur à savoir où il se trouve dans le récit, les mises en exergue servent à ce que le lecteur comprenne qu’il est face à un mot ou une expression particulièrement importante, etc. Et dans tout ouvrage, c’est parce qu’on aura repéré ces motifs que l’on pourra les mettre en forme.

Dans les logiciels de traitement de texte, comme la suite Office de Microsoft, LibreOffice Writer, Pages de chez Apple, mais aussi avec Scrivener, dont je me sers, on peut donc procéder de deux manières : avec une mise en forme « directe », ou avec des Styles.

La mise en forme directe consiste à mettre un mot en italique ou en gras, en sélectionnant simplement le mot et en cliquant sur l’icône « italique » ou l’icône « gras ». Son inconvénient pratique est qu’il faut sélectionner chaque mot ou groupe de mots ayant une fonction particulière et lui appliquer la mise en forme que l’on désire à chaque fois, d’où une répétition d’actions rapidement insurmontable sur un texte long.

L’idée des Styles est au contraire de se baser sur la fonction de chaque partie de votre texte, et de vous laisser ensuite déterminer comment vous voulez présenter chacune d’elles une bonne fois pour toutes, sans avoir à mettre en forme un à un chaque titre par exemple. Vous aurez toujours à sélectionner les parties de texte qui auront une fonction, mais vous devrez simplement indiquer laquelle. S’agit-il d’un titre de chapitre, d’une mise en exergue, d’une citation, ou d’autre chose ? La mise en forme est automatiquement appliquée suivant un style prédéterminé par le logiciel, mais que vous pourrez ensuite changer à volonté.

Car les Styles ne sont en fait que des formatages particuliers de la typographie, qui pourront être réutilisés facilement ensuite. Ils correspondent parfaitement à nos besoins de mise en forme puisqu’ils permettent de dire que, par exemple, « les titres de chapitre seront en Police Helvetica de taille 14 points, en gras, soulignés », et que « le corps de texte sera en Police Times New Roman de taille 11 points, normal », tandis que « les citations seront en Police Times New Roman de taille 12 et en italique ».

Les Styles pourront même s’appliquer aux paragraphes. Ainsi les paragraphes de Titre peuvent-ils être « centrés avec un espace de 20 points au-dessus du paragraphe, et un espace de 60 points en dessous du paragraphe », tandis que « le corps de texte sera constitué de paragraphes justifiés avec un espace de 5 points avant et après le paragraphe, et une indentation de la première ligne de 60 points », et « les citations seront des paragraphes justifiés avec une marge droite et une marge gauche de 70 points ». Par exemple.

Une fois les styles créés ou modifiés, vous n’aurez qu’à sélectionner un morceau de votre texte et décider de lui appliquer le format « Titre » ou le format « corps de texte ». Et s’il vous prend l’envie de changer l’aspect de votre texte, il vous suffit de changer les paramètres du Style « Titre » pour que, automatiquement, votre logiciel change tous les bouts de texte qui seront indiqués comme étant des titres.

L’avantage majeur de cette façon de faire reste que vous obtenez un texte structuré suivant ses différentes fonctions, sa signification. On appelle ça un balisage sémantique.

Et outre qu’il va vous faire gagner un temps fou et vous éviter d’oublier de mettre en forme un titre accidentellement, le balisage possède trois autres qualités.

La première est d’éliminer les sauts de ligne intempestifs (les lignes vides avec des retours chariot manuels). À la place, vous pouvez déterminer que le style de paragraphe utilisé laisse quelques points/pixels/millimètres de distance en haut et en bas. Cela rend le texte plus facilement adaptable aux différentes résolutions d’écran, et vous aurez aussi moins de lignes veuves et orphelines dans votre texte (ça, c’est valable à la fois pour le papier et le numérique).

La deuxième : la hiérarchie de titres.

Le titre de votre roman n’aura pas la même forme que le titre d’un chapitre, et ils seront tous deux différents du titre d’une partie, ou de celui d’un sous-chapitre. Vous allez donc les hiérarchiser, en donnant la forme d’un « Titre1 » au grand titre de votre roman, celle d’un « Titre2 » au titre des parties de ce dernier regroupant plusieurs chapitres, celle d’un « Titre3 » aux titres des chapitres, et éventuellement une « Titre4 » aux titres des sous-chapitres si vous en avez.

Enfin, la plus importante pour ce qui est des livres numériques : c’est cette structure qui permet au logiciel de lecture de comprendre où sont les titres, où est le corps du texte, où est la marge éventuelle et de les afficher correctement à l’écran, car votre texte sera codé dans un fichier HTML5 avec ces fameuses balises.

Il est donc, vous en serez, je pense, maintenant convaincus, fondamental, de structurer votre texte.

Nous pouvons alors voir un peu plus en détail comment.

Les styles à utiliser

Vous allez pouvoir vous aider des styles que vous avez déjà déterminés dans Scrivener pour le format papier de votre livre. Nous l’avons déjà vu dans l’article qui y est consacré, et vous pouvez vous y reporter.

Néanmoins, il faut garder deux choses à l’esprit : d’une part, vous n’aurez pas besoin de certains styles pour une sortie numérique de votre œuvre, puisque par définition ce sera le support de lecture (tablette, smartphone, liseuse) qui gérera complètement les entêtes et les pieds de page ainsi que les numéros de page qui pourront varier en fonction de la taille de police sélectionnée par votre lecteur ou votre lectrice pour son confort ; d’autre part, tous les autres styles ne seront que des propositions que vous ferez à votre lectorat, qui sera libre de les refuser pour appliquer son propre réglage.

Au final, les styles dont vous aurez vraiment besoin de vous préoccuper seront ceux qui suivent.

Des styles de caractères :

  • Un style de mise en évidence pour les mots importants. On utilise en général une mise en italique.
  • Un style d’accentuation forte pour être encore plus marquant. On utilise la plupart du temps une mise en gras.
  • Un style mixte, pour combiner la mise en évidence et la mise en gras.
  • Un style mise en évidence dans un texte en italique, qui permet de renverser la mise en italique si besoin.
  • Un style de Première phrase de chapitre si vous voulez changer la casse de vos débuts de chapitre par exemple (on peut le faire autrement dans Scrivener, mais la solution d’un style est plus interopérable avec les autres logiciels comme les traitements de texte).

Des styles de paragraphes :

  • Un style de corps de texte, la base de votre texte.
  • Un style de titre de chapitre, pouvant être ensuite décliné pour la façon dont vous allez numéroter les chapitres.
  • Un style de titre de parties, si vous en avez dans votre texte, pouvant là aussi être décliné pour la façon dont vous voudriez numéroter les parties.
  • Des styles de scènes, vous permettant de distinguer autrement qu’avec les signes typographiques de changement de scène deux moments différents dans une même séquence, comme des analepses ou des prolepses (flashbacks et flashforwards).
  • Un style de dédicace, qui marque déjà le texte sur la page adéquate.
  • Un style de mentions légales qui marque lui aussi le texte sur la page dédiée.
  • Un style de titre de scène ou de division de scène.

La traduction des styles en EPUB

Si vous êtes familier des usages d’écriture technique du web, tout cela va vous sembler basique.

Si ce n’est pas le cas, je vous conseille de vous pencher un peu sur les fondamentaux du langage HTML5. Vous pouvez vous référer à ce cours, que je trouve particulièrement didactique. Une autre façon de voir les choses est d’approcher la syntaxe d’écriture en markdown, une façon de coder des balises de manière très simple et presque naturelle.

Une balise est en effet simplement une marque qui entoure un mot ou un groupe de mots pour indiquer sa signification, sa fonction.

Si le titre de votre chapitre est « Introduction », par exemple.

Il sera indiqué en HTML5 par le code suivant :

<h1>Introduction</h1>

h1 est l’abréviation de header 1, c’est-à-dire entête 1 en bon français, pour désigner un titre très important, le premier en importance hiérarchique. Car un titre de chapitre sera plus important dans la hiérarchie qu’un titre de sous-chapitre. Mais on pourrait aussi imaginer que votre livre soit divisé en parties comprenant chacune plusieurs chapitres. Dans ce cas c’est le titre de partie qui sera le plus haut placé dans la hiérarchie (un header 1) alors que les titres de chapitre seront plus bas (des headers 2).

Cette hiérarchie des titres est essentielle, car elle correspond au codage du fichier HTML5 que vous obtiendrez dans votre livre au format EPUB. Le Titre1 deviendra une balise h1 (ou header 1), et votre Titre4 une balise h4 (ou header 4).

Chaque style sera transformé en une balise. Si vous utilisez Scrivener, ce sera automatique ou presque, lors de la compilation de votre texte en EPUB (on y vient plus bas).

Pour les styles les plus classiques, il suffira d’utiliser les balises simples du langage HTML5.

Par exemple : h1 à h6 pour les titres (titre du livre, sous-titre, titres de parties, titres de chapitres, titres de sous-chapitres…), blockquote pour les citations, em pour les mises en exergue, strong pour les accentuations fortes, p pour les paragraphes de corps de texte.

Mais lorsqu’aucune balise standard du HTML5 ne correspond à votre style, alors vous devrez choisir d’attribuer une classe à l’une de ces balises pour créer une sorte de nouvelle « sous-balise ».

Si l’on veut créer un style pour les analepses (flashbacks), on se rend vite compte qu’il n’existe pas de balise toute faite en HTML5. On peut donc choisir de créer une classe analepse pour certains paragraphes (balises p). Et ainsi chaque paragraphe de votre texte qui sera un flashback sera encadré par une balise notée <p class=”analepse”>.

Une fois que tout votre texte sera codé en HTML5, il sera complètement balisé pour l’application de lecture.

Si vous voulez savoir à quoi il ressemble, vous avez le choix entre deux possibilités.

Soit vous voulez voir le code, et vous devrez ouvrir le fichier correspondant avec un logiciel spécial baptisé « éditeur de code », sorte de traitement de texte spécialisé dans la gestion des balises. Je me sers de Brackets qui a l’avantage d’être libre et multiplateforme. Cela donnera ce genre de chose.

Soit vous voulez voir le résultat « lisible par un humain et pas par un cyborg », et sous devrez l’ouvrir dans un navigateur internet. Cela donnera ceci.

Vous trouvez ça moche ?

C’est normal, car vous n’avez fait que la moitié du travail jusqu’ici.

Vous n’avez fait que déclarer au navigateur (qui est le moteur de toutes les applications de lecture) quelles parties du texte correspondaient à quels styles.

Mais vous n’avez pas encore défini comment vous vouliez que soient ces styles.

Ça, c’est le boulot d’un autre fichier…

Here comes the CSS

Souvent nommé style.css, c’est un fichier qui n’est autre que la déclaration de l’apparence que vous voulez donner à chacun de vos styles.

Le langage CSS3 peut facilement s’apprendre, ici par exemple.

Pourtant, c’est lui qui sera le plus compliqué à paramétrer pour votre livre numérique, car les applications de lecture le gèrent de façon très personnelle. Et c’est un euphémisme.

Nous nous y pencherons plus en détail dans le troisième article de cette série, le temps pour vous de vous familiariser suffisamment avec lui. Sachez simplement que les logiciels qui permettent de créer un fichier EPUB à partir d’un texte classique créent un fichier CSS basique dont vous pouvez vous contenter si vous êtes peu exigeants.

Comme ce n’est pas mon cas, je vous montrerai donc comment obtenir ce que vous souhaitez précisément.

Et pour vous donner un exemple de son utilité, voici le rendu final du texte avec un code CSS fonctionnel basique, et le rendu final avec un code CSS mitonné aux petits oignons par mes soins. C’est mieux, non ?

Métamorphose du texte vers l’EPUB

Au contraire d’un fichier de texte (que son format soit DOC ou DOCX pour Word, RTF ou ODT pour LibreOffice), un livre électronique n’est pas un seul fichier constitué d’un seul tenant. C’est une sorte de dossier contenu dans une archive comme le format ZIP (si je vous parle chinois, allez voir quelques définitions de formats de fichiers ici). Nous explorerons d’ailleurs en détail les entrailles d’un livre EPUB dans le prochain article de cette série.

Il faut donc transformer notre fichier texte en une archive EPUB.

Nous pourrions le faire nous-mêmes, « à la main ». Mais ce serait pénible, tant la transition est complexe.

Alors, pour gagner du temps, il est utile de laisser un logiciel faire le plus gros du travail pour nous, car vous verrez, vous vous embêterez déjà assez comme ça lorsqu’il s’agira de peaufiner votre livre pour en faire quelque chose qui vous plaise vraiment tout en satisfaisant aux règles strictes et parfois capricieuses des logiciels de lecture électronique (vous vous souvenez, le CSS, c’est bien, mais le CSS qui marche bien partout comme on veut, c’est rare).

Bien sûr, cette étape ne donnera pas naissance au produit fini, mais plutôt à une ébauche, à une pierre brute que vous allez devoir patiemment polir en vous attaquant au code. Mais au moins, le gros du travail aura été fait d’un simple clic…

Il existe de soi-disant « éditeurs de livres électroniques », des logiciels dérivés d’applications pour créer des sites internet, comme Blue Griffon EPUB Edition, mais ils sont tous vendus très très chers pour ce qu’ils font… Personnellement, je préfère comme toujours la liberté, ce qui veut dire souvent mettre les mains dans le cambouis… le code…

Pourtant, les logiciels de traitement de texte habituels sont capables de produire un fichier EPUB à partir de votre texte.

Dans LibreOffice, cliquer sur Fichier > Exporter vers... > Exporter au format EPUB crée un fichier fonctionnel.

Pour ma part, comme nous l’avons vu dans l’épisode 1 de la série d’articles Making of a book, j’utilise Scrivener pour composer mes écrits, et je me sers donc de la fonction de compilation vers l’EPUB3 intégrée dans le logiciel.

Nous détaillerons dans l’épisode 3 de cette série les étapes de cette compilation, et je vais plus en profondeur dans les arcanes de cette opération dans une autre série d’articles. Mais il suffit pour l’instant de savoir qu’en cliquant sur Fichier > Compiler, et en choisissant le format de publication que j’ai partagé avec vous avec l’option EPUB3, Scrivener crée pour vous le fichier adéquat.

Ne reste plus qu’à tester son rendu sur votre tablette.

Vous remarquerez que le résultat est là encore perfectible. Même si c’est un excellent début, ce n’est pas encore un livre au rendu parfait car l’automatisation n’a pas préservé tous les réglages de styles. Pour cela, il faudra faire soi-même le travail en découvrant les entrailles du fichier.

Ce sera l’objet de notre deuxième épisode : EPUB Anatomy

Mais en attendant, il reste des choses à faire sur le texte lui-même, c’est-à-dire sa version HTML.

Maison de Corrections

Comme vous avez déjà lu le premier épisode de la série d’articles Making of a book, vous savez déjà qu’il est indispensable de corriger votre manuscrit une fois terminé. Et vous l’avez déjà effectué, parce que vous êtes formidable.

Mais dans le cas de la production d’un livre électronique, une étape de correction supplémentaire va devoir vérifier que le format EPUB garde toutes les modifications typographiques que vous aviez décidé de faire.

Ces espaces qu’il vaut mieux entendre crier

Car lorsque vous avez corrigé votre texte avec Antidote, ce dernier vous a obligeamment fait remarquer que vous deviez à certains endroits précis insérer des espaces insécables, des espaces fines ou des espaces fines insécables. La typographie est en effet régie par des lois strictes.

Si vous n’avez pas besoin de les connaître par cœur pour un format papier — Antidote faisant bien son travail — vous allez par contre devoir vous y familiariser pour le format électronique. En effet, l’exportation en EPUB, que ce soit avec LibreOffice ou avec la compilation de Scrivener, n’est pour le moment pas capable de gérer les espaces. Le fichier EPUB généré par ces logiciels va systématiquement comporter un seul type d’espace : les espaces normales sécables.

C’est ainsi qu’on se retrouve régulièrement, et même avec des livres numériques achetés dans le commerce, avec des horreurs du genre : un point d’exclamation tout seul en début de ligne et plus rien ensuite.

Je vous accorde que c’est un détail, mais au début, je vous ai bien dit que j’étais exigeant…

Si je mets autant d’énergie et de soin à écrire un texte qui me paraisse assez bon pour intéresser d’autres que moi, je refuse de le voir gâché par des bêtises de présentation.

Il est donc nécessaire d’entendre à nouveau parler vos espaces insécables, et vos espaces fines insécables.

L’idée est donc de corriger chaque chapitre ou chaque section de texte du fichier EPUB pour remplacer les espaces sécables par les codes indiquant au navigateur web qui sert de lecteur qu’il est nécessaire d’insérer des espaces particulières.

Vous allez me dire « c’est fastidieux ! » et vous auriez raison.

Voilà pourquoi je vous conseille deux méthodes.

La première consiste à vous servir de la fonction de rechercher/remplacer de votre éditeur de code (pour ma part, comme je vous l’ai dit plus haut, je me sers de Brackets) et de lui demander de faire les substitutions pour chaque règle automatiquement. Vous allez voir que c’est plus rapide, mais tout autant fastidieux. Car il faut faire une recherche pour les espaces derrière les guillemets ouvrants, puis une autre pour les espaces devant les guillemets fermants, puis une autre pour les espaces devant les points d’exclamation, puis une autre pour les points d’interrogation, etc.

Deuxième façon de faire, plus maligne, créer un petit programme qui fera ça tout seul suivant vos instructions. Vous n’aurez alors plus qu’à lui dire quel fichier inspecter, et le tour sera joué.

« Programmer ? Mais mon bon Monsieur, je suis un écrivain, moi, mais un programmeur ! Et même si je suis un geek parce que j’écris dans le domaine de l’imaginaire, je n’ai aucune envie d’apprendre un langage informatique ! Veuillez donc passer votre chemin avec vos balivernes et laissez-moi tranquille avec vos espaces insécables démoniaques ! »

Voilà en substance ce que vous pourriez me dire. Et là encore je ne pourrais vous donner tort.

Sauf que d’autres ont déjà bossé pour vous.

D’abord, Lizzie Crowdagger a créé un petit programme qui fait exactement le travail dont nous parlons. Il suffit d’apprendre à l’installer. Et je crois qu’il doit bien marcher… mais ce ne fut pas le cas pour moi. Je ne sais pas pourquoi, allez donc deviner… Peut-être parce que je suis sur Mac… Ou pas…

Essayez-le, car peut-être que pour vous ce sera un succès.

Mais si comme moi vous ne parvenez pas à le faire fonctionner correctement, alors, je vous livre ma solution personnelle.

BBEdit et Applescript à la rescousse des espaces

L’idée étant d’automatiser des tâches répétitives, il était tentant de se servir des outils déjà disponibles sur un Mac au départ. En effet, la petite application Automator est là pour ça. Mais si elle est extrêmement facile à prendre en main, elle n’est pas assez puissante pour faire ce travail seule.

Alors on peut se servir du langage de programmation maison d’Apple, l’Applescript.

Relativement simple, il est capable de commander une application à condition que les concepteurs d’icelle aient pensé à en donner la possibilité.

Or, Brackets n’est pas une application dite « scriptable ».

Qu’à cela ne tienne, il existe un éditeur de code qui est à la fois gratuit et scriptable : BBEdit.

Il ne me convient pas pour travailler en détail sur le code HTML ou CSS, mais il est entièrement scriptable et fera donc l’affaire pour automatiquement trouver toutes les espaces à changer dans mon texte.

Je vous propose donc, après avoir téléchargé le logiciel BBEdit, d’ouvrir l’application Éditeur de script qui se trouve dans les Utilitaires de votre Mac, et d’y coller le code suivant (en prenant soin d’enlever les \ situés avant les #) :

tell application "BBEdit"
	activate
	replace " !" using "<span style=\"espace-fine-insecable\">&\#8239;</span>!" searching in text 1 of text window 1 options {search mode:literal, starting at top:true, wrap around:false, reverse:false, case sensitive:false, match words:false, extend selection:false}
	replace " ?" using "<span style=\"espace-fine-insecable\">&\#8239;</span>?" searching in text 1 of text window 1 options {search mode:literal, starting at top:true, wrap around:false, reverse:false, case sensitive:false, match words:false, extend selection:false}
	replace "« " using "«<span style=\"espace-fine-insecable\">&\#8239;</span>" searching in text 1 of text window 1 options {search mode:literal, starting at top:true, wrap around:false, reverse:false, case sensitive:false, match words:false, extend selection:false}
	replace " »" using "<span style=\"espace-fine-insecable\">&\#8239;</span>»" searching in text 1 of text window 1 options {search mode:literal, starting at top:true, wrap around:false, reverse:false, case sensitive:false, match words:false, extend selection:false}
	replace "— " using "—<span style=\"espace-insecable\">&\#160;</span>" searching in text 1 of text window 1 options {search mode:literal, starting at top:true, wrap around:false, reverse:false, case sensitive:false, match words:false, extend selection:false}
	replace "—  " using "—<span style=\"espace-insecable\">&\#160;</span>" searching in text 1 of text window 1 options {search mode:literal, starting at top:true, wrap around:false, reverse:false, case sensitive:false, match words:false, extend selection:false}
	replace " :" using "<span style=\"espace-insecable\">&\#160;</span>:" searching in text 1 of text window 1 options {search mode:literal, starting at top:true, wrap around:false, reverse:false, case sensitive:false, match words:false, extend selection:false}
end tell
Mon Applescript de correction des espaces dans un fichier HTML

Puis enregistrez-le.

Lorsque vous aurez trouvé le fichier qui contient le code HTML de votre texte, qui devrait avoir un nom ressemblant à chapter.xhtml, vous l’ouvrez avec BBEdit. Puis vous cliquez sur l’icône play de l’Éditeur de script.

Presque de façon magique, tout devrait se corriger.

Et maintenant ?

Et bien maintenant que vous avez structuré votre texte, que vous l’avez exporté en EPUB et que vous avez corrigé les quelques erreurs de typographies laissées par cette métamorphose, il est temps de se préoccuper réellement de ce qui se cache dans ce fichier.

Pour être honnête, mieux vaut d’ailleurs que vous le sachiez avant, parce que sinon, vous allez vous retrouver avec un fichier EPUB et vous n’arriverez pas même à en ouvrir les entrailles pour trouver votre texte à corriger…

C’est le moment de faire une dissection.

Prenez vos scalpels, et rendez-vous dans le deuxième article de cette série : EPUB Anatomy.

2
0
Un avis, une réaction ? Commentez !x
()
x