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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
---
title: manifest.json
slug: Mozilla/Add-ons/WebExtensions/manifest.json
tags:
- Add-ons
- Extensions
- Overview
- WebExtensions
- manifest.json
translation_of: Mozilla/Add-ons/WebExtensions/manifest.json
---
<p>{{AddonSidebar}}</p>
<div class="note">
<p><strong>Note :</strong> Cet article décrit manifest.json pour les extensions web. Si vous cherchez des informations sur le manifeste.json dans les PWAs, consultez l'article <a href="/fr/docs/Web/Manifest">Web App Manifest</a>.</p>
</div>
<p>Le fichier <code>manifest.json</code> est le seul fichier que chaque extension utilisant les API WebExtension doit contenir.</p>
<p>En utilisant <code>manifest.json</code>, vous spécifiez les métadonnées basiques de votre extension comme son nom et sa version, et des fonctionnalités de votre extension comme les scripts en arrière-plan (les scripts de contenu et les actions du navigateur).</p>
<p>C'est un fichier au format <a href="/fr/docs/Glossaire/JSON">JSON</a> à une exception près : il peut contenir des commentaires de type "<code>//</code>".</p>
<h2 id="List_of_manifest.json_keys">List of manifest.json keys</h2>
<p>Les clés <code>manifest.json</code> sont listées ci-dessous:</p>
<div>{{ListSubpages("/en-US/Add-ons/WebExtensions/manifest.json")}}</div>
<h3 id="Notes_about_manifest.json_keys">Notes about manifest.json keys</h3>
<ul>
<li><code>"manifest_version"</code>, <code>"version"</code>, and <code>"name"</code> sont les seules clés obligatoires.</li>
<li><code>"default_locale"</code> doit être présent si le répertoire "<code>_locales</code>" est présent et sinon doit être absent.</li>
<li><code>"browser_specific_settings"</code> n'est pas prise en charge dans Google Chrome</li>
</ul>
<h3 id="Accessing_manifest.json_keys_at_runtime">Accessing manifest.json keys at runtime</h3>
<p>Vous pouvez accéder au manifest de votre extension depuis le JavaScript de l'extension en utilisant la fonction {{WebExtAPIRef("runtime.getManifest()")}} :</p>
<pre class="brush: js;">browser.runtime.getManifest().version;</pre>
<h2 id="Exemple">Exemple</h2>
<p>Le bloc ci-dessous contient la syntaxe de base de certaines clés communes du manifest</p>
<div class="blockIndicator note">
<p><strong>Note :</strong> Il ne s'agit pas d'un exemple à copier-coller. Le choix des clés dont vous aurez besoin dépend de l'extension que vous développez.</p>
</div>
<p>Pour des exemples complets d'extensions, voir <a href="/fr/Add-ons/WebExtensions/Examples">Exemple d'extensions</a>.</p>
<pre class="brush: json;">{
"browser_specific_settings": {
"gecko": {
"id": "addon@example.com",
"strict_min_version": "42.0"
}
},
"background": {
"scripts": ["jquery.js", "my-background.js"],
},
"browser_action": {
"default_icon": {
"19": "button/geo-19.png",
"38": "button/geo-38.png"
},
"default_title": "Whereami?",
"default_popup": "popup/geo.html"
},
"commands": {
"toggle-feature": {
"suggested_key": {
"default": "Ctrl+Shift+Y",
"linux": "Ctrl+Shift+U"
},
"description": "Send a 'toggle-feature' event"
}
},
"content_security_policy": "script-src 'self' https://example.com; object-src 'self'",
"content_scripts": [
{
"exclude_matches": ["*://developer.mozilla.org/*"],
"matches": ["*://*.mozilla.org/*"],
"js": ["borderify.js"]
}
],
"default_locale": "en",
"description": "...",
"icons": {
"48": "icon.png",
"96": "icon@2x.png"
},
"manifest_version": 2,
"name": "...",
"page_action": {
"default_icon": {
"19": "button/geo-19.png",
"38": "button/geo-38.png"
},
"default_title": "Whereami?",
"default_popup": "popup/geo.html"
},
"permissions": ["webNavigation"],
"version": "0.1",
"user_scripts": {
"api_script": "apiscript.js",
},
"web_accessible_resources": ["images/my-image.png"]
}</pre>
<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
<p>Pour un aperçu complet de toutes les clés de manifeste et de leurs sous-clés, <a href="/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json">voir le tableau complet de compatibilité du navigateur manifest.json</a>.</p>
<p>{{Compat("webextensions.manifest")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<p>{{WebExtAPIRef("permissions")}} JavaScript API</p>
|