Produire un document pour des media croisés (cross-media) : De l'article au livre puis à l'epub3

Eric Le Jan

IFÉ ENS de Lyon
Professeur de SV-STU
Lycée Camille Saint-Saëns


                        22 rue Saint Lo
                        76000
                        Rouen
                        France
                        <>
                    

Carole Larose

IFÉ ENS de Lyon
Professeur de SV-STU
Lycée Pierre Corneille


                        19 rue Maulévrier
                        76000
                        Rouen
                        France
                        <>
                    

Charles-Henri Eyraud

IFÉ ENS de Lyon


                        15 parvis René-Descartess
                        69342
                        Lyon
                        France
                        <>
                    

Gérard Vidal

IFÉ ENS de Lyon


                        15 parvis René-Descartess
                        69342
                        Lyon
                        France
                        <>
                    

Publié par

Gérard Vidal

Directeur de publication
IFÉ ENS de Lyon
Résumé

Un ensemble de corrections à apporter pour transformer un "Article" en "Livre".puis pour améliorer le résultat de sa transformation en epub3 (livre numérique de 3ème génération).


Table des matières
Liste des illustrations
Liste des figures Contenant une vidéo

Introduction :

Vous trouverez dans cette notice la description des étapes qui permettent de créer au format DocBook un "article" ([db:article]) ou de transformer un "article" en "livre" (db:[book]) puis la description de la transformation en livre numérique xhtml, pdf, epub 3 et enfin l'ensemble des étapes permettant de prendre en compte les ajouts que la transformation n'assure pas automatiquement.

Chapitre 1. Produire un article docbook [db:article]

Table des matières

Ce chapitre s'adresse aux usagers qui n'ont jamais utilisé oXygen pour écrire un articles, les autres peuvent passer directement au chapitre 2.

Préparer votre travail

oXygen est un logiciel qui permet d'écrire des documents en langage xml. Plusieurs formats sont disponibles dans le logiciel mais nous ne nous intéresserons ici qu'au format DocBook version 5. Ce logiciel est un éditeur XML qui associé à des feuilles de style ressemble fortement à un logiciel de traitement de texte mais son usage requiert une plus grande rigueur du fait de la syntaxe assez stricte de XML. Ce tutoriel introductif présente seulement quelques principes de base.La production d'un article vous est proposée dans l'epub que vous pouvez télécharger en suivant ce lien.

Il est possible de façon transparente de travailler en local ou en ligne (à condition de disposer des autorisations d'accès nécessaires).

Organiser son travail en local.

Créer un dossier par article permet de travailler de façon sûre avec oXygen en ayant réuni au même endroit l'ensemble des éléments de l'article : le texte, les fichiers son, les images, les vidéos, les fichiers externes.

Suivez les étapes décrites ci-dessous.

  1. Créer un dossier «nomdelarticle»

    Ce dossier vous permet de ranger tous les fichiers utiles à votre article. Vous pouvez aussi y placer tous les fichiers externes téléchargés.

  2. Créer un fichier «nomdelarticle.xml» sauvegarder dans le dossier

    La création se fait dans oXygen (voir plus bas) et l'enregistrement impérativement dans le dossier crée en 1.

  3. Placer la fiche «LOM modèle» dans le dossier

    Dézipper la fiche "LOM conversion.xml" qui est une fiche modèle

  4. Créer un sous dossier «media»

    Son rôle est de contenir tous les média, par convention pour éviter tout problème de codage des caractères on n'utilise que des caractères non accentués.

  5. Créer les sous-dossiers «images», «video», «fichiers», «audio»

    Créer seulement les sous-dossiers qui contiendront effectivement les illustrations que vous utiliserez dans votre article, il est inutile de créer un sous-dossier audio s'il n'y a pas d'illustrations sonores dans l'article.

Si vous êtes amenés à changer d'ordinateur pour éditer le même fichier oXygen présente une facilité de travail qui est la manipulation d'archives. Cela permet de déplacer un seul fichier zippé au lieu de l'ensemble complet de la hiérarchie de fichiers. Même si elle est très pratique cette fonctionnalité présente certaines limites, elle ne permet pas de faire au sein de l'archive les transformations présentées au chapitre 3.

Suivez les étapes décrites ci-dessous pour constituer et utiliser une archive :

  1. Zipper le conteneur du fichier .xml et du dossier media.

    Ceci fait oXygen vous permettra d'ajouter dans l'archive tout ce dont vous aurez besoin en écrivant votre article, à la sauvegarde l'archive contiendra toutes les modifications et tous les ajouts.

  2. Ouvrir l’archive dans oXygen.

    On retrouve la structure "article.xml" media lorsque oXygen affiche le contenu de votre archive dans la vue "Navigateur d'archives" du menu "Fenêtre" élément "Afficher la vue".

Configurer l'espace de travail en ligne : pour travailler dans le Cloud Tremplin.

Cette étape suppose que vous disposiez des accès aux serveurs :

  • xml.climatetmeteo.fr : accès à la base exist.

  • mediaserv.climatetmeteo.fr : accès au serveur de média.

Ces accès vous sont fournis par l'équipe coordinatrice de Tremplin. Cette étape suppose aussi que vous ayez paramétré oXygen pour qu'il travaille dans le Cloud. Ces étapes sont détaillées dans la production NoticeSSHEtCLoud .

  1. Créer dans votre répertoire "PrénomNom" sur mediaserv le répertoire au nom du fichier xml

    Vous devez reproduire en ligne la hiérarchie de dossiers qui a été proposée en local pour garder la cohérence de la méthode de production. Comme sur votre disque dur ce dossier vous permet de ranger toutes les medias et fichiers utiles à votre article. On retrouve :

    • video

    • images

    • audio

    • fichiers

    • scripts

  2. Créer un fichier «nomarticle.xml» au format DocBook5 article dans le sous répertoire "data" du répertoire "acces"

    Pour créer un nouveau fichier dans la base il est nécessaire de le sauvegarder localement puis de l'importer dans la base depuis le menu "explorateur de sources de données" d'oXygen. Il s'affiche depuis l'onglet "Fenêtre"/"Afficher la vue"/"Explorateur de sources de données". Une fois qu'il est déposé fermer le fichier local et ouvrir le fichier directement dans la base.

    Ce fichier peut être un article.xml en cours d'écriture ou déjà achevé ou un ancien document au format DocBook. On peut parfaitement un fichier modèle pour éviter de démarrer sur une page vide et avoir des exemples simples de construction.

  3. Créer une nouvelle fiche LOM_nomarticle.xml dans le répertoire "acces" et le sous répertoire "metadata"

    Ouvrez une fiche LOM valide avec oXygen puis sauvegardez-la avec le nouveau nom LOM_nomarticle.xml.

    Glisser/Déposer ou importer la fiche la fiche sauvegardée sur le serveur distant dans la collection "metadata" de la collection "acces".

Affichage dans oXygen

Il y a trois façons d’afficher un document écrit en xml dans oXygen, le mode «auteur» le mode «texte» et le mode «grille» :

  • le mode auteur utilise une feuille de style et propose un affichage voisin de ce qui est fourni par un logiciel de traitement de texte, il permet de mieux visualiser l'organisation de votre article

  • le mode texte affiche l'article en langage xml en utilisant explicitement les <balises> servant à structurer le texte il permet de mieux comprendre la structure et avec un peu de savoir faire de rédiger directement en xml en choisissant les <balises> dans le menu éléments qui apparait dans ce mode d'affichage

  • Le mode grille affiche une vue synoptique de l'article qui permet de vérifier que la construction est conforme à ce qui est souhaité, cette vue est plus compliquée à utiliser et déconseillée aux utilisateurs débutants

oXygen propose une fonctionnalité supplémentaire qui teste si ce qui a été écrit est "valide et bien formé" c'est à dire acceptable ou pas par une base de données reconnaissant le format xml. Il indique par un petit carré rouge en haut à droite de la fenêtre d'édition si le document est correct (carré vert) ou contient des erreurs de structure (carré rouge). Lorsque le carré est rouge une ouplusieurs barettes rouges apparaissent dans l'ascenseur pour indiquer le(s) lieu(x) en erreur. L'erreur est soulignée en rouge par une ligne ondulée et en positionnant le texte sur l'erreur une explication sommaire est fournie pour favoriser la correction.

Corrigez les erreurs pour remettre le petit carré au vert.

Utilisation de l'article template

Il existe dans la base de données un "article modèle" qui peut servir de base pour construire un nouvel article.

Télécharger puis ouvrir le zip appelé template_article.zip dans oXygen ou directement ouvrir l'article Loremipsum dans la base xml

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.1. article template

Regardez la construction de cet article en mode auteur et en mode texte. Il vous présente les éléments les plus courants utilisés dans un article: le texte , la création de section et sous-section, l'insertion d'images, de sons, de vidéos.

Créer votre article

Vous êtes prêts pour créer votre article.

Des aides à la navigation dans le logiciel

Quelques aides à la navigation dans oXygen:

Les touches de direction sont essentielles à la navigation.

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.2. les touches de direction clavier


Les différentes fenêtres dans oXygen : au centre, votre fenêtre de travail avec en haut une aide essentielle à la navigation qui vous précise la position de votre curseur.

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.3. le chemin de votre curseur dans oXygen

Sur un côté, la fenêtre navigateur d'Archives dans laquelle vous avez ouvert votre zip avec les media, votre article, votre fiche LOM, votre connection aux bases de données.

Sur l'autre côté, deux fenêtre indispensables: la fenêtre Eléments avec tous les éléments dont vous disposerez pour la construction de votre article et la fenêtre Attributs dont vous aurez besoin dans les cas où vous insérez un media ou un lien. Si ces fenêtres n'apparaissent pas il est possible de les afficher en allant les activer dans le menu "fenêtre".

Remplir l'entête de l'article

Dans un premier temps, vous allez commencer l'article en remplissant les champs qui définissent le ou les auteurs de l'article puis présenter l'article en rédigeant un résumé.

  1. Cliquer sur l’onglet correspondant à votre article «article.xml»
  2. Passer dans l’onglet de l’article modèle et regarder les éléments présents.
  3. Dans l’article vierge après le titre, sélectionner l’élément «authorgroup», remplir les champs correspondants
  4. Créer ensuite les mêmes éléments que dans l’article modèle: affiliation
  5. Ecrire le résumé : abstract

Il reste à intégrer des sections, des figures, des tableaux ou tout autre éléments en respectant le format ENS-DOA

Faire un plan avec des sections et sous-sections

Lorsque l'on écrit un article, il est important et utile de pouvoir le structurer. Pour cela, il faut utiliser l'élement section: sect 1 pour les grands titres et sect 2 pour les sous-titres...

Insérer du texte dans votre article

Pour écrire du texte, il suffit de se situer à un niveau du curseur qui donne dans les éléments possibles celui de <para>. Si vous souhaitez faire un copier/coller de texte, c'est à cet élément que ce sera possible. Il est dans ce cas plus facile de passer par le mode texte pour un meilleur repérage des balises.

La série de boutons illustrée ci-dessous vous permettra comme dans un traitement de texte classique de pouvoir appliquer du gras, de souligner ou de mettre votre texte en italique, suivant la configuration choisie vous pouvez avoir des icônes ou du texte pour les styles..

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.4. boutons pour appliquer du style

Intégrer une image dans votre article

Dans la liste des éléments, fenêtre de droite se trouve l'élement figure comme sur l'image ci-dessous:

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.5. élement figure

  1. Ajouter une figure

    Il faut commencer par titrer la figure. C'est une étape obligatoire.

  2. Intégrer un objet «image»

    1. Soit votre dossier média contient déjà l'image soit vous pouvez ajouter un fichier image.jpg au dossier «media» et au sous dossier «images» (local ou en ligne).

      Pour cela, dans le navigateur d'archives, fenêtre de gauche, cliquer droit sur images et ajouter des fichiers:

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.6. L'insertion de l'image


  1. Sélectionner ensuite "mediaobject" puis "imageobject" puis "imagedata"
  2. Remplir les attributs «fileref» https://media.tremplin.ens-lyon.fr/ressources/users/EricLeJan/NoticeBook/images/nomdufichier.jpg de l'élément "imagedata" . Il est possible de glisser déposer l'image depuis le serveur de media et dans ce cas il faut impérativement modifier l'adresse comme précisé ci-dessus.
  3. Compléter les attributs «width», «align», «alt»

    Vous pouvez choisir 400 pour la largeur et "center" pour l'alignement

  4. Ajouter les éléments «info» puis «copyright» puis «legalnotice» puis votre choix de licence Creative Commons http://creativecommons.org/choose/.

Votre image s'affichera en mode auteur. Si cela n'est pas le cas, c'est que le chemin que vous avez attribué à l'image dans l'attribut fileref n'est pas correct.

Intégrer des vidéos ou des fichiers son dans votre article

L'élément "figure" permet également de gérer le média vidéo.

Ce média pour être affiché par tous les navigateurs doit être fourni aux formats :

  1. webm
  2. mp4

L'élément "figure" permet également de gérer le média audio.

Ce média pour être affiché par tous les navigateurs doit être fourni aux formats :

  1. mp3

  2. aac

Ces quatre formats peuvent être obtenus grâce à ffmpeg où à des logiciels comme "media converter" basés sur ffmpeg. Bien veiller à ce que les fichiers de media soient conformes et complets, certains convertisseurs se dispensent de fournir des métadonnées inutiles pour la visualisation mais indispensables dans des livres numériques.

Les élements et leur ordre de mise en place :

"figure" puis "titlle" Pour le titre, "mediaobject" puis "videoobject" pour intégrer la première vidéo, puis "videodata" pour renseigner le chemin vers le media mais aussi sa disposition dans la page, enfin "info" puis "legalnotice" puis le choix de votre licence Creative Commons.

On place les deux formats en ajoutant deux ensembles "videoobject" "/videoobject" supplémentaires.

Pour les fichiers audio on remplace par :

"figure" puis "titlle" Pour le titre, "mediaobject" puis "audioobject" pour intégrer le premier fichier son, puis "audiodata" pour renseigner le chemin vers le media mais aussi sa disposition dans la page, enfin "info" puis "legalnotice" puis le choix de votre licence Creative Commons.

Les attributs à compléter :

C’est l’élément «videodata» qui impose à minima les attributs :

  • fileref= "" pour le chemin d'acès au media dans l'archive
  • width="" pour la largeur sur la page
  • align="" pour l'alignement sur la page
  • alt="" pour le texte alternatif à afficher pour l'accessibilité

Résultat de l'intégration vidéo.

Les media audio s'intègrent de la même façon que les media vidéo. Les formats à mettre en place sont .mp3 et .AAC.

Les balises sont en revanche différentes "mediaobject", "audioobject", "audiodata".

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.7. Un exemple d'intégration de video


Insérer des liens

Cet élément est très utilisé dans nos articles.

L’élément link, en mode texte <link></link> décrit un lien.

Pour qu’un lien soit actif il faut rentrer l’adresse du lien dans les attributs. xlink:href= http://

On peut aussi renseigner le titre pour obtenir un affichage lors du survol de l’expression. xlink:title= «le titre»

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.8. illustration en mode auteur

Insérer des listes

Les listes sont des objets que nous pouvons utiliser pour obtenir une présentation un peu plus structurée.

On peut créer des listes à puces ou des listes numérotées.

Il y a des éléments pour ces deux types de listes :

  • pour la liste à puce: élément "itemizedlist" puis "listitem" et "simpara".
  • pour la liste numérotée: élément "orderedlist" puis "listitem" et "simpara".

Utiliser les boutons

Maintenant que vous maitrisez la structure de ce logiciel, il existe des boutons qui vous feront gagner du temps si vous les utilisez à bon escient:

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.9. la série de boutons

Vous retrouverez les fonctions déjà évoquées précédemment et une permettant la création d'un tableau lorsque vous avez l'élément "para"

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 1.10. insérer un tableau avec le bouton

Vous pouvez alors choisir un titre, le nombre de lignes et de colonnes. Pour légender les lignes et les colonnes, il suffit de placer le curseur à l'endroit où vous souhaitez écrire puis dans les éléments choisir <simpara>. Si vous souhaitez introduire une image dans votre tableau, l'élément est <informalfigure> puis <mediaobject> la suite des éléments est identique à celle indiquée dans le paragraphe 2.5

Cette présentation succincte vous aura permis de vous familiariser avec les procédures de base de la rédaction d'un article. Le logiciel propose de nombreuses autres astuces et facilités pour accélérer la rédaction, vous pourrez cliquer utilement sur le bouton aide qui propose des ressources en français et un moteur de recherche sur les fonctionnalitéss assez performant.

Vous disposez maintenant d'un article au format DocBook qui vous permet d'explorer le format livre. Pour un livre il est souhaitable d'avoir un article suffisamment structuré ou plusieurs articles à réunir dans le livre.

Chapitre 2. Produire un livre docbook [db:book].

Table des matières

Produire un livre [db:book] à partir d'un article [db:article].

Vous devez disposer d'un article au format DocBook 5 pour continuer. La production d'un article vous est proposée dans l'epub que vous pouvez télécharger en suivant ce lien. Vous pouvez aussi visualiser l'article en ligne en suivant cet autre lien.

Changer la balise racine <article> en <book>

Ouvrir l'article dans Oxygen puis l'enregistrer sous son nom de livre (différent du nom de l'article).

Vérifier que l'en-tête du fichier xml est bien une en-tête DocBook et pas l'en-tête DOA qui entraine l'utilisation d'une transformation non standard incompatible avec epub3, il faut avoir le texte ci-dessous qui peut se présenter sous la forme de trois longues lignes (sans les retours à la ligne après la définition de chaque élément) :

<?xml version="1.0" encoding="UTF-8"?>

<?xml-model href="http://docbook.org/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="http://docbook.org/xml/5.0/rng/docbook.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>

Ou bien rajoutez les deux lignes manquantes si vous n'avez que :

<?xml version="1.0" encoding="UTF-8"?>

Vérifiez que la balise article ne contient plus d'attribut de type DOA. Si c'était le cas supprimez la référence pour n'obtenir que :

<article version="5.0" xml:lang="fr">

Placer le curseur sur la balise article, choisir avec un clic sur le bouton de droite le menu « Refactoring », choisir « entourer par », choisir la balise <book>.

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 2.1. Illustration des menus déroulants


Votre article est alors inséré au sein d'un livre.

Ce changement de contexte induit des anomalies temporaires qu'on va corriger simplement par étapes. La situation est la suivante :

<book>
    
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" version="5.0" xml:lang="fr">

Il faut donc couper tous les attributs de la balise <article> pour les coller dans la balise <book>.

Compléter la balise <info> du livre.

Vous avez maintenant un livre valide mais incomplet car il ne possède ni page de garde ni informations propres au livre.

Il faut impérativement fournir ces informations sinon le livre n'apparait pas convenablement dans les outils de lecture. Deux cas sont possibles à ce stade :

  • Soit le livre doit contenir plusieurs articles/parties et dans ce cas la solution la plus simple est de copier /coller la balise <info> et son contenu depuis article vers <book> (au dessus de <article> et sous <book>) puis de compléter les informations pour décrire le livre comme indiqué ci-dessous.

  • Soit le livre ne va contenir qu'un seul article et dans ce cas les informations de l'article doivent être transférées au livre il faut alors couper /coller la balise <info> avec tout son contenu (important) et la placer après la balise <book> et avant la balise <article>. Ce déplacement a pour effet d'introduire une anomalie, en effet l'article n'a plus de titre ! Il suffit soit de copier coller la balise <title> et son contenu après la balise <article> et avant la balise <sect1>, soit d'ajouter une nouvelle balise <title> sous la balise <article> et la remplir le texte désiré.

En copiant ou déplaçant <info> on vient d'attribuer au livre le titre de l'article, vous pouvez bien sûr modifier le titre du livre et de l'article en fonction de vos besoins.

Il est possible de transformer la balise <article> en <chapter> ou de l'entourer avec une balise <part> en utilisant le menu « refactoring » vu plus haut mais nous n'avons pas testé les effets (toutes informations sont les bienvenues), probablement le passage d'un livre de type actes de colloque à un « vrai » livre et très certainement un traitement différent du formattage lors du rendu.

Votre livre n'a toujours pas de couverture, il vous faut rajouter l’image qui servira de couverture à votre livre dans dans le dossier images du dossier media rattaché à votre article. Donnez-lui un nom qui vous permette de l'identifier facilement.

Ajouter ensuite la balise <cover> dans la balise <info> de <book> avec les éléments ci-dessous :

<cover>
            
    <mediaobject>
        <imageobject>
                <imagedata fileref="https://media.tremplin.ens-lyon.fr/ressources/users/EricLeJan/NoticeBook/images/imageDeCouv.jpg"></imagedata>

        </imageobject>
    </mediaobject>
</cover>

L'image doit apparaître en mode auteur dans Oxygen.

Récupérer et reformater un book [db:book] déjà produit mais non valide

Vérifier que l'en-tête du fichier XML du livre est bien une en-tête DocBook et pas l'en-tête DOA qui qui entraine l'utilisation d'une transformation non standard incompatible avec epub3, il faut avoir les trois lignes d'en-tête signalées au premier paragraphe de ce chapître.

<?xml version="1.0" encoding="UTF-8"?>

<?xml-model href="http://docbook.org/xml/5.0/rng/docbook.rng" schematypens="http://relaxng.org/ns/structure/1.0"?>

<?xml-model href="http://docbook.org/xml/5.0/rng/docbook.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>

La balise <book> doit avoir les attributs standards (le mathML est facultatif, vous en avez besoin seulement si vous avec des formules en mathML). Cela donne :

<book xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" version= "5.0"  xml:lang="fr">

Vérifiez la présence et le contenu de la balise <info> avec au moins les balises suivantes renseignées :

avec au moins les informations décrites plus haut.

Chapitre 3. Transformer le livre DocBook [db:book] en livre [xhtml5] , [pdf] , [odpf:epub3]

Table des matières

Une fois le livre mis en place au format DocBook et tous ses médias associés, il est possible de lui appliquer les transformations de la familles docbook-xsl 1.78.1 intégrées à Oxygen.

Si le livre a été édité en ligne il est nécessaire d'en faire une copie locale dans ce que l'on pourrait considérer comme un atelier de fabrication qui prenne en compte toutes les options choisies pour le projet. Les transformations xhtml et epub3 imposent pour le moment que les fichiers au format pivot docbook soient accessibles localement. Pour la transformation epub3 tous les documents nécessaires pour produire le format epub3 doivent être sur le support local car ils sont empaquetés dans un objet utilisable complètement (sans connexion externe) dans un outil mobile : smartphone tablette, liseuse compatible.

Téléchargement d'une copie locale d'un livre en ligne (lorsque le livre a été rédigé en ligne).

Ce chapitre concerne seulement les situations dans lesquelles le livre a été rédigé ou co-rédigé en ligne, si l'ensemble des documents sont sur le disque local passer au chapitre suivant.

Pour réaliser une copie locale du livre en ligne il est nécessaire de télécharger le fichier DocBook tel qu'il est sauvegardé sur la base de données. D'un point de vue formel lorsqu'on travaille dans le "cloud" l'original se trouve dans le "cloud" et autant de copies que nécessaires sont déployées dans les postes de travail des usagers. Si des modifications sont faites hors ligne il est impératif de les téléverser dès qu'une connexion est possible. Pour réaliser cette opération plusieurs stratégies sont possibles la plus simple consiste a ouvrir avec oXygen le livre dans la base en ligne et de l'enregistrer localement avec oXygen.

Dans le fichier DocBook qui vient d'être téléchargé les liens vers les media pointent tous vers le serveur de medias en ligne or pour transformer un fichier docbook.xml en .epub il faut absolument que les liens vers les media pointent vers des fichiers locaux sur la machine de travail. Faire une copie du fichier original en ajoutant "local" dans son nom afin de ne pas interférer avec la copie originale du fichier qui servira pour la transformation xhtml et pdf.

Une fois la copie réalisée ouvrir le fichier et faire une modification systématique des adresses des fichiers images et liés en modifiant l'adresse http :

https://media.tremplin.ens-lyon.fr/ressources/users/nomuser/nomfichier/

en une adresse interne :

media/

Cette opération est réalisée grâce au menu "rechercher/replacer" appliqué en mode "texte" au fichier à modifier.

Pour terminer il est nécessaire de recopier à côté du fichier DocBook le dossier portant le nom du document et la totalité des sous-dossiers et des fichiers qu'il contient depuis le serveur où il est déposé. Dans le cadre du projet "Tremplin" ce serveur est mediaserv.climatetmeteo.fr. Il n'est malheureusement pas possible d'exporter directement un répertoire entier en l'ouvrant dans oXygen, utiliser votre outil de ftp securisé (cyberduck par exemple) pour réaliser cette opération, pour les plus aguerris il est toutefois possible d'utiliser l'ordinateur local comme source de données (voir "Production de ressources dans un espace collaboratif sécurisé". On renomme ce dossier local "media". Cette opération est nécessaire pour pouvoir produire le livre au format epub3.

Configuration d'oXygen pour préparer les transformations.

La copie à l'identique de l'original se trouvant dans la base va permettre de produire le fichier XHTML unique ou une série de fichiers XHTML qui pourront être affichés dans les sites web en utilisant les outils du projets connectés aux bases de données. Pour éviter des problèmes de pertes de données le fichier local doit porter le même nom que le fichier de la base de données. une autre sauvegarde doit être effectuée en ajoutant "Local" à la fin de la partie principale du nom avant l'extension ".xml".

La version actuelle d'oxygen ne propose par défaut que les transformations xhtml-1 mais les transformations xhtml-5 sont disponibles, il suffit de les activer.

C'est ce que nous allons faire pour les transformations docbook XHTML et docbook XHTML-chunk.

Avant de les activer il est nécessaire de remplacer un fichier de l'installation par défaut (à l'endroit où le logiciel oXygen a été installé); le fichier /frameworks/docbook/xsl/xhtml5/html5-element-mods.xsl doit être remplacé par celui qui se trouve sur le site des sources et au bout de ce lien la version fournie lors de l'installation standard provoque une anomalie bénigne mais bloquante qui a été soumise aux développeurs de docbook-xsl et qui sera traitée dans la prochaine version.

Une fois que le remplacement est fait, par prudence redémarrez oXygen, puis ouvrez avec oXygen le fichier DocBooklocal.xml.

Cliquer sur le bouton permettant de créer une nouvelle transformation choisir le groupe DocBook5 et cliquer sur la ligne DocBook XHTML (respectivement DocBook XHTML - Chunk), cliquer sur dupliquer (ou reproduire).

Une nouvelle fenêtre popup apparait, changer le nom en "DocBok XHTML5" (respectivement "DocBok XHTML5 - Chunk") modifier la fin de l'URL de la XSL en remplaçant à partir de "/xhtml" par "/xhtml5/docbook.xsl" (respectivement par "/xhtml5/chunk.xsl"). Cela doit conduire au paramétrage illustré dans la figure ci-dessous. Veiller à bien préparer les deux transformations "DocBok XHTML5" et "DocBok XHTML5 - Chunk".

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 3.1. Configuration de la transformations docbook XHTML5

Fenêtre popup illustrant la configuration de la transformation XHTML5. Pour la transformation multipage on met chunk.xsl à la place de docbook.xsl.


Lors de la production des livres et des fichiers xhtml5, il reste a modifier encore quelques éléments pour respecter les choix éditoriaux qui dépassent le formattage "standard". Le projet dispose pour ce faire de transformations qu'on appelle par convention "Cleaner".

Chacune s'applique à un format de production :

Télécharger depuis le site des sources les trois fichiers de transformation associés au projet tremplin : "xhtmlCleaner.xsl", "xhtmlChunksCleaner.xsl" et "epub3Cleaner.xsl" et les déposer à côté du fichier DocBook.

Vous pouvez aussi les télécharger en suivant ce lien et ce lien ci et ce dernier ce lien (versions pas forcément à jour). Le répertoire contenant les copies doit se présenter comme celui de la figure ci-dessous.

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 3.2. Répertoire local du livre DocBook avant transformations.

Navigateur de fichiers illustrant le téléchargement de copies du fichier DocBook afin de réaliser les transformations xhtml et epub3.


Pour installer les trois transformations commencez par cliquer sur le bouton permettant de créer une nouvelle transformation puis utilisez le bouton .

Ensuite choisissez l'option "XML transformation with XSLT"

La fenêtre de popup qui apparait va vous permettre de créer la transformation et de régler les paramètres de transformation si nécessaire.

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 3.3. La création d'une nouvelle transformation

Fenêtre popup illustrant la configuration de la transformation xhtmlCleaner.xsl pour passer sur la pages au format xhtml


Nommez la transformation "xhtmlCleaner".

Il faut utiliser l'icone " " de la ligne "xsl URL" et aller jusqu'au dossier illustré ici. La sélection du fichier permet la mise en place du lien dans le champ.

Choisissez ensuite dans le champ "transformer" l'option Saxon-EE 9.6.0.3

Il faut maintenant choisir les paramètres dont un essentiel, celui qui relie la transformation au fichier .xml qui sert de source à cette transformation.

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International.

Figure 3.4. Le popup de sélection des paramètres


Cochez les paramètres dont vous voulez qu'ils s'appliquent lors de la transformation.

Dans les champs valeur il faut, lorsque vous voulez utiliser les options audio et video sélectioner le champ l'éditer et lui ajouter un 1 (laisser le champ vide pour ne pas effectuer le rajout de table des matières dédiées).

Pour le paramètre db-file il faut inscrire le nom du fichier qui a subi la transformation (nomdubook.xml) et qui est dans le même répertoire que la xsl.

Cliquez sur "accepter" puis enregistrer pour quitter la fenêtre de création de transformation.

Veiller à préparer les deux autres types de transformation "xhtmlChunksCleaner" et "epub3Cleaner", pour cela il suffit de reprendre pour chacune les étapes que vous venez de franchir en utilisant les fichiers téléchargés plus haut, les paramètres sont identiques dans les trois transformations.

Nous pouvons maintenant passer à la production Cross Media.

Transformation docbook -> livre [pdf]

La transformation pdf pour le moment ne propose aucun paramètre particulier et c'est donc la plus simple à réaliser. Le fichier pdf est produit directement depuis oXygen, cliquer sur le bouton permettant de créer une nouvelle transformation choisir le groupe DocBook5 et cocher la case à gauche de la ligne DocBook PDF. Sauvegarder puis lancer la transformation en cliquant sur le bouton . Un dossier "out" est créé s'il n'existe pas déjà, dans ce dossier est créé un dossier pdf qui contient le fichier résultant de la transformation au format pdf.

Transformation docbook -> livre [xhtml5]

Deux transformations sont possibles, l'une conduit à un fichier xhtml unique l'autre fournit un ensemble de fichiers liés proposant une structuration en "pages par chapitre". Dans le premier cas on obtient un seul fichier avec l'extension xhtml qui porte le nom du fichier DocBook, dans le second cas on obtient une série de fichiers comprenant au moins un fichier "index.html" et une série de fichiers avec une extension xhtml dont les noms sont générés automatiquement à partir du numéro d'ordre de la partie, du chapitre, de la section par exemple la section 1 du chapitre 2 s'appellera ch02s01.xhtml.

Transformation vers un seul fichier [xhtml5]

Ouvrir le fichier DocBook, cliquer sur le bouton permettant de créer une nouvelle transformation , décocher tout autre transformation qui serait enclenchée pour éviter qu'elle se reproduise, choisir le groupe Global et cocher la case à gauche de la ligne "DocBook XHTML5" qui a été créé au chapitre précédent. Sauvegarder puis lancer la transformation en cliquant sur le bouton . Un dossier "out" est créé s'il n'existe pas déjà, dans ce dossier est créé un dossier "xhtml" qui contient le fichier résultant de la transformation au format xhtml, et un fichier docbook.css qui propose une CSS sommaire pour l'affichage du fichier produit.

Par défaut une fenêtre de navigateur s'ouvre aussi pour afficher le résultat ce qui confirme que la transformation s'est bien passée. Une vérification vous permet de voir qu'une partie des informations a probablement disparu en particulier pour ce qui concerne les droits sur les média. Cette situation s'explique par un certain nombre de choix effectués par l'équipe proposant les transformations docbbok-xsl, une demande de modification a été faite mais pour le moment est sans suite.

Afin de récupérer les informations non affichées nous allons appliquer une nouvelle transformation qui prend en compte un certain nombre de règles fixées par le projet et qui affiche les informations sur les droits. S'il est besoin de modifier les choix éditoriaux faits pour tremplin il suffit de modifier le fichier xhtmlCleaner qui a été installé dans le chapitre précédent .

Ouvrir le fichier xhtml du dossier out/xhtml, ce fichier apparait sous une forme peu lisible, ne vous en préoccupez pas nous allons le reformatter.

Cliquer sur le bouton permettant de régler une nouvelle transformation , décocher tout autre transformation qui serait enclenchée pour éviter qu'elle se reproduise, choisir le groupe Global et cocher la case à gauche de la ligne de la transformation "xhtmlCleaner" qui a été créé au chapitre précédent. Sauvegarder puis lancer la transformation en cliquant sur le bouton .

La transformation s'effectue au sein d'oXygen et le résultat apparait dans la fenêtre inférieure d'oXygen. Cliquer dans cette fenêtre sélectionner la totalité de son contenu en appuyant simultanément sur les touches <Ctl><A> puis copier le contenu en appuyant simultanément sur les touches <Ctl><C>, cliquer dans la fenêtre contenant le fichier xhtml, sélectionner la totalité de son contenu en appuyant simultanément sur les touches <Ctl><A> et enfin coller le contenu en appuyant simultanément sur les touches <Ctl><V>.

Sur MacOS remplacer les <ctrl> par <cmd>

Il est possible maintenant de changer la CSS utilisée en remplaçant le nom du fichier utilisé dans l'en-tête (<head>) par exemple une des propositions disponible sur le serveur de media:

<link rel="stylesheet" type="text/css" href="https://media.tremplin.ens-lyon.fr/ressources/css/eric/docbook.css"/>

Pour être totalement compatible avec la version la plus stricte on peut rajouter sous la première ligne une ligne contenant simplement :

<!DOCTYPE html>

Vous pouvez maintenant sauvegarder le fichier xhtml et le déposer en ligne dans la collection db/data-xhtml/acces à l'intérieur d'un répertoire portant le nom de votre livre.

Transformation vers un ensemble de fichiers "par page" [xhtml5]

Ouvrir le fichier DocBook, cliquer sur le bouton permettant de créer une nouvelle transformation , décocher tout autre transformation qui serait enclenchée pour éviter qu'elle se reproduise, choisir le groupe Global et cocher la case à gauche de la ligne "DocBook XHTML5 - Chunk" qui a été créé au chapitre précédent. Sauvegarder puis lancer la transformation en cliquant sur le bouton .

Un dossier "out" est créé s'il n'existe pas déjà, dans ce dossier est créé un dossier "xhtml-chunks" qui contient une famille de fichiers résultant de la transformation au format xhtml, et un fichier docbook.css qui propose une CSS sommaire pour l'affichage du fichier produit. Il y a au moins un fichier index.xhtml qui correspond à la première page du livre et ensuite une suite de fichiers correspondant chacun à une "page" du livre.

Il ne s'agit pas de pages au sens livre imprimé mais de "pages web" contenant chacune seulement un chapitre ou un sous-chapitre. Par défaut une fenêtre de navigateur s'ouvre aussi pour afficher le résultat ce qui confirme que la transformation s'est bien passée. Une vérification vous permet de voir d'une part qu'une structure complexe en pages a été produite et d'autre part que comme pour le chapitre précédent qu'une partie des informations a probablement disparu en particulier pour ce qui concerne les droits sur les média pour les raisons déjà citées.

Afin de récupérer les informations non affichées nous allons appliquer à chaque fichier xhtml la transformation spécifique, "xhtmlChunkCleaner" crée au chapitre précédent qui prend en compte les mêmes règles fixées par le projet.

Ouvrir tous les fichiers xhtml du dossier out/xhtml-chunk correspondant à cette transformation (ne pas retoucher le fichier précédent qui est correct), chaque fichier apparait sous une forme plus ou moins lisible, ne vous en préoccupez pas nous allons les reformatter.

Pour chaque fichier xhtml , cliquer sur le bouton permettant de sélectionner une nouvelle transformation , décocher tout autre transformation qui serait enclenchée pour éviter qu'elle se reproduise, choisir le groupe Global et cocher la case à gauche de la ligne de la transformation "xhtmlCleaner" qui a été créée au chapitre précédent. Sauvegarder puis lancer la transformation en cliquant sur le bouton .

La transformation s'effectue au sein d'oXygen et le résultat apparait dans la fenêtre inférieure d'oXygen. Cliquer dans cette fenêtre sélectionner la totalité de son contenu en appuyant simultanément sur les touches <Ctl><A> puis copier le contenu en appuyant simultanément sur les touches <Ctl><C>, cliquer dans la fenêtre contenant le fichier xhtml, sélectionner la totalité de son contenu en appuyant simultanément sur les touches <Ctl><A> et enfin coller le contenu en appuyant simultanément sur les touches <Ctl><V>.

Sur MacOS remplacer les <ctrl> par <cmd>

Il est possible maintenant de changer la CSS utilisée en remplaçant le nom du fichier utilisé dans l'en-tête (<head>) par exemple une des propositions disponible sur le serveur de media:

<link rel="stylesheet" type="text/css" href="https://media.tremplin.ens-lyon.fr/ressources/css/eric/docbook.css"/>

Pour être totalement compatible avec la version la plus stricte on peut rajouter sous la première ligne une ligne contenant simplement :

<!DOCTYPE html>

Vous pouvez maintenant sauvegarder les fichier xhtml et les déposer en ligne dans la collection db/data-xhtml/acces à l'intérieur d'un répertoire portant le nom de votre livre. Ces fichiers se placent à coté du fichier issu de la transformation xhtmlCleaner.

Transformation docbook -> livre [epub3]

Transformation standard docbook-xsl dans oXygen

Ouvrir le fichier DccBookLocal et vérifier en mode auteur que tous les médias sont liés localement au répertoire media.

ATTENTION, comme indiqué au chapitre 2.2, la transformation en epub est extrêmement stricte et IMPOSE que tous les media soient disponibles localement. Si besoin il sera possible de modifier cela une fois que la transformation sera effectuée.

Pour des raisons pratiques nous recommandons de travailler dans un dossier spécial qui contienne le fichier XML du livre chargé dans oXygen et le dossier media qui lui correspond.

Cliquer sur la clé avec triangle rouge, on obtient un popup dont l'illustration ci-dessous révèle le contenu :

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 3.5. Les scénarios de tranformations


Cocher la case configurer les scénarios de transformation DocBook epub 3 (expérimental). Veiller à bien choisir la transformation du groupe DocBook 5 si plusieurs groupes de transformation vous sont proposés.

Cliquer sur le bouton « enregistrer et fermer » puis cliquer sur le triangle rouge à côté de la clé pour exécuter la transformation.

Oxygen crée dans le dossier où se trouve le xml du livre un dossier « out » contenant :

  • un dossier epub3

  • un dossier temp

  • un fichier mimetype

La transformation standard est terminée on va maintenant pouvoir utiliser le fichier avec l'extension .epub qui vient d'être créé.

Vérification du résultat

Dans le dossier "epub" on retrouve le fichier au format .epub, tous les fichiers temporaires qui ont servi à le construire ainsi qu'un dossier media qui ne contient que les images ou les videos. Il faudra donc compléter/remplacer ce dossier par l'original afin de conserver tous les medias reliés aux pages du livre produit.

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International

Figure 3.6.  Contenu du dossier epub3


On peut vérifier à ce stade que l'ensemble des fichiers XHTML nécessaires à la bonne présentation du livre sont présents. S'il manque le fichier de couverture, le fichier d'index ou le fichier de la table des matières c'est qu'une anomalie s'est produite lors de la transformation et la cause est fort probablement une anomalie du fichier DocBook initial :

s'il existe des messages d'erreur affichés par Oxygen les consulter et les transmettre à l'assistance,

si aucun message d'erreur n'est affiché c'est que le format du document bien que valide et transformable n'est pas conforme aux exigences d'un livre vérifier les prérequis listés dans les chapitres précédents.

Application de la transformation "Cleaner"

Ce travail est à réaliser sur l'ensemble de fichiers produits par la transformation epub et sur le fichier DocBook original. Il peut s'avérer prudent de travailler sur une copie de ce fichier pour conserver un original ce qui évite de refaire la transformation DocBook - epub3 qui peut s'avérer longue pour des livres abondamment illustrés.

La transformation ne traite que les images, les videos de type mp4 et les audio de type mp3. La conséquence est que le dossier media inclus dans le livre au format epub ne contient pas tous les media. Il faut donc dans Oxygen glisser/déposer ou utiliser l'outil ajouter pour déposer dans le dossier media du livre tout ce qui manque en respectant l'arborescence du dossier media original.

XSL est le format des feuilles de style pour transformer les documents XML. On utilise donc une transformation xsl pour mettre en forme les éléments non traités par la transformation. On va utiliser pour faire ce travail le fichier "epubCleaner.xsl" que nous avons installé dans le chapitre précédent.

Attention ce fichier est susceptible d'être modifié au fur et à mesure de l'enrichisssement des livrets que nous produisons il faut vérifier que c'est toujours le dernier produit qui est utilisé. Il est déposé sur le site des sources.

Télechargez le fichier epub3Cleaner.xsl le plus récent et placez - le dans le répertoire qui contient le fichier DocBook qui a subi la transformation epub dans oXygen.

Il faut que ce fichier soit impérativement dans ce même répertoire pour que son exécution produise l'effet attendu sur les fichiers contenus dans le .epub.

Si le fichier est plus récent que celui que vous avez intallé lors d'un autre traitement, faites une nouvelle transformation "epu3Cleaner" l'illustration ci-dessous vous rappelle les réglages XSL URL.

Vous pouvez choisir "global" lors de la création de la transformation "epub3Cleaner" pour la conserver dans oXygen.

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International.

Figure 3.7. La fenêtre de création de la transformation xsl


N'oubliez pas le réglage des paramètres l'illustration suivante vous rappelle leurs valeurs.

Dans certains livrets .epub nous intégrons du son et des vidéos. Il est possible de disposer dans la table des matières d'un accès direct aux figures contenant ce types de fichier.

Les paramètres permettent cela. Cliquez sur le bouton "paramètres" pour faire aparaître les choix possibles.

Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les mêmes conditions 4.0 International.

Figure 3.8. Le popup de sélection des paramètres


Cochez les paramètres dont vous voulez qu'ils s'appliquent lors de la transformation.

Dans les champs valeur il faut, lorsque vous voulez utiliser les options audio et video sélectioner le champ l'éditer et lui ajouter un 1 (laisser le champ vide pour ne pas effectuer le rajout de table des matières dédiées).

Pour le paramètre db-file il faut inscrire le nom du fichier qui a subi la transformation (nomdubook.xml) et qui est dans le même répertoire que la xsl.

L'illustration Figure 3.8, « Le popup de sélection des paramètres »ci-dessus montre le résultat de ces trois actions.

Pour tous les fichiers xhtml du epub ansi que pour le fichier opf lancer la transformation en cliquant sur le bouton . La transformation s'effectue au sein d'oXygen et le résultat apparait dans la fenêtre inférieure d'oXygen.

Cliquer dans cette fenêtre sélectionner la totalité de son contenu en appuyant simultanément sur les touches <Ctl><A> puis copier le contenu en appuyant simultanément sur les touches <Ctl><C>, cliquer dans la fenêtre contenant le fichier xhtml, sélectionner la totalité de son contenu en appuyant simultanément sur les touches <Ctl><A> et enfin coller le contenu en appuyant simultanément sur les touches <Ctl><V>.

Sur MacOS remplacer les <ctrl> par <cmd>

Sauvegarder les fichiers ce qui modifie automatiquement leur version dans le fichier epub.

Conclusion :

A partir du format pivot en DocBook il a été possible de le produire sous 3 formes susceptibles de s'adapter à différents contextes ou à différentes siituations pédagogiques de formation ou d'autoformation. Bonne appropriation de cette methode de production d'un livre sous plusieurs formes. Nous restons à votre disposition pour vous aider si besoin, nos adresses mails sont dans la préface de ce chapitre.