mercredi, 11 mai 2016 11:43
Évaluer cet élément
(0 Votes)

XML et le livre (1) - Pourquoi utiliser XML ?

XML est un langage informatique destiné à décrire de façon simple, universelle et pérenne, toutes sortes de contenus. Appliqué à l’édition, il permet la mise en place de processus de production multisupports. Pourquoi utiliser XML dans une chaîne de production éditoriale ? Suivez le guide…

XML, c’est quoi ?

XML repose sur un principe très simple : pour décrire une information, on l’encadre avec des balises. Une balise est un mot placé entre des chevrons. Pour signifier que la balise se referme, on fait précéder le mot du caractère « / ».

On peut voir XML comme un système d’étiquettes collées sur des segments d’un document. Chaque étiquette indique la nature d’un des éléments qui composent le document.

Ainsi, pour décrire un contact dans mon carnet d’adresse, je pourrais écrire :

<contact xml:id="n1">
<prenom>Jean</prenom>
<nom>Dupont</nom>
<adresse>rue de la soif</adresse>
<codePostal>21570</codePostal>
<ville>Beuzons</ville>
</contact>

Si ce type de description peut paraître inutilement compliqué à un humain, il est en revanche tout à fait adapté à la logique des ordinateurs. Ces derniers pourront, par exemple, trier les contacts par nom ou par code postal, les afficher en lignes ou en colonnes puisqu’il leur est désormais possible d’identifier chaque type de données à l’intérieur d’une fiche contact.

La puissance d’XML repose sur sa grande souplesse :

  • on peut utiliser n’importe quel mot pour nommer une information ; le langage est dit « eXtensible » (c’est le X de XML).
  • on peut imbriquer des balises les unes dans les autres pour construire des structures hiérarchiques,
  • on peut apporter des précisions à une balise (par exemple, attribuer un numéro identifiant à chaque balise « contact ») en lui ajoutant des attributs.

Quel rapport avec les livres ?

Si XML peut décrire tout type de contenu hiérarchisé, il peut donc décrire un livre…

Avec les quelques notions qui précèdent, nous voici presque armés pour nous lancer, même si l’opération est ici un peu plus risquée qu’avec une simple entrée de carnet d’adresse.

Nous pouvons déjà deviner que nous aurons besoin de balises pour décrire la structure de l’ouvrage. Nous pourrons les nommer <partie>, <chapitre>, <section>, <paragraphe>… Ou bien utiliser tout autre nom que nous jugerons plus adéquat.

Nous aurons également besoin de balises pour identifier les titres, les images, les légendes, les notes, les listes, les liens, etc.

Et puis encore de balises pour indiquer certaines caractéristiques locales du texte comme les italiques, les gras ou les petites capitales…

Selon la complexité d’un livre, le nombre de balises nécessaires à sa description pourra varier d’une dizaine à plus d’une centaine. Des livres de poésie, de théâtre, d’informatique, de cuisine exigeront l’utilisation de balises particulières, de façon à identifier en tant que tels des éléments spécifiques comme des strophes, des didascalies, des lignes de code ou des ingrédients…

Comment les machines
font-elles pour se comprendre ?

Lorsque des programmes doivent traiter un fichier XML, il est nécessaire de leur fournir un « mode d’emploi » du fichier. Ce mode d’emploi contient, entre autres, la liste des balises utilisées ainsi que leur syntaxe (quelle balise peut contenir quelle autre…)

Ces informations constituent ce qu’on appelle une DTD. Concrètement, une DTD est un fichier de texte, lié au fichier XML, qui contient à la fois son vocabulaire et sa grammaire. La DTD peut prendre des formes différentes mais sa fonction reste la même : vérifier que le fichier est conforme à la structure prévue et garantir ainsi qu’aucune information n’est perdue lors d’un échange ou d’un traitement.

Il existe des DTD standard, comme TEI ou DocBook. Elles sont utilisées par de larges communautés d’utilisateurs qui partagent leur expérience et leurs outils. Elles ont été conçues pour répondre à des usages variés et comportent généralement un grand nombre de balises. Il existe également des DTD propriétaires, le plus souvent développées par des prestataires qui souhaitent s’en assurer un usage exclusif, ce qui limite l’intérêt d’une méthode conçue au départ pour favoriser les échanges. Enfin, dans certains cas bien précis, il sera préférable de composer une DTD sur mesure pour une collection afin de pouvoir décrire et manipuler les informations exactement selon ses désirs et sa fantaisie…

Trois informations à retenir

  • Un fichier XML est un simple fichier de texte. Il est par conséquent indépendant de tout système informatique, de tout logiciel. Les principes d’XML ont été définis en 1998 et ils n’ont jamais évolué depuis. Cette stabilité et cette simplicité ont notamment permis le développement, ces dernières années, de systèmes d’échange d’informations « à la volée » entre des sites Internet. XML a été conçu pour inscrire l’information dématérialisée dans le long terme, indépendamment des évolutions technologiques.
  • XML seul ne fait rien. Il se contente de décrire. Mais d’autres langages plus sophistiqués permettent de manipuler les informations qu’il contient, de les extraire, de les trier et de les recomposer dans n’importe quel autre langage informatique utilisant des balises, comme HTML, le langage des pages web et des ebooks, entre autres…
  • XML se contente de fournir une description sémantique du contenu. Il ne livre aucun détail sur les aspects graphiques de la présentation finale. Cette séparation de la forme et du fond est essentielle. C’est grâce à elle qu’un même contenu pourra être exploité dans différents formats, pour différents supports, avec une présentation adaptée à chaque cas, sans qu’il soit nécessaire de tout recomposer à chaque fois…

Choisir le bon niveau de granularité

Notons que plus la description du contenu sera fine et précise (on parle aussi de « granularité » du vocabulaire XML), plus les possibilités de traitements seront riches…

Prenons un problème courant pour illustrer ce point : par défaut, les applications de lecture appliquent une justification à tous les paragraphes et coupent les mots trop longs en fin de ligne avec un tiret de césure, sans distinction entre les noms propres et les noms communs. Imaginons que nous ayons identifié les noms propres avec une balise spécifique, nous pourrions alors forcer l’application de lecture à ne pas couper les noms propres. Imaginons maintenant que nous ayons été un peu plus précis, en identifiant le prénom et le nom à l’intérieur de chaque nom de personne : nous pourrions alors générer automatiquement un index des personnes citées, classé par ordre alphabétique de noms, avec des liens pointant vers les diverses occurrences du nom dans le texte…

Avec l’apparition du format epub3, qui enrichit considérablement les fonctionnalités des livres numériques, ces questions de granularité sémantique prennent toute leur importance. Le format epub3, en effet, permet d’afficher des compléments d’informations dans des fenêtres pop-up, des formules mathématiques, de gérer des glossaires et bien d’autres choses. Mais pour être pleinement exploitables, toutes ces fonctionnalités nécessitent au préalable une description fine des éléments qui composent l’ouvrage.

On voit qu’XML permet de conserver une archive numérique pérenne d’un livre avec la description complète de son contenu, et l’on devine qu’avec un programme adapté, il devient possible de transformer facilement ce fichier source dans n’importe quel autre format numérique connu ou à venir, mais aussi d’exploiter les informations qu’il contient pour générer des listes automatiques (table des matières ou des illustrations, index, glossaire, etc.), des liens, des menus, bref pour en faire un véritable objet digital…

Une production multisupports…

Tout cela est parfait pour affronter le numérique et ses inévitables évolutions. Mais pour le papier ?

Un fichier XML peut être importé directement dans un logiciel de mise en page comme InDesign. En liant les balises à des styles de mise en forme définis à l’avance, on pourra automatiser la mise en forme de la maquette. Une réédition dans une nouvelle présentation ou un nouveau format, par exemple, devient (presque) un jeu d’enfant…

Restent deux questions que nous aborderons dans les prochains tutoriels :

  • comment produire un fichier XML sans écrire toutes les balises avec ses petites mains ?…
  • à quelle étape de la chaîne de production éditoriale la question du XML doit-elle être intégrée ?

À suivre, donc…

Plus dans cette catégorie : Comment contrôler un fichier epub ? »