Aller au contenu

« Utilisateur:Wuyouyuan/model-l » : différence entre les versions

La bibliothèque libre.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
Réalisation d'e-books à partir d'ouvrages de Wikisource, méthode pratique provisoire.
{{centré|{{taille|Réalisation d'e-books à partir d'ouvrages de Wikisource, méthode pratique provisoire.|140}}}}


=Comparaison de l'affichage sur liseuse et de la structure d'un ouvrage sur Wikisource=



== Wikisource==
==Comparaison de l'affichage sur liseuse et de la structure d'un ouvrage sur Wikisource==

=== Wikisource===
Wikisource contient des ouvrages (livres, articles de journaux ou de revues, documents officiels). Le texte d'un ouvrage est proposé au lecteur sous forme de pages hiérarchisées en livre, partie, chapitre etc. Pour la facilité du lecteur, il existe des pages de sommaire qui contiennent des liens vers les parties de l'ouvrage. Les ''notes de bas de page'' sont reliées au texte principal par des liens qui permettent d'aller lire une note et de revenir au texte. D'autres liens permettent de "naviguer" dans l'ouvrage, d'un chapitre au suivant etc.
Wikisource contient des ouvrages (livres, articles de journaux ou de revues, documents officiels). Le texte d'un ouvrage est proposé au lecteur sous forme de pages hiérarchisées en livre, partie, chapitre etc. Pour la facilité du lecteur, il existe des pages de sommaire qui contiennent des liens vers les parties de l'ouvrage. Les ''notes de bas de page'' sont reliées au texte principal par des liens qui permettent d'aller lire une note et de revenir au texte. D'autres liens permettent de "naviguer" dans l'ouvrage, d'un chapitre au suivant etc.


Ligne 10 : Ligne 12 :
Quand on modifie un texte, la modification est immédiatement visible dans toutes les présentations.
Quand on modifie un texte, la modification est immédiatement visible dans toutes les présentations.


==E-book pour liseuse==
===E-book pour liseuse===


Un fichier e-book pour liseuse contient un ouvrage entier, ou un volume d'ouvrage multi-volume. Le texte est d'une seul tenant et peut être lu du début à la fin. Il est généralement subdivisé en pages identifiées par leur rang dans le texte. Sur l'écran de la liseuse, un certain volume de texte est affiché, qui varie selon le choix de taille de caractères fait par l'utilisateur. Sur les liseuses à "papier numérique" on progresse par une fonction "tourner la page" vers le bloc de texte qui suit ou qui précède. Sur d'autres liseuses on peut faire défiler le texte. Un changement de page (subdivision du texte) peut être calé en haut de l'écran, ou se fondre dans la continuité, selon le choix de celui qui a construit l'e-book.
Un fichier e-book pour liseuse contient un ouvrage entier, ou un volume d'ouvrage multi-volume. Le texte est d'une seul tenant et peut être lu du début à la fin. Il est généralement subdivisé en pages identifiées par leur rang dans le texte. Sur l'écran de la liseuse, un certain volume de texte est affiché, qui varie selon le choix de taille de caractères fait par l'utilisateur. Sur les liseuses à "papier numérique" on progresse par une fonction "tourner la page" vers le bloc de texte qui suit ou qui précède. Sur d'autres liseuses on peut faire défiler le texte. Un changement de page (subdivision du texte) peut être calé en haut de l'écran, ou se fondre dans la continuité, selon le choix de celui qui a construit l'e-book.
Ligne 21 : Ligne 23 :
On ne peut pas modifier le texte d'un e-book. Les liseuses offrent la possibilité d'écrire des notes personnelles reliées au texte.
On ne peut pas modifier le texte d'un e-book. Les liseuses offrent la possibilité d'écrire des notes personnelles reliées au texte.


=Préparation de la page de texte pour générer les e-books=
==Préparation de la page de texte pour générer les e-books==


On parlera ici du cas du "texte entier", une seule page affichable qui contient tout ce qu'on veut mettre dans l'e-book. Des solutions plus élaborées, qui exploitent la structure d'un ouvrage sur Wikisource (parties et chapitres hiérarchisés, sommaires formalisés) peuvent aussi être décrites et réalisées.
On parlera ici du cas du "texte entier", une seule page affichable qui contient tout ce qu'on veut mettre dans l'e-book. Des solutions plus élaborées, qui exploitent la structure d'un ouvrage sur Wikisource (parties et chapitres hiérarchisés, sommaires formalisés) peuvent aussi être décrites et réalisées.
Ligne 27 : Ligne 29 :
Dans la solution décrite ici, le logiciel qui génère le fichier e-book utilise le code HTML généré par le logiciel Médiawiki à partir du texte formalisé en langage wiki. Tous les aménagements spécifiques à l'e-book sont écrits en langage wiki.
Dans la solution décrite ici, le logiciel qui génère le fichier e-book utilise le code HTML généré par le logiciel Médiawiki à partir du texte formalisé en langage wiki. Tous les aménagements spécifiques à l'e-book sont écrits en langage wiki.


Pour générer la table des matières, et insérer les changements de page en début de chapitre, il faut repérer dans le code les "titres", parties de texte qui fourniront les lignes de la table des matières de l'e-book, et leur niveau hiérarchique. Pour cela il faut des "balises" qui encadrent le texte du titre, ce qui fera reconnaître une ligne de titre par le générateur d'ebooks.
== Table des matières==

Il faut repérer dans le code les "titres", parties de texte qui fourniront les lignes de la table des matières de l'e-book, et leur niveau hiérarchique. Pour cela il faut des "balises" qui encadrent le texte du titre, ce qui fera reconnaître une ligne de titre par le générateur d'ebooks.


===Texte entièrement en wiki===
===Texte entièrement en wiki===


Ces textes "pas en mode page" ont des titres et sous-titres encadrés par des === ... === (niveau 3) ; == ... == (niveau 2) etc. Le texte s'affiche avec des titres et sous-titres en caractères agrandis sans autre directive de présentation. Le logiciel Mediawiki génère dans le texte HTML des balises <nowiki> ''<h1> ... </h1>'' </nowiki> qui encadrent le libellé du titre.
Ces textes "pas en mode page" ont des titres et sous-titres encadrés par des === ... === (niveau 3) ; == ... == (niveau 2) etc. Le texte s'affiche avec des titres et sous-titres en caractères agrandis sans autre directive de présentation. Le logiciel Mediawiki génère dans le texte HTML des balises <nowiki> ''<h1> ... </h1>'' ; ''<h2> ... </h2>''</nowiki> etc. qui encadrent le libellé du titre.


===Texte en mode page qui contient les titres et sous-titre===
===Texte en mode page qui contient les titres et sous-titre===
Ligne 41 : Ligne 41 :
Pour que le logiciel d'ebooks reconnaisse les lignes de titre les cas sont très variés. Il serait possible de se fier à la présence dans une ligne du mot "chapitre" ou "livre" etc. mais on ne peut pas exclure que ces mots apparaissent ailleurs dans le texte.
Pour que le logiciel d'ebooks reconnaisse les lignes de titre les cas sont très variés. Il serait possible de se fier à la présence dans une ligne du mot "chapitre" ou "livre" etc. mais on ne peut pas exclure que ces mots apparaissent ailleurs dans le texte.


La solution adoptée ici consiste à introduire une "classe titre" sous la forme <nowiki>''<div class="ebook-t2"> ...</div>''</nowiki> (pour le niveau 2, et ''ebook-t1'' pour le niveau 1 etc. Tout ce qui est englobé dedans (une ou plusieurs lignes de texte avec des directives de présentation) est considéré comme le libellé d'un titre par le générateur d'ebooks. Le modèle [[Modèle:Ebook-Tn]] qui matérialise cette solution a deux paramètres, le premier donnant le niveau, le second étant le texte du titre.
La solution adoptée ici consiste à introduire une "classe titre" sous la forme <nowiki>''<div class="ebook-t2"> ...</div>''</nowiki> (pour le niveau 2, et ''ebook-t1'' pour le niveau 1 etc. On fournit au générateur d'e-books le moyen de reconaître ce qui est englobé dedans (une ou plusieurs lignes de texte avec des directives de présentation) comme le libellé d'un titre d'un certain niveau. Le modèle [[Modèle:Ebook-Tn]] qui matérialise cette solution a deux paramètres, le premier donnant le niveau, le second étant le texte du titre.

Note: Les noms de classe donnés ici sont arbitraires. Il suffit de ne pas utiliser le nom d'une classe qui existe déja.


===Texte en mode page où l'affichage des titres a été inhibé===
===Texte en mode page où l'affichage des titres a été inhibé===


Dans ce cas, le titre dans le texte de la page a été encadré par des balises <nowiki><noinclude> ... </noinclude></nowiki> et n'apparait pas dans un texte transclus. Cela permet d'éviter la redondance du texte du titre quand il est présenté par chapitre. Mais le "texte entier" doit être construit chapitre par chapitre en insérant les titres. On peut alors encadrer ces titres par des balises wiki === ... === et, pour le générateur d'ebooks, on a l'équivalent d'un texte entièrement en wiki.
Dans ce cas, le titre dans le texte de la page a été encadré par des balises <nowiki><noinclude> ... </noinclude></nowiki> et n'apparait pas dans un texte transclus. Cela permet d'éviter la redondance du texte du titre quand il est présenté par chapitre. Mais le "texte entier" doit être construit chapitre par chapitre en insérant les titres. On peut alors encadrer ces titres par des balises wiki === ... === et, pour le générateur d'ebooks, on a l'équivalent d'un texte entièrement en wiki. On peut aussi utiliser la classe titre <nowiki>''<div class="ebook-t2"> ...</div>''</nowiki> ertc.

===Texte en mode page où les titres et sous-titres à l'intérieur d'une page sont encadrés par des balises wiki === .... === ===


Dans ce cas, le résultat est irrégulier. La présence des balises wiki dans les pages à transclure peut produire un code HTML inattendu. Voir [[Page:De la justice dans la Révolution et dans l'Église, tome 2.djvu/31|un exemple]]: les balises <nowiki> ''<h3> ... </h3>''</nowiki> sont dupliquées. Il est préférable de modifier les titres.
===Texte en mode page où les titres et sous-titres à l'intérieur d'une page sont encadrés par des === .... === ===


=Obtention du texte de l'ouvrage en HTML=
==Obtention du texte de l'ouvrage en HTML==


Il n'existe pas encore d'affichage "texte seulement" des pages de Wikisource. La technique décrite ici permet de supprimer l'entête, la colonne de gauche, le pied de page, les numéros de page en marge du texte, et de conserver le code HTML correspondant au texte, plus le titre de la page qui est reconnu comme "metadata titre" par les logiciels de génération d'e-book.
Il n'existe pas encore d'affichage "texte seulement" des pages de Wikisource. La technique décrite ici permet de supprimer l'entête, la colonne de gauche, le pied de page, les numéros de page en marge du texte, et de conserver le code HTML correspondant au texte, plus le titre de la page qui est reconnu comme "metadata titre" par les logiciels de génération d'e-book.


On utilise l'affichage "Version imprimable" (imprimer-exporter en colonne de gauche). Les liens et les ancrages dans le texte, qui ne sont pas affichés visiblement, sont conservés dans le code HTML
On utilise l'affichage "Version imprimable" (imprimer-exporter en colonne de gauche). Les liens et les ancrages dans le texte, qui ne sont pas affichés visiblement, sont conservés dans le code HTML
Ligne 78 : Ligne 82 :




=Génération des e-books avec le logiciel Calibre=
==Génération des e-books avec le logiciel Calibre==


IL existe de nombreux générateurs d'e-books. Ce qui suit concerne le logiciel libre ''[http://calibre-ebook.com/about Calibre]''. Voir son mode d'emploi.
IL existe de nombreux générateurs d'e-books. Ce qui suit concerne le logiciel libre ''[http://calibre-ebook.com/about Calibre]''. Voir son mode d'emploi.
Ligne 84 : Ligne 88 :
''Calibre'' reconnait le fichier HTML et le convertit dans son format interne ZIP, point de départ des conversions.
''Calibre'' reconnait le fichier HTML et le convertit dans son format interne ZIP, point de départ des conversions.


On donne à ''Calibre'' des expressions dans le [[w:Xpath|langage Xpath]] pour reconnaitre la structure du futur e-book. Les formules "par défaut" reconnaissent les balises ''h1'' et ''h2'' et traitent correctement la structure wiki, si on veut un seul niveau de table des matières. Il est recommandé d'utiliser les instructions qui conviennent à chaque cas. Les instructions qui ont servi pour un titre sont conservées pour les traitements ultérieurs.
On donne à ''Calibre'' des expressions dans le [[w:Xpath|langage Xpath]] pour reconnaitre la structure du futur e-book. Les formules "par défaut" reconnaissent les balises ''h1'' et ''h2'' et traitent correctement la structure wiki, si on veut un seul niveau de table des matières. Il est recommandé d'utiliser les instructions qui conviennent à chaque cas. Les instructions qui ont servi pour un ouvrage sont conservées pour les traitements ultérieurs.


Remarque: si l'ouvrage est illustré, le code HTML contient les URL des images stockées sur les serveurs de Wikimedia. Il faut être en ligne pour que le générateur d'ebooks insère les images.
== Manipulation==

=== Manipulation===


*ajouter le fichier HTML, qui devient le .ZIP de Calibre.
*ajouter le fichier HTML, qui devient le .ZIP de Calibre.
Ligne 102 : Ligne 108 :
*Aller chercher les fichiers e-book dans la base de données locale de Calibre. Il y a un dossier par auteur, qui contient un dossier par version d'ouvrage. (Calibre a une fonction d'exportation vers une liseuse).
*Aller chercher les fichiers e-book dans la base de données locale de Calibre. Il y a un dossier par auteur, qui contient un dossier par version d'ouvrage. (Calibre a une fonction d'exportation vers une liseuse).


===Paramètres génériques===
=Analyse de quelques exemples=


;Pour un texte en wiki
== [[Considérations sur les causes de la grandeur des Romains et de leur décadence]]==

*Structure detection :
** Détection des chapitres : <big>//*[(name()='h1' or name()='h2' or name()='h3') ]</big>
** Sauts de page : <big>//*[(name()='h1' or name()='h2' or name()='h3') ]</big> (supprimer les niveaux en trop à partir de la droite)

*Table of contents :
** Niveau 1 : <big>//*[(name()='h1’) ]</big>
** Niveau 2 : <big>//*[(name()='h2’) ]</big> (selon besoin, sinon blanc)
** Niveau 3 : <big>//*[(name()='h3’) ]</big> (selon besoin, sinon blanc)


;Pour un texte où on a utilisé la ''class titre''

*Structure detection :
** Détection des chapitres : <big>//*[@class = 'ebook-t1' or @class = 'ebook-t2' or @class = 'ebook-t3']</big>
** Sauts de page : <big>//*[@class = 'ebook-t1' or @class = 'ebook-t2' or @class = 'ebook-t3']</big> (supprimer les niveaux en trop à partir de la droite)

*Table of contents :
** Niveau 1 : <big>//*[@class = 'ebook-t1’]</big>
** Niveau 2 : <big>//*[@class = 'ebook-t2’]</big> (selon besoin, sinon blanc)
** Niveau 3 : <big>//*[@class = 'ebook-t3’]</big> (selon besoin, sinon blanc)


==Analyse de quelques exemples==

=== [[Considérations sur les causes de la grandeur des Romains et de leur décadence]]===


Le texte est en wiki, d'un seul tenant, avec un seul niveau de chapitres, marqué par les balises wiki == == qui génèrent les balises HTML <nowiki><h2>...</h2></nowiki> . Il y a des notes de bas de page.
Le texte est en wiki, d'un seul tenant, avec un seul niveau de chapitres, marqué par les balises wiki == == qui génèrent les balises HTML <nowiki><h2>...</h2></nowiki> . Il y a des notes de bas de page.
Ligne 113 : Ligne 145 :
Modification: Ajout d'un titre de chapitre <nowiki>== Notes : ==</nowiki> pour que les notes soient traitées comme le reste du texte.
Modification: Ajout d'un titre de chapitre <nowiki>== Notes : ==</nowiki> pour que les notes soient traitées comme le reste du texte.


==[[L’Ancien Régime et la Révolution]]==
===[[L’Ancien Régime et la Révolution]]===


Le texte est en wiki, divisé en livres, chaque livre divisé en chapitres. Chaque livre est sur une page et il y a une page de sommaire détaillé avec lien vers les livres. Il y a des notes de fin de livre, avec renvoi explicite depuis le texte.
Le texte est en wiki, divisé en livres, chaque livre divisé en chapitres. Chaque livre est sur une page et il y a une page de sommaire détaillé avec lien vers les livres. Il y a des notes de fin de livre, avec renvoi explicite depuis le texte.
Ligne 124 : Ligne 156 :
*Table of contents : Premier niveau : //*[name()='h1'] Second niveau : //*[name()='h2']
*Table of contents : Premier niveau : //*[name()='h1'] Second niveau : //*[name()='h2']


==[[La Sœur du Soleil]]==
===[[La Sœur du Soleil]]===


Le texte est en mode page; 31 chapitres, notes de bas de page. L'ouvrage est présenté en chapitres, à partir d'une page de sommaire. Il existe un ''[[La Sœur du Soleil/Texte entier|texte entier]]'' sans table des matières.
Le texte est en mode page; 31 chapitres, notes de bas de page. L'ouvrage est présenté en chapitres, à partir d'une page de sommaire. Il existe un ''[[La Sœur du Soleil/Texte entier|texte entier]]'' sans table des matières.
Ligne 133 : Ligne 165 :
*Table of content : Premier et seul niveau : //*[@class = 'ebook-t1' or @class = 'ebook-t2'] (instruction générique)
*Table of content : Premier et seul niveau : //*[@class = 'ebook-t1' or @class = 'ebook-t2'] (instruction générique)


==[[Connaissance de l'Est]]==
===[[Connaissance de l'Est]]===


Le texte est sur une seule page, avec un sommaire en début de page qui pointe sur les titres des poèmes en prose. Les réglages e Calibre sont tous à blanc. Une table des matières à un seul niveau a été générée à partir des titres associés aux liens du sommaire. La qualité de l'ebook serait meilleure si un changement de page avait été demandé à chaque début de chapitre.
Le texte est sur une seule page, avec un sommaire en début de page qui pointe sur les titres des poèmes en prose. Les réglages e Calibre sont tous à blanc. Une table des matières à un seul niveau a été générée à partir des titres associés aux liens du sommaire. La qualité de l'ebook serait meilleure si un changement de page avait été demandé à chaque début de chapitre.


==[[La Légende de la mort en Basse-Bretagne]]==
===[[La Légende de la mort en Basse-Bretagne]]===


Texte complexe en 10 chapitres et 70 sous-chapitres. Il y a au début de certains chapitres du texte qui ne dépend pas d'un sous-chapitre. Pour générer un sommaire à deux niveaux qui soit complet, certains titres de chapitre ont donc été dupliqués au niveau du sous-chapitre (voir ch VI, ''l'Anaon''). Le "texte entier" comporte un sommaire avec liens vers les chapitres et les sous-chapitres. Cette "table des matières dans le texte" fonctionne aussi sur liseuse. Mais faute d'avoir mis les ancrages à l'intérieur du chapitre, on aboutit en bas de la page précédente. [[Page:Le Braz - La légende de la mort en Basse Bretagne 1893.djvu/166|Exemple]].
Texte complexe en 10 chapitres et 70 sous-chapitres. Il y a au début de certains chapitres du texte qui ne dépend pas d'un sous-chapitre. Pour générer un sommaire à deux niveaux qui soit complet, certains titres de chapitre ont donc été dupliqués au niveau du sous-chapitre (voir ch VI, ''l'Anaon''). Le "texte entier" comporte un sommaire avec liens vers les chapitres et les sous-chapitres. Cette "table des matières dans le texte" fonctionne aussi sur liseuse. Mais faute d'avoir mis les ancrages à l'intérieur du chapitre, on aboutit en bas de la page précédente. [[Page:Le Braz - La légende de la mort en Basse Bretagne 1893.djvu/166|Exemple]].


==[[La Valeur de la science/Texte entier|La Valeur de la science]]==
===[[La Valeur de la science/Texte entier|La Valeur de la science]]===


Le texte est en mode page, mais l'affichage des titres a été inhibé en transclusion. Le ''texte entier'' est construit comme un texte en wiki, avec des titres et sous-titres encadrés par des balises wiki == ... == à deux niveaux, le texte sous le titre étant appelé par des instruction de transclusion.
Le texte est en mode page, mais l'affichage des titres a été inhibé en transclusion. Le ''texte entier'' est construit comme un texte en wiki, avec des titres et sous-titres encadrés par des balises wiki == ... == à deux niveaux, le texte sous le titre étant appelé par des instruction de transclusion.


Pour générer l'ebook, le paramétrage est le même que pour ''L’Ancien Régime et la Révolution'' (voir plus haut).
Pour générer l'ebook, le paramétrage est le même que pour ''L’Ancien Régime et la Révolution'' (voir plus haut).

===[[Les Aventures de Huck Finn]]===

Les titres de chapitres sont isolables du texte par un jeu de sections ([[Page:Les Aventures de Huck Finn.djvu/27|exemple]]) pour ne pas apparaitre en redondance dans la présentation par chapitre. Si on transclut le texte entier, les titres apparaissent. L'e-book a été généré en renonçant à créer une table des matières, car rien ne permettait d'identifier les titres, en mettant le paramétrage de Calibre à blanc. Des lignes de table des matières ont cependant été créées à partir des quelques notes de bas de page du traducteur. Pour l'éviter, il aurait fallu régler à zéro le nombre maximum de postes de la table des matières.


==Incertitudes et défauts de la technique décrite==

===Qualité du résultat vis-à-vis de la norme du type d'e-book===

Le visualiseur de Calibre, qui permet de contrôler le résultat, est plus "indulgent" que les logiciels de référence.

;EPUB

A contrôler avec [http://get.adobe.com/fr/reader/ Adobe Reader]. Ce qui devrait être centré ne l'est pas. Les interlignes sont irréguliers.

;MOBI

A contrôler avec [http://www.amazon.com/gp/feature.html/ref=kcp_pc_mkt_lnd?docId=1000426311 Kindle for PC]. Semble correct.

;PDF

Pas de table des matières. Les lignes du texte ne se réarrangent pas si on augmente sur la liseuse la taille des caractères, réduisant la longueur des lignes; les lignes sont alors pliées.

<br />

<big>''(à suivre)''</big>

<br />

Version du 4 juillet 2011 à 04:17

Réalisation d'e-books à partir d'ouvrages de Wikisource, méthode pratique provisoire.


Comparaison de l'affichage sur liseuse et de la structure d'un ouvrage sur Wikisource

Wikisource

Wikisource contient des ouvrages (livres, articles de journaux ou de revues, documents officiels). Le texte d'un ouvrage est proposé au lecteur sous forme de pages hiérarchisées en livre, partie, chapitre etc. Pour la facilité du lecteur, il existe des pages de sommaire qui contiennent des liens vers les parties de l'ouvrage. Les notes de bas de page sont reliées au texte principal par des liens qui permettent d'aller lire une note et de revenir au texte. D'autres liens permettent de "naviguer" dans l'ouvrage, d'un chapitre au suivant etc.

Le texte est établi par les contributeurs à partir de diverses sources, de préférence le fac-simile d'un imprimé; le texte établi est distribué en pages. On réunit ces pages par transclusion pour constituer les pages hiérarchisées destinées à l'affichage pour le lecteur. Dans le cas le plus simple, une page hiérarchisée du niveau le plus bas contient le texte en clair. Le même texte peut figurer dans plusieurs pages affichables, par exemple un chapitre d'ouvrage et un "livre entier" qui réunit tout le texte de l'ouvrage dans une seule page.

Quand on modifie un texte, la modification est immédiatement visible dans toutes les présentations.

E-book pour liseuse

Un fichier e-book pour liseuse contient un ouvrage entier, ou un volume d'ouvrage multi-volume. Le texte est d'une seul tenant et peut être lu du début à la fin. Il est généralement subdivisé en pages identifiées par leur rang dans le texte. Sur l'écran de la liseuse, un certain volume de texte est affiché, qui varie selon le choix de taille de caractères fait par l'utilisateur. Sur les liseuses à "papier numérique" on progresse par une fonction "tourner la page" vers le bloc de texte qui suit ou qui précède. Sur d'autres liseuses on peut faire défiler le texte. Un changement de page (subdivision du texte) peut être calé en haut de l'écran, ou se fondre dans la continuité, selon le choix de celui qui a construit l'e-book.

Le lecteur peut circuler à l'intérieur de l'e-book grâce à plusieurs fonctions:

  • appel de la table des matières, qui s'affiche alors sur l'écran. Le choix d'une ligne de table des matières affiche le début de la page correspondante.
  • fonctions de navigation générique: sauter à une page en donnant son numéro, revenir à l'affichage précédent, remonter le parcours de lecture.
  • navigation dans le texte, à partir d'un lien sur un mot du texte affiché, vers un autre point dans une page. Cela permet notamment de consulter les notes de bas de page et de revenir au texte. Cela permet aussi de créer une "table des matières dans le texte", et des renvois à l'intérieur du texte.

On ne peut pas modifier le texte d'un e-book. Les liseuses offrent la possibilité d'écrire des notes personnelles reliées au texte.

Préparation de la page de texte pour générer les e-books

On parlera ici du cas du "texte entier", une seule page affichable qui contient tout ce qu'on veut mettre dans l'e-book. Des solutions plus élaborées, qui exploitent la structure d'un ouvrage sur Wikisource (parties et chapitres hiérarchisés, sommaires formalisés) peuvent aussi être décrites et réalisées.

Dans la solution décrite ici, le logiciel qui génère le fichier e-book utilise le code HTML généré par le logiciel Médiawiki à partir du texte formalisé en langage wiki. Tous les aménagements spécifiques à l'e-book sont écrits en langage wiki.

Pour générer la table des matières, et insérer les changements de page en début de chapitre, il faut repérer dans le code les "titres", parties de texte qui fourniront les lignes de la table des matières de l'e-book, et leur niveau hiérarchique. Pour cela il faut des "balises" qui encadrent le texte du titre, ce qui fera reconnaître une ligne de titre par le générateur d'ebooks.

Texte entièrement en wiki

Ces textes "pas en mode page" ont des titres et sous-titres encadrés par des === ... === (niveau 3) ; == ... == (niveau 2) etc. Le texte s'affiche avec des titres et sous-titres en caractères agrandis sans autre directive de présentation. Le logiciel Mediawiki génère dans le texte HTML des balises ''<h1> ... </h1>'' ; ''<h2> ... </h2>'' etc. qui encadrent le libellé du titre.

Texte en mode page qui contient les titres et sous-titre

Le texte transclus s'affiche avec les titres et sous-titres. Il est possible de transclure l'ensemble du texte en une seule instruction.

Pour que le logiciel d'ebooks reconnaisse les lignes de titre les cas sont très variés. Il serait possible de se fier à la présence dans une ligne du mot "chapitre" ou "livre" etc. mais on ne peut pas exclure que ces mots apparaissent ailleurs dans le texte.

La solution adoptée ici consiste à introduire une "classe titre" sous la forme ''<div class="ebook-t2"> ...</div>'' (pour le niveau 2, et ebook-t1 pour le niveau 1 etc. On fournit au générateur d'e-books le moyen de reconaître ce qui est englobé dedans (une ou plusieurs lignes de texte avec des directives de présentation) comme le libellé d'un titre d'un certain niveau. Le modèle Modèle:Ebook-Tn qui matérialise cette solution a deux paramètres, le premier donnant le niveau, le second étant le texte du titre.

Note: Les noms de classe donnés ici sont arbitraires. Il suffit de ne pas utiliser le nom d'une classe qui existe déja.

Texte en mode page où l'affichage des titres a été inhibé

Dans ce cas, le titre dans le texte de la page a été encadré par des balises <noinclude> ... </noinclude> et n'apparait pas dans un texte transclus. Cela permet d'éviter la redondance du texte du titre quand il est présenté par chapitre. Mais le "texte entier" doit être construit chapitre par chapitre en insérant les titres. On peut alors encadrer ces titres par des balises wiki === ... === et, pour le générateur d'ebooks, on a l'équivalent d'un texte entièrement en wiki. On peut aussi utiliser la classe titre ''<div class="ebook-t2"> ...</div>'' ertc.

Texte en mode page où les titres et sous-titres à l'intérieur d'une page sont encadrés par des balises wiki === .... ===

Dans ce cas, le résultat est irrégulier. La présence des balises wiki dans les pages à transclure peut produire un code HTML inattendu. Voir un exemple: les balises ''<h3> ... </h3>'' sont dupliquées. Il est préférable de modifier les titres.

Obtention du texte de l'ouvrage en HTML

Il n'existe pas encore d'affichage "texte seulement" des pages de Wikisource. La technique décrite ici permet de supprimer l'entête, la colonne de gauche, le pied de page, les numéros de page en marge du texte, et de conserver le code HTML correspondant au texte, plus le titre de la page qui est reconnu comme "metadata titre" par les logiciels de génération d'e-book.

On utilise l'affichage "Version imprimable" (imprimer-exporter en colonne de gauche). Les liens et les ancrages dans le texte, qui ne sont pas affichés visiblement, sont conservés dans le code HTML


Affichage
  • afficher la page "texte entier" ou "texte pour liseuse" et passer à l'affichage "impression"
  • sauvegarder le fichier HTML (fonction de l'afficheur Firefox ou autre : "enregistrer sous" du menu déroulant "fichier").


Nettoyage du code HTML
  • Ouvrir le fichier HTML avec le bloc-notes (Notepad.exe ou équivalent). Il faut partir du fichier avec la fonction "ouvrir avec ...." (clic droit de la souris) ; en partant de Notepad.exe pour ouvrir le fichier, on peut avoir des problèmes de codage des caractères accentués.
  • Eliminer les lignes de code HTML après la 3e (dernière ligne conservée " <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> " ) jusqu'à " <!-- /jumpto --> <!-- bodytext --> " qu'on conserve.
  • Eliminer les lignes de code HTML à partir de "<!-- NewPP limit report [...] " jusqu'à la fin.
  • Rétablir les balises " </head><body> " après les trois premières lignes et " </body></html> " à la fin. (important: sinon le générateur d'e-books ne reconnait pas toujours la structure de la page HTML).
  • Sauvegarder le fichier (de préférence sous un autre nom) en .HTML et codage UTF-8.
  • ouvrir ce fichier pour le vérifier à l'affichage. On a un affichage avec liens en bleu, taille des caractères, centrages etc. mais sur toute la largeur de la page


Génération des e-books avec le logiciel Calibre

IL existe de nombreux générateurs d'e-books. Ce qui suit concerne le logiciel libre Calibre. Voir son mode d'emploi.

Calibre reconnait le fichier HTML et le convertit dans son format interne ZIP, point de départ des conversions.

On donne à Calibre des expressions dans le langage Xpath pour reconnaitre la structure du futur e-book. Les formules "par défaut" reconnaissent les balises h1 et h2 et traitent correctement la structure wiki, si on veut un seul niveau de table des matières. Il est recommandé d'utiliser les instructions qui conviennent à chaque cas. Les instructions qui ont servi pour un ouvrage sont conservées pour les traitements ultérieurs.

Remarque: si l'ouvrage est illustré, le code HTML contient les URL des images stockées sur les serveurs de Wikimedia. Il faut être en ligne pour que le générateur d'ebooks insère les images.

Manipulation

  • ajouter le fichier HTML, qui devient le .ZIP de Calibre.
  • ajuster les métadonnées (titre et auteur) pour ne pas égarer le résultat. Le titre figure dans le code HTML
  • ajuster les instruction de conversion (page setup, structure detection, table of contents).
  • demander la conversion en EPUB. C'est presque instantané.
  • visualiser le résultat (sommaire, circulation) avec le visualiseur de Calibre (par défaut, c'est l'EPUB)
  • générer les autres formats désirés.
  • Aller chercher les fichiers e-book dans la base de données locale de Calibre. Il y a un dossier par auteur, qui contient un dossier par version d'ouvrage. (Calibre a une fonction d'exportation vers une liseuse).

Paramètres génériques

Pour un texte en wiki
  • Structure detection :
    • Détection des chapitres : //*[(name()='h1' or name()='h2' or name()='h3') ]
    • Sauts de page : //*[(name()='h1' or name()='h2' or name()='h3') ] (supprimer les niveaux en trop à partir de la droite)
  • Table of contents :
    • Niveau 1 : //*[(name()='h1’) ]
    • Niveau 2 : //*[(name()='h2’) ] (selon besoin, sinon blanc)
    • Niveau 3 : //*[(name()='h3’) ] (selon besoin, sinon blanc)


Pour un texte où on a utilisé la class titre
  • Structure detection :
    • Détection des chapitres : //*[@class = 'ebook-t1' or @class = 'ebook-t2' or @class = 'ebook-t3']
    • Sauts de page : //*[@class = 'ebook-t1' or @class = 'ebook-t2' or @class = 'ebook-t3'] (supprimer les niveaux en trop à partir de la droite)
  • Table of contents :
    • Niveau 1 : //*[@class = 'ebook-t1’]
    • Niveau 2 : //*[@class = 'ebook-t2’] (selon besoin, sinon blanc)
    • Niveau 3 : //*[@class = 'ebook-t3’] (selon besoin, sinon blanc)


Analyse de quelques exemples

Considérations sur les causes de la grandeur des Romains et de leur décadence

Le texte est en wiki, d'un seul tenant, avec un seul niveau de chapitres, marqué par les balises wiki == == qui génèrent les balises HTML <h2>...</h2> . Il y a des notes de bas de page.

  • Structure detection: Détection des chapitres par : //*[(name()='h2')]
  • Table of content: Premier et seul niveau : //*[((name()='h2'))]

Modification: Ajout d'un titre de chapitre == Notes : == pour que les notes soient traitées comme le reste du texte.

L’Ancien Régime et la Révolution

Le texte est en wiki, divisé en livres, chaque livre divisé en chapitres. Chaque livre est sur une page et il y a une page de sommaire détaillé avec lien vers les livres. Il y a des notes de fin de livre, avec renvoi explicite depuis le texte.

Préparation: Constitution d'un Texte pour liseuse par transclusion {{: ..... }} des pages contenant les livres, après avoir encadré les entêtes par <noinclude>...</noinclude> dans chaque livre. Transclusion de la page de sommaire détaillé. Le texte pour liseuse est structuré par des titres au niveau 1 = ... = qui est celui des livres et de l'avant-propos, les chapitres étant structurés au niveau 2 ; == ... ==.

On utilise les balise HTML h1 et h2 générées par Mediawiki.

  • Structure detection : //*[(name()='h1' or name()='h2' or name()='h3') ]
  • Table of contents : Premier niveau : //*[name()='h1'] Second niveau : //*[name()='h2']

La Sœur du Soleil

Le texte est en mode page; 31 chapitres, notes de bas de page. L'ouvrage est présenté en chapitres, à partir d'une page de sommaire. Il existe un texte entier sans table des matières.

Préparation: Insertion dans chaque page de tête de chapitre d'un modèle {{ebook-Tn|2| ... }} qui a pour paramètre l'ensemble des deux lignes du titre de chapitre, numéro et libellé. Exemple Page:Gautier - La sœur du soleil.djvu/17.

  • Structure detection : //*[@class = 'ebook-t1' or @class = 'ebook-t2'] (instruction générique; le niveau 1 n'est pas nécessaire)
  • Table of content : Premier et seul niveau : //*[@class = 'ebook-t1' or @class = 'ebook-t2'] (instruction générique)

Connaissance de l'Est

Le texte est sur une seule page, avec un sommaire en début de page qui pointe sur les titres des poèmes en prose. Les réglages e Calibre sont tous à blanc. Une table des matières à un seul niveau a été générée à partir des titres associés aux liens du sommaire. La qualité de l'ebook serait meilleure si un changement de page avait été demandé à chaque début de chapitre.

La Légende de la mort en Basse-Bretagne

Texte complexe en 10 chapitres et 70 sous-chapitres. Il y a au début de certains chapitres du texte qui ne dépend pas d'un sous-chapitre. Pour générer un sommaire à deux niveaux qui soit complet, certains titres de chapitre ont donc été dupliqués au niveau du sous-chapitre (voir ch VI, l'Anaon). Le "texte entier" comporte un sommaire avec liens vers les chapitres et les sous-chapitres. Cette "table des matières dans le texte" fonctionne aussi sur liseuse. Mais faute d'avoir mis les ancrages à l'intérieur du chapitre, on aboutit en bas de la page précédente. Exemple.

La Valeur de la science

Le texte est en mode page, mais l'affichage des titres a été inhibé en transclusion. Le texte entier est construit comme un texte en wiki, avec des titres et sous-titres encadrés par des balises wiki == ... == à deux niveaux, le texte sous le titre étant appelé par des instruction de transclusion.

Pour générer l'ebook, le paramétrage est le même que pour L’Ancien Régime et la Révolution (voir plus haut).

Les Aventures de Huck Finn

Les titres de chapitres sont isolables du texte par un jeu de sections (exemple) pour ne pas apparaitre en redondance dans la présentation par chapitre. Si on transclut le texte entier, les titres apparaissent. L'e-book a été généré en renonçant à créer une table des matières, car rien ne permettait d'identifier les titres, en mettant le paramétrage de Calibre à blanc. Des lignes de table des matières ont cependant été créées à partir des quelques notes de bas de page du traducteur. Pour l'éviter, il aurait fallu régler à zéro le nombre maximum de postes de la table des matières.


Incertitudes et défauts de la technique décrite

Qualité du résultat vis-à-vis de la norme du type d'e-book

Le visualiseur de Calibre, qui permet de contrôler le résultat, est plus "indulgent" que les logiciels de référence.

EPUB

A contrôler avec Adobe Reader. Ce qui devrait être centré ne l'est pas. Les interlignes sont irréguliers.

MOBI

A contrôler avec Kindle for PC. Semble correct.

PDF

Pas de table des matières. Les lignes du texte ne se réarrangent pas si on augmente sur la liseuse la taille des caractères, réduisant la longueur des lignes; les lignes sont alors pliées.


(à suivre)