Empaqueter un thème

  • Raccourci de la révision : Empaqueter_un_thème
  • Titre de la révision : Empaqueter un thème
  • ID de la révision : 281058
  • Créé :
  • Créateur : BenoitL
  • Version actuelle ? Non
  • Commentaire modèle en double

Contenu de la révision

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

Pré-requis

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 a 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}

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

{{wiki.template(':fr/API_du_toolkit/Références_officielles')}}

{{ wiki.languages( { "en": "en/Theme_Packaging" } ) }}

Source de la révision

<p>
</p><p>Ce document décrit comment sont packagés les <a href="fr/Th%c3%a8mes">thèmes</a> pour Firefox et Thunderbird.
</p>
<h3 name="Pr.C3.A9-requis"> Pré-requis </h3>
<p>Construire un thème pour Firefox ou Thunderbird requiert quelques connaissances des feuilles de style en cascade (<a href="fr/CSS">CSS</a>), probablement de <a href="fr/XBL">XBL</a>, 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.
</p>
<h3 name="Arborescence_des_fichiers_d.27un_th.C3.A8me"> Arborescence des fichiers d'un thème </h3>
<p>Les thèmes Firefox/Thunderbird sont packagés dans un fichier JAR avec la structure arborescente suivante :
</p>
<pre class="eval">montheme.jar :
  install.rdf
  contents.rdf
  preview.png
  icon.png
  browser/<i>fichiers</i>
  global/<i>fichiers</i>
  mozapps/<i>fichiers</i>
  communicator/<i>fichiers</i>
  ...
     
</pre>
<ul><li> Vous devez avoir à la racine un fichier <a href="fr/Chrome.manifest">chrome.manifest</a> (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 <a href="fr/Install.rdf">install.rdf</a> qui spécifit les meta-données affichées dans la fenêtre de gestion des thèmes.
</li><li> 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.
</li><li> 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.
</li></ul>
<h3 name="install.rdf"> install.rdf </h3>
<p>Votre fichier manifest <a href="fr/Install.rdf">install.rdf</a> devrait ressembler à cela :
</p>
<pre class="eval">&lt;?xml version="1.0"?&gt;

&lt;RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;

  &lt;Description about="urn:mozilla:install-manifest"&gt;
    &lt;em:type&gt;4&lt;/em:type&gt;
    <i>more properties</i>
  &lt;/Description&gt;      
&lt;/RDF&gt;
</pre>
<h4 name="Les_propri.C3.A9t.C3.A9s_requises_dans_install.rdf"> Les propriétés requises dans install.rdf </h4>
<p>Votre manifest install.rdf doit contenir les propriétés suivantes. Consultez la référence <a href="fr/Install.rdf">install.rdf</a> pour plus d'informations :
</p>
<ul><li> em:id
</li><li> em:version
</li><li> em:type
</li><li> em:targetApplication
</li><li> em:name
</li><li> em:internalName
</li></ul>
<h4 name="Les_propri.C3.A9t.C3.A9s_optionnelles_d.27install.rdf"> Les propriétés optionnelles d'install.rdf </h4>
<ul><li> em:description
</li><li> em:creator
</li><li> em:contributor
</li><li> em:homepageURL
</li><li> em:updateURL
</li></ul>
<p>Il est a 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é <code>updateURL</code>.
</p>
<h4 name="Exemple_de_fichier_manifest_install.rdf"> Exemple de fichier manifest install.rdf </h4>
<pre class="eval">&lt;?xml version="1.0"?&gt;

&lt;RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#"&gt;

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

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

    &lt;!-- Front End Integration Hooks (used by Theme Manager)--&gt;
    &lt;em:internalName&gt;newtheme1&lt;/em:internalName&gt;
  &lt;/Description&gt;
&lt;/RDF&gt;
</pre>
<p>Ce qui suit sont les GUID habituels des applications que vous devez utiliser dans la propriété <code>targetApplication</code> :
</p>
<pre class="eval">Firefox      {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Thunderbird  {3550f703-e582-4d05-9a08-453d09bdfdc6}
</pre>
<h3 name="R.C3.A9f.C3.A9rence_officielle_de_l.27API_du_toolkit"> Référence officielle de l'<a href="fr/API_du_toolkit">API du toolkit</a> </h3>
<p>{{wiki.template(':fr/API_du_toolkit/Références_officielles')}}
</p>{{ wiki.languages( { "en": "en/Theme_Packaging" } ) }}
Revenir à cette révision