mozilla
Vos résultats de recherche

    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="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">
        <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 http://addons.mozilla.org, il ne devra pas inclure de propriété updateURL.

    Exemple de fichier manifest install.rdf

    <?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">
        <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>http://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 : 
    Contributors to this page: Sheppy, BenoitL, Mgjbot, Mozinet, Freedox, Delapouite
    Dernière mise à jour par : Delapouite,