Depuis quelques mois, les livres numériques en général, et ceux au format ePub en particulier m’intéressent particulièrement. Partant de zéro, j’ai suivi une formation de deux jours (donnée par Branislav Milic), assisté à des conférences sur le livre numérique (Demain le livre), acheté et lu les quelques ouvrages écrits sur le sujet (Elizabeth Castro, Rufus Deuchler) et continue à m’informer régulièrement en regardant tutoriels (###) et autres blogs spécialisés et en décortiquant et analysant le contenu de fichiers ePub. J’ai beaucoup appris (et encore beaucoup à apprendre avec l’arrivée de l’ePub 3), mais rien trouvé sur la question spécifique des tableaux. J’ai donc expérimenté et vous livre aujourd’hui quelques pistes.

Pour exporter un tableau (plus ou moins long et complexe) et ne rien perdre de ses enrichissements, le plus simple est de l’exporter vers ePub en tant qu’image. Cette solution, très facile à mettre en oeuvre à partir de InDesign CS5, présente une limite : selon les lisseuses, l’image sera pixelisée et le tableau rendu illisible.

Qu’en est-il si l’on exporte un “vrai” tableau au format ePub à partir d’InDesign ?

  • La première règle est de créer et d’appliquer des styles pour le tableau et ses différentes cellules (lignes et/ou colonnes). Si vous ne le faites pas, aucun élément constitutif du tableau (<table>, <td>, etc.) n’apparaîtra dans la feuille de styles CSS, malgré leur présence dans le fichier XHTML.
  • Mais il est totalement inutile de spécifier quoique ce soit dans les styles de tableau et de cellules. Strictement rien n’est exporté dans la feuille de styles CSS si ce n’est le nom desdits styles qui apparaissent en tant que “classe”. C’est donc à partir de ces éléments qu’il faudra travailler la mise en forme des tableaux, directement dans la feuille de styles CSS. Plutôt décourageant pour qui est allergique à la manipulation de code.
La capture ci-dessous montre un tableau formaté avec les styles appropriés dans InDesign, puis exporté directement au format ePub en ayant choisi comme option “Générer des CSS”. Il manque les bordures, couleur de fond, etc.
Ci-dessous, le même tableau, en utilisant une feuille de styles CSS déjà existante, où les attributs du tableau et des cellules ont été écrits “à la main”.

L’autre problème qui se pose est celui de la gestion du texte dans le tableau (police, corps, graisse, couleur, etc.). Deux solutions sont envisageables :
  • La plus simple, à partir d’InDesign, est de créer autant de styles de paragraphe qu’il y en a de différents dans le tableau (ex: un style pour l’en-tête, un autre pour les données, etc.), puis de choisir dans les styles de cellules le style de paragraphe approprié. En effet, ces styles se retrouvent systématiquement dans le fichier XHTML. Oui, mais, que fait-on dans la mesure où ils ne s’exportent pas dans la feuille de styles CSS ? Doit-on tout écrire à la main ? Non. L’astuce et de les attribuer, dans le document InDesign, à des marques de paragraphe vide pour les retrouver automatiquement dans la feuille de styles CSS. Cette méthode permet d’aller vite, mais le code sera surchargé. Il faut veiller aussi à bien choisir les attributs de paragraphe pour éviter des conflits avec les éléments du tableau. En choisissant cette option, limitez aux balises <table>, <td> et autres. les paramètres pour la bordure (épaisseur, largeur, type), la couleur des cellules, l’espace à l’intérieur des cellules, les espace avant et après le tableau.

  • L’autre méthode, sûrement plus rigoureuse, consiste à définir le format du texte dans les balises de tableau <table> et de cellule <td> et leurs classes associées. Le gros inconvénient est que l’on est ensuite obligé de supprimer dans le fichier XHTML tous les styles de paragraphe hérités d’InDesign et que l’on retrouve entre les balises <td> et </td>. D’une part, parce qu’ils sont désormais obsolètes, d’autre part, parce qu’ils pourraient rentrer en conflit avec des propriétés/valeurs des balises de cellule. Ce travaille de nettoyage du fichier XHTML peut être long et délicat, même si les expressions régulières trouvent ici leur utilité.
Pour ceux qui souhaitent aller plus avant, nous proposons un ePub (optimisé pour iBooks) qui présente sous forme de tableaux les principaux attributs des styles de tableau et de cellule InDesign et leur correspondant propriétés/valeurs CSS. Quelques captures d’écran au passage.