Epistema, E-learning, Gestion de contenu web, E-publishing

XML et la publication de documents avec Adobe InDesign ou Quark XPress

17 août 2004 par Bertrand

Les deux acteurs majeurs de la publication assistée par ordinateur, Quark XPress et Adobe InDesign, ont tous deux intégré XML dans leurs outils. XML est un format de fichier texte dont le but est d’être lisible par n’importe quel programme. Il permet deux choses : la réutilisation des données existantes d’une part, l’évolutivité des structures de données de l’autre. Dans Adobe InDesign et Quark XPress, XML a été intégré pour répondre à deux problèmes :

  • A partir d’un document existant, vouloir récupérer les données pour les réutiliser sous un autre format (par exemple une version web du document). On procède alors à un export XML du document. Cette méthode est peu fiable, car la détection de la structure des données se fait sur le style de formatage appliqué à chaque endroit du document. Si le document n’a pas été construit avec la plus grande rigueur, le fichier XML obtenu demandera beaucoup de travail de correction.
  • La deuxième situation, plus intéressante, consiste à avoir les données dans un programme externe, par exemple une base de données, et de vouloir générer le document XPress ou InDesign de façon automatique à partir de ces données. Cette situation s’accompagne souvent d’un export simultané des données vers d’autres formats, comme le web. On fait alors un export XML à partir du programme externe, et une génération du document XPress ou InDesign à partir du fichier XML obtenu.

Nous nous intéressons ici surtout à la deuxième situation, c’est à dire celle où l’on possède les données dans un programme externe, et où l’on veut générer le document à partir de ces données. Une telle situation se présente lors de la publication d’un catalogue, d’un annuaire, ou de tout autre document dit “structuré”. Avant l’arrivée d’XML, la création d’un tel document dans XPress ou InDesign était avant tout une tache manuelle ou demandant des compétences rares et coûteuses. Les données étaient exportées dans un format quelconque, en général dans un fichier Word ou Excel, puis insérées dans le document pour enfin être retravaillées manuellement. Ce processus pose de nombreux inconvénients :

  • nombreuses taches manuelles répétitives et coûteuses
  • nécessité de recommencer l’intégralité de ce travail à chaque publication, ou bien de travailler à partir de la publication existante, ce qui implique alors des problèmes de synchronisation des données.

Il n’était pas rare à l’inverse de devoir resaisir l’intégralité d’un annuaire pour pouvoir le publier sur le web…

La réalité des faits

En pratique, l’intégration d’XML dans Quark XPress et dans Adobe InDesign est incomplète. On a vu que la conversion d’un document XPress ou InDesign vers un fichier XML donne un résultat très variable, et nécessite un travail manuel de correction sur le document XML obtenu. L’import d’un fichier XML vers Quark XPress ou Adobe InDesign parait plus intéressante. Elle n’est cependant pas magique : si les données sont complexes, et que le document à générer l’est aussi, l’automatisation ne peut être simple. Il existe plusieurs techniques pour transformer des données XML dans un autre format, l’une d’entre elles s’appelle XSLT. Elle est basée sur un language complexe, et si elle permet d’obtenir le résultat voulu, elle nécessite de nombreuses heures de techniciens très pointus avant de pouvoir produire le document final. Ce travail est à refaire si l’aspect du document à générer doit changer. Une autre technique consiste à utiliser les fonctions d’import XML maintenant intégrées aux dernières versions de Quark XPress et d’Adobe InDesign. Malheureusement, ces fonctions sont l’une comme l’autre très limitées, voulant rester simples d’accès. Dès que le document devient un peu complexe, avec des parties conditionnelles, des formats spécifiques, des traitements d’images, des index et références, il devient vite évident qu’il n’est pas possible de les utiliser.

Une méthode alternative

Le but de l’utilisation d’XML dans la publication est de pouvoir automatiser au maximum la génération d’un document à partir de données présentes dans un système existant. On veut ainsi éviter les problèmes de synchronisation des données, et donc se garder la liberté de re-générer le document aussi souvent que voulu. Une méthode alternative à l’utilisation directe d’XML dans Quark XPress ou Adobe InDesign, consiste à utiliser le pilotage d’application (disponible uniquement avec Adobe InDesign). Celui-ci revient à faire les taches de mise en forme du document via un programme externe. Cette méthode ouvre de nombreuses voies, parmi lesquelles on peut imaginer générer un document InDesign à partir de données contenues dans un fichier XML ou directement dans une base de données, ceci via un document patron ou un langage spécifique au besoin. Il n’y a pas de limite à la complexité du document final, dans la mesure où l’intégralité des fonctionnalités d’Adobe InDesign sont disponibles de l’application pilote.

Conclusion

En fonction du document à générer et du besoin (génération ponctuelle ou nécessité de re-générer chaque année avec de nouvelles données par exemple), il peut être judicieux de choisir l’une ou l’autre des différentes méthodes :

  • Génération manuelle à partir d’un document Word ou Excel, peu de travail à faire avant la génération, beaucoup après. Aucune réutilisation possible du travail fait sur le document, il doit être refait chaque année.
  • Génération à partir des outils intégrés dans Quark XPress ou Adobe InDesign : travail modéré pour générer le document, résultat très limité dans sa forme, qui nécessite un certain travail de finition, d’import des images, etc.
  • Génération à partir de fichier XSLT : beaucoup de travail pour obtenir le document final, un peu de travail de finition (correction des sauts de lignes incorrects, etc.)
  • Génération via un programme externe : travail de développement de l’application pilote, grande liberté de composition du document maître, ne nécessitant pas de connaissance technique particulière. Génération du document final nécessitant peu de travail de finition.

Laisser un commentaire

Vous devez être connecté pour laisser un commentaire.