Développement d’OpenOffice.org
Le site web OpenOffice.org est l'endroit de fédération pour les communautés, codes sources, programmes exécutables, forums, listes de diffusions, système de rapports de bogues, documentations internes et externes, manuels d'utilisateurs, organisation d’événements, relations publiques et, de manière plus générale, toute activité en relation avec le projet.
Les différents sous-projetsOpenOffice.org, le projet général, compte plus d’une vingtaine de sous-projets répartis en trois catégories principales. Accepted, comprenant les projets les plus techniques, Incubator, regroupant les projets expérimentaux et les essais, et Native-Lang fournissant les ressources dans une langue particulière. Un projet OpenOffice.org s’organise comme un groupe de développeurs autour d’un chef de projet. Chaque catégorie comporte de nombreux projets et sous-projets. Parmi les Accepted, on trouve des projets
liés à la programmation du cœur de l’application ; dont API (Interface de programmation), Application Framework, UNO (Universal Network Object), database, UCB (Universal Content Broker)… liés à l’environnement de programmation ; dont Build Tools and Environment, Utilities…
liés à l’interface graphique ; dont Graphic System Layer, User Interface…
liés aux modules de la suite ; dont Word Processing, Graphic Application, Spreedsheet… liés à l’internationalisation ; dont Lingucomponent (dictionnaires), Localization (traductions)… liés au guidage l’utilisateur ; dont Documentation, pour rédiger des modes d’emplois et tutoriels, Installation, Website… liés aux versions du logiciel ; dont QA (Quality Assurance), Porting (pour porter le logiciel sur des nouvelles plates-formes), External… liés à la gestion des formats XML, définition et manipulation... liés au marketing, pour pousser l’usage d’OpenOffice.org dans les entreprises, écoles, et administrations dans le monde.
D’autres projets sont en développement dans la catégorie Incubator, comme Distribution, BizDev (relation business), ou KDE.
Les projets Native-LangLes projets de langues visent à « représenter, coordonner et étendre à travers le monde les communautés linguistiques d’utilisateurs, de développeurs et de marketing ». Ces projets permettent aux communautés de dialoguer et travailler dans leur langue originale en restant hébergées par le site OpenOffice.org, et de proposer toutes sortes d’informations pour les utilisateurs des pays correspondants. Une trentaine de langues ont ainsi un espace consacré sur le site. Certaines langues ont des projets très avancés, comme le projet français, d’autres moins.
La direction d’OpenOffice.org
Le projet est administré par la fondation OpenOffice.org, dirigée par un corps élu, le Community Council. Ce conseil est responsable de la médiation des conflits, suggère des objectifs dans le projet, et, plus généralement, fournit un forum pour remédier aux points problématiques du projet. Il est composé de neuf membres élus, dont cinq chefs de projets, deux représentants des projets Native-lang, un représentant des utilisateurs, et un membre du Staff Sun. Tout le monde peut participer à OpenOffice.org, et les responsabilités vont croissant avec l’implication dans le projet. Au niveau le moins élevé, l’« utilisateur » peut faire des suggestions ou rapporter des bogues. Un «contributeur» est quelqu’un qui contribue au projet en écrivant du code ou de la documentation. Un «développeur» est un contributeur régulier qui a obtenu les droits d’écritures dans le projet après avoir été parrainé par un autre développeur. Au niveau le plus haut, un « responsable de projet », nommé par les développeurs, donne les directives pour son projet.
Plusieurs milliers de personnes de par le monde contribuent à OpenOffice.org avec divers degrés d’implication. La plupart des contributeurs sont des individus ou des sociétés intéressés au succès d’une suite bureautique libre. Le plus important soutien vient de la part de Sun Microsystems, qui confie à plusieurs dizaines de ses salariés de travailler au projet.
Fonctionnement interne
Aperçu des couches techniques
Du fait de sa nature open source, le fonctionnement interne d’OpenOffice.org est connu, et les technologies utilisées sont accessibles et documentées. La suite bureautique s’organise en plusieurs couches, employant chacune des technologies spécifiques. La couche application, la plus haute, comprend les modules visibles par l’utilisateur (Writer, Draw, etc.). La couche framework contient les parties en commun de ces modules, tels que la gestion des documents, ou les boîtes de dialogue communes, à travers les modules sfx2 et offmgr. La couche infrastructure contient divers modules comme UNO, le modèle de composants internes, ou GSL, la couche d’objets scientifiques, y compris les widgets de l’interface via VCL. Aux couches les plus basses, des modules d’abstraction du système comme SAL garantissent sa portabilité à OpenOffice.org.
Le modèle objet UNOLe moyen le plus simple de programmer le logiciel, à un niveau plus avancé que celui d’une simple Macro utilisateur, est d’utiliser UNO. Universal Network Object est le modèle de composants d’OpenOffice.org. Il offre l’interopérabilité entre différents langages de programmation, différents modèles d’objets, différentes architectures et différents processus, de manière locale, en réseau ou par Internet. Ces composants sont instanciés par un gestionnaire de service, et communiquent entre eux aux travers de ponts (bridges), en utilisant des interfaces précises définies avec le langage UNO IDL, similaires au même concept CORBA. Les ponts permettent de standardiser la communication entre des interfaces implémentées dans des langages différents. Il existe à l’heure actuelle des bindings pour C, C , Java et Python permettant de développer de nouveaux composants, ou d’accéder aux fonctionnalités de ceux existant dans ces langages.
Outils graphiques (toolkits)L’héritage de StarOffice est très visible dans les premières versions d’OpenOffice.org, notamment sur les plates-formes GNU/Linux et Solaris, où la politique de ressemblance au widget près à Microsoft Office est moins pertinente. Les versions suivantes (1.1.x) visent à apporter de plus en plus un look & feel natif à OpenOffice.org, c’est-à-dire de fournir un logiciel au graphisme et au comportement familier sur toutes les plates-formes. Sun et Novell (Ximian) fournissent des distributions d’OpenOffice.org dans leurs bureaux GNOME respectifs Java Desktop et Ximian Desktop. L’intégration graphique de OpenOffice.org dans GNOME prend la forme d’un jeu d’icônes adapté, et de couleurs fonctions du thème graphique utilisateur. L’environnement de bureau KDE intègre lui aussi OpenOffice.org via des projets comme Cuckooo (OOo dans un Kparts) ou KDE vlcplug (utiliser Qt pour dessiner les widgets).
Le port Mac OS X a pour objectif de se dispenser du serveur XWindow, (voir section « Intégration MacOSX »), tandis que le fork (logiciel dérivé) NeoOffice vise déjà ce but en parallèle.
Les vendeurs distribuant OpenOffice.org, comme les vendeurs de distributions GNU/Linux commerciales, appliquent souvent leur propre thème graphique pour intégrer OpenOffice.org à leurs produits. C’est notamment le cas de RedHat Fedora, Novell SuSE, et Mandriva Linux. L’intégration du toolkit graphique vise aussi souvent à simuler le feel, c’est-à-dire le comportement des widgets.
Intégration MacOSX
La suite OpenOffice.org 1.0 a été critiquée pour ne pas avoir l'aspect et le comportement des applications natives de la plate-forme sur laquelle elle est en fonctionnement. À partir de la version 2.0, OpenOffice.org utilise le Native Widget Framework widget toolkit, les icônes, les bibliothèques de rendu de fontes, pour une variété de plates-formes, afin de coller au mieux à l'aspect d’une application native tout offrant plus d'attrait à l’utilisateur.
Cette question d'intégration a été particulièrement mise en évidence sur Apple Mac OS X, où l’interface d'utilisation est singulièrement différente des autres plates-formes, et demande par ailleurs l’utilisation d’outils de programmation non familiers pour la plupart des développeurs d’OpenOffice.org.
Il y a deux implémentations d’OpenOffice.org disponibles sous Mac OS X :
OpenOffice.org Aqua : Disponible pour Mac OS X Tiger et Leopard, que ce soit pour l'architecture Intel ou pour architecture PowerPC, cette version désigne la version stable et officielle d'OpenOffice.org sour Mac OS X. Après une première étape utilisant le toolkit Carbon, OpenOffice.org Aqua est maintenant passée à la technologie Cocoa. Depuis la version 3.0, elle est complètement native sous Aqua.
OpenOffice.org Mac OS X (X11) : Cette version qui n'est plus officiellement maintenue, nécessite l’installation de X11.app ou XDarwin, et est un port très proche de la très testée version Unix. Elle est fonctionnellement équivalente à la version Unix, et son interface d'utilisation est la même, ainsi que son aspect et son comportement; par exemple, l’application utilise sa propre barre de menu (menu bar) au lieu du menu Mac OS X, situé en haut de l’écran. La conversion des fontes du système est nécessaire pour que celles-ci soient utilisables par la version X11 d’OpenOffice.org (cette conversion est faite lors du premier lancement d’OpenOffice.org).
Le format de stockage OpenDocument (ISO 26300)
Le format de documents utilisé par OpenOffice.org est considéré comme un grand avantage sur certains de ses concurrents.
Il est basé sur le XML. Ce format permet de refléter la structure interne du document et de séparer le contenu et la mise en forme. À la version 2, le nouveau format de fichier était introduit : le OpenDocument Format, qui a été admis comme standard par l’OASIS puis normalisé ISO 26300.
Sa nature normalisée, claire, concise et librement utilisable, facilite grandement sa manipulation par de nombreux outils externes, ou même des utilisateurs expérimentés. Connaître le format de stockage OpenDocument est utile non seulement pour les programmeurs bénévoles d’OpenOffice.org, mais aussi pour les développeurs d’outils de traitements de données documentaires.
Cela amène aussi les professionnels à considérer OpenDocument comme le format préférentiel d'archivage de documents, car il rend le fichier indépendant du logiciel choisi. Pour de nombreuses administrations et entreprises, il constitue la première motivation de l’adoption d’OpenOffice.org.
Concrètement, les fichiers produits par OpenOffice.org sont des archives compressées « zip » de plusieurs fichiers XML, organisés comme suit :
meta.xml : informations sur le document (auteur, date d’accès…) ;
styles.xml : les styles utilisés dans le document ;
content.xml : le contenu principal (texte, tableaux, éléments graphiques) ;
settings.xml : les informations spécifiques aux réglages du logiciel.
En plus de ces fichiers, tous les objets intégrés au document sont sauvegardés dans leur format original, XML pour des objets OpenOffice.org, et binaires pour la plupart des autres objets, placés dans des répertoires consacrés, dans l’archive zip.
Office Open XML (OOXML)Le format concurrent de Microsoft venant d'être adopté par l'ISO, il est possible que ce dernier s'impose dans OpenOffice.org. Cependant, le fait que OOXML est une norme complexe et lourde au point que même Microsoft devrait rencontrer des difficultés pour l'implémenter dans les futures versions de ses logiciels, permet de relativiser ces risques de changements. À ce propos il faut différencier la norme OOXML, qui n'est plus la propriété de Microsoft, de son implementation dans MS Office : les deux peuvent avoir des différences.
SécuritéS’agissant d’une solution open-source, laquelle prend de l’ampleur, la question de la sécurité se pose comme pour n’importe quel autre logiciel. La seule différence tient au fait que le système étant totalement ouvert, l’analyse de sécurité est grandement facilitée.
En juin 2006, la société Kaspersky a déclaré avoir détecté un virus pour OpenOffice, dénommé StarDust. Un communiqué officiel d’OpenOffice semble cependant indiquer que le code en question ne serait pas réellement un virus, n’ayant pas de caractère auto-reproducteur.
Début juillet 2006, trois failles de sécurité sont découvertes et les correctifs publiés. Cependant, sur le plan du développement, la suite d’OpenOffice est considérée d’une excellente qualité, avec très peu de failles critiques détectées à ce jour et qui ont été corrigées dans les heures suivant leur découverte.
Site Officiel
FR : http://fr.openoffice.org/EN : http://www.openoffice.org/