OpenDocument - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Outils de développement

OpenDocument est conçu non seulement pour devenir un format commun pour les applications bureautiques du marché, mais aussi pour permettre la production ou l'exploitation automatique de documents dans le cadre de toutes sortes d'applications. L'objectif est de réaliser ces traitements en accédant directement aux fichiers, sans dépendre d'un logiciel bureautique quelconque, de manière à pouvoir développer des applications plus robustes, plus performantes et capables de s'exécuter dans d'autres environnements que les postes de travail des utilisateurs. Cet objectif concerne deux sortes d'applications, à savoir d'une part celles qui exploitent les données contenues dans les documents (traitement de formulaires, gestion électronique des documents), et d'autre part celles qui produisent ou modifient des documents à partir d'informations de gestion.

L'enjeu est important dans la mesure où il est de plus en plus nécessaire d'améliorer l'interopérabilité entre bureautique et système d'information.

L'outil le plus complet est UNO, mais il s'agit d'un cas très particulier. Plus qu'une simple interface de programmation, UNO est le composant central de la suite bureautique OpenOffice.org. De ce fait, il ne correspond pas tout à fait au critère d'indépendance envers un logiciel bureautique et implique des contraintes de performances non négligeables. De plus, du fait même de sa richesse, cet outil est d'un maniement complexe. Cependant, UNO permet aux programmeurs, si nécessaire, de disposer de nombreuses fonctionnalités automatisables d'OpenOffice.org et peut être utilisé dans plusieurs environnements. Il supporte nativement les langages Java, C++ et Python. Des adaptations pour d'autres langages (comme Perl, Delphi et Tcl) sont disponibles ou prévues, mais avec des possibilités plus limitées.

Pour développer des applications réellement indépendantes de tout « moteur » bureautique particulier dans de bonnes conditions de performances, on doit disposer d'outils offrant au minimum trois types de fonctionnalités :

  • compression et décompression ZIP ;
  • gestion de la correspondance entre le jeu de caractères local de l'utilisateur et le jeu de caractères UTF-8 dans lequel sont encodés les documents ;
  • analyse syntaxique, production et recherche d'éléments dans des documents XML.

Ces fonctionnalités de base sont disponibles dans la plupart des langages de programmation usuels. Elles sont cependant peu productives et ne peuvent être utilisées que par des développeurs maîtrisant la spécification OpenDocument. Des outils de développement de plus haut niveau, plus spécialement conçus pour OpenDocument, sont nécessaires pour réduire la complexité des programmes et l'effort d'apprentissage du développeur. Dans ce domaine, plusieurs initiatives ont vu le jour ; certaines ont déjà produit des solutions opérationnelles, d'autres sont émergentes. En voici quelques-unes :

  • LibOpenDocument est un projet d'interface de programmation d'usage général, initialement basé sur Python, initié par l'OpenDocument Fellowship.
  • Open Document Format Utilities est une collection de classes Java, librement téléchargeables, destinée à extraire le texte ou les métadonnées d'un document.
  • ODF Tools est principalement une collection de feuilles de styles XSL développées par l'OpenDocument Fellowship et destinées à convertir des fichiers OpenDocument dans d'autres formats et vice-versa.
  • OpenDocument Connector alias OpenOffice::OODoc est une interface de programmation d'usage général, basée sur Perl et disponible en distribution CPAN (il en existe une présentation en français[pdf]).
  • OOBuilder est lui aussi un outil en Perl, également disponible en distribution CPAN, qui permet la création simple et rapide de documents.
  • OpenDocumentPHP
  • POD(Python Open Document) définit une manière très simple d'insérer des instructions spéciales (écrites en Python) dans un fichier OpenDocument Text (ODT) afin de produire des documents dont le contenu provient dynamiquement de n'importe quel programme écrit en Python. Il s'agit un peu du principe de l'HTML dynamique appliqué au format OpenDocument, si ce n'est qu'il ne requiert aucune connaissance du format OpenDocument : l'utilisateur de POD écrit ses documents directement dans son logiciel de traitement de texte (OpenOffice, KOffice, etc.).
  • jOpenDocument la plus complète des librairies Java opensource permettant la manipulation et la génération de documents
Page générée en 0.106 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise