OOXML : le format ne raconte pas toute l’histoire

Lorsqu’on parle d’interopérabilité, il est tentant de réduire le débat au seul format de fichier. Si un document est enregistré en OOXML, alors tout devrait fonctionner de manière identique. En pratique, la réalité est plus complexe.

Le premier point est que certaines parties du comportement d’OOXML reposent sur une véritable machine à états. Le rendu final ou l’interprétation d’un document ne dépendent pas uniquement de son contenu XML, mais également d’un enchaînement de traitements dont une partie n’est pas directement visible dans le fichier lui-même. Cette complexité explique pourquoi deux applications peuvent produire des résultats différents tout en lisant le même document. Une partie du comportement reste difficile à reproduire fidèlement.

Le deuxième point concerne les applications web. Un navigateur est un excellent outil pour consulter des contenus, mais il n’a jamais été conçu à l’origine pour réaliser des traitements de texte complets. Les suites bureautiques en ligne accomplissent un travail remarquable, mais elles doivent composer avec les contraintes du navigateur : gestion de la mémoire, performances, impression, interaction avec le système, fonctionnement hors ligne ou encore manipulation de documents très volumineux. Il ne s’agit pas d’une faiblesse des développeurs, mais des limites de la plateforme elle-même.

Enfin, il est important de distinguer le format OOXML de l’écosystème Microsoft Office. Les macros VBA, les API d’automatisation, les modèles objets et de nombreux mécanismes d’extension ne font pas partie du standard OOXML. Une application peut donc implémenter correctement le format tout en ne prenant pas en charge ces fonctionnalités spécifiques. Inversement, assurer une compatibilité complète avec l’environnement Microsoft Office représente un travail considérable qui dépasse largement la simple lecture et l’écriture du format.

C’est précisément pour cette raison que l’interopérabilité est un effort permanent. Elle ne consiste pas uniquement à respecter une spécification, mais aussi à comprendre des comportements historiques, des conventions implicites et des attentes des utilisateurs. Le format est une condition nécessaire, mais il ne suffit pas à garantir une compatibilité parfaite.

Notre travail consiste donc à mesurer objectivement ces écarts, à les documenter et à les réduire progressivement. L’interopérabilité n’est jamais acquise une fois pour toutes : c’est un travail de longue haleine qui demande de la rigueur, des tests et une excellente compréhension des différents écosystèmes.