Le format OpenDocument, la révolution des formats pour la bureautique

Avez vous déjà essayé d'ouvrir un fichier ".doc" sans Word ? N'essayez même pas c'est du binaire, vous n'y trouverez aucune information intéressante. Jusqu'à maintenant tous les fichiers bureautique de la suite ultra dominante sur le marché, Microsoft Office, étaient compilés. Alors forcément au niveau de l'interopérabilité cela pose quelques problèmes. Comment faire pour générer des fichiers bureautiques facilement ? Quelques pistes existent mais rien qui soit la panacée.

Mais peut être avez vous suivi les derniers évènements ? Vous avez surement entendu parler de la suite libre OpenOffice.org. Celle-ci base ses fichiers sur un format XML : le format OpenDocument qui, soutenu par de nombreux acteurs majeurs de l'industrie informatique, cherche à devenir le standard des documents bureautiques. Microsoft aussi travaille pour disposer d'un format natif XML : OpenXML. Chacun avance ses pions mais quels avantages pour nous utilisateurs et développeurs et finalement quels intérêts à ces changements ?

XML pour quoi faire ?

XML tout le monde en parle mais peu de monde sait vraiment de quoi il en retourne. C'est vrai que ce n'est pas une révolution : on pouvait déjà échanger des informations entre logiciels (via des fichiers textes, via des bases de données, ...). Donc pourquoi ?
Pour faciliter la compréhension et le transfert d'informations structurées. C'est sur qu'une balise <auteur > est plus parlante que « du caractère 56 au caractère 150 de chaque ligne tu trouveras le nom de l'auteur »).

Avantages et désavantages d'un format bureautique XML

Pour l'utilisateur classique

  • Robustesse

Qui n'a pas fait l'expérience d'un fichier doc corrompu ? Malheureusement il n'y a presque rien à faire pour récupérer les données. Par contre avec un format XML vous pouvez l'ouvrir et récupérer, au pire, une partie des données.

  • Archivage

Certains utilisateurs ont besoin de stocker des données sur du long terme. Avec des formats binaires ces documents ne pourraient être lu que par certaines applications et ce durant un temps qui peut être fini. Avec XML vous pourrez de toute façon lire le document, et au pire créer un parseur qui l'interprètera.

  • Taille des documents

Pour le même document une version compilée sera généralement bien plus lourde que son équivalent XML.

  • Lenteur

La ou le bas blesse c'est en terme de performance. Les fichiers XML sont souvent plus long à ouvrir.

Pour le développeurs

  • Standard ouvert

En utilisant un standard ouvert vous pouvez consulter les spécifications et savoir comment sont architecturés les formats.

  • Facilité d'import / export vers d'autres formats

A partir d'un fichier XML vous êtes libre d'automatiser la lecture des données et de retranscrire les informations dans d'autres formats.

  • API existantes

Il existe déjà de nombreuses API pour créer, lire, modifier des documents OpenOffice et OpenXML.

Exemple d'utilisation du format OpenDocument

Livre Best Practices PHP 5 Le livre "Best practices PHP 5" chez Eyrolles a été réalisé à partir d'un modèle de document OpenOffice. La souplesse et la simplicité d'utilisation de ce format a permit à Guillaume Ponçon (formateur PHP pour ANASKA) de développer petite application effectuant de multiples vérifications automatiques sur le contenu et de convertir l'ouvrage en HTML et en PDF, opération très utile pour avoir un aperçu de l'aspect final du livre et disposer d'une version interactive pour les contributeurs.

La guerre des formats

A ce jour il y a deux normes bureautiques XML en lice : l'OpenDocument et OpenXML.

Quel intérêt ont des sociétés comme SUN, Google, etc, à promouvoir un format ouvert et différent de celui de Microsoft ? Le marché de la suite bureautique est un marché fermé, il est phagocité à 99% par la société Microsoft au travers des moutures de sa suite Office. C'est un marché énorme, colossal. Actuellement il n'est pas envisageable de lancer une suite bureautique commerciale concurrente, quelques uns s'y sont tentés mais sans succès. L'arrivée d'un format ouvert supporté par une communauté pourrait permettre de remettre en question ce monopole.
De son coté Microsoft n'a aucun intérêt à ce que d'autres suites logicielles voient le jour. Et donc il a tout intérêt à mettre en avant son propre format XML pour garder constamment une longueur d'avance.

Revue des deux formats

Le format OpenDocument

Soutenu par l'OASIS (consortium mondial qui travaille pour la normalisation et la standardisation de formats de fichiers ouverts basés notamment sur XML) le format OpenDocument a été reconnu comme la norme ISO 26300.
De nombreux acteurs majeurs de l'industrie informatique soutiennent ce format : SUN, Google, IBM, OpenOffice.org, Oracle, RedHat, ...
L'une des forces est d'être indépendant d'un éditeur en particulier. En Europe de nombreux gouvernements migrent ou projettent de migrer vers ce format (et OpenOffice).

En France, le Référentiel Général d'Interopérabilité (RGI) désigne aux administration quelles sont les technologies à utiliser. Concernant la bureautique il est indiqué :

  • Il est RECOMMANDÉ d'utiliser le format OpenDocument pour les échanges de documents bureautiques semi-structurés (traitement de texte, tableur, présentation).
  • Il est OBLIGATOIRE d'accepter tout document au format OpenDocument pour les échanges de documents bureautiques semi-structurés (traitement de texte, tableur, présentation).
  • Il est INTERDIT de faire une migration depuis le format bureautique couramment utilisé par une organisation vers un format autre que le format ouvert OpenDocument.


Plus d'informations :


Le format OpenXML

Open XML est le format de fichier par défaut de la future suite bureautique Microsoft Office 2007. Microsoft va offrir (Royalty-free) avec cette suite le format XML standard qui permettra le développement d’outils spécifiques pour les développeurs.
OpenXML n'est pas encore, à ce jour, validé par l'ISO (International Organization for Standardization). Ce sera l'occasion pour OpenXML de rattraper son retard sur OpenDocument.
Pour inciter les développeurs à travailler avec ses formats de fichiers, Microsoft a annoncé qu'il modifierait la licence, s'engageant ainsi à ne pas attaquer les développeurs.


Plus d'informations :


Faire le pont entre les deux formats

A terme il y a fort à parier que de nombreux outils existeront pour faire la translation entre les deux formats phares. Déjà les éditeurs avancent leurs solutions. Microsoft fait développer un plug-in par une société tierce pour rendre possible la lecture des fichiers OpenDocument dans la suite Office : OpenXML Translator. Bien que non opérationnel pour des besoins professionnels c'est une bonne première étape.

Coté OpenOffice par contre la compatibilité est déjà très élevée.

Structure d'un fichier bureautique XML

Passons aux choses sérieuses, analysons un fichier bureautique XML. Au niveau de la structure les fichiers OpenXML et OpenDocument sont batis sur le même modèle. Nous allons nous attacher à analyser le format d'un fichier Writer d'OpenOffice (extension odt).

Un fichier odt est en fait un fichier compressé comprenant plusieurs fichiers et répertoire.

contenu fichier OpenDocument
Figure 1

Pour les visualiser il suffit de décompresser votre fichier (si vous n'avez pas de logiciel utilisez le logiciel libre 7zip). Une fois décompressé votre fichier contient plusieurs fichiers et répertoires comme indiqué sur la figure 1.

Les informations les plus importantes sont contenus dans les fichiers présents à la racine (voir figure 2) :

  1. Le fichier « content.xml » qui représente le contenu textuel.

  2. Le fichier « styles.xml » qui contient les styles de votre document.

  3. Le fichier « meta.xml » qui contient les informations sur le créateur, la date de création, le nombre de caractères,…

  4. Le fichier « settings.xml » qui contient les paramètres de votre fichier.

Dans le répertoire « Pictures » on retrouve les images de votre document.

contenu fichier OpenDocument
Figure 2

On pourrait fouiller plus mais on rentrerait vite dans des problématiques bien plus ardues et ce n'est pas l'objet de cet article. Si vous souhaitez en savoir plus sur ces formats il vous suffit de lire les milliers de pages des spécifications.

Conclusion

Quel format va prendre le dessus ? Bien malin qui pourrait le dire. Actuellement le format OpenDocument a prit de l'avance en terme de certification et de production mais la machine Ms Office avec un taux d'installation ultra dominant sur les postes bureautiques dispose d'un avantage incontournable. L'avenir est à l'interopérabilité entre les deux formats, entre les différentes suites bureautiques. Ca tombe bien l'interopérabilité, c'est le mot d'ordre de XML.

L'auteur

Cyril PIERRE de GEYER Cyril PIERRE de GEYER est Responsable technique d'ANASKA Formation. ANASKA est une SS2L spécialisé dans l'Open Source avec deux pôles : Services autour d'OpenOffice, de PHP, de Java et de MySQL. Formations sur toutes les technologies libres.