Choisir entre import XML et Fusion de données ?

Lors d’une présentation à l’InDesign User Group de Paris, un spectateur m’interpelle avec une question somme toute anodine : « Comment choisir entre import XML et fusion de données ? ». Grande question à laquelle je me suis efforcé de répondre dans un temps très court. Je profite de ce blog pour essayer de développer mon propos et vous apporter des éléments de réponse qui je l’espère, vous aideront dans votre choix.

La question du contexte

Tout dépend évidemment de votre projet de mise en page, de vos impératifs de mise en forme et de la nécessité de pouvoir identifier vos données. Il faut compter aussi sur la capacité de votre client à produire un fichier de données pour tel ou tel format. Un fichier XML ne se rédige pas manuellement, il est extrait d’un outil spécifique (Base de données SQL, Access, FileMaker…).

Si votre client ne dispose pas de ces outils et ne peut ou ne veut investir, votre expérience avec XML risque de s’arrêter avant même de commencer. De même que certains clients ne jurent que par des tableaux Excel si joliment mis en forme et bardés de formules, filtres et autres fioritures made in Microsoft Office et si aléatoirement extractible au format CSV.

export Fichiers Office vs Database

Oubliez l’export XML depuis Excel qui ne vous sera d’aucune utilité. Avec un peu de chance, vous récupérerez un fichier CSV exploitable. Préférez plutôt l’export au format « texte séparé par une tabulation ». Ce format est parfaitement assimilé par InDesign et vous évitera bien des errements liés à des virgules mal placées. Et si vous voulez vraiment jouer avec XML, utilisez notre script CSV2XML dans notre rubrique Téléchargements. Vous n’êtes donc pas démunis mais vous vous retrouvez au point de départ : comment choisir entre XML et Fusion de données ?

Cartes de visites, publipostage ?

Business Cards

Optez pour la fusion de données ! C’est prodigieusement simple à formater. Quelques balisages et hop! En quelques secondes, vous abattez votre campagne de publipostage sur vos 2500 entrées. Quelques minutes de contrôle et un export PDF plus tard, le tour est joué ! Cartes de visite, publipostage, courriers en-têtes se prêtent parfaitement à la fusion de données.

Tableaux, annuaires ?

Yellow Pages

La fusion de données n’est pas adaptée nativement aux tableaux et annuaires. Si vous avez besoin de générer de tels documents, n’hésitez pas à tester nos scripts dédiés comme CSV2TABLE ou InlineMerge. Si cela ne suffit toujours pas, il va falloir songer à utiliser l’injection XML.

Catalogues, fiches-produits ?

schema catalogue

Adieu la fusion de données ou alors opter pour des plug-ins dédiés capable d’en étendre les possibilités. Il est peut-être temps de se tourner vers l’XML.
La préparation d’un gabarit XML est généralement bien plus lourde qu’un modèle de document destiné à la fusion de données. Même si InDesign permet de marquer les blocs avec des balises XML à la Fusion de données, l’analogie s’arrête là. Pour obtenir de véritables flux s’écoulant sur plusieurs pages, il faut mettre en place une logique bien particulière basée sur l’usage de blocs chaînés.

In fine, il est fort probable que la structure du fichier XML diverge de vos besoins. A ce stade, il vous reste deux options :

  • Harceler le développeur en charge de l’export XML pour qu’il s’adapte à vos contraintes (bon courage 🙂 )
  • Recourir au langage XSLT pour conformer vos XML entrants à la structure de votre document XML

Oui tout cela est bien complexe, mais votre mise en page aussi alors…:D

Mise à jour

Si la mise à jour des données est un paramètre critique de votre projet, oubliez tout de suite la fusion de données. Cette technologie est à sens unique. Une fois son travail terminé, elle vous génère un fichier contenant tous vos enregistrements mais n’a pas la moindre idée de ce que contient votre fichier. Autrement dit, même si une entrée est modifiée dans le CSV, InDesign est incapable d’aller retrouver la donnée générée et de l’actualiser. Vous êtes bon pour relancer votre fusion de données.

L’import XML permet à contrario de conserver une connexion entre donnée et emplacement de la donnée. Si vous choisissez l’option « Importer comme lien », vous aurez même droit à un petit warning dans la palette des liens. Un simple clic sur « Mettre à jour le lien » va recharger l’XML en toute discrétion. En même temps, il ne faut pas fantasmer sur la mise à jour d’un fichier XML. En cas de changement dans la structure XML, InDesign va recomposer tout votre document et vous n’aurez pas assez de deux mains pour compter les dégâts. Réservez cette option pour des modifications qui affectent seulement le contenu d’une balise et non la structure.

Conclusion

La fusion de données est un outil diaboliquement efficace qui conviendra parfaitement à des structures simples. Il est possible de profiter de la simplicité d’utilisation de la fusion et de l’étendre à d’autres usages grâce à nos scripts. A contrario, si votre mise en page est complexe ou si elle contient des paramètres conditionnels de type ( si X alors Y ), optez pour une combinaison XML/XSLT ou un plugin dédié à la mise en forme de données structurées.

Quant aux limites intrinsèques de ces technologies, il est possible de s’en affranchir grâce au scripting. J’expérimente en ce moment une mise en page automatisée basée sur une combinatoire entre éléments de librairie et scripting. Les données clients me parviennent toujours sous forme d’un fichier XML. Cependant, je n’utilise pas l’injection XML d’InDesign. Je me contente de lire le fichier XML et d’injecter les données automatiquement dans les zones appropriées. Quel intérêt de « refaire » un processus d’injection alors qu’InDesign ne demande qu’à digérer votre fichier XML ? Le gain de temps en préparation de mon fichier InDesign !

Voilà, j’espère que cette discussion vous aidera à y voir plus clair dans le choix de vos outils et bon courage à tous ! Si vous décidez que vous avez besoins de conseils plus avancés pour votre projet, contactez-nous !

Loic

10 réponses à “Choisir entre import XML et Fusion de données ?

  1. plouk dit :

    bonjour et merci pour cet article très intéressant et qui répond à pas mal de questions que je me posais. concernant les plugin’s dédiés pour le XMl en connaissez-vous des simples bien et efficaces? (et gratuits bien sûr!! ;-))

    • Loïc Aigon dit :

      Bonjour, je n’en connais aucun de gratuit mais vous pouvez toujours consulter ce site qui les recense tous (ou presque) : http://indesign.pluginsworld.com/

      • plouk dit :

        bonjour et merci pour la réponse. en effet il y a des solutions intéressantes.. mais rien qui ne me convienne vraiment.. souvent trop lourd et pas assez souple. j’aimerais simplement une base de données simple dans laquelle puiser mes textes, les mettre en forme comme je veux dans mes différents formats (affiche, flyers, catalogues, etc.) et pouvoir les ré-actualiser (en cas de corrections dans les textes) depuis la base de données.. finalement le xml risque bien d’être mon ami!
        mais si quelqu’un pense à quelque chose merci de m’en faire part!

        • Loïc Aigon dit :

          Restez en contact car dans quelques semaines nous aurons des nouvelles à donner d’un outil de gestion de données très intéressant. Ce sera payant mais extrêmement simple d’usage 😉
          Loic

          • plouk dit :

            génial me réjouis de voir ça!!

          • plouk dit :

            bonjour,
            des nouvelles de votre outil de gestion de données?
            et autre question qui ne devrait pas être là mais tant pis..:
            est-ce qu’une mise à jour de votre excellent pdfstyleexporter est en développement ou bien est-ce que ce script ne va pas évoluer?
            merci d’avances pour vos réponses!

  2. Denis Mousseau dit :

    Si vous maîtrisez bien FileMaker, voici comment exporter un XML pour InDesign.

    On devait fusionner des Fiches de jouets dans InDesign avec photos et styles. Dans une page InDesign, on a créé 8 boîtes textes liées sur 2 rangées. Dans la première boîte texte, on a placé le contenu d’une fiche en appliquant des styles de paragraphe et de caractères. Tous les éléments avaient un style propre. Nous avons placé les boîtes images dans la chaîne de texte (voir plus bas : Images et XML).

    Chaque style a été associé avec une balise XML portant le même nom. On a terminé le texte par un saut de boîte. On a ensuite exporté ce texte en XML. On a ouvert ce XML avec TextEdit. Avec des Scripts, on a reproduit ce XML dans FileMaker pour chaque fiche de jouet.

    Le XML d’InDesign a quelque chose de spécial. Il a besoin de retours de chariots. Parce que ses balises sont converties en styles de paragraphe pendant l’importation. Or, un style de paragraphe est délimité par un retour. Donc, il faudra prévoir de mettre des retours dans le XML.

    Images et XML.
    Il n’y a pas de détourage d’image possible puisque les références des images sont incluses à même le flot du texte importé. Les dimensions finales des images doivent être prédéfinies parce qu’on ne pourra pas créer les boîtes image d’avance.

  3. Loic dit :

    @plouk,

    L’outil ou plutôt la solution est toujours en cours de développement mais elle rentre dans sa phase ultime. Bien entendu, je ne manquerai pas d’annoncer ici son arrivée.

    Pour le script « pdfstyleexporter », c’est un projet en sommeil et je guette la moindre opportunité pour le réveiller. Pour l’instant de nombreux bugs émaillent son fonctionnement et je souhaite pouvoir proposer une version propre et fonctionnelle. Là encore, je vous avertirai de la moindre évolution.

    Bien à vous,

    Loic

  4. David dit :

    Bonjour,

    Si nous avons du contenu évolutif, par exemple, des blocs sur certaines pages plus longs que d’autres. Pouvons-nous avec le XML faire couler le contenu en dessous ?

    Merci,

    David

    • Loïc Aigon dit :

      Bonjour,

      L’XML étant du texte avant tout pour InDesign et dans la mesure où vous travaillez avec un ou plusieurs blocs chaînés, alors toute modification du contenu entraînera après mise à jour une nouvelle composition de l’article.

Répondre à plouk Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *