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.

Extensions

Mozilla Firefox, Seamonkey (la suite Mozilla), Nvu, Thunderbird, et toute autre application basée sur le framework Mozilla offre un système d'extension, qui permet d'ajouter des fonctionnalités et applications à l'application proprement dite. Cela peut être le simple ajout d'un bouton pour lancer une petite application XUL, ou alors de profondes modifications de l'interface utilisateur principale pour rajouter de grosses fonctionnalités comme par exemple une sidebar affichant un aggrégateur RSS. Une extension peut aussi permettre de localiser une application, de façon à l'avoir dans une langue précise. Ou encore, une extension peut proposer un nouveau thème graphique à appliquer.

On distinguera donc :

  1. les extensions fonctionnelles (qui rajoutent des fonctionnalités, ou d'autres applications)*
  2. les extensions de thèmes
  3. les extensions de localisation

Sachant qu'une extension peut contenir en même temps, des thèmes, des fichiers de localisation et apporter des nouvelles fonctionnalités.

Une extension est livrée sous forme de paquets XPI. Il faut remarquer d'ailleurs qu'une application Mozilla est en fait composée de multiples paquets XPI.

Développer une extension

Pour développer une extension, il faut suivre en général la recette suivante :

  1. Apprendre tout d'abord le langage XUL, Javascript et les overlays XUL, ou encore apprendre à styler une application ou à la localiser et savoir ce qu'est un fichier XPI. Pour cela, rien ne vaut une lecture du tutoriel xul.
  2. Installer l'application en la configurant de façon à faciliter le développement (Note : il ne faut pas faire de fichier XPI pour développer !)
  3. Étudier le paquet XPI livré avec l'application, contenant l'écran, les feuilles de styles ou les fichiers de localisation que l'on veut modifier via notre extension.
  4. Réaliser les overlays, les fichiers XUL additionnels, les scripts, les fichiers de localisation etc..
  5. Déclarer votre extension auprès de l'application
  6. tester
  7. Empaqueter le tout dans un fichier XPI pour la distribution de votre extension.
  8. Déposer votre extension sur un site web pour la diffusion, en l'accompagnant d'un fichier de mise à jour

Articles sur xulfr pour vous guider :

Autres conseils

Pour Gecko 1.7 (Firefox 1.0) :

  • Pour écrire et installer une extension on doit créer un répertoire avec le nom de l'extension dans le dossier chrome puis suivre l'arborescence décrite dans le tutorial xulplanet.
  • Pour que l'installation marche bien il ne faut surtout pas oublier d'écrire le fichier "contents.rdf" (le manifest) qui permet à Mozilla de savoir comment interpréter l'extension et de remplir le fichier "installed-chrome.txt".

Quelques ressources externes :

Installation d'une extension

Désinstallation d'une extension

Gecko 1.7 (Firefox 1.0, Thunderbird 1.0..) parse le fichier installed-chrome.txt au démarrage et remplit un fichier interne qui s'appelle "chrome.rdf". C'est là que toutes les extensions sont enregistrées. Pour désinstaller à la main les extensions il faut faire l'opération inverse et modifier dans le fichier chrome.rdf (ou avoir un script en javascript qui réalisera cette opération). Au pire, vous pouvez supprimer ce fichier chrome.rdf, il sera regénéré au prochain lancement.

Il y a pas mal d'explications et d'objets en javascript pour bien désinstaller une extension : http://jgillick.nettripper.com/extuninst(..)

Pour gecko 1.8 : il suffit juste de supprimer le répertoire dédié à l'extension (dans le répertoire extension du profil ou de l'application).

Outils

Et si vous cherchez une idée d'extension

Quelques idées d'extension ont été regroupées par la collecte de remarques formulées sur le forum français Geckozone.


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.