Attention : Le contenu de ces pages n'a pas été mis à jour depuis longtemps. Il est probablement obsolète pour Firefox 4.0/Gecko 4.0 et supérieur. Pour du contenu plus récent, allez consulter developer.mozilla.org.

Paquet xpi

Contenu d'un fichier XPI pour Gecko 1.7

C'est un fichier Zip qui va contenir tous les fichiers de votre extension ainsi que son descriptif. Il doit contenir l'arborescence suivante :

  • extension.xpi/
    • install.rdf
    • chrome/
      • extension.jar/
        • contents.rdf
        • ...
    • components/
      • extension.dll
      • extension.js
    • defaults/
      • extension.something
      • preferences/
        • extension.js

Par rapport aux anciennes versions de Firefox et de la suite Mozilla, il n'y a plus de fichier « install.js ». Si vous voulez rendre votre extension compatible avec la suite Mozilla ou un vieux Firefox, vous pouvez tout de même fournir ce fichier « install.js ».

Le répertoire « chrome » : contient les fichiers Jar de vos extensions (rappel : ces fichiers contiennent les fichiers XUL, les thèmes, etc. de votre extension).

Le répertoire « components » : contient vos composants XPCOM (fichiers *.xpt, *.js, *.dll ou *.so).

Le répertoire « defaults » : ???

Le répertoire « defaults/preferences » contient des fichiers de préférences en Javascript. Ils sont tous exécutés lors du lancement de l'application.

Contenu d'un fichier XPI pour Gecko 1.8

Un paquet XPI pour Gecko 1.8 est à peu près identique que pour Gecko 1.7. La différence majeure est qu'il n'y a plus de fichiers « contents.rdf » dans vos fichiers Jar (sauf si vous voulez faire une extension compatible Gecko 1.7/1.8) et qu'il y a à la place un fichier « chrome.manifest » à ajouter à la racine de votre archive XPI (cf. Extensions/EnregistrementChrome).

Autre amélioration : il est possible d'embarquer dans un même XPI des composants destinés à des plateformes différentes.

En résumé :

  • extension.xpi/
    • install.rdf
    • chrome/
      • extension.jar/
        • chrome.manifest
        • ...
    • components/
      • extension.dll
      • extension.js
    • defaults/
      • extension.something
      • preferences/
        • extension.js

(ToDo : À compléter)


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.