FAQ XUL
FAQ XULConsultez toutes les FAQ
Nombre d'auteurs : 2, nombre de questions : 23, dernière mise à jour : 14 juin 2021
Les extensions pour les outils de la fondation Mozilla sont contenues dans des archives *.xpi (compressées au format ZIP), dont l'arborescence respecte une structure commune, dont nous allons vous présenter les éléments courants ici.
- Le fichier install.rdf contient les informations nécessaires pour l'installation et la recherche des mises à jour de l'extension ;
- Le fichier chrome.manifest contient les informations nécessaires pour intégrer l'extension dans l'outil ;
- Le répertoire chrome contient tous les fichiers nécessaires pour décrire le fonctionnement de l'extension (fenetres en XUL, images, feuilles de style, etc) ;
- Le répertoire components contient les composants XPCOM développés spécifiquement pour cette extension.
Etant donné le nombre important de fichiers qu'il peut contenir, le contenu du répertoire chrome peut être stocké dans une archive *.jar (compressés au format ZIP).
./ -- install.rdf
-- chrome.manifest
-- chrome/
-- content/
-- skin/
-- components/
Vous trouverez ci-dessous un exemple de fichier install.rdf ; il vous suffira de reprendre ce modèle en personnalisant quelques balises...
- em:id contient un identifiant unique pour votre extension ;
- em:name contient le nom de votre extension ;
- em:version contient la version de votre extension ;
- em:targetApplication contient les informations nécessaires pour valider l'utilisation de votre extension sur l'un des outils Mozilla ;
- em:id est l'identifiant de l'application : {ec8030f7-c20a-464f-9b0e-13a3a9e97384} pour Firefox
- em:minVersion et em:maxVersion servent à signaler les versions de l'application pour lesquelles l'extension est utilisable ;
- em:updateURL contient l'url à laquelle se trouve un mise nécessaire pour la mise à jour de votre extension.
<?xml version="1.0"?>
<RDF
xmlns
=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns
:
em
=
"http://www.mozilla.org/2004/em-rdf#"
>
<Description
about
=
"urn:mozilla:install-manifest"
>
<!-- Required Items -->
<
em
:
id>
extension_identifiant</
em
:
id>
<
em
:
name>
extension_nom</
em
:
name>
<
em
:
version>
extension_version</
em
:
version>
<
em
:
targetApplication>
<Description>
<
em
:
id>
{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</
em
:
id>
<
em
:
minVersion>
1.5</
em
:
minVersion>
<
em
:
maxVersion>
3.0a1</
em
:
maxVersion>
</Description>
</
em
:
targetApplication>
<!-- Optional Items -->
<
em
:
creator>
Nicolas Vallée</
em
:
creator>
<
em
:
description>
extension_descriptif</
em
:
description>
<
em
:
contributor>
gorgonite</
em
:
contributor>
<
em
:
homepageURL>
http://mon-domaine.com/extension/</
em
:
homepageURL>
<
em
:
updateURL>
http://mon-domaine.com/extension/update.rdf</
em
:
updateURL>
</Description>
</RDF>
Ce fichier est lu dès qu'on veut cherche une éventuelle mise à jour de l'extension, son url est stockée dans le fichier install.rdf
Vous pouvez vous baser sur le modèle ci-dessous, et il suffit de personnaliser deux balises :
- updateLink contient le lien vers le fichier de la dernière version de l'extension ;
- version indique le numéro de version, qui faut absolument incrémenter si vous souhaitez que la mise à jour ait lieu.
<?xml version="1.0"?>
<
r
:
RDF
xmlns
:
r
=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns
=
"http://www.mozilla.org/2004/em-rdf#"
>
<!-- Foo Widget Extension -->
<
r
:
Description
about
=
"urn:mozilla:extension:mon-extension@mon-domaine.com"
>
<updates>
<
r
:
Seq>
<
r
:
li>
<
r
:
Description>
<version>
extension_version</version>
<targetApplication>
<
r
:
Description>
<id>
{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id>
<minVersion>
1.5</minVersion>
<maxVersion>
9.9</maxVersion>
<updateLink>
http://mon-domaine.com/extension/mon-extension.xpi</updateLink>
</
r
:
Description>
</targetApplication>
</
r
:
Description>
</
r
:
li>
</
r
:
Seq>
</updates>
<version>
extension_version</version>
<updateLink>
http://mon-domaine.com/extension/mon-extension.xpi</updateLink>
</
r
:
Description>
</
r
:
RDF>
Ce fichier gère l'intégration d'une extension dans l'outil Mozilla. Il y a trois principaux paramètres :
- content indique le répertoire contenant les fenêtres de l'extension ;
- skin indique le répertoire contenant les feuilles de style et les images pour votre extension ;
- overlay indique le fichier indiquant s'il faut ajouter des entrées à un menu, à une barre de status ou à une barre de tache.
content extension_url chrome/content/
skin extension_url classic chrome/skin/
overlay chrome://browser/content/browser.xul chrome://extension_url/content/mon-extension.xul
Dans votre outil Mozilla, lorsque vous visualisez votre extension dans le gestionnaire de modules complémentaires, il est possible d'afficher des informations complémentaires.
- accéder à la configuration de votre extension
<
em
:
optionsURL>
chrome://mon-extension/content/preferences.xul</
em
:
optionsURL>
- afficher un logo
<
em
:
iconURL>
chrome://mon-extension/skin/logo.png</
em
:
iconURL>
Tout d'abord, pensez à vérifier la présence de ceci dans votre install.rdf
<
em
:
type>
2<
em
:
type>
Ensuite, sachez que Firefox 3 oblige désormais à disposer de mises à jour sécurisées... donc cela implique que :
- soit vous devez disposer d'un serveur https avec un certificat valide pour héberger votre update.rdf
- soit vous devez signer vos fichiers install.rdf et update.rdf ; pour cela utilisez le logiciel mccoy
Lien : Pour plus d'informations