Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Empaqueter un thème

Ce document décrit comment sont packagés les thèmes pour Firefox et Thunderbird.

Préalables

Construire un thème pour Firefox ou Thunderbird requiert quelques connaissances des feuilles de style en cascade (CSS), probablement de XBL, et quelques notions de design graphique et d'esthétisme (...ou peut-être pas). Ce document décrit seulement comment les thèmes sont packagés afin d'être affichés dans la fenêtre des thèmes de l'application.

Arborescence des fichiers d'un thème

Les thèmes Firefox/Thunderbird sont packagés dans un fichier JAR avec la structure arborescente suivante :

montheme.jar :
  install.rdf
  contents.rdf
  preview.png
  icon.png
  browser/fichiers
  global/fichiers
  mozapps/fichiers
  communicator/fichiers
  ...
     
  • Vous devez avoir à la racine un fichier chrome.manifest (Firefox/Thunderbird 1.5) ou un fichier contents.rdf qui référence le chrome pour le thème (comme avant) et aussi un manifest install.rdf qui spécifit les meta-données affichées dans la fenêtre de gestion des thèmes.
  • preview.png est une image d'aperçu qui sera afficher dans la zone d'aperçu de la fenêtre de gestion des thèmes. Cette image peut avoir n'importe qu'elle taille a priori.
  • icon.png est un PNG de 32x32 (qui peut contenir un canal alpha de transparence) qui sera également visible dans la liste des thèmes de la fenêtre de gestion des thèmes.

install.rdf

Votre fichier manifest install.rdf devrait ressembler à cela :

<?xml version="1.0"?>

<RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="https://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <em:type>4</em:type>more properties
  </Description>      
</RDF>

Les propriétés requises dans install.rdf

Votre manifest install.rdf doit contenir les propriétés suivantes. Consultez la référence install.rdf pour plus d'informations :

  • em:id
  • em:version
  • em:type
  • em:targetApplication
  • em:name
  • em:internalName

Les propriétés optionnelles d'install.rdf

  • em:description
  • em:creator
  • em:contributor
  • em:homepageURL
  • em:updateURL

Il est à noter que si votre thème est disponible sur le site Web officiel https://addons.mozilla.org, il ne devra pas inclure de propriété updateURL.

Exemple de fichier manifest install.rdf

<?xml version="1.0"?>

<RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="https://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <em:id>{18b64b56-d42f-428d-a88c-baa413bc413f}</em:id>
    <em:version>1.0</em:version>
    <em:type>4</em:type>

    <!-- Target Application this extension can install into, 
         with minimum and maximum supported versions. -->
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>0.8</em:minVersion>
        <em:maxVersion>0.9</em:maxVersion>
      </Description>
    </em:targetApplication>
    
    <!-- Front End MetaData -->
    <em:name>New Theme 1</em:name>
    <em:description>A test theme for Firefox</em:description>
    <em:creator>Ben Goodger</em:creator>
    <em:contributor>John Doe</em:contributor>
    <em:homepageURL>https://www.bengoodger.com/</em:homepageURL>

    <!-- Front End Integration Hooks (used by Theme Manager)-->
    <em:internalName>newtheme1</em:internalName>
  </Description>
</RDF>

Ce qui suit sont les GUID habituels des applications que vous devez utiliser dans la propriété targetApplication :

Firefox      {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Thunderbird  {3550f703-e582-4d05-9a08-453d09bdfdc6}
Sunbird      {718e30fb-e89b-41dd-9da7-e25a45638b28}

Référence officielle de l'API du toolkit

Official References. Do not add to this list without contacting Benjamin Smedberg. Note that this page is included from the pages listed below. NdT : cette page doit rester en phase avec sa jumelle anglaise Toolkit API:Official References

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : Delapouite, Sheppy, Mgjbot, BenoitL, Mozinet, Freedox
 Dernière mise à jour par : Delapouite,