Perl et OpenDocument

OpenOffice::OODoc

"OpenOffice::OODoc" est la dénomination courte du module "Open OpenDocument Connector", une interface de programmation destinée au traitement de fichiers au format OpenDocument.

En diffusion libre sous LGPL depuis 2004, cet outil de développement logiciel a été récompensé par un trophée d'argent dans le cadre du programme OpenOffice.org Community Innovation Awards 2008.

Fonctions générales

OpenOffice::OODoc est une interface extensible, à usages multiples, permettant le développement rapide de programmes d'exploitation automatique de documents bureautiques en format ouvert, qu'il s'agisse de textes, de feuilles de calcul ou de supports de présentation.

Il est basé sur le format format OpenDocument (ODF) de l'OASIS, appelé à devenir un standard commun à plusieurs logiciels bureautiques, dont OpenOffice.org, Koffice, Lotus Symphony et d'autres encore. Ce format, dont la promotion est soutenue par les membres de l'ODF Alliance, et qui est également standard ISO (ISO/IEC 26300), est peut-être l'un des enjeux informatiques les plus significatifs de la décennie.

Le module OpenDocument Connector comporte de nombreuses fonctions prédéfinies permettant de rechercher des données dans les documents selon différents critères, pour les extraire ou les modifier. Cet outil permet d'agir sur le contenu et sur la présentation.

Il permet aussi de créer de nouveaux documents, soit à partir de textes issus de diverses sources, soit par assemblage de documents ou de portions de documents existants.

Il accepte aussi les documents à l'ancien format d'OpenOffice.org.

Basé sur Perl 5.8, et hébergé par le CPAN, il fonctionne dans une assez large variété d'environnements techniques, notamment Linux, Windows, Solaris, HP-UX, Cygwin, Darwin, FreeBSD et s'adapte à un très grand nombre de jeux de caractères en usage sur notre planète.

Style de l'interface

L'interface de programmation est orientée objet. Les objets principaux sont:

C'est l'objet document qui fournit la grande majorité des méthodes d'accès aux éléments.

Documentation

OpenOffice::OODoc est référencé par l'OASIS OpenDocument Format Adoption Technical Committee.

J'en ai diffusé une brève présentation sur le site de la communauté OpenDocument de l'OASIS.

Pour plus d'information sur son périmètre fonctionnel et ses caractéristiques techniques, j'ai publié deux articles de présentation générale (en Anglais):

Un article introductif plus détaillé (et en Français) est également disponible:

J'ai rédigé un Guide de prise main plus pédagogique que le manuel de référence et en Français. Il est disponible au choix en PDF ou en ODT.

Le manuel de référence lui-même est bien entendu intégré dans la distribution.

Distribution

Le logiciel est téléchargeable avec son script d'installation (format CPAN) via la page d'accueil du projet.
Cette distribution de référence fonctionne dans tous les environnements.

On le trouve également dans des formats spécifiquement adaptés à des environnements d'installation particuliers :

- PPM Activestate pour Windows, Linux, Darwin, Solaris ;
- RPM pour Mandriva Linux ;
- APT pour Debian et Ubuntu...

Cette liste n'est pas limitative.

Support

Il existe un forum de discussion et un site de rapports de bogues, en Anglais, consacrés à cet outil. Tous les retours d'expérience, cas d'utilisation, critiques et propositions constructives sont les bienvenus.

Par ailleurs, j'assure des missions d'aide au démarrage et de formation, concernant l'utilisation de cet outil et plus généralement la maîtrise du format OpenDocument et de ses applications. À ce sujet, n'hésitez pas à me contacter via ce lien.


ODF::lpOD

ODF::lpOD a été lancé en 2010. Il s'agit donc d'un outil beaucoup plus récent (et par conséquent, pour l'instant, moins connu) que OpenOffice::OODoc. La couverture fonctionnelle est comparable à celle d'OpenOffice::OODoc, et la portabilité sur de multiples plates-formes est la même. Les différences les plus significatives sont les suivantes:

Les principes de base et quelques fonctionnalités parmi les plus fondamentales sont présentés, à travers des exemples et des recettes, dans un tutoriel en Français disponible en ligne.

ODF::lpOD est donc probablement le choix le plus indiqué pour les nouveaux projets Perl/ODF destinés à un environnement d'exécution relativement récent (compte tenu du pré-requis Perl 5.10), et pour les développeurs n'ayant pas déjà capitalisé d'expérience avec OpenOffice::OODoc (qui continue par ailleurs à être suivi).

J'ai réalisé ODF::lpOD en 2009-2010 dans le cadre d'un projet soutenu par l'Agence Nationale de la Recherche et développé en partenariat avec Talend, Ars Aperta et Itaapy.


Jean-Marie Gouarné