blob: e3377ec59d13f2fa091185f4b9d1d02cd7bfc6ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
---
title: Empaqueter un thème
slug: Theme_Packaging
tags:
- Themes
translation_of: Mozilla/Thunderbird/Thunderbird_extensions/Theme_Packaging
---
<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 id="Pr.C3.A9alables" name="Pr.C3.A9alables">Préalables</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 id="Arborescence_des_fichiers_d.27un_th.C3.A8me" 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 id="install.rdf" 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"><?xml version="1.0"?>
<RDF xmlns="<a class="external" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rel="freelink">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>"
xmlns:em="<a class="external" href="http://www.mozilla.org/2004/em-rdf#" rel="freelink">http://www.mozilla.org/2004/em-rdf#</a>">
<Description about="urn:mozilla:install-manifest">
<em:type>4</em:type><i>more properties</i>
</Description>
</RDF>
</pre>
<h4 id="Les_propri.C3.A9t.C3.A9s_requises_dans_install.rdf" 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 id="Les_propri.C3.A9t.C3.A9s_optionnelles_d.27install.rdf" 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 à noter que si votre thème est disponible sur le site Web officiel <a class="external" href="http://addons.mozilla.org" rel="freelink">http://addons.mozilla.org</a>, il ne devra pas inclure de propriété <code>updateURL</code>.</p>
<h4 id="Exemple_de_fichier_manifest_install.rdf" name="Exemple_de_fichier_manifest_install.rdf">Exemple de fichier manifest install.rdf</h4>
<pre class="eval"><?xml version="1.0"?>
<RDF xmlns="<a class="external" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rel="freelink">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>"
xmlns:em="<a class="external" href="http://www.mozilla.org/2004/em-rdf#" rel="freelink">http://www.mozilla.org/2004/em-rdf#</a>">
<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><a class="external" href="http://www.bengoodger.com/" rel="freelink">http://www.bengoodger.com/</a></em:homepageURL>
<!-- Front End Integration Hooks (used by Theme Manager)-->
<em:internalName>newtheme1</em:internalName>
</Description>
</RDF>
</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}
Sunbird {718e30fb-e89b-41dd-9da7-e25a45638b28}
</pre>
<h3 id="R.C3.A9f.C3.A9rence_officielle_de_l.27API_du_toolkit" 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>{{page("/fr/API_du_toolkit/Références_officielles")}}</p>
|