FR/Documentation/How Tos/Installation/CreerExtension

From Apache OpenOffice Wiki
< FR‎ | Documentation‎ | How Tos
Revision as of 12:30, 17 November 2009 by Jumbo444 (Talk | contribs)

Jump to: navigation, search

Comment créer une extension - Application à une extension pour la Gallery

Étapes à suivre

Une extension permet d'ajouter des fonctionnalités à OOo. Parmi les extensions les plus téléchargées, citons :

  • les dictionnaires d'orthographe, de synonymes ou de césure
  • l'import ou l'export de fichiers dans d'autres formats : PDF, SVG
  • l'ajout de thèmes à la Gallery

Quelle que soit l'extension que l'on veut construire les étapes à suivre sont les mêmes :

  • rassemblement des fichiers dans un répertoire
  • configuration des fichiers de description
  • construction de l'extension
  • diffusion de l'extension

Nous allons présenter ici la construction d'une extension pour ajouter des images dans la Gallery.

Préparation des images

Pour diffuser des images que l'on veut utiliser régulièrement dans OOo, la solution la plus simple consiste à construire une extension qui va ajouter un ou plusieurs thèmes à la Gallery contenant ces images. Ces images peuvent être suivant différents formats :

  • image par points issue d'un fichier PNG, JPEG, GIF, BMP, TIFF, etc.
  • image vectorielle construite avec des objets de dessin de Draw : rectangles, ellipses, segments,...

Il faut donc rassembler les images dans un thème :

  • affichez la Gallery par le menu Outils > Gallery
  • cliquez sur le bouton Nouveau thème
  • renseignez le nom et notez l'emplacement (ce sera nécessaire pour retrouver le fichier)
  • validez par OK

Vous avez maintenant un nouveau thème qui est vide. Ajoutez les images que vous souhaitez y mettre. Pour les fichiers images par points, il n'est pas conseillé d'utiliser la méthode d'ajout direct dans le thème :

  • clic droit sur le nom du thème > Propriétés, onglet Fichiers,
  • bouton Recherche de fichiers pour parcourir le disque
  • bouton Ajouter

En effet, par cette méthode, seul un lien est ajouté dans le thème, et cela compliquera l'insertion dans l'extension. Il vaut donc mieux importer le fichier par le menu Insertion > Image > À partir d'un fichier dans un document Draw par exemple, puis d'ajouter l'image dans le thème comme pour une image vectorielle :

  • ajustez le zoom et les ascenseurs pour visualiser l'ensemble de l'image à insérer
  • cliquez de façon prolongée sans bouger sur l'image. Au bout de quelques secondes, l'image a été mise en mémoire par OOo : une légère modification de la bordure s'est opérée
  • sans relâcher, faites glisser dans le thème.

Si cette étape échoue (l'image est déplacée dans le dessin) il faut recommencer l'étape précédente : vous n'avez probablement pas attendu assez longtemps. Pour vérifier que toutes vos images sont bien dans le thème, cliquez sur chacune, et vous devriez voir un nom du type dd2954. Si un chemin apparait, c'est que l'image n'est pas réellement dans le thème, mais qu'il n'y a qu'un lien vers un fichier. Ceci compliquera grandement la construction de l'extension. Dans ce cas, il faut faire glisser l'image à partir du thème vers un document Draw, puis la réinsérer dans le thème comme précédemment.

Lorsque toutes les images souhaitées ont été insérées, vous avez la possibilité de leur donner un nom :

  • clic droit sur l'image dans le thème > Titre

Ce titre est purement informatif pour l'utilisateur, il n'a pas besoin d'être unique.

Rendez-vous ensuite à l'emplacement repéré lors de la création du thème et récupérez les 3 fichiers constituant chaque thème : sgxxxx.sdg, sgxxxx.sdv et sgxxxx.thm. xxxx étant le numéro du thème. Ce numéro a besoin d'être unique dans un même répertoire. Comme l'extension va créer ses propres répertoires, il n'est pas nécessaire que le numéro soit unique pour tous les thèmes d'un utilisateur.

Construction des fichiers de configuration

Une extension est consitué d'un seul fichier d'extension .OXT. Comme tous les fichiers au format OpenDocument, il s'agit d'un fichier compressé. Pour construire une extension, le mieux est de récupérer une extension du même type que celle que l'on veut construire. Par exemple, pour ajouter un thème de gallery, récupérons l'extension d'OxygenOffice depuis le site des extensions http://extensions.services.openoffice.org/ N'installez pas directement l'extension, mais enregistrez le fichier. Dézippez le fichier dans un nouveau répertoire (au besoin changez l'extension du fichier en .ZIP). Dans ce répertoire vous retrouvez tous les fichiers de configuration de l'extension. Il faut repérer ce qui est indispensable au fonctionnement de l'extension et ce qui est ajouté par l'extension.

Contenu d'une extension

répertoire Gallery

Ce répertoire contient les fichiers des thèmes. Il faut supprimer tout le contenu et le remplacer par nos fichiers sgxxxx.sdg, sgxxxx.sdv et sgxxxx.thm.

répertoire META-INF

Ce répertoire est présent dans toutes les extensions et est nécessaire pour l'installation de l'extension. Il contient le fichier manifest.xml qui déclare les fichiers de l'extension. A priori il n'est pas nécessaire de le modifier, sauf de corriger éventuellement les chemins.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
   <manifest:file-entry manifest:media-type="application/vnd.sun.star.configuration-data"
                        manifest:full-path ="Paths.xcu"/>
</manifest:manifest>

Il s'agit donc de la déclaration du fichier Paths.xcu comme fichier de configuration. Pour que votre extension soit compatible avec tous les systèmes d'exploitation, attention au respect des majuscules/minuscules dans les noms de fichier.

répertoire description

Ce répertoire n'est pas obligatoire, mais il contient les fichiers texte de description de l'extension dans différentes langues. Ce texte est utilisé dans le gestionnaire d'extensions pour décrire l'extension. Si un fichier dans la langue de l'interface n'est pas présent, c'est le fichier en anglais qui utilisé. Vous pouvez aussi ne prévoir qu'un seul fichier de description !

répertoire licenses

Ce répertoire n'est pas obligatoire, mais il contient les fichiers texte des licences dans différentes langues. Si vous n'avez pas prévu de faire valider une licence au moment de l'installation de l'extension, ce répertoire n'est pas nécessaire. Cependant, il est recommandé de disposer d'un fichier texte donnant la licence d'utilisation dans l'extension, par exemple en renvoyant sur les licences GNU-GPL, LGPL, PDL, etc.

Autres répertoires

D'autres répertoires peuvent exister, mais ne sont pas nécessaires au fonctionnement et à l'installation de l'extension.

Autres fichier

Il y a également des fichiers présents à la racine de l'extension :

  • n'importe quel fichier de description ou de licence. En effet, il n'est pas obligatoire de mettre ces fichiers dans des répertoires à part. C'est plus propre, c'est tout.
  • fichier description.xml : ce fichier est très important, et nous allons le détailler juste après
  • fichier Paths.xcu : ce fichier déclare le rôle de l'extension et comment l'installer. Ainsi pour une extension de Gallery :
<?xml version='1.0' encoding='UTF-8'?>
<oor:component-data oor:package="org.openoffice.Office" oor:name="Paths" xmlns:install="http://openoffice.org/2004/installation" xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<node oor:name="Paths">
                <node oor:name="Gallery" oor:op="fuse"> 
			<node oor:name="InternalPaths">
                                <node oor:name="%origin%/gallery" oor:op="fuse"/>
			</node>
		</node>
	</node>
</oor:component-data>

Il n'y a rien à changer dedans.

  • un fichier image : il s'agit d'une image de 42x42 points au format PNG qui sera affichée dans le gestionnaire d'extension.

Fichier description.xml

C'est ce fichier qui va contenir toutes l'information que vous voulez personnaliser. Il faut prendre soin de le remplir par rapport aux aspects spécifiques de son extension : noms des fichiers (! majuscule/minuscule), utilisation ou non d'une fonctionnalité...

Construction de l'extension

  • Sélectionnez tous les fichiers et répertoires constituant votre extension et faites-en un fichier ZIP
  • Changez l'extension du fichier ZIP en OXT
  • C'est fait ! Votre extension est prête à être diffusée.

Diffusion de l'extension

Déposez votre extension sur le site officiel de partage des extensions http://extensions.services.openoffice.org/ Ainsi tout le monde pourra bénéficier de votre extension ! N'oubliez que OOo doit intégralement être redémarré (démarrage rapide compris) pour que l'extension soit prise en compte.

Personal tools