L'ODT est du texte OpenDocument, le format natif de LibreOffice Writer. Le HTML est le balisage du web, avec des titres et des tableaux natifs. pandoc se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier ODT en route vers le HTML.
Ce qui s'exécute quand un fichier ODT devient un HTML
pandoc en deux passes, sur une machine que nous louons et que nous surveillons. Votre fichier ODT est envoyé une fois, pandoc s'exécute une fois, le fichier HTML revient, et aucun des deux fichiers n'est conservé. ODT vers HTML fait partie des 3649 paires sur lesquelles ce moteur a été sondé avec un vrai fichier, et c'est pour cela que cette page existe quand celles que la sonde n'a pas su prouver n'existent pas.
Ce qui survit du fichier ODT dans le fichier HTML
La hiérarchie des titres. pandoc analyse le fichier ODT vers son propre arbre de document et écrit cet arbre en HTML, si bien qu'un titre de niveau deux reste un titre de niveau deux et non simplement du texte en gras.
Les tableaux, reconstruits en syntaxe HTML plutôt que photographiés. C'est la différence entre un tableau qu'une machine sait lire et l'image d'un tableau, et c'est toute la raison de faire passer un fichier ODT par pandoc plutôt que par une imprimante.
Les listes du fichier ODT, imbrications comprises, plus les blocs de code, les citations et les liens, tous réexprimés en HTML.
Les images : pandoc les extrait du fichier ODT vers un répertoire de travail et les réintègre dans le HTML, si bien que rien ne finit par pointer vers un fichier qui n'existe plus.
Ce que la conversion ODT vers HTML vous coûte
La mise en page. L'ODT en porte un peu et le HTML n'en porte aucune : les marges, les sauts de page, les en-têtes et les pieds de page n'ont nulle part où atterrir et ne sont tout simplement pas écrits.
D'où viennent les fichiers ODT et HTML
ODT. LibreOffice Writer l'écrit nativement. Comme l'ODS, c'est la norme ISO/IEC 26300, et on le trouve partout où un organisme public ou une politique interne a demandé un format ouvert plutôt que celui d'un éditeur.
Si un modèle doit lire le fichier HTML
La structure est ce qui subsiste du fichier ODT, et la structure est ce dont un modèle a besoin. ODT en entrée, HTML en sortie, avec l'arbre des titres intact plutôt qu'aplati en un seul long paragraphe.
ODT vers HTML, mesuré plutôt que promis
En passant ODT vers HTML sur le moteur réel avec un vrai fichier, pandoc a écrit 4 043 octets au format HTML en 0,1 secondes, machine par ailleurs au repos. C'est un fichier ODT un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict ODT vers HTML a été obtenu par un aller-retour pandoc, c'est-à-dire que la sortie a été relue par pandoc et devait encore contenir un mot témoin planté dans la source, ce qui prouve que le contenu a voyagé et pas seulement le conteneur. Le contrôle employé compte, parce qu'ils ne prouvent pas tous la même chose, et un code de statut 200 ne prouve strictement rien sur ce que le fichier HTML contient.
Le même fichier ODT, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier ODT, pour que le coût du choix du format HTML se lise face à quelque chose. Les tailles ne se comparent pas d'un moteur à l'autre, chaque famille ayant été sondée avec son propre fichier témoin ODT.
ODT vers PDF : 11 917 octets en 1,1 secondes, vérifié par une signature de format.
ODT vers MD : 277 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
ODT vers DOCX : 5 514 octets en 1,1 secondes, vérifié par une signature de format.
ODT vers EPUB : 5 063 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
ODT vers TXT : 264 octets en 0,1 secondes, vérifié par la relecture du texte.
ODT vers RTF : 4 214 octets en 1,1 secondes, vérifié par la relecture du type interne et la recherche d'un mot témoin.
Les autres routes vers HTML, et ce qu'elles ont mesuré
Parmi les routes publiées vers HTML, ODT est la quatrième plus grosse sortie des 12 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
PPT vers HTML : 27 543 octets en 1,5 secondes.
RTF vers HTML : 3 985 octets en 0,1 secondes.
TXT vers HTML : 3 896 octets en 0,1 secondes.
DOC vers HTML : 1 626 octets en 1,1 secondes.
XLSX vers HTML : 2 269 octets en 1,1 secondes.
Ce que nous ne prétendrons pas sur ODT vers HTML
Un fichier ODT de plus de 25 Mo est refusé avant la fin de l'envoi plutôt qu'après, pour que vous n'attendiez pas un refus.
Une conversion ODT vers HTML qui dépasse 60 secondes est tuée, et le processus pandoc avec elle. Une exécution abandonnée resterait posée sur l'un des deux cœurs de la machine jusqu'à ce que quelqu'un le remarque.
32 des 935 paires sondées dans la famille qui sert ODT vers HTML ont échoué, et celle-ci n'en fait pas partie. Elles échouent pour des raisons qu'il vaut mieux connaître : un rédacteur incapable de porter ce dont le document est fait, ou une sortie que le moteur n'a pas su relire. Elles sont comptées ici plutôt que cachées, parce qu'une paire qui échoue en silence est pire qu'une paire qui échoue bruyamment.
pandoc n'écrit jamais le HTML en passant par un moteur TeX ici, et il n'écrit pas de PDF du tout : les onze moteurs qu'il lui faudrait ne sont pas sur cette machine, et une distribution TeX pèse plusieurs gigaoctets. Qui veut un PDF à partir d'un fichier ODT passe par LibreOffice ou par calibre, qui en sont réellement capables.
Un fichier ODT à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
ODT vers HTML : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier ODT en HTML ?
C'est pandoc qui s'en charge, en deux passes, sur une machine que nous louons et que nous surveillons. Ni astuce de navigateur, ni service d'un tiers : le fichier ODT est envoyé une fois, pandoc s'exécute une fois, le HTML revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion ODT vers HTML ?
Sur le fichier utilisé par la sonde, pandoc a mis 0,1 seconde et écrit 4 043 octets de HTML. C'est une mesure réelle sur un fichier ODT réel, pas une moyenne et pas une promesse sur le vôtre : un ODT plus gros prend plus longtemps, et au-delà de 60 secondes l'exécution est arrêtée.
Qu'est-ce que je perds en passant de l'ODT au HTML ?
Celle qu'il faut connaître en premier : la mise en page. L'ODT en porte un peu et le HTML n'en porte aucune : les marges, les sauts de page, les en-têtes et les pieds de page n'ont nulle part où atterrir et ne sont tout simplement pas écrits.
Les tableaux de mon fichier ODT sont-ils encore des tableaux dans le HTML ?
Oui. pandoc lit les tableaux de l'ODT dans son propre arbre de document et les réécrit en syntaxe HTML, si bien que vous obtenez un tableau qu'une machine sait analyser plutôt qu'une image de tableau.
La conversion ODT vers HTML est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion ODT vers HTML coûte un demi-crédit dessus. Quand la franchise est épuisée, l'outil le dit et s'arrête, plutôt que de vous remettre discrètement un HTML moins bon.