OpenDocument et l'interopérabilité des formats

jeudi 13 avril 2006

À l'occasion du test de la dernière version de KOffice, la discussion s'oriente vers l'un des problèmes majeurs de l'informtique moderne : l'interopérabilité des formats de fichier et la pérennité des données.

La version 1.5 stable de KOffice, la suite intégrée de KDE, viens de sortir il y a peu. Cette nouvelle version apporte une avancée majeure par rapport aux versions précédentes: le support du format OASIS OpenDocument. Avide de nouveautés et frénétiquement poussé vers une mise à jour constante de mes logiciels, je n’ai pas résisté à l’envie de compiler cette dernière version de KOffice. Mon but premier était de tester le support d’OpenDoc par KWord, et de voir dans quelle mesure les documents OpenOffice au même format pouvaient être lus par l’un ou l’autre de ces deux logiciels. C’est la première partie de cet article, et ce sera rapide: la compatibilité est très bonne, sauf les réserves habituelles. La seconde partie de l’article part de ces réserves pour déboucher sur une constatation générale de la situation actuelle des formats de documents, du grave problème qui se pose pour le futur, et de ce qu’il faudra faire pour le résoudre.

KOffice et OpenOffice: vraiment le même format ?

Le format OpenDocument est «open». C’est un format ouvert. Cela signifie que ses spécifications sont publiques, et que n’importe qui peut se lancer dans l’élaboration d’un logiciel qui peut lire ce format et écrire des fichiers dans ce format. OpenOffice et KWord supportent l’OpenDoc, la conséquence immédiate est qu’un document doit s’afficher exactement de la même manière dans les deux logiciels. Pourtant, ce n’est pas toujours le cas.

J’ai testé la compatibilité des deux logiciels au format OpenDoc en créant un fichier dans OpenOffice, au format ODT, et en l’ouvrant dans KWord pour comparer les deux interprétations. Puis j’ai réalisé l’opération inverse: enregistrer le document dans KWord pour l’ouvrir dans OpenOffice. Le résultant est mitigé, et je ne parle pas du crash de KWord (pourtant censé être stable) à la première fusions de deux cellules d’un tableau. Mon fichier était ainsi élaboré. D’une part, une série de phrases, chacune sur une ligne différente et avec une propriété particulière: texte normal, gras, italique, souligné, rouge, blanc sur fond bleu, centré, à droite. D’autre part, un tableau avec les particularités suivantes: 2 fusions (2 et 3 cellules respectivement), 1 scission (2x3 cellules), 1 cellule à bordure épaisse, 1 cellule à bordure dédoublée, 1 cellule à bordure partielle, 1 cellule à fond bleu, 1 cellule à fond rouge contenant des caractère spéciaux (grecs: π,φ…), 2 cellules contenant des images. Pour finir, quelques petites réjouissances: un en-tête, un lien hypertexte, et un petit dessin (un bulle de BD, ajoutée par OpenOffice).

J’ai enregistré ce fichier un peu vicieux avec OpenOffice, au format ODT. Je l’ai ensuite ouvert avec KOffice, j’ai jeté un rapide coup d’oeil aux modifications d’apparence entre les deux logiciels, puis je l’ai enregistré sous un autre nom (pour préserver l’original). J’ai ensuite ouvert les deux fichiers, l’original d’OpenOffice et le version réenregistrée par KWord, dans OpenOffice. Toutes les méchancetés décrites ci-dessus ont été conservées, sauf une: le dessin. D’ailleurs, en l’insérant dans le document, je savais, au fond, qu’il partirait.

De là, deux constatations. Premièrement, la compatibilité n’est pas parfaite. En effet, le dessin d’OpenOffice ne s’affiche pas dans KWord. Je ne sais pas ce que cela signifie, mais en tout état de cause, il y a deux possibilités: soit il s’agit d’une fonction du format OpenDoc non implémentée dans KWord, soit il s’agit d’une fonction propre à OpenOffice. Dans le premier cas, on pourrait blâmer les développeurs de KWord, mais ça s’arrêterait là. Dans le second cas, ce serait beaucoup plus grave, car OpenOffice commencerait déjà à «pourir» le format OpenDoc en lui rajoutant des fonctions propres. OpenDoc est fait justement pour être un standard que peuvent interpréter de la même manière tous les logiciels qui le gèrent. Alors ce n’est pas pour y rajouter des fonctions propres et/ou natives ! C’est certainement le problème le plus grave à long terme, et il fera l’objet de la seconde partie de cet article. Deuxièmement, KWord est un vrai vandale qui ne veut rien savoir de ce qu’il ne comprend pas. Voilà, il a effacé le dessin en forme de bulle de BD qu’il ne savait pas interpréter. Le document se trouve amputé d’une partie de son contenu. Que KWord ne sache pas lire une certaine information (ou du moins qu’il ne sache pas l’afficher), c’est une chose, mais qu’il se permette alors de supprimer cette information, c’en est une autre ! Imaginez une chaîne par laquelle passerait un fichier important, comportant une telle illustration: le créateur a OpenOffice, le destinataire aussi, mais le fichier passe par un intermédiaire avec KWord qui l’imprime et, sans s’en rendre compte, enregistre les changements avant de quitter (oui, après avoir été imprimé, un document est considéré comme ayant été modifié… faudra m’expliquer !). Le destinataire du fichier ne verra pas l’illustration, et ne saura même pas qu’il y avait une illustration. Dans un tel contexte, MS Word et son format DOC ont encore de beaux jours devant eux…

Une situation peu encourageante

La situation actuelle où les formats de fichiers foisonnent est assez peu encourageante. Tous ces formats sont incompatibles entre eux, et les documents sont difficilement échangeables d’un logiciel à l’autre et d’une plateforme à l’autre.

La situation idéale est celle qui se présente quand l’auteur d’un fichier et son destinataire possèdent la même version du même logiciel, sur la même plateforme, et avec les mêmes polices. Autant dire que c’est très rare. En dehors de cela, les problèmes se multiplient. Le premier est celui des polices: j’utilise très souvent Adobe Garamond Pro et ITC Garamond dans mes fichiers Word. Et bien, j’en suis réduit à envoyer mes documents au format PDF, car personne ne possède ces polices (payantes), et les logiciels les convertissent systématiquement en un affreux «Courier New». Mais les problèmes sont bien plus graves s’il s’agit de deux logiciels différents (pour le même format). Le test commenté ci-avant, avec OpenOffice et KWord en est un exemple frappant. Et le pire de tout: lorsque sont utilisés des formats natifs de logiciels différents. Dans ce cas, il n’y a plus aucune reconnaissance par le logiciel de lecture, et tout s’affiche n’importe comment. Parfois on a même l’impression d’avoir commis le sacrilège d’ouvrir un fichier Word dans un éditeur de texte brut (NotePad sous Windows, par exemple). A défaut de connaître l’égyptien, je ne puis décrypter tous ces hiéroglyphes (sic)…

Comment en est-on arrivé là ? Les éditeurs de logiciels et les utilisateurs ont une responsabilité solidaire dans cette affaire. D’une part, les éditeurs -Microsoft en tête- essaient d’imposer leur propre format, de manière à rendre leurs logiciels incontournables. Le raisonnement est simple: je reçois 20 fichiers Word par jour, et seul Word est capable de les lire, donc j’achète Word. Seul Word est capable de les lire car Microsoft (un parmi tant d’autres) protège le format natif de ce logiciel («.doc») en ne rendant pas publiques les spécifications du format. Ainsi, pour décoder un fichier Word, les éditeurs des logiciels concurrents procèdent à tâtons, de manière empirique, en testant chaque fonction. Conséquence immédiate: les logiciels tiers ont toujours une longueur de retard sur Word, puisqu’il faut attendre que sorte la dernière version de Word pour commecer à implémenter les fonctions de reconnaissance de la dernière version du format DOC (format qui change à chaque nouvelle version du logiciel, bien entendu). D’autre part, les utilisateurs ne cherchent pas à comprendre. C’est clair et net, le format RTF est un standard et il existe depuis très longtemps. Si les possesseurs de Word et de ses concurrents avaient tous décidé d’utiliser ce format, au détriment des formats natifs, le problème s’en serait trouvé notablement amoindri. Mais les gens s’imaginent que parce qu’ils «double-cliquent» pour ouvrir un fichier sans difficulté, ça sera aussi le cas du destinataire du fichier. Et bien non.

Il existe un remède à ce grave problème: l’utilisation de formats génériques. Le format générique le plus pratique et le plus utilisé est sans doute le PDF (Portable Document Fomat d’Adobe). Il présente l’avantage de conserver les polices, et de permettre bien d’autres choses intéressantes. Néanmoins, il présente aussi des inconvénients. Il s’agit d’un format propriétaire, sur lequel Adobe possède tous les droits. Il existe ainsi un logiciel gratuit pour les lire (Acrobat Reader), et un logiciel payant (cher) pour les générer. C’est du moins la situation actuelle sous Windows. Encore une fois, la faute à Microsoft… Sur Mac, les PDF sont générés en deux temps trois mouvements, depuis la boîte de dialogue d’impression. C’est bien simple, tout ce qui peut s’imprimer sur papier, dans n’importe quel logiciel, par Fichier > Imprimer…, peut aussi être inséré dans un PDF. De même, OpenOffice (pour Windows, Mac et Linux) permet de générer des PDF à la volée, depuis une icone à côté de celle permettant d’enregistrer le fichier. Malheureusement, les gens ne connaissent pas ces possibilités.

C’est là qu’intervient l’OpenDoc. C’est un format ouvert et libre, contrairement au format PDF. Il est l’équivalent des formats DOC ou RTF: c’est un format de traitement de texte (et non pas un format orienté impression / «post-script»). Ce serait vraiment merveilleux que ce format ce généralise, et qu’il prenne la place ultra-dominante qu’occupe actuellement le format Word sur le marché. D’ailleurs, Microsoft a annoncé il y a quelques mois que la prochaine version de Word serait basée sur un format ouvert proche de l’OpenDoc. On peut cependant douter de la bonne foi de Microsoft: ce format sera certainement très loin des standards, même si ses spécifications sont publiques. On se souviendra à ce titre que Microsoft n’avait pris le parti du respect des standards Web que pour mieux les saccager en imposant l’infâme Internet Explorer. Alors, cette fois, chers amis, faites mieux !

Une mauvaise interopérabilité des formats engendre un risque pour le futur

Le problème des formats de fichiers dans sa dernière facette revêt une dimension temporelle. Et c’est certainement là son aspect le plus grave.

Le problème est le suivant. Si vous utilisez l’informatique depuis un certain temps (je suis de ceux qui ont connu un Word 2 tenant sur une disquette…), il vous est certainement déjà arrivé de ne plus pouvoir ouvrir un fichier, parce que vous n’aviez plus le logiciel correspondant à son format. En tout cas, moi ça m’est arrivé. Et je peux en citer des exemples: ClarisWorks, Works, Word et Excel des premières versions, CorelDraw (ah…! que de bons souvenirs), Illustrator/Freehand, etc, et au moins 300 petits logiciels share/free-wares. Je me trouve ainsi face à un fichier avec une extension des plus étranges. Après quelques recherches, je tombe finalement sur le nom du logiciel approprié pour ouvrir ce fichier. Mais j’ai perdu depuis longtemps le CD-ROM (ou la disquette !) d’installation, ou je l’ai encore et il refuse de s’installer (essayez un logiciel Windows 3.1 sous XP…). Que faire ? Acheter une nouvelle version ? Ce n’est même pas dit qu’elle puisse lire un format d’il y a 10 ans, si tant est que le logiciel et son éditeur existent encore (qui a dit Hypercard ?).

A court terme, ce n’est pas un problème. Ainsi, Word 2003 reconnaît les fichiers Word 97. Par contre à long terme c’est une autre histoire: point de salut pour ce qui est de toute version de Word antérieure à 97. Il ne s’agit que de 10 ans, ce n’est pas grand chose pourtant ! En 10 ans, on peut perdre beaucoup de contenu, et c’est vraiment dramatique. Le problème est renforcé par un autre fait: les supports. Les disquettes ont une durée de vie très courte, trop courte. Les CD-Rom ont une durée de vie d’une centaine d’année, sous réserve qu’ils ne soient pas rayés, surchauffés, etc. Mais plus la technologie évolue, et plus les supports doivent fournir d’espace. Ainsi, les nouvelles galettes sont gravées de plus en plus fin. Et plus la gravure est fine, plus le support est fragile, et moins sa durée de vie est importante. Ainsi le DVD a une durée de vie moindre que celle du CD, et pour le tout nouveau le Blu-Ray c’est encore pire ! A quand les 300 TO de données dans un carré de sucre à utiliser dans les 2 jours ? Pour que la coupe soit complète, un troisième fait qui boucle le cercle. A notre époque, les données nouvelles sont de plus en plus souvent des données électroniques, et de moins en moins des données sur papier. J’avoue y participer moi même: à la reception par e-mail d’une facture en PDF, je classe le fichier dans un dossier régulièrement archivé et sauvegardé, mais je ne l’imprime par forcément. Pis encore, les données anciennes qui étaient sur papier sont numérisées. A ce titre, on pourra citer Google et son ambitieux projet de numériser les ouvrages de toutes les bibliothèques des Etats-Unis… ou le même projet soutenu par la France à l’échelle européenne !

Il y a 1000 ans la technologie permettait de fabriquer des livres qui ont traversé les siècles jusqu’à nos jours pour devenir des incunables. Aujourd’hui, la technologie ne nous assure même pas que nos écrits nous survivront…

Il n’y a pas de réelle solution à ce problème à l’heure qu’il est. Le problème majeur est celui de l’altération dans le temps des nouveaux supports numériques, et de l’absence de support inaltérable. Néanmoins, pour ce qui nous occupe, les formats de fichiers, deux solutions peuvent être envisagées pour atténuer les effets du problème. Il serait en effet possible de convertir périodiquement les anciens documents dans un format plus récent. Mais très rapidement, cette tâche deviendrait titanesque. Elle n’est pas viable pour les supports (un CD ayant une durée de vie de 100 ans, en théorie, il suffirait de graver le contenu sur un CD neuf au bout de 99 ans…), elle ne l’est pas non plus pour les formats de fichiers. Reste alors une dernière option: élaborer des formats génériques dotés d’une technologie à l’évolution «pacifique»: chaque nouvelle version est de fait compatible avec toutes les versions antérieures. L’OpenDoc est trop récent pour voir s’il prend le chemin. Par contre, c’est pour l’instant le cas du PDF, et l’on ne peut que s’en féliciter.