aboutsummaryrefslogtreecommitdiff
path: root/files/fr/mozilla/add-ons/webextensions/manifest.json
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/fr/mozilla/add-ons/webextensions/manifest.json
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/manifest.json')
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/arriere-plan/index.html93
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/auteur/index.html44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/browser_action/index.html254
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/browser_specific_settings/index.html117
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.html136
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_url_overrides/index.html97
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/commands/index.html200
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/content_scripts/index.html235
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/content_security_policy/index.html117
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/default_locale/index.html46
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/description/index.html44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/developer/index.html52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/devtools_page/index.html50
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/dictionaries/index.html47
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/externally_connectable/index.html69
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/homepage_url/index.html46
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/icons/index.html78
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/incognito/index.html70
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/index.html138
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/manifest_version/index.html45
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/name/index.html46
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/offline_enabled/index.html48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/omnibox/index.html52
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.html106
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/options_page/index.html62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/options_ui/index.html118
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/page_action/index.html200
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/permissions/index.html198
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.html85
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/short_name/index.html44
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/sidebar_action/index.html151
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/storage/index.html69
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/theme/index.html1374
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/theme_experimentation/index.html194
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/user_scripts/index.html48
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/version/index.html63
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/version_name/index.html40
-rw-r--r--files/fr/mozilla/add-ons/webextensions/manifest.json/web_accessible_resources/index.html98
38 files changed, 4974 insertions, 0 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/arriere-plan/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/arriere-plan/index.html
new file mode 100644
index 0000000000..4181a9e841
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/arriere-plan/index.html
@@ -0,0 +1,93 @@
+---
+title: background
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/arriere-plan
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/background
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>No</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"background": {
+ "scripts": ["background.js"]
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez la clé <font face="Consolas">background</font> pour inclure un ou plusieurs scripts d'arrière-plan, et éventuellement une page d'arrière-plan dans votre extension.</p>
+
+<p>Les scripts d'arrière-plan sont l'endroit pour placer le code qui doit maintenir l'état à long terme, ou effectuer des opérations à long terme, indépendamment de la durée de vie de toutes les pages Web ou les fenêtres du navigateur.</p>
+
+<p>Les scripts d'arrière-plan sont chargés dès que l'extension est chargée et restent chargés jusqu'à ce que l'extension soit désactivée ou désinstallée. Vous pouvez utiliser n'importe laquelle des WebExtension APIs dans le script, tant que vous avez demandé les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> nécessaires.</p>
+
+<p>Voir la section "Pages arrière-plan" dans <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_pages">l'anatomie d'une WebExtension</a> pour plus de détails.</p>
+
+<p>La clé <font face="Consolas">background</font> est un objet qui peut avoir l'une des deux propriétés suivantes, toutes deux facultatives :</p>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <td><code>"scripts"</code></td>
+ <td>
+ <p>Un ensemble de chaînes, chacune étant un chemin d'accès à une source JavaScript. Le chemin est relatif au fichier manifest.json lui-même. Ce sont les scripts d'arrière-plan qui seront inclus dans l'extension.</p>
+
+ <p>Les scripts partagent la même fenêtre globale.</p>
+
+ <p>Les scripts sont chargés dans l'ordre où 'ils apparaissent dans le tableau.</p>
+
+ <p><strong>Notez qu'il y a un bug affectant les versions de Firefox antérieures à la version 50 </strong>: lorsque le débogueur Firefox est ouvert, les scripts ne sont pas toujours chargés dans l'ordre indiqué dans le tableau. Pour contourner ce bug, vous pouvez utiliser la propriété "page" et inclure des scripts de fond de page en utilisant les balises &lt;script&gt;. Ce bug est résolu dans Firefox 50, et à partir de ce moment, les scripts sont toujours chargés dans l'ordre indiqué dans le tableau.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>"page"</code></td>
+ <td>
+ <div class="note">
+ <p><strong>Note </strong>: Si vous souhaitez récupérer un script à partir d'un emplacement distant avec la balise &lt;script&gt; (par exemple : &lt;script src = "https://code.jquery.com/jquery-1.7.1.min.js"&gt; ), vous devrez également modifier la clé <code><a href="https://developer.mozilla.org/fr/Add-ons/WebExtensions/manifest.json/content_security_policy">content_security_policy</a></code> dans le fichier manifest.json de votre extension.</p>
+ </div>
+
+ <p>Si vous spécifiez des "scripts", une page vide sera créée pour que vos scripts s'exécutent.</p>
+
+ <p>Si vous avez besoin de contenu particulier dans la page, vous pouvez définir votre propre page en utilisant l'option "page".</p>
+
+ <p>Si vous utilisez cette propriété, vous ne pouvez plus spécifier de scripts de fond à l'aide de «scripts», mais vous pouvez inclure vos propres scripts à partir de la page, tout comme dans une page Web normale.</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 class="brush: json no-line-numbers" id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers"> "background": {
+ "scripts": ["jquery.js", "my-background.js"]
+ }</pre>
+
+<p>Chargez deux scripts de fond.</p>
+
+<pre class="brush: json"> "background": {
+ "page": "my-background.html"
+ }</pre>
+
+<p><span class="short_text" id="result_box" lang="fr"><span>Chargez une page d'arrière-plan personnalisée.</span></span></p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.background", 10)}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/auteur/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/auteur/index.html
new file mode 100644
index 0000000000..a00c7dab33
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/auteur/index.html
@@ -0,0 +1,44 @@
+---
+title: author
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/auteur
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/author
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><font face="Consolas">chaîne de caractères</font></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"author": "Walt Whitman"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>L'auteur de l'extension, destiné à être visualisé dans l'interface utilisateur du navigateur. Si la clé du <a href="https://developer.mozilla.org/fr/Add-ons/WebExtensions/manifest.json/developer">developpeur</a> est fournie et qu'elle contient la propriété "nom", elle remplacera la clé de l'auteur. Il n'y a aucun moyen de spécifier plusieurs auteurs.</p>
+
+<p>Notez que Firefox ne supporte cette clé qu'à partir de la version 52 et que cette clé est obligatoire dans Microsoft Edge.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"author": "Walt Whitman"</pre>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.author")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_action/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_action/index.html
new file mode 100644
index 0000000000..1b452dc9b8
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_action/index.html
@@ -0,0 +1,254 @@
+---
+title: browser_action
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/browser_action
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/browser_action
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Mandatory</th>
+ <td>No</td>
+ </tr>
+ <tr>
+ <th scope="row">Example</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"browser_action": {
+ "browser_style": true,
+ "default_icon": {
+ "16": "button/geo-16.png",
+ "32": "button/geo-32.png"
+ },
+ "default_title": "Whereami?",
+ "default_popup": "popup/geo.html",
+ "theme_icons": [{
+ "light": "icons/geo-16-light.png",
+ "dark": "icons/geo-16.png",
+ "size": 16
+ }, {
+ "light": "icons/geo-32-light.png",
+ "dark": "icons/geo-32.png",
+ "size": 32
+ }]
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Une action de navigateur est un bouton que votre extension ajoute à la barre d'outils du navigateur. Le bouton comporte une icône et peut éventuellement avoir une fenêtre contextuelle dont le contenu est spécifié à l'aide de HTML, CSS et JavaScript.</p>
+
+<p>Si vous fournissez une fenêtre contextuelle, la fenêtre contextuelle est ouverte lorsque l'utilisateur clique sur le bouton, et votre JavaScript s'exécute dans la fenêtre contextuelle permettant l'interaction de l'utilisateur avec elle. Si vous ne fournissez pas de popup, un événement de clic est envoyé aux <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts">scripts d'arrière-plan</a> de votre extension lorsque l'utilisateur clique sur le bouton.</p>
+
+<p>Vous pouvez également créer et manipuler des actions de navigateur de manière programmée à l'aide de l'<a href="/fr/Add-ons/WebExtensions/API/browserAction">API browserAction</a>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La clé <code>browser_action</code> est un objet qui peut avoir l'une des propriétés suivantes, toutes optionnelles :</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>browser_style</code></td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>Facultatif, par défaut à <code>false</code>.</p>
+
+ <p>Utilisez-le pour inclure une feuille de style dans votre popup qui le rendra cohérent avec l'interface utilisateur du navigateur et avec d'autres extensions qui utilisent la propriété <code>browser_style</code>. Bien que cette touche par défaut soit <code>false</code>, il est recommandé de l'inclure et de la mettre à <code>true</code> afin de rendre vos fenêtres contextuelles cohérentes avec l'apparence du reste de l'interface utilisateur du navigateur.</p>
+
+ <p>Dans Firefox, la feuille de style peut être vue à chrome://browser/content/extension.css, ou chrome://browser/content/extension-mac.css sur OS X. Lorsque vous définissez les dimensions, sachez que cette feuille de style définit actuellement  <code>box-sizing: border-box</code> (voir <a href="https://developer.mozilla.org/docs/Web/CSS/box-sizing">box-sizing</a>).</p>
+
+ <p>Les <a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a> décrivent les classes que vous pouvez appliquer aux éléments dans le popup afin d'obtenir des styles particuliers.</p>
+
+ <p>L'extension de l'exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/latest-download">latest-download</a> utilise <code>browser_style</code> dans son popup.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_area</code></td>
+ <td><font face="Consolas">Chaîne de caractères</font></td>
+ <td>
+ <div class="blockIndicator geckoVersionNote">Nouveau dans Firefox 54</div>
+
+ <p>Définit la partie du navigateur dans laquelle le bouton est initialement placé. Il s'agit d'une chaîne qui peut prendre l'une des quatre valeurs suivantes:</p>
+
+ <ul>
+ <li>"navbar" : le bouton est placé dans la barre d'outils principale du navigateur, à côté de la barre d'URL.</li>
+ <li>"menupanel" : le bouton est placé dans un panneau contextuel.</li>
+ <li>"tabstrip" : le bouton est placé dans la barre d'outils qui contient les onglets du navigateur.</li>
+ <li>"personaltoolbar" : le bouton est placé dans la barre d'outils des signets</li>
+ </ul>
+
+ <p>Cette propriété est seulement supportée dans Firefox.</p>
+
+ <p>Cett propriété est facultative, et defaut à "navbar".</p>
+
+ <p>Firefox se souvient des paramètres <code>default_area</code> d'une extension,  même si cette extension est désinstallée et réinstallée par la suite. Pour forcer le navigateur à reconnaître une nouvelle valeur pour  <code>default_area</code>, l'identifiant de l'extension doit être modifié.</p>
+
+ <p>Une extension ne peut pas changer l'emplacement du bouton après son installation, mais l'utilisateur doit pouvoir déplacer le bouton en utilisant le mécanisme de personnalisation du navigateur.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_icon</code></td>
+ <td><code>Objet</code> ou <font face="Consolas">chaîne de caractères</font></td>
+ <td>
+ <p>Utilisez cette option pour spécifier une ou plusieurs icônes pour le bouton d'action du navigateur. L'icône est affichée dans la barre d'outils du navigateur par défaut.</p>
+
+ <p>Les icônes sont spécifiées comme des URL relatives dans le fichier manifest.json lui-même.</p>
+
+ <p>Vous pouvez spécifier un seul fichier d'icône en fournissant une chaîne ici:</p>
+
+ <pre class="brush: json no-line-numbers">
+"default_icon": "path/to/geo.svg"</pre>
+
+ <p>Pour spécifier plusieurs icônes dans différentes tailles, spécifiez ici un objet. Le nom de chaque propriété est la hauteur de l'icône en pixels et doit être converti en un nombre entier. La valeur est l'URL. Par exemple:</p>
+
+ <pre class="brush: json no-line-numbers">
+ "default_icon": {
+ "16": "path/to/geo-16.png",
+ "32": "path/to/geo-32.png"
+ }</pre>
+
+ <p>Vous ne pouvez pas spécifier plusieurs icônes de la même taille.</p>
+
+ <p>Voir <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes">Choisir les tailles des icones</a> pour plus de conseils à ce sujet.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_popup</code></td>
+ <td><font face="Consolas">chaîne de caractères</font></td>
+ <td>
+ <p>Le chemin d'accès à un fichier HTML contenant la spécification de la fenêtre contextuelle.</p>
+
+ <p>Le fichier HTML peut inclure des fichiers CSS et JavaScript en utilisant des éléments <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link">&lt;link&gt;</a></code> et <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script">&lt;script&gt;</a></code>, tout comme une page Web normale. Cependant, <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script">&lt;script&gt;</a></code> doit avoir l'attribut <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script">src</a></code> pour charger un fichier. N'utilisez pas <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script">&lt;script&gt;</a></code> avec du code intégré, car vous obtiendrez une erreur de politique de violation de contenu confuse.</p>
+
+ <p>Contrairement à une page Web normale, JavaScript en cours d'exécution dans la fenêtre contextuelle peut accéder à toutes les <a href="/fr/Add-ons/WebExtensions/API">APIs WebExtension</a> (soumis, bien sûr, à l'extension possédant les <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> appropriées).</p>
+
+ <p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_title</code></td>
+ <td><font face="Consolas">chaîne de caractères</font></td>
+ <td>
+ <p>Info-bulle pour le bouton, affichée lorsque l'utilisateur passe sa souris dessus.</p>
+
+ <p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>theme_icons</code></td>
+ <td><code>Tableau</code></td>
+ <td>
+ <p>Cette propriété vous permet de spécifier différentes icônes pour les thèmes selon que Firefox détecte que le thème utilise du texte sombre ou clair.</p>
+
+ <p>Si cette propriété est présente, il s'agit d'un tableau contenant au moins un objet <code>ThemeIcons</code>. Un objet <code>ThemeIcons</code> contient trois propriétés obligatoires :</p>
+
+ <dl>
+ <dt><code>"dark"</code></dt>
+ <dd>Une URL pointant vers une icône. Cette icône s'affiche lorsqu'un thème utilisant du texte sombre est actif (tel que, le thème Light de Firefox et le thème Default si default_icon n'est pas spécifié).</dd>
+ <dt><code>"light"</code></dt>
+ <dd>Une URL pointant vers une icône. Cette icône s'affiche lorsqu'un thème utilisant du texte clair est actif (tel que, le thème sombre de Firefox).</dd>
+ <dt><code>"size"</code></dt>
+ <dd>La taille des deux icônes en pixels.</dd>
+ </dl>
+
+ <p>Les icônes sont spécifiées en tant qu'URL par rapport au fichier manifest.json lui-même.</p>
+
+ <p>Vous devez fournir un <code>ThemeIcons</code> en taille 16x16 et un en taille 32x32 (pour l'affichage de la rétine).</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Choisir_les_tailles_des_icônes">Choisir les tailles des icônes</h2>
+
+<p>L'icône de l'action du navigateur peut devoir être affichée dans différentes tailles dans différents contextes:</p>
+
+<ul>
+ <li>L'icône est affichée par défaut dans la barre d'outils du navigateur, mais l'utilisateur peut la déplacer dans le panneau de menu du navigateur (le panneau qui s'ouvre lorsque l'utilisateur clique sur l'icône  "hamburger"). L'icône dans la barre d'outils est plus petite que l'icône dans le panneau de menu.</li>
+ <li>Sur un écran haute densité comme un écran Retina, les icônes doivent être deux fois plus grandes.</li>
+</ul>
+
+<p>Si le navigateur ne peut pas trouver une icône de la bonne taille dans une situation donnée, il choisira la meilleure correspondance et la mettra à l'échelle. Cette correction peut donner une apparence floue à l'icône, il est donc important de choisir attentivement les tailles d'icône.</p>
+
+<p>Il y a deux approches principales pour cela. Vous pouvez fournir une seule icône en tant que fichier SVG, et elle sera mise à l'échelle correctement :</p>
+
+<pre class="brush: json no-line-numbers">"default_icon": "path/to/geo.svg"</pre>
+
+<p>Ou vous pouvez fournir plusieurs icônes dans différentes tailles, et le navigateur choisira la meilleure.</p>
+
+<p>Dans Firefox:</p>
+
+<ul>
+ <li>La hauteur par défaut des icônes dans la barre d'outils est 16 * <code><a href="/fr/docs/Web/API/Window/devicePixelRatio">window.devicePixelRatio</a></code>.</li>
+ <li>La hauteur par défaut pour les icônes dans le panneau de menu est 32 * <code><a href="/fr/docs/Web/API/Window/devicePixelRatio">window.devicePixelRatio</a></code>.</li>
+</ul>
+
+<p>Vous pouvez donc spécifier des icônes qui correspondent exactement, à la fois aux affichages normaux et à Retina, en fournissant trois fichiers d'icônes et en les spécifiant comme suit:</p>
+
+<pre class="brush: json no-line-numbers"> "default_icon": {
+ "16": "path/to/geo-16.png",
+ "32": "path/to/geo-32.png",
+ "64": "path/to/geo-64.png"
+ }</pre>
+
+<p> </p>
+
+<p>Si Firefox ne peut pas trouver une correspondance exacte pour la taille qu'il veut, alors il choisira l'icône la plus petite spécifiée qui est plus grande que la taille idéale. Si toutes les icônes sont plus petites que la taille idéale, elle choisira la plus grande icône spécifiée.</p>
+
+<p> </p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"browser_action": {
+ "default_icon": {
+ "16": "button/geo-16.png",
+ "32": "button/geo-32.png"
+ }
+}</pre>
+
+<p>Une action de navigateur avec juste une icône, spécifiée en 2 tailles différentes. Les scripts d'arrière-plan de l'extension peuvent recevoir des événements de clic lorsque l'utilisateur clique sur l'icône en utilisant un code comme celui-ci :</p>
+
+<pre class="brush: js no-line-numbers"> browser.browserAction.onClicked.addListener(handleClick);</pre>
+
+<pre class="brush: json">"browser_action": {
+ "default_icon": {
+ "16": "button/geo-16.png",
+ "32": "button/geo-32.png"
+ },
+ "default_title": "Whereami?",
+ "default_popup": "popup/geo.html"
+}</pre>
+
+<p>Une action de navigateur avec une icône, un titre et une fenêtre contextuelle. Celle-ci s'affiche lorsque l'utilisateur clique sur le bouton.</p>
+
+<p>Pour une extension simple, mais complète, qui utilise une action de navigateur, consultez le <a href="/fr/Add-ons/WebExtensions/Your_second_WebExtension">tutoriel pas à pas</a>.</p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p>{{Compat("webextensions.manifest.browser_action", 10)}}</p>
+
+<h2 id="See_also">See also</h2>
+
+<ul>
+ <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/page_action">page_action</a></code></li>
+ <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code></li>
+ <li><a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a></li>
+</ul>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_specific_settings/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_specific_settings/index.html
new file mode 100644
index 0000000000..073caeeb6b
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_specific_settings/index.html
@@ -0,0 +1,117 @@
+---
+title: browser_specific_settings
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+ - browser_specific_settings
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings
+---
+<p>{{AddonSidebar}}</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>
+ <p>Habituellement, non (mais voir aussi <a href="https://developer.mozilla.org/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID#When_do_you_need_an_Add-on_ID">Quand avec-vous besoin d'une ID Complémentaire</a><a href="https://developer.mozilla.org/fr/Add-ons/WebExtensions/manifest.json/applications#When_do_I_need_the_applications_key">?</a>). Obligatoire avant Firefox 48 (desktop) et Firefox pour Android.</p>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Example</th>
+ <td>
+ <pre class="brush: json; no-line-numbers">
+"browser_specific_settings": {
+ "gecko": {
+ "id": "addon@example.com",
+ "strict_min_version": "42.0"
+ }
+}
+</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Description">Description</h2>
+
+<p>La clé <code>browser_specific_settings</code> contient des clés qui sont spécifiques à certaines applications hôtes.</p>
+
+<h3 id="Propriétés_Gecko_Firefox">Propriétés (Gecko) Firefox</h3>
+
+<p>Actuellement, elle contient uniquement une clé, <code>gecko</code>, qui est structurée ainsi :</p>
+
+<ul>
+ <li><code>id</code> est l'ID de l'extension. Facultatif à partir de Firefox 48, obligatoire avant Firefox 48. Voir les <a href="/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID">WebExtensions et l'ID des extensions</a> pour voir quand vous devez spécifier un identifiant complémentaire.</li>
+ <li><code>strict_min_version </code>: la version minimum de Gecko supportée. Les versions contenant un "*" ne sont pas valides dans ce domaine. Par défaut, c'est "42a1".</li>
+ <li><code>strict_max_version</code> : la version maximum de Gecko supportée. Si la version de Firefox sur laquelle l'extension est en cours d'installation ou d'exécution est au-dessus de cette version, l'extension sera désactivée ou ne sera pas autorisée à être installée. Par défaut, c'est "*", qui désactive la vérification d'une version maximale.</li>
+ <li>
+ <p><code>update_url</code> est lien vers un <a href="https://developer.mozilla.org/fr-FR/Add-ons/Install_Manifests#updateURL">manifeste de mise à jour personnalisé</a>. Notez que le lien doit commencer par "https". Cette clé consiste à gérer vous-même les mises à jour d'extension (c'est-à-dire pas via AMO).</p>
+ </li>
+</ul>
+
+<p>Vois la liste des <a href="https://addons.mozilla.org/en-US/firefox/pages/appversions/">versions Gecko valides</a>.</p>
+
+<h4 id="Format_dID_dextension">Format d'ID d'extension</h4>
+
+<p>L'ID d'extension doit être l'un des suivants :</p>
+
+<ul>
+ <li><a href="https://en.wikipedia.org/wiki/Universally_unique_identifier" title="Generating_GUIDs">GUID</a></li>
+ <li>Une chaîne formatée comme une adresse e-mail : <code class="plain">extensionname@example.org</code></li>
+</ul>
+
+<p>Ce dernier format est plus facile à générer et à manipuler. Sachez que l'utilisation d'une véritable adresse e-mail ici peut attirer des spams.</p>
+
+<p>Par exemple :</p>
+
+<pre class="brush: json; auto-links: false; no-line-numbers">"id": "extensionname@example.org"</pre>
+
+<pre class="brush: json; auto-links: false; no-line-numbers">"id": "{daf44bf7-a45e-4450-979c-91cf07434c3d}"</pre>
+
+<h3 id="Propriétés_Microsoft_Edge">Propriétés Microsoft Edge</h3>
+
+<div class="blockIndicator warning">
+<p>Avertissement : L'ajout de propriétés spécifiques à Edge au manifeste a causé une erreur avant Firefox 69 qui peut empêcher l'extension de s'installer.</p>
+</div>
+
+<p>Microsoft Edge stocke les paramètres spécifiques à son navigateur dans la sous-clé <code>edge</code>, qui possède les propriétés suivantes :</p>
+
+<dl>
+ <dt><code>browser_action_next_to_addressbar</code></dt>
+ <dd>
+ <p>Propriété booléenne qui contrôle le placement de l'<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Browser_actions">action du navigateur</a>.</p>
+
+ <ul>
+ <li><code>true</code> est équivalent à la définition <code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action#Syntax">browser_action.default_area</a></code> à <code>navbar</code>.</li>
+ <li><code>false</code> is équivalent à la définition <code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action#Syntax">browser_action.default_area</a></code> à <code>menupanel</code>.</li>
+ </ul>
+ </dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Exemple avec toutes les clés possibles. Notez que vous n'incluez normalement ni une version <code>strict_max_version</code> ni une clé <code>update_url</code>.</p>
+
+<pre class="brush: json; auto-links: false; no-line-numbers">"browser_specific_settings": {
+ "gecko": {
+ "id": "addon@example.com",
+ "strict_min_version": "42.0",
+ "strict_max_version": "50.*",
+ "update_url": "https://example.com/updates.json"
+ },
+ "edge": {
+ "browser_action_next_to_addressbar": true
+ }
+}</pre>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+
+
+<p>{{Compat("webextensions.manifest.browser_specific_settings")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.html
new file mode 100644
index 0000000000..a421830363
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.html
@@ -0,0 +1,136 @@
+---
+title: chrome_settings_overrides
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/chrome_settings_overrides
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+ - chrome_settings_overrides
+ - manifest.json
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/chrome_settings_overrides
+---
+<div>{{AddonSidebar}}</div>
+
+<p>Utilisez la clé <code>chrome_settings_overrides</code> pour remplacer certains paramètres du navigateur. Deux paramètres sont disponibles :</p>
+
+<ul>
+ <li><code>"homepage"</code>, qui vous permet de remplacer la page d'accueil du navigateur.</li>
+ <li><code>"search_provider"</code>, qui vous permet d'ajouter un nouveau moteur de recherche.</li>
+</ul>
+
+<pre class="brush: json no-line-numbers">"chrome_settings_overrides" : {
+ "homepage": "https://developer.mozilla.org/"
+}</pre>
+
+<pre class="brush: json no-line-numbers">"chrome_settings_overrides": {
+ "search_provider": {
+ "name": "Discogs",
+ "search_url": "https://www.discogs.com/search/?q={searchTerms}",
+ "keyword": "disc",
+ "favicon_url": "https://www.discogs.com/favicon.ico"
+ }
+}</pre>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th colspan="2" scope="row">clé de manifeste : <code>chrome_settings_overrides</code></th>
+ </tr>
+ <tr>
+ <th scope="row">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La clé <code>chrome_settings_overrides</code> est un objet qui peut avoir les propriétés suivantes:</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>homepage</code></td>
+ <td><font face="Consolas">Chaîne de caractères</font></td>
+ <td>
+ <p>Définit la page à utiliser comme page d'accueil du navigateur.</p>
+
+ <p>Le remplacement est donné comme une URL. L'URL peut :</p>
+
+ <ul>
+ <li>pointer sur un fichier regroupé avec l'extension, auquel cas il est donné comme une URL relative au fichier manifest.json</li>
+ <li>être une URL distante comme "https://developer.mozilla.org/".</li>
+ </ul>
+
+ <p>Si deux ou plusieurs extensions définissent toutes les deux cette valeur, alors le paramètre de la dernière extension installée aura la priorité.</p>
+
+ <p>Pour éviter de nouveaux onglets, utilisez à la place "<a href="/en-US/Add-ons/WebExtensions/manifest.json/chrome_url_overrides">chrome_url_overrides</a>".</p>
+
+ <p>C'est une  <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json"><u><font color="#0066cc">propriété localisable</font></u></a>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>search_provider</code></td>
+ <td><code>Objet</code></td>
+ <td>
+ <p>Définit un moteur de recherche à ajouter au navigateur.</p>
+
+ <p>Le moteur de recherche a un nom et une URL principale. D'autres URL peuvent être fournies, y compris des URL pour des recherches plus spécialisées comme des recherches d'images. Dans l'URL que vous fournissez, utilisez "<code>{searchTerms}</code>" pour interpoler le terme de recherche  dans l'URL, comme : <code>https://www.discogs.com/search/?q={searchTerms}</code>. Vous pouvez également fournir des paramètres POST à envoyer avec la recherche.</p>
+
+ <p>Le moteur de recherche sera présenté à l'utilisateur à côté de ceux fournis dans l'interface. Si vous incluez la propriété <code>is_default</code>et le configurez avec <code>true</code>, le nouveau moteur de recherche devient l'option par défaut. Avec l'utilisation de la propriété<code>keyword</code>, vous permettez à l'utilisateur de sélectionner votre moteur de recherche en tapant le mot-clé dans la barre d'adresse avant le terme recherché.</p>
+
+ <p>C'est un objet avec les propriétés listées ci-dessous. Toutes les propriétés chaîne de caractères sont <a href="/en-US/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">localisable</a>s.</p>
+
+ <dl>
+ <dt><code>name</code></dt>
+ <dd>Chaîne de caractères : le nom du moteur de recherche, affiché pour l'utilisateur.</dd>
+ <dt><code>search_url</code></dt>
+ <dd>Chaîne de caractères : l'URL utilisée par le moteur de recherche. Il peut être une URL HTTPS.</dd>
+ <dt><code>is_default</code></dt>
+ <dd>Booléen: "True" si le moteur de recherch doit être le choix par défaut.</dd>
+ <dt><code>alternate_urls {{optional_inline}}</code></dt>
+ <dd>Tableau de chaînes de caractères : un éventail d'URL alternatives, qui peut être utilisé à la place de<code>search_url</code>.</dd>
+ <dt><code>encoding {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : codage du terme de recherche, spécifié comme un <a href="https://www.iana.org/assignments/character-sets/character-sets.xhtml">standard character encoding name</a>, voir "UTF-8".</dd>
+ <dt><code>favicon_url {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : URL pointant sur une icône pour le moteur de recherche. Ce doit être une URL absolue HTTP ou HTTPS.</dd>
+ <dt><code>image_url {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : URL utilisée pour une recherche d'images.</dd>
+ <dt><code>image_url_post_params {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : paramètres POST à envoyer à<code>image_url</code>.</dd>
+ <dt><code>instant_url {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : URL utilisée pour une recherche instantanée.</dd>
+ <dt><code>instant_url_post_params {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : paramètres POST à envoyer à <code>instant_url</code>.</dd>
+ <dt><code>keyword {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : mots-clés de la barre d'adresse pour le moteur de recherche.</dd>
+ <dt><code>prepopulated_id {{optional_inline}}</code></dt>
+ <dd>L'ID d'un moteur de recherche intégré à utiliser.</dd>
+ <dt><code>search_url_post_params {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : paramètres POST à envoyer à<code>search_url</code>.</dd>
+ <dt><code>suggest_url {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : URL utilisée pour les suggestions de recherche. Ceci doit être une URL HTTPS</dd>
+ <dt><code>suggest_url_post_params {{optional_inline}}</code></dt>
+ <dd>Chaîne de caractères : paramètres POST à envoyer à<code>suggest_url</code>.</dd>
+ </dl>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_de_navigateur">Compatibilité de navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.chrome_settings_overrides", 10)}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_url_overrides/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_url_overrides/index.html
new file mode 100644
index 0000000000..0cf35648f1
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_url_overrides/index.html
@@ -0,0 +1,97 @@
+---
+title: chrome_url_overrides
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/chrome_url_overrides
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/chrome_url_overrides
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+  "chrome_url_overrides" : {
+    "newtab": "my-new-tab.html"
+  }</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez la clé <code>chrome_url_overrides</code> pour fournir un remplacement personnalisé pour les documents chargés dans différentes pages spéciales généralement fournies par le navigateur lui-même.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La clé <code>chrome_url_overrides</code> est un objet qui peut avoir les propriétés suivantes:</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>bookmarks</code></td>
+ <td><font face="Consolas">Chaîne de caractères</font></td>
+ <td>
+ <p>Remplace la page qui affiche les signets.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>history</code></td>
+ <td><font face="Consolas">chaîne de caractères</font></td>
+ <td>
+ <p>Remplace la page qui affiche l'historique de navigation.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>newtab</code></td>
+ <td><font face="Consolas">chaîne de caractères</font></td>
+ <td>
+ <p>Remplace le document qui s'affiche dans la page "Nouvel onglet". Ceci est la page affichée lorsque l'utilisateur a ouvert un nouvel onglet, mais n'a chargé aucun document : par exemple, en utilisant le raccourci clavier <kbd>Ctrl</kbd>/<kbd>Command</kbd>+<kbd>T</kbd>.</p>
+
+ <p>Le remplacement est donné en tant qu'URL d'un fichier HTML. Le fichier doit être regroupé avec l'extension : vous ne pouvez pas spécifier une URL distante ici. Vous pouvez le spécifier par rapport au dossier racine de l'extension, comme : "path/to/newtab.html".</p>
+
+ <p>Le document peut charger CSS et JavaScript, tout comme une page Web normale. L'utilisation de JavaScript dans la page permet d'accéder aux mêmes <a href="/en-US/Add-ons/WebExtensions/API">API privilégiées "browser.*" </a>comme une extension d'arrière-plan.</p>
+
+ <p>Il est très pratique d'inclure un <a href="/en-US/docs/Web/HTML/Element/title">&lt;title&gt;</a> pour la page, ou le titre de l'onglet sera l'URL "moz-extension://..." .</p>
+
+ <p>Un cas d'utilisation courant est de permettre à l'utilisateur de définir une nouvelle page d'onglet : pour ce faire, fournir une nouvelle page d'onglet personnalisée qui navigue vers la page définie par l'utilisateur.</p>
+
+ <p>Si deux ou plusieurs extensions définissent toutes les deux de nouvelles pages à onglet personnalisées, alors la dernière à être installée ou activée utilise sa valeur.</p>
+
+ <p>Pour remplacer la page d'accueil du navigateur, utilisez plutôt "<a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/chrome_settings_overrides">chrome_settings_overrides</a>".</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Toutes les propriétés sont <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">localisables</a>.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"chrome_url_overrides" : {
+ "newtab": "my-new-tab.html"
+}</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.chrome_url_overrides")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/commands/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/commands/index.html
new file mode 100644
index 0000000000..067ac67927
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/commands/index.html
@@ -0,0 +1,200 @@
+---
+title: commands
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/commands
+tags:
+ - Add-ons
+ - Extensions
+ - Keyboard Shortcuts
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/commands
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"commands": {
+ "toggle-feature": {
+ "suggested_key": {
+ "default": "Ctrl+Shift+Y",
+ "linux": "Ctrl+Shift+U"
+ },
+ "description": "Send a 'toggle-feature' event"
+ }
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p><span class="seoSummary">Utilisez la clé <strong><code>commands</code></strong> pour définir un ou plusieurs raccourcis clavier pour votre extension.</span></p>
+
+<p>Chaque raccourci clavier est défini avec un <strong>nom</strong>, une <strong>combination de clé</strong>, et un <strong>description</strong>. Une fois que vous avez défini des commandes dans le fichier <code>manifest.json</code>, de votre extension, vous pouvez écouter leurs combinaisons de touches associées avec l'API JavaScript  {{WebExtAPIRef("commands")}}.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La clé <code>commands</code> est un objet et chaque raccourci est une propriété de celui-ci. <strong>Le nom de la propriété est le nom du raccourci</strong>.</p>
+
+<p>Chaque raccourci est lui-même un objet, qui possède jusqu'à deux propriétés :</p>
+
+<ul>
+ <li><code>suggested_key</code> : définit la combinaison de touches</li>
+ <li><code>description</code> : une chaîne qui décrit ce raccourci</li>
+</ul>
+
+<p>La propriété <code>suggested_key</code> est elle-même un objet pouvant avoir l'une des propriétés suivantes et qui sont toutes des chaînes :</p>
+
+<ul>
+ <li><code>"default"</code></li>
+ <li><code>"mac"</code></li>
+ <li><code>"linux"</code></li>
+ <li><code>"windows"</code></li>
+ <li><code>"chromeos"</code></li>
+ <li><code>"android"</code></li>
+ <li><code>"ios"</code></li>
+</ul>
+
+<p>La valeur de chaque propriété est le raccourci clavier pour la commande sur la plateforme donnée, sous la forme d'une chaîne contenant les touches séparées par "<code>+</code>". La valeur de <code>"default"</code> est utilisée sur toutes les plateformes qui ne sont pas listées explicitement.</p>
+
+<p>Par exemple :</p>
+
+<pre class="brush: json no-line-numbers">"commands": {
+ "toggle-feature": {
+ "suggested_key": {
+ "default": "Alt+Shift+U",
+ "linux": "Ctrl+Shift+U"
+ },
+ "description": "Send a 'toggle-feature' event to the extension"
+ },
+ "do-another-thing": {
+ "suggested_key": {
+ "default": "Ctrl+Shift+Y"
+ }
+ }
+}</pre>
+
+<p>Cela définit deux raccourcis :</p>
+
+<ul>
+ <li>une nommée <code>"toggle-feature"</code>, accessible à l'aide de <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>U</kbd> sur Linux et <kbd>Alt</kbd>+<kbd>Shift</kbd>+<kbd>U</kbd> sur toutes les autres plateformes</li>
+ <li>une nommée <code>"do-another-thing"</code>, accessible à l'aide de <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Y</kbd> sur toutes les plateformes.</li>
+</ul>
+
+<p>Vous pouvez alors écouter la commande <code>"toggle-feature"</code> avec un code comme celui-ci :</p>
+
+<pre class="brush: js no-line-numbers">browser.commands.onCommand.addListener(function(command) {
+ if (command == "toggle-feature") {
+ console.log("toggling the feature!");
+ }
+});</pre>
+
+<h3 id="Raccourcis_spéciaux">Raccourcis spéciaux</h3>
+
+<p>Il existe 3 <strong>raccourci spéciaux avec des actions par défaut</strong>, pour lesquels l'événement  {{WebExtAPIRef("commands.onCommand")}} n'est pas déclenché :</p>
+
+<ul>
+ <li><code>_execute_browser_action</code>: fonctionne comme un clic sur une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_action">action de navigateur</a> de l'extension.</li>
+ <li><code>_execute_page_action</code>: fonctionne comme un clic sur une <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Page_actions">action de page</a> de l'extension.</li>
+ <li><code>_execute_sidebar_action</code>: ouvre le <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Sidebars">panneau latéral</a> de l'extension. Uniquement pris en charge par Firefox et uniquement à partir de Firefox version 54.</li>
+</ul>
+
+<p>Par exemple, ce JSON définit une combinaison de touches qui clique sur l'action du navigateur de l'extension :</p>
+
+<pre class="brush: js no-line-numbers">"commands": {
+ "_execute_browser_action": {
+ "suggested_key": {
+ "default": "Ctrl+Shift+Y"
+ }
+ }
+}</pre>
+
+<h2 id="Les_valeurs_de_raccourci">Les valeurs de raccourci</h2>
+
+<p>Il existe deux formats valides pour les touches de raccourci : comme une combinaison de touches ou comme une clé multimédia.</p>
+
+<h3 id="Combinaisons_de_touches">Combinaisons de touches</h3>
+
+<div class="pull-aside">
+<div class="moreinfo">Sur Mac, <code>"Ctrl"</code> est interprété comme <code>"Command"</code>, donc si vous avez réellement besoin de <code>"Ctrl"</code>, spécifiez <code>"MacCtrl"</code>.</div>
+</div>
+
+<p>Les combinaisons de touches doivent être composées de deux ou trois touches :</p>
+
+<ol>
+ <li><strong>modificateur</strong> (obligatoire, à l'exception des touches de fonction). Il peut s'agir de <code>"Ctrl"</code>, <code>"Alt"</code>, <code>"Command"</code>, ou <code>"MacCtrl"</code>.</li>
+ <li><strong>second modificateur</strong> (facultatif). S'il est fourni, il doit être <code>"Shift"</code> ou (pour Firefox ≥ 63) l'un quelconque des <code>"Ctrl"</code>, <code>"Alt"</code>, <code>"Command"</code>, ou <code>"MacCtrl"</code>. Ne doit pas être le modificateur déjà utilisé comme modificateur principal.</li>
+ <li><strong>touche </strong>(obligatoire). Ce peut être l'une des touches :
+ <ul>
+ <li>lettres <code>A</code>–<code>Z</code></li>
+ <li>chiffres <code>0</code>–<code>9</code></li>
+ <li>fonctions <code>F1</code>–<code>F12</code></li>
+ <li><code>Comma</code>(virgule), <code>Period</code>(point), <code>Home</code> (début), <code>End</code> (Fin), <code>PageUp</code>(page précédente), <code>PageDown</code> (page suivante), <code>Space</code> (espace), <code>Insert</code>(inser), <code>Delete</code>(Suppr), <code>Up</code> (haut), <code>Down</code> (bas), <code>Left</code>(gauche), <code>Right</code> (droite)</li>
+ </ul>
+ </li>
+</ol>
+
+<p>La clé est ensuite donnée sous la forme d'une chaîne contenant l'ensemble des valeurs de clé, dans l'ordre indiqué ci-dessus, séparées "<code>+</code>". Par exemple, <code>"Ctrl+Shift+Z"</code>.</p>
+
+<p>Si une combinaison de touches est déjà utilisée par le navigateur (comme <code>"Ctrl+P"</code>) ou par un complément existant, vous ne pouvez pas la remplacer. Vous pouvez le définir, mais votre gestionnaire d'événements ne sera pas appelé lorsque l'utilisateur appuiera sur la combinaison de touches.</p>
+
+<h3 id="Touches_médias">Touches médias</h3>
+
+<p>Une alternative est de spécifier le raccourci comme l'une des touches de média suivantes :</p>
+
+<ul>
+ <li><code>"MediaNextTrack"</code></li>
+ <li><code>"MediaPlayPause"</code></li>
+ <li><code>"MediaPrevTrack"</code></li>
+ <li><code>"MediaStop"</code></li>
+</ul>
+
+<h2 id="Mise_à_jour_des_raccourcis">Mise à jour des raccourcis</h2>
+
+<p>Les raccourcis peuvent être mis à jour via {{WebExtAPIRef("commands.update()")}}. Les utilisateurs peuvent également mettre à jour les raccourcis via l'option "Gérer les raccourcis d'extension" sur <code>about:addons</code> dans Firefox, comme montré dans <a href="https://bug1303384.bmoattachments.org/attachment.cgi?id=9051647">cette video</a>. Dans Chrome, les utilisateurs peuvent modifier les raccourcis sur <code>chrome://extensions/shortcuts</code>.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<p>Définissez un seul raccourci clavier en utilisant uniquement la combinaison de touches par défaut :</p>
+
+<pre class="brush: json no-line-numbers">"commands": {
+ "toggle-feature": {
+ "suggested_key": {
+ "default": "Ctrl+Shift+Y"
+ },
+ "description": "Send a 'toggle-feature' event"
+ }
+}</pre>
+
+<p>Définissez deux raccourcis clavier, l'un avec une combinaison de touches spécifique à la plate-forme :</p>
+
+<pre class="brush: json no-line-numbers">"commands": {
+ "toggle-feature": {
+ "suggested_key": {
+ "default": "Alt+Shift+U",
+ "linux": "Ctrl+Shift+U"
+ },
+ "description": "Send a 'toggle-feature' event"
+ },
+ "do-another-thing": {
+ "suggested_key": {
+ "default": "Ctrl+Shift+Y"
+ }
+ }
+}</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.commands")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/content_scripts/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/content_scripts/index.html
new file mode 100644
index 0000000000..8bad37fb58
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/content_scripts/index.html
@@ -0,0 +1,235 @@
+---
+title: content_scripts
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Type</th>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
+"content_scripts": [
+ {
+ "matches": ["*://*.mozilla.org/*"],
+ "js": ["borderify.js"]
+ }
+]</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Ordonne au navigateur de charger des <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a> dans les pages web dont l’URL correspond à un modèle donné.</p>
+
+<p>Cette clé est un tableau. Chaque élément est un objet qui :</p>
+
+<ul>
+ <li><strong>doit</strong> contenir une clé nommée <strong><code>matches</code></strong>, qui spécifie les modèles d’URL à reconnaître afin que les scripts soient chargés ;</li>
+ <li><strong>peut</strong> contenir des clés nommées <strong><code>js</code></strong> et <strong><code>css</code></strong>, qui listent les scripts à charger dans les pages correspondantes ;</li>
+ <li><strong>peut</strong> contenir un certain nombre d’autres propriétés qui contrôlent des aspects plus fins correspondant à quand et comment les scripts de contenu sont chargés.</li>
+</ul>
+
+<p>Le tableau ci-dessous présente le détail de toutes les clés que vous pouvez inclure.</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a id="all_frames" name="all_frames"><code>all_frames</code></a></td>
+ <td>{{ jsxref("boolean", "Booléen") }}</td>
+ <td>
+ <p><code>true</code> : injecte les scripts spécifiés dans {{ anch("js") }} et {{ anch("css") }} dans tous les cadres correspondant aux exigences d’URL spécifiées, même s’il n’est pas le cadre le plus haut d’un onglet. Cela n’injecte pas dans les cadres enfants quand seul leur parent correspond aux exigences d’URL et pas les cadres enfants. Les exigences d’URL sont vérifiées pour chaque cadre indépendamment.</p>
+
+ <p><code>false</code> : injecte seulement dans le cadre le plus haut de l’onglet qui répond aux exigences d’URL.</p>
+
+ <p>Par défaut à <code>false</code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><a id="css" name="css"><code>css</code></a></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>Un tableau de chemins, relatifs à <em>manifest.json</em>, référençant les fichiers CSS qui seront injectés dans les pages correspondantes.</p>
+
+ <p>Les fichiers sont injectés dans l’ordre donné, et avant que le DOM ne soit chargé.</p>
+
+ <div class="blockIndicator note">
+ <p>Firefox résout les URLs dans les fichiers CSS injectés par rapport au fichier CSS lui-même, plutôt que par rapport à la page dans laquelle il est injecté.</p>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td><a id="exclude_globs" name="exclude_globs"><code>exclude_globs</code></a></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>Un tableau de chaînes contenant des caractères génériques. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><a id="exclude_matches" name="exclude_matches"><code>exclude_matches</code></a></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>Un tableau de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">modèles de correspondance</a>. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><a id="include_globs" name="include_globs"><code>include_globs</code></a></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>Un tableau de chaînes contenant des caractères génériques. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.</td>
+ </tr>
+ <tr>
+ <td><a id="js" name="js"><code>js</code></a></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>Un tableau de chemins, relatifs au fichier <em>manifest.json</em>, référençant les fichiers JavaScript qui seront injectés dans les pages correspondantes.</p>
+
+ <p>Les fichiers sont injectés dans l’ordre indiqué. Cela signifie que, par exemple, si vous incluez ici jQuery suivi d’un autre script de contenu, comme ceci :</p>
+
+ <pre class="brush: json">
+<code>"js": ["jquery.js", "my-content-script.js"]</code></pre>
+
+ <p>alors <em>my-content-script.js</em> peut utiliser jQuery.</p>
+
+ <p>Les fichiers sont injectés au moment spécifié par {{ anch("run_at") }}.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a id="match_about_blank" name="match_about_blank">match_about_blank</a></code></td>
+ <td>{{ jsxref("boolean", "Booléen") }}</td>
+ <td>
+ <p>Insère les scripts de contenu dans les pages dont l’URL est <code>about:blank</code> ou <code>about:srcdoc</code>, si l’URL de la page qui a ouvert ou créé cette page {{ anch("Les_modèles_de_correspondance_d’URL", "correspond aux modèles") }} spécifiés dans le reste de la clé <code>content_scripts</code>.</p>
+
+ <p>Ceci est particulièrement utile pour exécuter des scripts dans des {{ htmlelement("iframe", "iframes") }} vides, dont l’URL est <code>about:blank</code>. Pour ce faire, vous devez également définir la clé <code>all_frames</code>.</p>
+
+ <p>Par exemple, supposons que vous disposiez d’une clé de <code>content_scripts</code> comme ceci :</p>
+
+ <pre class="brush: json">
+"content_scripts": [
+ {
+ "js": ["my-script.js"],
+ "matches": ["https://example.org/"],
+ "match_about_blank": true,
+ "all_frames": true
+ }
+]</pre>
+
+ <p>Si l’utilisateur ou l’utilisatrice charge <code>https://example.org/</code>, et si cette page intègre une iframe vide, alors <em>my-script.js</em> sera chargé dans l’iframe.</p>
+
+ <p><code>match_about_blank</code> est supporté dans Firefox à partir de la version 52. Notez que dans Firefox, les scripts de contenu ne seront pas injectés dans les iframes vides à <code>"document_start"</code> même si vous spécifiez cette valeur dans {{ anch("run_at") }}.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><a id="matches" name="matches"><code>matches</code></a></td>
+ <td>{{ jsxref("array", "Tableau") }}</td>
+ <td>
+ <p>Un ensemble de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">modèles de correspondance</a>. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.</p>
+
+ <p>C’est la seule clé obligatoire.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><a id="run_at" name="run_at"><code>run_at</code></a></td>
+ <td>{{ jsxref("string", "Chaîne") }}</td>
+ <td>
+ <p>Cette option détermine quand les scripts spécifiés dans {{ anch("js") }} sont injectés. Vous pouvez fournir une chaîne parmi trois ici, chacune identifiant un état dans le processus de chargement d’un document. Les états correspondent directement à {{domxref("Document/readyState", "Document.readyState")}} :</p>
+
+ <ul>
+ <li><code>"document_start"</code> : correspond à <code>"loading"</code>. Le DOM est toujours en cours de chargement.</li>
+ <li><code>"document_end"</code> : correspond à <code>"interactive"</code>. Le DOM a fini de charger, mais des ressources telles que des scripts et des images peuvent toujours être en cours de chargement.</li>
+ <li><code>"document_idle"</code> : correspond à <code>"complete"</code>. Le document et toutes ses ressources ont terminé de charger.</li>
+ </ul>
+
+ <p>La valeur par défaut est <code>"document_idle"</code>.</p>
+
+ <p>Dans tous les cas, les fichiers dans {{ anch("js") }} sont injectés après les fichiers dans {{ anch("css") }}.</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Les_modèles_de_correspondance_d’URL">Les modèles de correspondance d’URL</h2>
+
+<p>La clé <code>content_scripts</code> associe les scripts de contenu aux documents en fonction de la correspondance des URL : si l’URL du document correspond à la spécification de la clé, le script sera joint. Il existe quatre propriétés dans <code>content_scripts</code> que vous pouvez utiliser pour cette spécification :</p>
+
+<ul>
+ <li><code>matches</code> : un tableau de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">match patterns</a> (modèles).</li>
+ <li><code>exclude_matches</code> : un tableau de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">match patterns</a>.</li>
+ <li><code>include_globs</code> : un tableau de {{ anch("globs") }} (caractères génériques).</li>
+ <li><code>exclude_globs</code> : un tableau de {{ anch("globs") }}.</li>
+</ul>
+
+<p>Pour associer une de ces propriétés, une URL doit correspondre à au moins un des éléments de son tableau. Par exemple, donner une propriété comme :</p>
+
+<pre class="brush: json">"matches": ["*://*.example.org/*", "*://*.example.com/*"]</pre>
+
+<p>Les deux adresses <code>http://example.org/</code> et <code>http://example.com/</code> correspondront.</p>
+
+<p>Étant donné que <code>matches</code> est la seule clé obligatoire, les trois autres clés sont utilisées pour limiter davantage les URL qui correspondent. Pour associer la clé dans son ensemble, une URL doit :</p>
+
+<ol>
+ <li>Correspondre à la propriété <code>matches</code> ;</li>
+ <li>ET associer à la propriété <code>include_globs</code>, si présent ;</li>
+ <li>ET NE PAS correspondre à la propriété <code>exclude_matches</code>, si présent ;</li>
+ <li>ET NE PAS correspondre à la propriété <code>exclude_globs</code>, si présent.</li>
+</ol>
+
+<h3 id="globs">globs</h3>
+
+<p>Un « glob » est juste une chaîne qui peut contenir des caractères génériques. Il existe deux types de caractères génériques, et vous pouvez les combiner dans le même glob :</p>
+
+<ul>
+ <li><code>"*"</code> correspond à zéro ou plus de caractères</li>
+ <li><code>"?"</code> correspond exactement à un caractère.</li>
+</ul>
+
+<p>Par exemple : <code>"*na?i"</code> correspond à <code>"illuminati"</code> et à <code>"annunaki"</code>, mais pas à <code>"sagnarelli"</code>.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json">"content_scripts": [
+ {
+ "matches": ["*://*.mozilla.org/*"],
+ "js": ["borderify.js"]
+ }
+]</pre>
+
+<p>Cela injecte un seul script de contenu <em>borderify.js</em> dans toutes les pages sous <code>mozilla.org</code> ou l’un de ses sous-domaines, qu’ils soient fournis via HTTP ou HTTPS.</p>
+
+<pre class="brush: json">"content_scripts": [
+ {
+ "exclude_matches": ["*://developer.mozilla.org/*"],
+ "matches": ["*://*.mozilla.org/*"],
+ "js": ["jquery.js", "borderify.js"]
+ }
+]</pre>
+
+<p>Cela implique deux scripts de contenu dans toutes les pages sous <code>mozilla.org</code> ou l’un de ses sous-domaines, à l’exception de <code>developer.mozilla.org</code>, qu’il s’agisse de HTTP ou HTTPS.</p>
+
+<p>Les scripts de contenu ont la même vue du DOM et sont injectés dans l’ordre où ils apparaissent dans le tableau, de sorte que <em>borderify.js</em> peut voir les variables globales ajoutées par <em>jquery.js</em>.</p>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">La table de compatibilité dans cette page est générée à partir de données structurées. Si vous souhaitez contribuer aux données, veuillez consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et nous envoyer une <em lang="en-US">pull request.</em></p>
+
+<div>{{Compat("webextensions.manifest.content_scripts")}}</div>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/content_security_policy/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/content_security_policy/index.html
new file mode 100644
index 0000000000..fd1c0d131b
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/content_security_policy/index.html
@@ -0,0 +1,117 @@
+---
+title: content_security_policy
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>String</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"content_security_policy": "default-src 'self'"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Les extensions ont une politique de sécurité de contenu qui leur est appliquée par défaut. La stratégie par défaut restreint les sources à partir desquelles elles peuvent charger les ressources <a href="/fr/docs/HTML/Element/script">&lt;script&gt;</a> et <a href="/docs/Web/HTML/Element/object">&lt;object&gt;</a>, et interdit les pratiques potentiellement dangereuses telles que l’utilisation d’<code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/eval">eval()</a></code>. Voir la <a href="/fr/Add-ons/WebExtensions/Content_Security_Policy#Default_content_security_policy">politique de sécurité de contenu par défaut</a> pour en savoir plus sur ces implications.</p>
+
+<p>Vous pouvez utiliser la clé <code>"content_security_policy"</code> pour desserrer ou resserrer la politique par défaut. Cette clé est spécifiée de la même manière que l’en-tête HTTP Content-Security-Policy. Voir l’<a href="/fr/docs/HTTP/CSP">utilisation de la politique de sécurité de contenu</a> pour une description générale de la syntaxe de CSP.</p>
+
+<p>Par exemple, vous pouvez utiliser cette clé pour :</p>
+
+<ul>
+ <li>permettre à l’extension de charger des scripts et des objets hors de son paquet, en fournissant leurs URL dans les directives {{CSP("script-src")}} or {{CSP("object-src")}} ;</li>
+ <li>permettre à l’extension d’exécuter des scripts en ligne, en <a href="/fr/docs/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script">fournissant le hash du script dans la directive <code>"script-src"</code></a> ;</li>
+ <li>permettre à l’extension d’utiliser <code>eval()</code> et des fonctionnalités similaires, en incluant <code>'unsafe-eval'</code> dans la directive {{CSP("script-src")}} ;</li>
+ <li>limiter les sources autorisées pour d’autres types de contenu, tels que les images et les feuilles de style, en utilisant la <a href="https://publicsuffix.org/list/" lang="en">directive de politique</a> appropriée.</li>
+</ul>
+
+<p>Il existe des restrictions sur la politique que vous pouvez spécifier ici :</p>
+
+<ul>
+ <li>La politique doit inclure au moins les directives {{CSP("script-src")}} et les {{CSP("object-src")}}, et la directive {{CSP("script-src")}} doit contenir le mot-clé <code>'self'</code>.</li>
+ <li>Les sources distantes doivent utiliser le schéma <code>https:</code>.</li>
+ <li>Les sources distantes ne doivent pas utiliser de caractères génériques pour les domaines dans la <a href="https://publicsuffix.org/list/">liste des suffixes publics</a> (ainsi, « *.co.uk » et « *.blogspot.com » ne sont pas autorisés, même si « *.foo.blogspot.com » est autorisé).</li>
+ <li>Toutes les sources doivent spécifier un hôte.</li>
+ <li>Les seuls schémas autorisés pour les sources sont : <code>blob:</code>, <code>filesystem:</code>, <code>moz-extension:</code>, et <code>https:</code>.</li>
+ <li>Les seuls <a href="/fr/docs/HTTP/Headers/Content-Security-Policy/default-src#Sources">mots-clés</a> autorisés sont : <code>'none'</code>, <code>'self'</code>, et <code>'unsafe-eval'</code>.</li>
+</ul>
+
+<h2 id="Exemple">Exemple</h2>
+
+<h3 id="Examples_valides">Examples valides</h3>
+
+<p>Autoriser les scripts distants de "https://example.com" : <sup>(<em>voir note</em> <a href="https://developer.mozilla.org/fr/Add-ons/WebExtensions/manifest.json/content_security_policy$edit#exampleNote_1">1</a>)</sup></p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"</pre>
+
+<p>Autoriser les scripts distants depuis n’importe quel sous-domaine de « jquery.com » :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self' https://*.jquery.com; object-src 'self'"</pre>
+
+<p>Autoriser <a href="/fr/Add-ons/WebExtensions/Content_Security_Policy#eval()_et_amis"><code>eval()</code> et ses amis </a>:</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self';"</pre>
+
+<p>Autoriser le script en ligne : <code>"&lt;script&gt;alert('Hello, world.');&lt;/script&gt;"</code> :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self' 'sha256-qznLcsROx4GACP2dm0UCKCzCG+HiZ1guq6ZZDob/Tng='; object-src 'self'"</pre>
+
+<p>Conserver le reste de la politique, mais exiger également que les images soient empaquetées avec l’extension :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self'; object-src 'self'; img-src 'self'"</pre>
+
+<p>Exiger que tous les types de contenu soient empaquetés avec l’extension :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "default-src 'self'"
+</pre>
+
+<h3 id="Exemples_non_valides">Exemples non valides</h3>
+
+<p>Politique qui omet la directive <code>"object-src"</code> :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self' https://*.jquery.com;"</pre>
+
+<p>Politique qui omet le mot-clé <code>"self"</code> dans la directive <code>"script-src"</code> :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src https://*.jquery.com; object-src 'self'"</pre>
+
+<p>Le schéma pour une source distante n’est pas <code>https:</code> :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self' http://code.jquery.com; object-src 'self'"</pre>
+
+<p>Le caractère générique est utilisé avec un domaine générique :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self' https://*.blogspot.com; object-src 'self'"</pre>
+
+<p>La source spécifie un schéma mais aucun hôte :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self' https:; object-src 'self'"</pre>
+
+<p>La directive inclut le mot-clé non pris en charge <code>'unsafe-inline'</code> :</p>
+
+<pre class="brush: json no-line-numbers">"content_security_policy": "script-src 'self' 'unsafe-inline'; object-src 'self'"</pre>
+
+<p><span id="exampleNote_1">1. <em>Note : l</em></span><em>es exemples valides montrent l’utilisation correcte des clés dans CSP.<span> </span>Toutefois, les extensions avec </em><span><em><code>'unsafe-eval'</code>, <code>'unsafe-inline'</code>, des blobs, des scripts ou des sources distantes dans leur CSP ne sont pas autorisées à être répertoriées sur addons.mozilla.org en raison de problèmes de sécurité majeurs.</em></span></p>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you’d like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.content_security_policy")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/default_locale/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/default_locale/index.html
new file mode 100644
index 0000000000..a22132ac17
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/default_locale/index.html
@@ -0,0 +1,46 @@
+---
+title: default_locale
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/default_locale
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/default_locale
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><font face="Consolas">chaîne</font></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>
+ <p>Il doit être présent si le sous-répertoire _locales est présent, sinon il doit être absent.</p>
+ </td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"default_locale": "fr"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p><span id="result_box" lang="fr"><span>Cette clé doit être présente si l'extension contient le répertoire</span></span> _locales, <span id="result_box" lang="fr"><span>et doit être absente sinon</span></span>. <span id="result_box" lang="fr"><span>Il identifie un sous-répertoire de</span></span> _locales, e<span id="result_box" lang="fr"><span>t ce sous-répertoire sera utilisé pour trouver les chaînes par défaut pour votre extension.</span></span></p>
+
+<p>Voir <a href="/fr/Add-ons/WebExtensions/Internationalization">Internationalisation</a>.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"default_locale": "fr"</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.default_locale")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/description/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/description/index.html
new file mode 100644
index 0000000000..a229e7a2c5
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/description/index.html
@@ -0,0 +1,44 @@
+---
+title: description
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/description
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/description
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><font face="Consolas">chaîne</font></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"description": "Remplace des images par des portraits de chats."</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Une brève description de l'extension, destinée à être affichée dans l'interface utilisateur du navigateur.</p>
+
+<p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"description": "Remplace des images par des portraits de chats."</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.description")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/developer/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/developer/index.html
new file mode 100644
index 0000000000..aa9b4d4cf7
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/developer/index.html
@@ -0,0 +1,52 @@
+---
+title: developer
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/developer
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/developer
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"developer": {
+ "name": "Walt Whitman",
+ "url": "https://en.wikipedia.org/wiki/Walt_Whitman"
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Le nom du développeur de l'extension et l'URL de sa page d'accueil, destinés à être affichés dans l'interface utilisateur du navigateur.</p>
+
+<p>L'objet et ses deux propriétés sont facultatifs. Les propriétés "nom" et "url", si présentes, remplacent respectivement les clés <a href="/fr/Add-ons/WebExtensions/manifest.json/author">author</a> et <a href="/fr/Add-ons/WebExtensions/manifest.json/homepage_url">homepage_url</a>. Cet objet ne permet qu'un seul nom de développeur et une URL à spécifier.</p>
+
+<p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"developer": {
+ "name": "Walt Whitman",
+ "url": "https://en.wikipedia.org/wiki/Walt_Whitman"
+}</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.developer")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/devtools_page/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/devtools_page/index.html
new file mode 100644
index 0000000000..ad9e89c36f
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/devtools_page/index.html
@@ -0,0 +1,50 @@
+---
+title: devtools_page
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/devtools_page
+tags:
+ - Add-ons
+ - DevTools
+ - Extensions
+ - Manifest
+ - Reference
+ - WebExtensions
+ - devtools_page
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/devtools_page
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><font face="Consolas">chaîne</font></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"devtools_page": "devtools/my-page.html"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez cette clé pour activer votre extension et intégrer les outils de développement du navigateur.</p>
+
+<p>Cette clé est définie comme une URL d'un fichier HTML. Le fichier HTML doit être regroupé avec l'extension, et l'URL est relative à la racine de l'extension.</p>
+
+<p>Voir <a href="/fr/Add-ons/WebExtensions/Extending_the_developer_tools">Extension des outils développeurs</a> pour plus d'informations.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"devtools_page": "devtools/my-page.html"</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.devtools_page")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/dictionaries/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/dictionaries/index.html
new file mode 100644
index 0000000000..b5847938a6
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/dictionaries/index.html
@@ -0,0 +1,47 @@
+---
+title: dictionaries
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/dictionaries
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+ - manifest.json
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/dictionaries
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"dictionaries": {
+ "en-US": "dictionaries/en-US.dic"
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Les clés des <code>dictionaries</code> specifie le <code>locale_code</code> pour lequel votre extension fournit un dictionnaire. Bien que le dictionnaire se compose de deux fichiers, l'un avec une extension  <code>.dic</code> et l'autre avec une extension <code>.aff</code>, seul celui avec l'extension <code>.dic</code> est référencé dans le fichier manifest.json.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"dictionaries": {
+ "en-US": "dictionaries/en-US.dic"
+}</pre>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.dictionaries")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/externally_connectable/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/externally_connectable/index.html
new file mode 100644
index 0000000000..bc2f106f90
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/externally_connectable/index.html
@@ -0,0 +1,69 @@
+---
+title: externally_connectable
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/externally_connectable
+tags:
+ - Add-ons
+ - WebExtensions
+ - manifest.json
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/externally_connectable
+---
+<p>{{AddonSidebar}}{{SeeCompatTable}}</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre>
+"externally_connectable": {
+  // List of extension IDs that extension wishes to communicate with
+  // If "browser_action" is specified but "browser_action.ids" is not,
+  // no extensions can communicate with this extension.
+  // To match all extension IDs use "*".
+ "ids": [
+ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+ "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
+ "cccccccccccccccccccccccccccccccc"
+  ],
+  // Regular expression patterns specifying web pages
+  // If "matches" is not specified, no web pages can communicate with
+  // this extension
+  "matches": [
+   "https://example1.com/*",
+  "*://*.example2.com/*"
+  ]
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Une connexion externe permet au développeur d’extensions de contrôler quelles autres extensions et pages Web peuvent communiquer avec cette extension via  {{WebExtAPIRef("runtime.connect","runtime.connect()")}} et {{WebExtAPIRef("runtime.sendMessage", "runtime.sendMessage()")}} passage de message. Si <code>externally_connectable</code> n'est pas spécifié, toutes les extensions peuvent communiquer entre elles, mais pas avec les pages Web.</p>
+
+<h3 id="attribut_ids">attribut "ids"</h3>
+
+<p><code>ids</code> active la communication entre cette extension et les autres extensions installées spécifiées par les identificateurs d'extension. Utilisez le motif <code>"*"</code> si vous souhaitez communiquer avec toutes les extensions. </p>
+
+<h3 id="attribut_matches">attribut "matches"</h3>
+
+<p>Les correspondances permettent la communication entre cette extension et les pages Web. Voici une liste d'expressions régulières pour les URL de page avec lesquelles vous souhaitez communiquer.</p>
+
+<div class="blockIndicator note">
+<p><strong>Note: </strong>Si <code>browser_action</code> n'est pas spécifié, la communication entre les extensions est toujours autorisée, comme si <code>browser_action</code> était <code>{"ids": ["*"] }</code>, par conséquent, si vous spécifiez <code>browser_action.matches</code> n'oubliez pas d'ajouter des identifiants si vous souhaitez toujours communiquer. avec d'autres extensions.</p>
+</div>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<div class="hidden">
+<p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+</div>
+
+<p>{{Compat("webextensions.manifest.externally_connectable")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/homepage_url/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/homepage_url/index.html
new file mode 100644
index 0000000000..2ff68077df
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/homepage_url/index.html
@@ -0,0 +1,46 @@
+---
+title: homepage_url
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/homepage_url
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/homepage_url
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><font face="Consolas">chaîne</font></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"homepage_url": "https://example.org/my-addon"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>URL pour la page d'accueil de l'extension.</p>
+
+<p>Si la clé <a href="https://developer.mozilla.org/fr/Add-ons/WebExtensions/manifest.json/developer">dévelopeur</a> est fournie et qu'elle contient la propriété "url", cela remplacera la clé "homepage_url".</p>
+
+<p>c'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">proriété localisable</a>.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"homepage_url": "https://github.com/mdn/webextensions-examples/tree/master/beastify"</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.homepage_url")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/icons/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/icons/index.html
new file mode 100644
index 0000000000..6fa09fab94
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/icons/index.html
@@ -0,0 +1,78 @@
+---
+title: icons
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/icons
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/icons
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"icons": {
+ "48": "icon.png",
+ "96": "icon@2x.png"
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>La clé <font face="Consolas">icons</font> spécifie des icônes pour votre extension. Ces icônes seront utilisées pour représenter l'extension dans des composants tels que le gestionnaire des modules d'extensions.</p>
+
+<p>Elle se compose d'une paire de valeurs-clés de taille d'image et le chemin d'accès au fichier image par rapport au répertoire racine de l'extension.</p>
+
+<p>Si la clé <font face="Consolas">icons</font> n'est pas fournie, une icône d'extension standard sera utilisée par défaut.</p>
+
+<p>Vous devez fournir au moins une icône d'extension principale, idéalement d'une taille de 48x48 pixels. C'est l'icône par défaut qui sera utilisée dans le Gestionnaire des extensions. Vous pouvez, cependant, fournir des icônes de n'importe quelle taille, et Firefox tentera de trouver la meilleure icône à afficher dans les différents composants.</p>
+
+<p>Firefox considérera la résolution de l'écran lors du choix d'une icône. Pour offrir la meilleure expérience visuelle aux utilisateurs avec des écrans haute résolution, tels que les écrans Retina, fournissez des versions deux fois plus grandes de toutes vos icônes.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<p>Les clés dans l'objet <font face="Consolas">icons</font> spécifient la taille de l'icône en pixels et la valeur spécifie le chemin relatif de l'icône. Cet exemple contient une icône d'extension 48px et une version plus grande pour les écrans haute résolution.</p>
+
+<pre class="brush: json no-line-numbers">"icons": {
+ "48": "icon.png",
+ "96": "icon@2x.png"
+}</pre>
+
+<h2 id="SVG">SVG</h2>
+
+<p>Vous pouvez utiliser SVG et le navigateur mettra à l'échelle appropriée votre icône. Il existe actuellement deux réserves :</p>
+
+<ol>
+ <li>Vous devez spécifier un "viewBox" dans l'image. Par exemple :
+ <pre class="brush: html"><code>&lt;svg viewBox="0 0 48 48" width="48" height="48" ...</code></pre>
+ </li>
+ <li>Même si vous pouvez utiliser un fichier, vous devez toujours spécifier différentes tailles de l'icône dans votre<code> manifest. </code>Par exemple :
+ <pre class="brush: json no-line-numbers">"icons": {
+ "48": "icon.svg",
+ "96": "icon.svg"
+}</pre>
+ </li>
+</ol>
+
+<div class="note">
+<p><strong>Note</strong> : si vous utilisez un programme comme Inkscape pour créer un SVG, vous voudrez peut-être l'enregistrer en tant que "SVG simple". Firefox peut être gêné par des espaces de noms spéciaux, et ne pas afficher votre icône.</p>
+</div>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.icons")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/incognito/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/incognito/index.html
new file mode 100644
index 0000000000..c03d7cad8b
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/incognito/index.html
@@ -0,0 +1,70 @@
+---
+title: incognito
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/incognito
+tags:
+ - Add-ons
+ - WebExtensions
+ - incognito
+ - manifest.json
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/incognito
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><font face="Consolas">chaîne</font></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"incognito": "spanning"</pre>
+
+ <pre class="brush: json no-line-numbers">
+"incognito": "split"</pre>
+
+ <pre class="brush: json no-line-numbers">
+"incognito": "not_allowed"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez la clé <code>incognito</code> pour contrôler la façon dont l'extension fonctionne avec les fenêtres de navigation privées.</p>
+
+<p>Il s'agit d'une chaîne qui peut prendre l'une des valeurs suivantes:</p>
+
+<ul>
+ <li>
+ <p>"spanning" (la valeur par défaut) : affichera des événements à partir de fenêtres et d'onglets privés et non privés. Fenêtres et onglets obtiendront une propriété <code>incognito</code> dans la <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/windows/Window">fenêtre</a></code> ou l'<code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/Tab">onglet </a></code>qui les représente. Cette propriété indique si l'objet est ou non privé :</p>
+
+ <pre class="brush: js">browser.windows.getLastFocused().then((windowInfo) =&gt; {
+ console.log(`Window is private: ${windowInfo.incognito}`);
+});</pre>
+ </li>
+ <li>"split" : l'extension sera divisée entre des fenêtres privées et non privées. Il existe effectivement deux copies de l'extension en cours d'exécution : l'une ne voit que des fenêtres non privées, l'autre ne voit que des fenêtres privées. Chaque copie a un accès isolé aux APIs Web (par exemple, <code><a href="/en-US/docs/Web/API/Storage/LocalStorage">localStorage</a></code> n'est pas partagé). Toutefois, l'API des WebExtension <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/local">storage.local</a></code> est partagé. (<strong>Note:</strong> ce paramètre n'est pas supporté par Firefox.)</li>
+ <li>"not_allowed" : les onglets privés et les fenêtres sont invisibles pour l'extension.</li>
+</ul>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"incognito": "spanning"
+</pre>
+
+<pre class="brush: json no-line-numbers">"incognito": "split"
+</pre>
+
+<pre class="brush: json no-line-numbers">"incognito": "not_allowed"
+</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.incognito")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/index.html
new file mode 100644
index 0000000000..51e44acdca
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/index.html
@@ -0,0 +1,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="blockIndicator note">
+<p>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 class="index">{{ListSubpages("/en-US/Add-ons/WebExtensions/manifest.json")}}</div>
+
+<h3 class="index" 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; no-line-numbers">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>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/manifest_version/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/manifest_version/index.html
new file mode 100644
index 0000000000..a13f5331f4
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/manifest_version/index.html
@@ -0,0 +1,45 @@
+---
+title: manifest_version
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/manifest_version
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/manifest_version
+---
+<p>{{AddonSidebar}}</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Numérique</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Oui</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"manifest_version": 2</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Cette clé spécifie la version de manifest.json utilisée par cette extension.</p>
+
+<p>Actuellement, cela doit toujours être 2.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"manifest_version": 2
+</pre>
+
+<h2 id="Comptabilité_des_navigateurs">Comptabilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.manifest_version")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/name/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/name/index.html
new file mode 100644
index 0000000000..ad38b3615c
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/name/index.html
@@ -0,0 +1,46 @@
+---
+title: name
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/name
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/name
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><font face="Consolas">chaîne</font></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Oui</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"name": "Mon extension"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Nom de l'extension. Ceci permet d'identifier l'extension dans l'interface utilisateur du navigateur et sur les sites comme addons.mozilla.org.</p>
+
+<p>Il est recommandé de garder le nom suffisamment court pour pouvoir s'afficher dans l'interface utilisateur. Google Chrome et Microsoft Edge limitent la longueur du nom à 45 caractères.</p>
+
+<p>C'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"name": "Mon extension"</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.name")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/offline_enabled/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/offline_enabled/index.html
new file mode 100644
index 0000000000..01c454f220
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/offline_enabled/index.html
@@ -0,0 +1,48 @@
+---
+title: offline_enabled
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/offline_enabled
+tags:
+ - Add-ons
+ - Deprecated
+ - Extensions
+ - Non-standard
+ - Offline
+ - WebExtensions
+ - google chrome
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/offline_enabled
+---
+<p>{{AddonSidebar}}</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>String</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"offline_enabled": true</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>{{Non-standard_Header}}</p>
+
+<p>Si l'application ou l'extension doit fonctionner hors ligne. Lorsque Chrome détecte qu'il est hors ligne, les applications avec ce champ réglé sur true seront mises en surbrillance dans la page Nouvel onglet.</p>
+
+<p>A partir de Chrome 35, les applications (ChromeOS uniquement à partir de 2018) sont supposées activées hors ligne et la valeur par défaut de <code>"offline_enabled"</code> est <code>true</code> sauf si la permission <code>"webview"</code> est demandée.Dans ce cas, la connectivité réseau est supposée nécessaire et <code>"offline_enabled"</code> par défaut est <code>false</code>.</p>
+
+<p>La valeur <code>"offline_enabled"</code> est également utilisée pour déterminer si un contrôle de connectivité réseau sera effectué lors du lancement d'une application en <a href="https://developer.chrome.com/apps/manifest/kiosk_enabled">mode Chrome OS kiosk</a>. Une vérification de la connectivité réseau sera effectuée lorsque les applications ne sont pas activées hors ligne, et le lancement de l'application sera mis en attente jusqu'à ce que l'appareil obtienne la connectivité à Internet.</p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+
+
+<p>{{Compat("webextensions.manifest.offline_enabled")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/omnibox/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/omnibox/index.html
new file mode 100644
index 0000000000..2a3c69f917
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/omnibox/index.html
@@ -0,0 +1,52 @@
+---
+title: omnibox
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/omnibox
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/omnibox
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"omnibox": {
+  "keyword": "mdn"
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez la clé <code>omnibox</code> pour définir un mot-clé omnibox pour votre extension.</p>
+
+<p>Lorsque l'utilisateur tape ce mot-clé dans la barre d'adresse du navigateur, suivi d'un espace, les caractères suivants seront envoyés à l'extension à l'aide de l'API <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/omnibox">omnibox</a></code>. L'extension pourra ensuite remplir la liste de suggestions de la liste déroulante de la barre d'adresse avec ses propres suggestions.</p>
+
+<p>Si deux ou plusieurs extensions définissent le même mot-clé, l'extension qui a été installée la dernière permet de contrôler le mot-clé. Toute extension précédemment installée qui définit le même mot-clé ne pourra plus utiliser l'API omnibox.</p>
+
+<p> </p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"omnibox": {
+ "keyword": "mdn"
+}</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.omnibox")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.html
new file mode 100644
index 0000000000..68c8d1fcc6
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.html
@@ -0,0 +1,106 @@
+---
+title: optional_permissions
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions
+tags:
+ - Add-ons
+ - WebExtensions
+ - manifest.json
+ - optional_permissions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><font face="Consolas">Tableau</font></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+
+"optional_permissions": [
+ "*://developer.mozilla.org/*",
+ "webRequest"
+]</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez la clé <code>optional_permissions</code> pour lister les permissions que vous souhaitez demander pour l'exécution, une fois que votre extension a été installée.</p>
+
+<p>La clé de <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions">permissions</a></code> énumère les permissions dont votre extension a besoin  si elle doit être installée. En revanche , <code>optional_permissions</code> liste les permissions dont votre extension n'a pas besoin au moment de l'installation, mais qu'il peut être nécessaire de demander pour l'exécution à un moment donné après son installation. Pour demander une permission, utilisez l'API  {{webextapiref("permissions")}} . La demande de permission peut présenter probablement à l'utilisateur une boîte de dialogue lui demandant d'accorder la permission à votre extension.</p>
+
+<p>Pour des conseils sur la conception de votre demande d'autorisations d'exécution, afin de maximiser la probabilité que les utilisateurs les accordent, consultez la section, voir <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/demander_les_bonnes_permissions#Demander_les_permissions_à_éxécuter">Demander les permissions à éxécuter</a>.</p>
+
+<p>La clé peut contenir deux types d'autorisations: les permissions d'hôte et les permissions d'API</p>
+
+<h2 id="Permissions_dhôte">Permissions d'hôte</h2>
+
+<p>Ce sont les mêmes que les permissions d'hôte que vous pouvez spécifier dans la clé <code><a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions</a></code>.</p>
+
+<h2 id="Permissions_dAPI">Permissions d'API</h2>
+
+<p>Vous pouvez inclure l'un des éléments suivants ici, mais pas dans tous les navigateurs : consultez la table de compatibilité pour obtenir des détails spécifiques au navigateur :</p>
+
+<div class="threecolumns">
+<ul>
+ <li><code>activeTab</code></li>
+ <li><code>background</code></li>
+ <li><code>bookmarks</code></li>
+ <li><code>browserSettings</code></li>
+ <li><code>clipboardRead</code></li>
+ <li><code>clipboardWrite</code></li>
+ <li><code>contentSettings</code></li>
+ <li><code>contextMenus</code></li>
+ <li><code>cookies</code></li>
+ <li><code>debugger</code></li>
+ <li><code>downloads</code></li>
+ <li><code>downloads.open</code></li>
+ <li><code>find</code></li>
+ <li><code>geolocation</code></li>
+ <li><code>history</code></li>
+ <li><code>idle</code></li>
+ <li><code>management</code></li>
+ <li><code>notifications</code></li>
+ <li><code>pageCapture</code></li>
+ <li><code>privacy</code></li>
+ <li><code>tabHide</code></li>
+ <li><code>tabs</code></li>
+ <li><code>topSites</code></li>
+ <li><code>webNavigation</code></li>
+ <li><code>webRequest</code></li>
+ <li><code>webRequestBlocking</code></li>
+</ul>
+</div>
+
+<p>Notez qu'il s'agit d'un sous-ensemble des permissions API permises dans les <code><a href="/en-US/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permissions</a></code>.</p>
+
+<p>Dans cet ensemble, les permissions suivantes sont accordées en silence, sans invite de l'utilisateur :<span class="blob-code-inner"><span class="pl-s"> <code>activeTab</code>, <code>cookies</code>, <code>idle</code>, <code>webRequest</code>, <code>webRequestBlocking</code><span class="pl-pds">.</span></span></span></p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers"> "optional_permissions": ["*://developer.mozilla.org/*"]</pre>
+
+<p>Activez l'extension pour demander un accès privilégié aux pages sous developer.mozilla.org.</p>
+
+<pre class="brush: json no-line-numbers"> "optional_permissions": ["tabs"]</pre>
+
+<p>Activez l'extension pour demander l'accès aux éléments privilégiés de l'API des onglets.</p>
+
+<pre class="brush: json no-line-numbers"> "optional_permissions": ["*://developer.mozilla.org/*", "tabs"]</pre>
+
+<p>Activez l'extension pour demander les deux permissions ci-dessus.</p>
+
+<h2 id="Comptabilité_du_navigateur">Comptabilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.optional_permissions")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/options_page/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/options_page/index.html
new file mode 100644
index 0000000000..75f6ad9730
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/options_page/index.html
@@ -0,0 +1,62 @@
+---
+title: options_page
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/options_page
+tags:
+ - Add-ons
+ - Deprecated
+ - Extensions
+ - Manifest
+ - Options
+ - WebExtensions
+ - options_page
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/options_page
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>String</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Mandatory</th>
+ <td>No</td>
+ </tr>
+ <tr>
+ <th scope="row">Example</th>
+ <td>
+ <pre class="brush: json; no-line-numbers">
+"options_page": "options/options.html"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<div>{{Deprecated_Header}}
+<div class="blockIndicator warning">Cette clé du manifest a été dépréciée. Utilisez <code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code>à la place.</div>
+</div>
+
+<p>Utilisez la clé d'<code>options_page</code> pour définir une <a href="/fr/Add-ons/WebExtensions/Options_pages">page d'options</a> pour votre extension.</p>
+
+<p>La page des options contient les paramètres de l'extension. L'utilisateur peut y accéder depuis le gestionnaire d'add-ons du navigateur, et vous pouvez l'ouvrir depuis votre extension en utilisant {{WebExtAPIRef("runtime.openOptionsPage()")}}.</p>
+
+<p>Contrairement aux pages d'options spécifiées à l'aide de la nouvelle clé <code>options_ui</code>, les pages d'options spécifiées à l'aide de la clé <code>options_page</code> obsolète ne reçoivent pas les styles de navigateur et s'ouvrent toujours dans un onglet normal du navigateur.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json; no-line-numbers">"options_page": "options/options.html"
+</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+
+
+<p>{{Compat("webextensions.manifest.options_page")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/options_ui">options_ui</a></code></li>
+ <li><a href="/fr/Add-ons/WebExtensions/user_interface/Options_pages">Options pages</a></li>
+</ul>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/options_ui/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/options_ui/index.html
new file mode 100644
index 0000000000..6fbcc56888
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/options_ui/index.html
@@ -0,0 +1,118 @@
+---
+title: options_ui
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/options_ui
+tags:
+ - Add-ons
+ - Extensions
+ - Manifest
+ - Options
+ - WebExtensions
+ - options_ui
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/options_ui
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table" style="height: 166px; width: 852px;">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json; no-line-numbers">
+"options_ui": {
+ "page": "options/options.html"
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez la clé <code>options_ui</code> pour définir une <a href="/fr/Add-ons/WebExtensions/Options_pages">page d'options</a> pour votre extension.</p>
+
+<p>La page d'options contient des paramètres pour l'extension. L'utilisateur peut y accéder à partir du gestionnaire des extensions du navigateur, et vous pouvez l'ouvrir à partir de votre extension à l'aide de {{WebExtAPIRef("runtime.openOptionsPage()")}}.</p>
+
+<p>Vous spécifiez <code>options_ui</code> comme un chemin vers un fichier HTML intégré à votre extension. Le fichier HTML peut inclure des fichiers CSS et JavaScript, tout comme une page Web normale. Contrairement à une page normale, le JavaScript peut utiliser toutes les <a href="/fr/Add-ons/WebExtensions/API">APIs WebExtension</a> pour lesquelles l'extension possède des <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a>. Cependant, il fonctionne dans un "scope" différent de celui de vos scripts d'arrière plan.</p>
+
+<p>Si vous souhaitez <strong>partager</strong> des données ou des fonctions, entre JavaScript sur votre <strong>page d'options</strong> et vos <strong>scripts d'arrière-plan</strong>, vous pouvez le faire directement en obtenant une référence à la <a href="/fr/docs/Web/API/Window">fenêtre</a> de vos scripts d'arrière-plan avec {{WebExtAPIRef("extension.getBackgroundPage()")}}, ou une référence à {{domxref("Window")}} de l'une des pages s'exécutant dans votre extension avec {{WebExtAPIRef("extension.getViews()")}}. Ou, vous pouvez faire communiquer le JavaScript de votre page d'options et vos scripts en arrière-plan à l'aide de {{WebExtAPIRef("runtime.sendMessage()")}}, {{WebExtAPIRef("runtime.onMessage")}}, ou {{WebExtAPIRef("runtime.connect()")}}.</p>
+
+<p>Ces derniers (ou les équivalents {{WebExtAPIRef("runtime.Port")}}  peuvent également être utilisés pour partager des options entre vos <a href="/fr/Add-frs/WebExtensions/Background_scripts">scripts d'arrière-plan</a> et vos <strong><a href="/fr/Add-ons/WebExtensions/Content_scripts">scripts de contenu.</a></strong></p>
+
+<p>En général, vous souhaiterez stocker les options modifiées sur les pages d'options à l'aide de {{WebExtAPIRef("storage", "storage API", "", "true")}}  soit dans {{WebExtAPIRef("storage.sync()")}} (si vous souhaitez que les paramètres soient synchronisés sur toutes les instances du navigateur auxquelles l'utilisateur est connecté), ou {{WebExtAPIRef("storage.local()")}} (si les paramètres sont locaux, dans la machine/le profil actuel). Si vous le faites et que votre (vos) <a href="/fr/Add-ons/WebExtensions/Background_scripts">scripts d'arrière plan</a> (ou <a href="/fr/docs/">script(s) de contenus</a>)  doit connaître le changement, votre (vos) script(s) d'arrière plan pourra choisir d'ajouter un auditeur à {{WebExtAPIRef("storage.onChanged")}}.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La clé <code>options_ui</code> est un objet avec le contenu suivant :</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>browser_style</code><br>
+ {{optional_inline}}</td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>Facultatif, par défaut : <code>true</code> .</p>
+
+ <p>Utilisez cette option pour inclure une feuille de style dans votre page qui la rendra compatible avec l'interface utilisateur du navigateur et avec d'autres extensions qui utilisent la propriété <code>browser_style</code> . Bien qu'il contienne par défaut <code>true</code> , il est recommandé d'inclure cette propriété.</p>
+
+ <p>Dans Firefox, la feuille de style peut être vue sur <code>chrome://browser/content/extension.css</code>, ou <code>chrome://browser/content/extension-mac.css</code> sur macOS. Lorsque vous fixez les dimensions, sachez que cette feuille de style fixe actuellement <code>box-sizing: border-box</code> (voir <a href="https://developer.mozilla.org/docs/Web/CSS/box-sizing">box-sizing</a>).</p>
+
+ <p>Le <a class="external external-icon" href="http://design.firefox.com/photon/">guide de style Firefox</a> décrit les classes que vous pouvez appliquer aux éléments de la fenêtre contextuelle afin d'obtenir des styles particuliers.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>open_in_tab</code><br>
+ {{optional_inline}}</td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>par défaut : <code>false</code>.</p>
+
+ <p>Si c'est <code>true</code> , la page options s'ouvrira dans un onglet normal du navigateur, plutôt que d'être intégrée au gestionnaire des extensions du navigateur.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>page</code></td>
+ <td><code>Chaîne de caractères</code></td>
+ <td>
+ <p>Obligatoire</p>
+
+ <p>Le chemin d'accès au fichier HTML contenant la spécification de votre page d'options.</p>
+
+ <p>Le chemin est relatif à l'emplacement du <code>manifest.json</code> lui-même.</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json; no-line-numbers">  "options_ui": {
+    "page": "options/options.html"
+  }</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+
+
+<p>{{Compat("webextensions.manifest.options_ui")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/options_page">options_page</a></code> {{deprecated_inline}}</li>
+ <li><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a></li>
+ <li><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/user_interface/Options_pages">Options pages</a></li>
+</ul>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/page_action/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/page_action/index.html
new file mode 100644
index 0000000000..86360e2758
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/page_action/index.html
@@ -0,0 +1,200 @@
+---
+title: page_action
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/page_action
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/page_action
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"page_action": {
+ "browser_style": true,
+ "default_icon": {
+ "19": "button/geo-19.png",
+ "38": "button/geo-38.png"
+ },
+ "default_title": "Whereami?",
+ "default_popup": "popup/geo.html"
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Une action de page est une icône que votre extension ajoute dans la barre d'URL du navigateur.</p>
+
+<p>Votre extension peut éventuellement fournir une fenêtre contextuelle associée dont le contenu est spécifié en utilisant HTML, CSS et JavaScript.</p>
+
+<p>Si vous fournissez une fenêtre contextuelle, celle-ci est ouverte lorsque l'utilisateur clique sur l'icône, et l'exécution de votre JavaScript dans la fenêtre contextuelle peut gérer l'interaction de l'utilisateur avec elle. Si vous ne fournissez pas de fenêtre contextuelle, un clic événement est envoyé à votre extension aux <a href="/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_pages">scripts d'arrière plan</a> quand l'utilisateur clique sur l'icône.</p>
+
+<p>Vous pouvez également créer et activer des actions de page par programme en utilisant l'<a href="/fr/Add-ons/WebExtensions/API/pageAction">API pageAction</a>.</p>
+
+<p>Les actions de page sont comme les actions de navigateur, mais elles sont associées à des pages Web particulières et non au navigateur dans son ensemble. Si une action est seulement pertinente sur certaines pages, vous devez utiliser une action de page et l'afficher uniquement sur les pages pertinentes. Si une action est pertinente pour toutes les pages ou pour le navigateur lui-même, utilisez une action de navigateur.</p>
+
+<p>Alors que les actions du navigateur sont affichées par défaut, les actions de page sont cachées par défaut. Elles peuvent être affichées pour un onglet particulier en appelant <code><a href="/fr/Add-ons/WebExtensions/API/pageAction/show">pageAction.show()</a></code>, en passant dans l'ID de l'onglet. Vous pouvez également modifier ce comportement par défaut en utilisant la propriété <code>show_matches</code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La clé <code>page_action</code> est un objet qui peut avoir l'une des trois propriétés, toutes optionnelles:</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>browser_style</code></td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>Facultatif, par defaut : <code>false</code>.</p>
+
+ <p>Utilisez-le pour inclure une feuille de style dans votre popup qui le rendra cohérent avec l'interface utilisateur du navigateur et avec d'autres extensions qui utilisent la propriété <code>browser_style</code>. Bien que cette touche par défaut soit <code>false</code>, il est recommandé de l'inclure et de la mettre à <code>true</code> afin de rendre vos fenêtres contextuelles cohérentes avec l'apparence du reste de l'interface utilisateur du navigateur.</p>
+
+ <p>Dans Firefox, la feuille de style peut être vue sur chrome://browser/content/extension.css, ou chrome://browser/content/extension-mac.css sur OS X.</p>
+
+ <p>Le <a href="https://firefoxux.github.io/StyleGuide/#/controls">guide de style Firefox</a> décrit les classes que vous pouvez appliquer aux éléments de la fenêtre contextuelle afin d'obtenir des styles particuliers.</p>
+
+ <p>L'extension exemple <a href="https://github.com/mdn/webextensions-examples/tree/master/latest-download">latest-download</a> utilise <code>browser_style</code> dans sa fenêtre contextuelle.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_icon</code></td>
+ <td><code>Objet</code> ou <code>Chaîne de caractères</code></td>
+ <td>
+ <p>Utilisez cette option pour spécifier une icône pour l'action.</p>
+
+ <p>Il est recommandé de fournir deux icônes ici, une 19x19 pixels et une 38x38 pixels, et de les spécifier dans un objet avec les noms de propriété "19" et "38", comme ceci:</p>
+
+ <pre class="brush: json no-line-numbers">
+ "default_icon": {
+ "19": "geo-19.png",
+ "38": "geo-38.png"
+ }</pre>
+
+ <p>Si vous faites cela, le navigateur choisira l'icône de la bonne taille selon la densité des pixels de l'écran.</p>
+
+ <p>Vous pouvez simplement fournir une chaîne ici :</p>
+
+ <pre class="brush: json no-line-numbers">
+"default_icon": "geo.png"</pre>
+
+ <p>Si vous faites cela, l'icône sera mise à l'échelle pour correspondre à la barre d'outils et peut sembler floue.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_popup</code></td>
+ <td><code>Chaîne de caractères</code></td>
+ <td>
+ <p>Le chemin d'accès à un fichier HTML contenant la spécification de la fenêtre contextuelle.</p>
+
+ <p>Le fichier HTML peut inclure des fichiers CSS et JavaScript utilisant des éléments <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link">&lt;link&gt;</a></code> et <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script">&lt;script&gt;</a></code>, tout comme une page Web normale. Cependant, n'utilisez pas <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script">&lt;script&gt;</a></code> avec du code intégré, car vous obtiendrez une erreur de politique de violation de contenu. Au lieu de cela, <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script">&lt;script&gt;</a></code> doit utiliser l'attribut <code><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script">src</a></code> pour charger un fichier script séparé.</p>
+
+ <p>Contrairement à une page Web normale, JavaScript en cours d'exécution dans la fenêtre contextuelle peut accéder à toutes les <a href="/fr/Add-ons/WebExtensions/API">APIs WebExtension</a> (à condition, bien sûr, que l'extension ait les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> appropriées).</p>
+
+ <p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_title</code></td>
+ <td><code>Chaîne de caractères</code></td>
+ <td>
+ <p>Info-bulle pour l'icône, affichée lorsque l'utilisateur passe sa souris dessus.</p>
+
+ <p>Ceci est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>hide_matches</code></td>
+ <td><code>Tableau de Match Pattern sauf </code> <code>&lt;all_urls&gt;</code></td>
+ <td>
+ <p>Masquer l'action de page par défaut pour les pages dont les URLs correspondent des <a href="/fr/Add-ons/WebExtensions/match_patterns">modèles de correspondance</a> données.</p>
+
+ <p>Notez que les actions de page sont toujours cachées par défaut à moins que <code>show_matches</code> ne soit donné. Par conséquent, il est logique d'inclure cette propriété uniquement si <code>show_matches</code> est également donné, et dans ce casil remplacera les patterns dans <code>show_matches</code>. Par exemple, considérez une valeur comme :</p>
+
+ <pre class="brush: json">
+"page_action": {
+ "show_matches": ["https://*.mozilla.org/*"],
+ "hide_matches": ["https://developer.mozilla.org/*"]
+}</pre>
+
+ <p>Ceci montre l'action de page par défaut pour toutes les URL HTTPS sous le domaine "mozilla.org", à l'exception des pages sous "developer.mozilla.org".</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>show_matches</code></td>
+ <td><code>Tableau de Match Pattern</code></td>
+ <td>
+ <p>Affiche l'action de page par défaut pour les pages dont les URLs correspondent à l'un des modèles donnés.</p>
+
+ <p>Voir aussi <code>hide_matches</code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>pinned</code></td>
+ <td><code>Boolean</code></td>
+ <td>
+ <p>Facultatif, par défaut à <code>true</code>.</p>
+
+ <p>Contrôle si l'action de la page doit apparaître dans la barre d'emplacement par défaut lorsque l'utilisateur installe l'extension.</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"page_action": {
+ "default_icon": {
+ "19": "button/geo-19.png",
+ "38": "button/geo-38.png"
+ }
+}</pre>
+
+<p>Une action de page avec juste une icône spécifiée en 2 tailles différentes. Les scripts d'arrière-plan de l'extension peuvent recevoir des événements de clic lorsque l'utilisateur clique sur l'icône en utilisant un code comme celui-ci :</p>
+
+<pre class="brush: js no-line-numbers"> browser.pageAction.onClicked.addListener(handleClick);</pre>
+
+<pre class="brush: json no-line-numbers">"page_action": {
+ "default_icon": {
+ "19": "button/geo-19.png",
+ "38": "button/geo-38.png"
+ },
+ "default_title": "Où suis-je ?",
+ "default_popup": "popup/geo.html"
+}</pre>
+
+<p>Une action de page avec une icône, un titre et une fenêtre contextuelle. Cette dernière s'affiche lorsque l'utilisateur clique sur l'icône.</p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+
+
+<p>{{Compat("webextensions.manifest.page_action")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code></li>
+ <li><code><a href="/fr/Add-ons/WebExtensions/manifest.json/sidebar_action">sidebar_action</a></code></li>
+ <li><a href="/fr/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a></li>
+</ul>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/permissions/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/permissions/index.html
new file mode 100644
index 0000000000..88190cc8b2
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/permissions/index.html
@@ -0,0 +1,198 @@
+---
+title: permissions
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/permissions
+tags:
+ - Add-ons
+ - Extensions
+ - Permissions
+ - Reference
+ - WebExtensions
+ - manifest.json
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/permissions
+---
+<p>{{AddonSidebar}}</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Tableau</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"permissions": [
+ "*://developer.mozilla.org/*",
+ "webRequest"
+]</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez la clé <code>permissions</code> pour demander des pouvoirs spéciaux pour votre extension. Cette clé est un ensemble de chaînes, et chaque chaîne est une demande d'autorisation.</p>
+
+<p>Si vous demandez des autorisations avec cette clé, le navigateur peut informer l'utilisateur, au moment de l'installation, que l'extension demande certains privilèges, et lui demande de confirmer qu'il est d'accord. Le navigateur peut également permettre à l'utilisateur d'inspecter les privilèges d'une extension après l'installation.</p>
+
+<p>Comme la demande d'octroi de privilèges peut avoir un impact sur la volonté des utilisateurs d'installer votre extension, la demande de privilèges mérite une attention particulière. Par exemple, vous voulez éviter de demander des permissions inutiles et vous voudrez peut-être fournir des informations sur la raison pour laquelle vous demandez des permissions dans la description du magasin de votre extension. Vous trouverez plus d'informations sur les questions que vous devez prendre en compte dans l'article <a href="/fr/Add-ons/WebExtensions/Request_the_right_permissions">Demander les bonnes permissions</a>.</p>
+
+<p>La clé peut contenir trois types d'autorisations:</p>
+
+<ul>
+ <li>Les permissions d'hôte</li>
+ <li>Les permissions API</li>
+ <li>La permission activeTab</li>
+</ul>
+
+<h2 id="Les_permissions_d'hôte">Les permissions d'hôte</h2>
+
+<p>Les permissions d'hôte sont spécifiées comme <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">modèles de correspondance</a>, et chaque modèle identifie un groupe d'URL pour lequel l'extension demande des privilèges supplémentaires. Par exemple, une autorisation d'hôte pourrait être <code>"*://developer.mozilla.org/*"</code>.</p>
+
+<p>Les privilèges supplémentaires incluent :</p>
+
+<ul>
+ <li><a href="/fr/docs/Web/API/XMLHttpRequest">XMLHttpRequest</a> et l'accès <a href="/fr/docs/Web/API/Fetch_API">fetch</a> à ces origines sans restrictions d'origine croisée (même pour les demandes faites à partir de scripts de contenu)</li>
+ <li>La possibilité d'injecter des scripts par programme (à l'aide de <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript">tabs.executeScript</a>) dans les pages issues de ces origines</li>
+ <li>La possibilité de recevoir des événements de l'API <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/webRequest">webRequest</a> pour ces hôtes</li>
+ <li>La possibilité d'accéder aux cookies de cet hôte à l'aide de l'API <a href="/fr/Add-ons/WebExtensions/API/cookies">cookies</a>, tant que la permission de cet API est également incluse.</li>
+ <li>Contourne la protection de suivi si l'hôte est un domaine complet sans caractères génériques. Ne fonctionne pas avec &lt;all_urls&gt;.</li>
+</ul>
+
+<p>Dans Firefox, à partir de la version 56, les extensions reçoivent automatiquement les permissions d'hôte pour leur propre origine, qui se présentent sous la forme :</p>
+
+<pre><code>moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/</code></pre>
+
+<p>Où <code>60a20a9b-1ad4-af49-9b6c-c64c98c37920</code> est l'ID interne de l'extension. L'extension peut obtenir cette URL par programmation en appelant <a href="/fr/Add-ons/WebExtensions/API/extension/getURL">extension.getURL() </a>:</p>
+
+<pre class="brush: js;">browser.extension.getURL("");
+// moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/
+</pre>
+
+<h2 id="Les_permissions_API">Les permissions API</h2>
+
+<p>Les autorisations API sont spécifiées comme des mots-clés, et chaque mot clé nomme une <a href="/fr/docs/">API WebExtension</a> que l'extension souhaite utiliser.</p>
+
+<p>Les mots clés suivants sont actuellement disponibles:</p>
+
+<ul>
+ <li><code>activeTab</code></li>
+ <li><code>alarms</code></li>
+ <li><code>background</code></li>
+ <li><code>bookmarks</code></li>
+ <li><code>browserSettings</code></li>
+ <li><code>browsingData</code></li>
+ <li><code>clipboardRead</code></li>
+ <li><code>clipboardWrite</code></li>
+ <li><code>contentSettings</code></li>
+ <li><code>contextMenus</code></li>
+ <li><code>contextualIdentities</code></li>
+ <li><code>cookies</code></li>
+ <li><code>debugger</code></li>
+ <li><code>dns</code></li>
+ <li><code>downloads</code></li>
+ <li><code>downloads.open</code></li>
+ <li><code>find</code></li>
+ <li><code>geolocation</code></li>
+ <li><code>history</code></li>
+ <li><code>identity</code></li>
+ <li><code>idle</code></li>
+ <li><code>management</code></li>
+ <li><code>menus</code></li>
+ <li><code>menus.overrideContext</code></li>
+ <li><code>nativeMessaging</code></li>
+ <li><code>notifications</code></li>
+ <li><code>pageCapture</code></li>
+ <li><code>pkcs11</code></li>
+ <li><code>privacy</code></li>
+ <li><code>proxy</code></li>
+ <li><code>search</code></li>
+ <li><code>sessions</code></li>
+ <li><code>storage</code></li>
+ <li><code>tabHide</code></li>
+ <li><code>tabs</code></li>
+ <li><code>theme</code></li>
+ <li><code>topSites</code></li>
+ <li><code>unlimitedStorage</code></li>
+ <li><code>webNavigation</code></li>
+ <li><code>webRequest</code></li>
+ <li><code>webRequestBlocking</code></li>
+</ul>
+
+<p>Dans la plupart des cas, la permission accorde uniquement l'accès à l'API, avec les exceptions suivantes :</p>
+
+<ul>
+ <li><code>tabs</code> vous permet d'accéder aux <a href="/fr/Add-ons/WebExtensions/API/tabs">parties privilégiées des API de l'onglet </a>: <code>Tab.url</code>, <code>Tab.title</code>, et <code>Tab.faviconUrl</code>. Dans Firefox, vous avez également besoin de  <code>tabs</code> si vous souhaitez inclure <code>url</code> dans le paramètre <code>queryInfo</code> dans <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query">tabs.query()</a></code>. Le reste de l'API <code>tabs</code> peut être utilisé sans demander aucune permission.</li>
+ <li><code>webRequestBlocking</code> vous permet d'utiliser l'argument "blocage", afin que vous puissiez <a href="/fr/Add-ons/WebExtensions/API/WebRequest">modifier et annuler les requêtes</a>.</li>
+ <li><code>downloads.open</code> vous permet d'utiliser l'API {{WebExtAPIRef("downloads.open()")}}.</li>
+ <li><code>tabHide</code> vous permet d'utiliser l'API {{WebExtAPIRef("tabs.hide()")}}.</li>
+</ul>
+
+<h2 id="Permission_activeTab">Permission activeTab</h2>
+
+<p>Cette autorisation est spécifiée comme " <code>activeTab</code> " (<em>onglet actif</em>). Si une extension possède la permission <code>activeTab</code> , lorsque l'utilisateur interagit avec l'extension, celle-ci reçoit des privilèges supplémentaires uniquement pour l'onglet actif.</p>
+
+<p>"L'interaction utilisateur" comprend :</p>
+
+<ul>
+ <li>L'utilisateur clique sur l'action du navigateur de l'extension ou sur l'action de la page</li>
+ <li>L'utilisateur sélectionne un élément de son menu contextuel</li>
+ <li>L'utilisateur active un raccourci clavier défini par l'extension</li>
+</ul>
+
+<p>Les privilèges supplémentaires sont les suivants :</p>
+
+<ul>
+ <li>La capacité d'injecter du JavaScript ou du CSS dans l'onglet par programme, en utilisant <code><a href="/fr/Add-ons/WebExtensions/API/tabs/executeScript">browser.tabs.executeScript</a></code> et  <code><a href="/fr/Add-ons/WebExtensions/API/tabs/insertCSS">browser.tabs.insertCSS</a></code></li>
+ <li>L'accès aux parties privilégiées des onglets de l'API pour l'onglet actuel : Tab.url, Tab.title et Tab.faviconUrl.</li>
+</ul>
+
+<p>L'objectif de cette permission est de permettre aux extensions de réaliser une utilisation courante, sans avoir à leur accorder de permissions très puissantes. Beaucoup d'extensions veulent "faire quelque chose à la page courante quand l'utilisateur le demande". Par exemple, considérez une extension qui veut exécuter un script dans la page courante quand l'utilisateur clique sur une action de navigateur. Si la permission <code>activeTab</code> n'existait pas, l'extension devrait demander une permission d'hôte &lt;all_urls&gt;. Mais cela donnerait à l'extension plus de puissance que nécessaire : elle pourrait désormais exécuter des scripts dans n'importe quel onglet, à tout moment, plutôt que simplement dans l'onglet actif et juste en réponse à une action de l'utilisateur.</p>
+
+<p>Notez que vous ne pouvez accéder qu'à l'onglet ou aux données qui s'y trouvaient au moment de l'interaction de l'utilisateur (par exemple le clic). Lorsque l'onglet actif s'éloigne, par exemple en raison d'un chargement terminé ou d'un autre événement, l'autorisation ne vous donne plus accès à l'onglet.</p>
+
+<p>Habituellement, l'onglet qui est accordé à <code>activeTab</code> est juste l'onglet actuellement actif, sauf dans un cas. L'API <code><a href="/fr/Add-ons/WebExtensions/API/menus">menus</a></code>  permet à une extension de créer un élément de menu qui s'affiche lorsque le contexte utilisateur clique sur un onglet (c'est-à-dire sur l'élément de l'onglet qui permet à l'utilisateur de passer d'un onglet à un autre). Si l'utilisateur clique sur un tel élément, la permission <code>activeTab</code> est accordée pour l'onglet sur lequel l'utilisateur a cliqué, même s'il ne s'agit pas de l'onglet actuellement actif (A partir de Firefox 63, {{bug(1446956)}}).</p>
+
+<h2 id="Accès_au_presse-papiers">Accès au presse-papiers</h2>
+
+<p>Il existe deux permissions qui permettent aux extensions d'interagir avec le Presse-papiers :</p>
+
+<ul>
+ <li><code>clipboardWrite</code>: écrivez dans le presse-papiers à l'aide de {{DOMxRef("Clipboard.write()")}}, {{DOMxRef("Clipboard.writeText()")}}, <code>document.execCommand("copy")</code> ou <code>document.execCommand("cut")</code></li>
+ <li><code>clipboardRead</code>: lisez le presse-papiers à l'aide de  {{DOMxRef("Clipboard.read()")}}, {{DOMxRef("Clipboard.readText()")}} ou <code>document.execCommand("paste")</code></li>
+</ul>
+
+<p>Voir <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard">Intérargir avec le presse-papiers </a>pour tous les détails de ce sujet.***</p>
+
+<h2 id="Stockage_illimité">Stockage illimité</h2>
+
+<p>La permission <code>unlimitedStorage</code> :</p>
+
+<ul>
+ <li>permet aux extensions de dépasser tout quota imposé par l'API  {{WebExtAPIRef("storage.local")}}</li>
+ <li>dans Firefox, permet aux extensions de créer une base de données <a href="/fr/docs/Web/API/API_IndexedDB/Browser_storage_limits_and_eviction_criteria#Les_différents_types_de_stockage_des_données">bases de données Indexed DB "persistante"</a>, sans que le navigateur ne demande à l'utilisateur la permission au moment de la création de la base.</li>
+</ul>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json; no-line-numbers"> "permissions": ["*://developer.mozilla.org/*"]</pre>
+
+<p>Demande d'accès privilégié aux pages sous developer.mozilla.org.</p>
+
+<pre class="brush: json no-line-numbers"> "permissions": ["tabs"]</pre>
+
+<p>Demande d'accès aux éléments privilégiés de l'API <code>tabs.</code></p>
+
+<pre class="brush: json no-line-numbers language-json"><code class="language-json"><span class="key token">"permissions":</span> <span class="punctuation token">[</span><span class="string token">"*://developer.mozilla.org/*"</span><span class="punctuation token">,</span> <span class="string token">"tabs"</span></code></pre>
+
+<p>Demande des deux permissions ci-dessus.</p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.permissions")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.html
new file mode 100644
index 0000000000..d8dfb178af
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.html
@@ -0,0 +1,85 @@
+---
+title: protocol_handlers
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/protocol_handlers
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+ - manifest.json
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/protocol_handlers
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Tableau</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"protocol_handlers": [
+ {
+ "protocol": "ircs",
+ "name": "IRC Mozilla Extension",
+ "uriTemplate": "https://irccloud.mozilla.com/#!/%s"
+ }
+]</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez cette clé pour enregistrer un ou plusieurs gestionnaires de protocole basés sur le Web.</p>
+
+<p>Un gestionnaire de protocole est une application qui sait comment gérer certains types de liens : par exemple, un client de messagerie est un gestionnaire de protocole pour les liens "mailto:".  Lorsque l'utilisateur clique sur un lien "mailto:", le navigateur ouvre l'application sélectionnée comme le gestionnaire pour le protocole "mailto:" (ou offre un choix de gestionnaires, en fonction de leurs paramètres).</p>
+
+<p>Avec cette clé, vous pouvez enregistrer un site Web en tant que gestionnaire pour un protocole particulier. La syntaxe et la sémantique de cette clé ressemblent beaucoup à la fonction <code><a href="/fr/docs/Web/API/Navigator/registerProtocolHandler">Navigator.registerProtocolHandler()</a></code>, excepté que avec <code>registerProtocolHandler()</code> un site Web ne peut s'inscrire lui-même comme un gestionnaire.</p>
+
+<p>Chaque gestionnaire de protocole possède trois propriétés, toutes obligatoires :</p>
+
+<dl>
+ <dt><code>protocol</code></dt>
+ <dd>Une chaîne définissant le protocole. Cela doit être soit:
+ <ul>
+ <li>L'une des suivantes : "bitcoin", "dat", "dweb", "geo", "gopher", "im", "ipfs", "ipns", "irc", "ircs", "magnet", "mailto", "mms", "news", "nntp", "sip", "sms", "smsto", "ssb", "ssh", "tel", "urn", "webcal", "wtai", "xmpp".</li>
+ <li>Une chaîne composée d'un nom personnalisé préfixé avec "web+" ou "ext+". Par exemple : "web+foo" ou  "ext+foo". Le nom personnalisé doit comporter uniquement des caractères ASCII minuscules. Il est recommandé que les extensions utilisent la forme "ext+".</li>
+ </ul>
+ </dd>
+ <dt><code>name</code></dt>
+ <dd>Une chaîne représentant le nom du gestionnaire de protocole. Il sera affiché à l'utilisateur lorsqu'il sera interrogé s'il souhaite que ce gestionnaire ouvre le lien.</dd>
+ <dt><code>uriTemplate</code></dt>
+ <dd>Une chaîne représentant l'URL du gestionnaire. Cette chaîne doit inclure "%s" comme espace réservé : il sera remplacé par l'URL échappée du document à traiter. Cette URL peut être une vraie URL, ou il peut s'agir d'un numéro de téléphone, d'une adresse de courrier électronique, etc. C'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</dd>
+</dl>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"protocol_handlers": [
+  {
+    "protocol": "magnet",
+    "name": "Magnet Extension",
+    "uriTemplate": "https://example.com/#!/%s"
+  }
+]</pre>
+
+<p>Les gestionnaires peuvent également être des <a href="/fr/Add-ons/WebExtensions/user_interface/Extension_pages">pages d'extension</a>.</p>
+
+<pre class="brush: json no-line-numbers">"protocol_handlers": [
+ {
+ "protocol": "magnet",
+ "name": "Magnet Extension",
+ "uriTemplate": "/example.xhtml#!/%s"
+ }
+]</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.protocol_handlers")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/short_name/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/short_name/index.html
new file mode 100644
index 0000000000..32c76d0111
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/short_name/index.html
@@ -0,0 +1,44 @@
+---
+title: short_name
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/short_name
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/short_name
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Chaîne</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"short_name": "MonExtension"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Nom abrégé de l'extension. S'il est donné, il sera utilisé dans des contextes où le champ <a href="/fr/Add-ons/WebExtensions/manifest.json/name">name</a> est trop long. Il est recommandé que le nom court ne dépasse pas 12 caractères. Si le champ du nom court n'est pas inclus dans manifest.json, le nom sera utilisé à la place et peut être tronqué. </p>
+
+<p>C'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"short_name": "MonExtension"</pre>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.short_name")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/sidebar_action/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/sidebar_action/index.html
new file mode 100644
index 0000000000..4e9585baf3
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/sidebar_action/index.html
@@ -0,0 +1,151 @@
+---
+title: sidebar_action
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/sidebar_action
+tags:
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/sidebar_action
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Objet</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"sidebar_action": {
+ "default_icon": {
+ "16": "button/geo-16.png",
+ "32": "button/geo-32.png"
+ },
+ "default_title": "My sidebar",
+ "default_panel": "sidebar/sidebar.html",
+ "open_at_install":true
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Une <a href="/fr/Add-ons/WebExtensions/Sidebars">barre latérale</a> est un volet qui s'affiche à gauche de la fenêtre du navigateur, à côté de la page Web. Le navigateur fournit une interface qui permet à l'utilisateur de voir les barres latérales actuellement disponibles et de sélectionner celle à afficher.</p>
+
+<p>La clé <code>sidebar_action</code> vous permet de définir les propriétés par défaut de la barre latérale. Vous pouvez modifier ces propriétés lors de l'exécution à l'aide de l'API {{WebExtAPIRef("sidebarAction")}}.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La clé <code>sidebar_action</code> est un objet qui peut avoir l'une des propriétés listées ci-dessous. La seule propriété obligatoire est <code>default_panel</code>.</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles">browser_style</a></code></td>
+ <td><code>Booléen</code></td>
+ <td>
+ <p>Facultatif, par défaut : <code>true</code> .</p>
+
+ <p>Utilisez cette option pour inclure une feuille de style dans votre fenêtre contextuelle qui permettra la correspondance avec l'interface utilisateur du navigateur et les autres extensions qui utilisent la propriété <code>browser_style</code>.</p>
+
+ <p>Dans Firefox, la feuille de style peut être vue sur  chrome://browser/content/extension.css, ou chrome://browser/content/extension-mac.css sur OS X. Lors de la définition des dimensions, savez que cette feiulle de style est actuellement définit <code>box-sizing: border-box</code> (see <a href="https://developer.mozilla.org/docs/Web/CSS/box-sizing">box-sizing</a>).</p>
+
+ <p>Le <a class="external external-icon" href="https://firefoxux.github.io/StyleGuide/#/controls">guide de style de Firefox</a> décrit les classes que vous pouvez appliquer aux éléments de la barre latérale afin d'obtenir des styles particuliers.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_icon</code></td>
+ <td><code>Objet</code> ou <code>Chaîne de caractères</code></td>
+ <td>
+ <p>Utilisez cette option pour spécifier une ou plusieurs icônes pour la barre latérale. L'icône est affichée dans l'interface utilisateur du navigateur pour l'ouverture et la fermeture des barres latérales.</p>
+
+ <p>Les icônes sont spécifiées comme des URL relatives au fichier manifest.json lui-même.</p>
+
+ <p>Vous pouvez spécifier un seul fichier d'icône en fournissant une chaîne ici :</p>
+
+ <pre class="brush: json no-line-numbers">
+"default_icon": "path/to/geo.svg"</pre>
+
+ <p>Pour spécifier plusieurs icônes dans différentes tailles, spécifiez ici un objet. Le nom de chaque propriété est la hauteur de l'icône en pixels convertie en un nombre entier. La valeur est l'URL. Par exemple:</p>
+
+ <pre class="brush: json no-line-numbers">
+ "default_icon": {
+ "16": "path/to/geo-16.png",
+ "32": "path/to/geo-32.png"
+ }</pre>
+
+ <p>Voir <a href="/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes">Choix de la taille d'icones</a> pour plus de conseils sur ce sujet.</p>
+
+ <p>Cette propriété est optionnelle : si elle est omise, la barre latérale n'obtient pas d'icône.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_panel</code></td>
+ <td><code>Chaîne de caractères</code></td>
+ <td>
+ <p>Le chemin d'accès à un fichier HTML qui spécifie le contenu de la barre latérale.</p>
+
+ <p>Le fichier HTML peut inclure des fichiers CSS et JavaScript à l'aide des éléments <code><a href="/fr/docs/Web/HTML/Element/link">&lt;link&gt;</a></code> et <code><a href="/fr/docs/Web/HTML/Element/script">&lt;script&gt;</a></code>, tout comme une page Web normale.</p>
+
+ <p> Contrairement à une page Web normale, JavaScript en cours d'exécution dans le panneau peut accéder à toutes les <a href="/fr/Add-ons/WebExtensions/API">APIs des WebExtension</a> (à condition, bien sûr, que l'extension ait les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permissions</a> appropriées).</p>
+
+ <p>Cette propriété est obligatoire.</p>
+
+ <p>C'est une <a href="https://developer.mozilla.org/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable</a>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>default_title</code></td>
+ <td><code>String</code></td>
+ <td>
+ <p>Titre de la barre latérale. Ceci est utilisé dans l'interface utilisateur du navigateur pour la liste et l'ouverture des barres latérales, et s'affiche en haut de la barre latérale lorsqu'elle est ouverte.</p>
+
+ <p>Cette propriété est facultative : si elle est omise, le titre de la barre latérale est le <code><a href="/fr/Add-ons/WebExtensions/manifest.json/name">nom</a></code> de l'extension.</p>
+
+ <p>C'est une <a href="/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json">propriété localisable.</a></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>open_at_install</code></td>
+ <td>Boolean</td>
+ <td>Facultatif, par défaut à <code>true</code>. Détermine si la barre latérale doit s'ouvrir lors de l'installation. Le comportement par defaut est d'ouvrir la barre latérale lorsque l'installation est terminée.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"sidebar_action": {
+  "default_icon": "sidebar.svg",
+  "default_title": "Ma barre latérale !",
+  "default_panel": "sidebar.html",
+ "browser_style": true
+}</pre>
+
+<p>Pour un exemple simple d'une extension qui utilise une barre latérale, regarder  <a href="https://github.com/mdn/webextensions-examples/tree/master/annotate-page">annotate-page</a>.</p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+
+
+<p>{{Compat("webextensions.manifest.sidebar_action")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action">browser_action</a></code></li>
+ <li><code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action">page_action</a></code></li>
+ <li><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles">Browser styles</a></li>
+</ul>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/storage/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/storage/index.html
new file mode 100644
index 0000000000..1003836dc1
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/storage/index.html
@@ -0,0 +1,69 @@
+---
+title: storage
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/storage
+tags:
+ - Add-ons
+ - Extensions
+ - Manifest
+ - Reference
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/storage
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"storage": {
+ "managed_schema": "schema.json"
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez la clé <code>storage</code> pour spécifier le nom du fichier de schéma qui définit la structure des données dans le stockage géré.</p>
+
+<p>Les données gérées déclarent les politiques d'entreprise soutenues par l'application. Les politiques sont analogues aux options mais sont configurées par un administrateur système au lieu de l'utilisateur, ce qui permet à l'application d'être configurée pour tous les utilisateurs d'une organisation.</p>
+
+<p>Après avoir déclaré les politiques, elles sont lues à partir de l'API  {{WebExtAPIRef("storage.managed")}}. Cependant, si une valeur de politique n'est pas conforme au schéma, elle n'est pas publiée par l'API <code>storage.managed</code>. Il appartient à l'application d'appliquer les politiques configurées par l'administrateur.</p>
+
+<div class="blockIndicator note">
+<p>Firefox ne définit pas de schéma pour le stockage géré, soir {{WebExtAPIRef("storage.managed")}} pour plus de détails.</p>
+</div>
+
+<p>La clé de <code>storage</code> est un objet qui possède les propriétés requises suivantes:</p>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <td><code>managed_schema</code></td>
+ <td>
+ <p>Un <code>String</code> spécifiant le chemin complet du fichier dans l'extension qui définit le schéma de gestion du stockage..</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.storage", 10)}}</p>
+
+<div class="blockIndicator note">
+<p><strong>Remerciements</strong></p>
+
+<p>Cette page comprend les détails de la page du site web des développeurs de Chrome <a href="https://developer.chrome.com/apps/manifest/storage">Manifeste pour les zones de stockage</a> incluses ici sous la licence Creative Commons Attribution 3.0 United States License.</p>
+</div>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/theme/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/theme/index.html
new file mode 100644
index 0000000000..d9f4187f08
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/theme/index.html
@@ -0,0 +1,1374 @@
+---
+title: theme
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/theme
+tags:
+ - Add-ons
+ - Browser
+ - Customization
+ - Customize
+ - Design
+ - Look and Feel
+ - Themes
+ - colors
+ - theme manifest
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Mandatory</th>
+ <td>No</td>
+ </tr>
+ <tr>
+ <th scope="row">Example</th>
+ <td>
+ <pre class="brush: json">
+"theme": {
+ "images": {
+ "theme_frame": "images/sun.jpg"
+ },
+ "colors": {
+ "frame": "#CF723F",
+ "tab_background_text": "#000"
+ }
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Utilisez la clé du thème pour définir un thème statique à appliquer à Firefox.</p>
+
+<div class="note">
+<p><strong>Note</strong>: Si vous voulez inclure un thème avec une extension, veuillez voir l'API  {{WebExtAPIRef("theme")}}.</p>
+</div>
+
+<div class="note">
+<p><strong>Note</strong>: Depuis mai 2019, les thèmes doivent être signés pour être installés ({{bug(1545109)}}). Voir <a href="/fr/docs/Mozilla/Add-ons/Distribution">Signature et distribution votre extension</a> pour plus de détails.</p>
+</div>
+
+<div class="note">
+<p><strong>Prise en charge des thèmes dans Firefox pour Android</strong>: Une nouvelle version de Firefox pour Android, basée sur GeckoView, est en cours de développement. Une <a href="https://play.google.com/store/apps/details?id=org.mozilla.fenix" rel="noreferrer nofollow">pré-version</a> ne support pas les thèmes.</p>
+</div>
+
+<h2 id="Formats_des_images">Formats des images</h2>
+
+<p>Les formats d'image suivants sont pris en charge dans toutes les propriétés de l'image du thème :</p>
+
+<ul>
+ <li>JPEG</li>
+ <li>PNG</li>
+ <li>APNG</li>
+ <li>SVG (SVG animé est pris en charge à partir de Firefox 59)</li>
+ <li>GIF (Le GIF animé n'est pas supporté)</li>
+</ul>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La clé du thème est un objet qui prend les propriétés suivantes:</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>images</code></td>
+ <td><code>Objet</code></td>
+ <td>
+ <p>Facultatif à partir de Firefox 60. Obligatoire avant Firefox 60.</p>
+
+ <p>Un objet JSON dont les propriétés représentent les images à afficher dans différentes parties du navigateur. Voir les <code><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#images">images</a></code> pour plus de détails sur les propriétés que cet objet peut contenir.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>colors</code></td>
+ <td><code>Objet</code></td>
+ <td>
+ <p>Obligatoire.</p>
+
+ <p>Un objet JSON dont les propriétés représentent les couleurs de différentes parties du navigateur. Voir <code><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#couleurs">couleurs</a></code> pour plus de détails sur les propriétés que cet objet peut contenir.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>properties</code></td>
+ <td><code>Objet</code></td>
+ <td>
+ <p>Optionnel</p>
+
+ <p>This object has two properties that affect how the <code>"additional_backgrounds"</code> images are displayed. See <code><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#properties">properties</a></code> for details on the properties that this object can contain.</p>
+
+ <ul>
+ <li><code>"additional_backgrounds_alignment":</code> un tableau énumérant les valeurs définissant l'alignement des éléments correspondants du tableau  <code>"additional_backgrounds":</code>.<br>
+ Les options d'alignement comprennent  : <code>"bottom" <em>(bas)</em></code>, <code>"center" <em>(centre)</em></code>, <code>"left" <em>(gauche)</em></code>, <code>"right" <em>(droite)</em></code>, <code>"top" <em>(haut)</em></code>, <code>"</code><code>center bottom</code><code>"</code><em>(centre bas)</em>, <code>"center center" <em>(centre milieu)</em></code>, <code>"center top" <em>(centre haut)</em></code>, <code>"left bottom" <em>(gauche bas)</em></code>, <code>"left center" <em>(gauche milieu)</em></code>, <code>"left top" <em>(gauche haut)</em></code>, <code>"right bottom" <em>(droite bas)</em></code>, <code>"right center" <em>(droite milieu)</em></code>, et <code>"right top" <em>(droite haut)</em></code>. Si elle n'est pas spécifiée, par défaut, <code>"right top"</code>.<br>
+ Facultatif</li>
+ <li><code>"additional_backgrounds_tiling":</code> un tableau énumérant les valeurs de répétition des éléments correspondants du tableau <code>"additional_backgrounds":</code>, avec le support de <code>"no-repeat" <em>(pas de répétition)</em></code>, <code>"repeat" <em>(répétition)</em></code>, <code>"repeat-x"</code> et <code>"repeat-y"</code>. Si elle n'est pas spécifiée, par défaut, "<code>no-repeat"</code>.<br>
+ Facultatif</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="images">images</h3>
+
+<p>Toutes les URL sont relatives au fichier manifest.json et ne peuvent pas référencer une URL externe.</p>
+
+<p>Les images doivent avoir une hauteur de 200 pixels pour garantir qu'elles remplissent toujours l'espace d'en-tête verticalement.</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <p>headerURL <code>{{Deprecated_Inline}}</code></p>
+ </td>
+ <td><code>String</code></td>
+ <td>
+ <div class="blockIndicator warning">
+ <p><code>headerURL</code> a été supprimé dans Firefox 70. Vous commencerez à recevoir des avertissements dans Firefox 65 et plus tard si vous chargez un thème qui utilise cette propriété. Utilisez <code>theme_frame</code> à la place.</p>
+ </div>
+
+ <p>L'URL d'une image de premier plan doit être ajoutée à la zone d'en-tête et ancrée dans le coin supérieur droit de la zone d'en-tête.</p>
+
+ <p>En option à partir de Firefox 60. Un de <code>theme_frame</code> ou <code>headerURL</code> devait être spécifié avant Firefox 60. Notez également que dans Firefox 60 et suivants, tout {{cssxref("text-shadow")}} appliqué au texte d'en-tête est supprimé si aucun <code>headerURL</code> n'est spécifié (voir {{bug(1404688)}}).</p>
+
+ <p>Dans Firefox pour Android, <code>headerURL</code> ou <code>theme_frame</code> doit être spécifié.</p>
+
+ <ul>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td><code>theme_frame</code></td>
+ <td><code>String</code></td>
+ <td>
+ <p>L'URL d'une image de premier plan doit être ajoutée à la zone d'en-tête et ancrée dans le coin supérieur droit de la zone d'en-tête.</p>
+
+ <div class="blockIndicator note">
+ <p>L'ancre de l'image en haut à gauche de l'en-tête pour Chrome et si l'image ne remplit pas la zone de l'en-tête, l'image sera en mosaïque.</p>
+ </div>
+
+ <p>Optionnel à partir de Firefox 60. Un de <code>theme_frame</code> ou <code>headerURL</code> devait être spécifié avant Firefox 60.</p>
+
+ <p>Dans Firefox pour Android, <code>headerURL</code> ou <code>theme_frame</code> doit être spécifié.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>additional_backgrounds</code></td>
+ <td><code>Array </code>de <code>String</code></td>
+ <td>
+ <div class="warning">
+ <p>La propriété <code>additional_backgrounds</code> est experimentale.  Il est actuellement accepté dans les versions finale de Firefox, mais son comportement est sujet à changement.</p>
+ </div>
+
+ <p>Un tableau d'URLs pour les images de fond supplémentaires à ajouter à la zone d'en-tête et à afficher derrière l'image <code>"theme_frame"</code> :  Ces images superposent la première image du tableau en haut, la dernière image du tableau en bas.</p>
+
+ <p>Optionel.</p>
+
+ <p>Par défaut, toutes les images sont ancrées dans le coin supérieur droit de la zone d'en-tête, mais leur alignement et leur comportement répété peuvent être contrôlés par les propriétés des <code>"properties"</code>.</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Couleurs">Couleurs</h3>
+
+<p>Ces propriétés définissent les couleurs utilisées pour les différentes parties du navigateur. Ils sont tous facultatifs (mais notez que <code>"accentcolor"</code> et <code>"textcolor"</code>  étaient obligatoires dans Firefox avant la version 63). L'effet de ces propriétés sur l'interface utilisateur de Firefox est présenté ici:</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <td style="background-color: white;">
+ <p><img alt="Overview of the color properties and how they apply to Firefox UI components" src="https://mdn.mozillademos.org/files/16855/Themes_components_annotations.png" style="height: 1065px; width: 1521px;"></p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<div class="blockIndicator note">
+<p>Lorsqu'un composant est affecté par plusieurs propriétés de couleur, les propriétés sont listées par ordre de priorité.</p>
+</div>
+
+<p>Toutes ces propriétés peuvent être spécifiées sous la forme d'une chaîne contenant un <a href="/fr/docs/Web/CSS/color_value">code de couleur CSS</a>, ou un tableau RVB tel que <code>"tab_background_text": [ 107 , 99 , 23 ]</code>, ou en héxadécimal, tel que <code>"tab_background_text": #6b6317</code>.</p>
+
+<div class="blockIndicator note">
+<p><a href="/fr/Add-ons/WebExtensions/manifest.json/theme#Chrome_compatibility">Dans Chrome, les couleurs ne peuvent être spécifiées que sous forme de tableau RVB</a>.</p>
+
+<p>Dans Firefox pour Android, les couleurs peuvent être spécifiées en utilisant:</p>
+
+<ul>
+ <li>La notation hexadecimale complète, c'est à dire #RRGGBB uniquement. Les syntaxes <em>alpha</em> et abrégée, comme dans #RGB[A], ne sont pas supportées.</li>
+ <li><a href="/fr/docs/Web/CSS/Type_color#Syntaxe">Notation fonctionnelle</a> (tableau RVB) pour les thèmes ciblant Firefox 68.2 ou supérieur.</li>
+</ul>
+
+<p>Les couleurs pour les thèmes Firefox pour Android ne peuvent pas être spécifiées à l'aide des noms de couleurs.</p>
+</div>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>accentcolor</code><code> {{Deprecated_Inline}}</code></td>
+ <td>
+ <div class="blockIndicator warning">
+ <p><code>accentcolor</code> a été supprimé dans Firefox 70. Vous commencerez à recevoir des avertissements dans Firefox 65 et plus tard si vous chargez un thème qui utilise cette propriété. Utilisez  <code>frame</code> à la place.</p>
+ </div>
+
+ <p>La couleur de l'arrière-plan de la zone d'en-tête, affichée dans l'en-tête quand il n'est pas couvert ou reste visible à travers les images spécifiées dans <code>"headerURL"</code> et <code>"additional_backgrounds"</code>.</p>
+
+ <details><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "accentcolor": "red",
+ "tab_background_text": "white"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15871/theme-accentcolor.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>bookmark_text</code></td>
+ <td>
+ <p>La couleur du texte et des icônes dans le signet et les barres de recherche. De plus, si <code>tab_text</code> n'est pas défini, il définit la couleur du texte de l'onglet actif et si les <code>icons</code> ne sont pas définies, la couleur des icônes de la barre d'outils. Fourni en tant qu'alias compatible Chrome pour l'outils <code>toolbar_text</code>.</p>
+
+ <div class="blockIndicator note">
+ <p>Assurez-vous que toute couleur utilisée contraste bien avec celles utilisées dans <code>frame</code> et <code>frame_inactive</code> ou <code>toolbar</code> si vous utilisez cette propriété.</p>
+
+ <p>Là où les <code>icons</code> ne sont pas définis, assurez-vous également d'un bon contraste avec <code>button_background_active</code> et <code>button_background_hover</code>.</p>
+ </div>
+
+ <details><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "toolbar": "black",
+ "bookmark_text": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="Example use of the bookmark_text color property" src="https://mdn.mozillademos.org/files/16668/theme-bookmark_text.png"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>button_background_active</code></td>
+ <td>
+ <p>La couleur de l'arrière-plan des boutons de la barre d'outils.</p>
+
+ <details><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "button_background_active": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15872/theme-button_background_active.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>button_background_hover</code></td>
+ <td>
+ <p>La couleur de l'arrière-plan des boutons de la barre d'outils au survol.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "button_background_hover": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15873/theme-button_background_hover.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>icons</code></td>
+ <td>
+ <p>La couleur des icônes de la barre d'outils, à l'exclusion de celles de la barre d'outils de recherche.</p>
+
+ <div class="blockIndicator note">
+ <p>Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans <code>frame</code>,  <code>frame_inactive</code>, <code>button_background_active</code>, et  <code>button_background_hover</code>.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "icons": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15874/theme-icons.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>icons_attention</code></td>
+ <td>
+ <p>La couleur des icônes de la barre d'outils dans l'état d'attention comme l'icône de signet étoilé ou l'icône de téléchargement terminé.</p>
+
+ <div class="blockIndicator note">
+ <p>Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans <code>frame</code>,  <code>frame_inactive</code>, <code>button_background_active</code>, et  <code>button_background_hover</code>.</p>
+ </div>
+
+ <details><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "icons_attention": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15875/theme-icons_attention.png" style="height: 324px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>frame</code></td>
+ <td>
+ <p>La couleur de l'arrière-plan de la zone d'en-tête, affichée dans la partie de l'en-tête non couverte ou visible à travers les images spécifiées dans <code>"theme_frame"</code> et <code>"additional_backgrounds"</code>.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "red",
+ "tab_background_text": "white"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15871/theme-accentcolor.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>frame_inactive</code></td>
+ <td>
+ <p>La couleur de l'arrière-plan de la zone d'en-tête quand la fenêtre du navigateur est inactive, affichée dans la partie de l'en-tête non couverte ou visible à travers les images spécifiées dans <code>"theme_frame"</code> et <code>"additional_backgrounds"</code>.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "red",
+ "frame_inactive": "gray",
+ "tab_text": "white"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="Example use of the frame_inactive color property" src="https://mdn.mozillademos.org/files/16669/theme-frame_inactive.png" style="height: 193px; width: 752px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>ntp_background</code></td>
+ <td>
+ <p>La nouvelle couleur d'arrière-plan de la page à onglet.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "ntp_background": "red",
+ "ntp_text": "white"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/16175/ntp_colors.png" style="display: block; height: 190px; margin: 0 auto;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>ntp_text</code></td>
+ <td>
+ <p>La couleur du texte de la page nouvel onglet.</p>
+
+ <div class="blockIndicator note">
+ <p>Assurez-vous que la couleur utilisée contraste bien avec celle utilisée dans  <code>ntp_background</code>.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "ntp_background": "red",
+ "ntp_text": "white"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/16175/ntp_colors.png" style="display: block; height: 190px; margin: 0 auto;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup</code></td>
+ <td>
+ <p>La couleur d'arrière-plan des popups (telles que la liste déroulante de la barre d'adresse et les menus avec une flèche)</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "popup": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15876/theme-popup.png" style="height: 324px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup_border</code></td>
+ <td>
+ <p>La couleur de la bordure des popups.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "popup": "black",
+ "popup_text": "white",
+ "popup_border": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15877/theme-popup_border.png" style="height: 324px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup_highlight</code></td>
+ <td>
+ <p>La couleur d'arrière-plan des éléments mis en surbrillance à l'aide du clavier dans les fenêtre contextuelles (tel que l’élément sélectionné dans le menu déroulant de la barre d'URL).</p>
+
+ <div class="blockIndicator note">
+ <p>Il est recommandé de définir <code>popup_highlight_text</code> pour remplacer la couleur de texte par défaut du navigateur sur différentes plateformes.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "popup_highlight": "red",
+ "popup_highlight_text": "white",
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15878/theme-popup_highlight.png" style="height: 490px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup_highlight_text</code></td>
+ <td>
+ <p>La couleur du texte des éléments mis en surbrillance dans les fenêtres contextuelles.</p>
+
+ <div class="blockIndicator note">
+ <p>S'assurer que la couleur utilisée contraste bien avec celle utilisée dans <code>popup_highlight</code>.</p>
+ </div>
+
+ <details><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "popup_highlight": "black",
+ "popup_highlight_text": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15879/theme-popup_highlight_text.png" style="height: 490px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>popup_text</code></td>
+ <td>
+ <p>La couleur du texte des popups.</p>
+
+ <div class="blockIndicator note">
+ <p>S'assurer que la couleur utilisée contraste bien avec celle utilisée dans <code>popup</code>.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "popup": "black",
+ "popup_text": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15880/popup_text.png" style="height: 490px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar</code></td>
+ <td>
+ <p>La couleur de fond des barres latérales intégrées.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "sidebar": "red",
+ "sidebar_highlight": "white",
+ "sidebar_highlight_text": "green",
+ "sidebar_text": "white"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/16176/sidebar_colors.png" style="display: block; margin: 0 auto; width: 250px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar_border</code></td>
+ <td>
+ <p>La couleur de la bordure et du séparateur de la barre latérale du navigateur.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "sidebar_border": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/16177/Screen_Shot_2018-09-16_at_6.13.31_PM.png" style="display: block; height: 286px; margin: 0px auto; width: 300px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar_highlight</code></td>
+ <td>
+ <p>La couleur d'arrière-plan des lignes en surbrillance dans les barres latérales intégrées.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "sidebar_highlight": "red",
+ "sidebar_highlight_text": "white"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/16223/Screen_Shot_2018-10-04_at_11.15.46_AM.png" style="display: block; height: 357px; margin: 0px auto; width: 269px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar_highlight_text</code></td>
+ <td>
+ <p>La couleur du texte des lignes en surbrillance dans les barres latérales intégrées.</p>
+
+ <div class="blockIndicator note">
+ <p>S'assurer que la couleur utilisée contraste bien avec celle utilisée dans <code>sidebar_highlight</code>.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "sidebar_highlight": "pink",
+ "sidebar_highlight_text": "red",
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/16224/Screen_Shot_2018-10-04_at_11.22.41_AM.png" style="display: block; height: 363px; margin: auto; width: 262px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>sidebar_text</code></td>
+ <td>
+ <p>La couleur du texte des barres latérales intégrées.</p>
+
+ <div class="blockIndicator note">
+ <p>S'assurer que la couleur utilisée contraste bien avec celle utilisée dans <code>sidebar</code>.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "sidebar": "red",
+ "sidebar_highlight": "white",
+ "sidebar_highlight_text": "green",
+ "sidebar_text": "white"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/16176/sidebar_colors.png" style="display: block; margin: 0 auto; width: 250px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_background_separator</code></td>
+ <td>
+ <p>La couleur du séparateur vertical des onglets d'arrière-plan.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "tab_background_separator": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="A closeup of browser tabs to highlight the separator." src="https://mdn.mozillademos.org/files/16048/theme-tab-background-separator.png" style="height: 356px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_background_text</code></td>
+ <td>
+ <p>La couleur du texte affiché dans les onglets des pages inactives. Si <code>tab_text</code> ou <code>bookmark_text</code> n'est pas spécifié, s'applique au texte de l'onglet actif.</p>
+
+ <div class="blockIndicator note">
+ <p>Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  <code>tab_selected</code> ou <code>frame</code> et  <code>frame_inactive</code>.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "toolbar": "white",
+ "tab_background_text": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15885/theme-textcolor.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_line</code></td>
+ <td>
+ <p>La couleur de la ligne de l'onglet sélectionnée.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_bckground_text": "white",
+ "tab_line": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15881/theme-tab_line.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_loading</code></td>
+ <td>
+ <p>La couleur de l'indicateur de chargement de l'onglet et de l'effet de vague.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "tab_loading": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15882/theme-tab_loading.gif" style="height: 186px; width: 618px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_selected</code></td>
+ <td>
+ <p>La couleur de fond de l'onglet sélectionné. Lorsqu'elle n'est pas utilisée, la couleur de l'onglet sélectionné est définie par <code>frame</code> et <code>frame_inactive</code>.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "images": {
+ "theme_frame": "weta.png"
+},
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "tab_selected": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15883/theme-tab_selected.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>tab_text</code></td>
+ <td>
+ <p>Depuis Firefox 59, il représente la couleur du texte de l'onglet sélectionné. Si <code>tab_line</code> n'est pas spécifié, il définit également la couleur de la ligne de tabulation sélectionnée.</p>
+
+ <div class="blockIndicator note">
+ <p>Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  <code>tab_selected</code> ou <code>frame</code> et  <code>frame_inactive</code>.</p>
+ </div>
+
+ <p>De Firefox 55 à 58, il est incorrectement implémenté comme alias pour <code>"textcolor"</code></p>
+
+ <details><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "images": {
+ "theme_frame": "weta.png"
+},
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "tab_selected": "white",
+ "tab_text": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15884/theme-tab_text.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>textcolor {{Deprecated_Inline}}</code></td>
+ <td>
+ <div class="blockIndicator warning">
+ <p><code>textcolor</code> a été supprimé dans Firefox 70. Vous commencerez à recevoir des avertissements dans Firefox 65 et plus tard si vous chargez un thème qui utilise cette propriété. Utilisez <code>tab_text</code> à la place.</p>
+ </div>
+
+ <p>La couleur du texte affiché dans la zone d'en-tête.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "toolbar": "white",
+ "textcolor": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15885/theme-textcolor.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar</code></td>
+ <td>
+ <p>La couleur de fond de la barre de navigation, de la barre de signets et de l'onglet sélectionné.</p>
+
+ <p>Ceci définit également la couleur de fond de la barre "Rechercher".</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "toolbar": "red",
+ "tab_background_text": "white"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15966/toolbar.png" style="height: 335px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_bottom_separator</code></td>
+ <td>
+ <p>La couleur de la ligne séparant le bas de la barre d'outils de la région en dessous.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "toolbar_bottom_separator": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15887/theme-toolbar_bottom_separator.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field</code></td>
+ <td>
+ <p>La couleur d'arrière-plan des champs de la barre d'outils, comme la barre URL.</p>
+
+ <p>Ceci définit également la couleur de fond du champ Rechercher dans la page.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "toolbar_field": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15967/toolbar-field.png" style="height: 335px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_border</code></td>
+ <td>
+ <p>La couleur de la bordure des champs de la barre d'outils.</p>
+
+ <p>Ceci définit également la couleur de fond du champ Rechercher dans la page.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "toolbar": "black",
+ "tab_background_text": "white",
+ "toolbar_field": "black",
+ "toolbar_field_text": "white",
+ "toolbar_field_border": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15968/toolbar-field-border.png" style="height: 335px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_border_focus</code></td>
+ <td>
+ <p>La couleur de bordure pour les champs de la barre d'outils qui ont le focus.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "toolbar": "black",
+ "tab_background_text": "white",
+ "toolbar_field": "black",
+ "toolbar_field_text": "white",
+ "toolbar_field_border_focus": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15890/theme-toolbar_field_border_focus.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_focus</code></td>
+ <td>
+ <p>La couleur de fond pour les champs de la barre d'outils qui ont le focus, tels que la barre d'URL.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "toolbar": "black",
+ "tab_background_text": "white",
+ "toolbar_field": "black",
+ "toolbar_field_text": "white",
+ "toolbar_field_focus": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15891/theme-toolbar_field_focus.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_highlight</code></td>
+ <td>La couleur d'arrière-plan utilisée pour indiquer la sélection actuelle du texte dans la barre URL (et la barre de recherche, si elle est configurée pour être séparée).
+ <details open><summary>See example</summary>
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "toolbar_field": "rgba(255, 255, 255, 0.91)",
+ "toolbar_field_text": "rgb(0, 100, 0)",
+ "toolbar_field_highlight": "rgb(180, 240, 180, 0.9)",
+ "toolbar_field_highlight_text": "rgb(0, 80, 0)"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="Example showing customized text and highlight colors in the URL bar" src="https://mdn.mozillademos.org/files/16632/toolbar_field_highlight.png" style="height: 289px; width: 738px;"></p>
+
+ <p>Ici, le champ <code>toolbar_field_highlight</code> spécifie que la couleur de surbrillance est un vert clair, alors que le texte est réglé sur un vert foncé à vert moyen en utilisant le texte  <code>toolbar_field_highlight_text</code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_highlight_text</code></td>
+ <td>
+ <p>La couleur utilisée pour dessiner le texte actuellement sélectionné dans la barre d'URL (et la barre de recherche, si elle est configurée comme boîte séparée).</p>
+
+ <div class="blockIndicator note">
+ <p>S'assurer que la couleur utilisée contraste bien avec celles utilisées dans  <code>toolbar_field_highlight</code>.</p>
+ </div>
+
+ <details open><summary>See example</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "toolbar_field": "rgba(255, 255, 255, 0.91)",
+ "toolbar_field_text": "rgb(0, 100, 0)",
+ "toolbar_field_highlight": "rgb(180, 240, 180, 0.9)",
+ "toolbar_field_highlight_text": "rgb(0, 80, 0)"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="Example showing customized text and highlight colors in the URL bar" src="https://mdn.mozillademos.org/files/16632/toolbar_field_highlight.png" style="height: 289px; width: 738px;"></p>
+
+ <p>Ici, le champ <code>toolbar_field_highlight_text</code> permet de régler la couleur du texte sur un vert foncé moyen foncé, tandis que la couleur de surbrillance est un vert clair.</p>
+ </td>
+ </tr>
+ <tr>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_separator</code></td>
+ <td>
+ <p>La couleur des séparateurs à l'intérieur de la barre d'URL. Dans Firefox 58, cela a été implémenté en tant que <code>toolbar_vertical_separator</code>.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "toolbar": "black",
+ "tab_background_text": "white",
+ "toolbar_field_separator": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15895/theme-toolbar_field_separator.png" style="height: 302px; width: 738px;"></p>
+
+ <p>Dans cette capture d'écran, <code>"toolbar_vertical_separator"</code> est la ligne verticale blanche dans la barre URL qui sépare l'icône du mode lecture des autres icônes.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_text</code></td>
+ <td>
+ <p>La couleur du texte dans les champs de la barre d'outils, comme la barre URL. Ceci définit également la couleur du texte dans le champ Rechercher dans la page.</p>
+
+ <div class="blockIndicator note">
+ <p>Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  <code>toolbar_field</code>.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "toolbar": "black",
+ "tab_background_text": "white",
+ "toolbar_field": "black",
+ "toolbar_field_text": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15969/toolbar-field-text.png" style="height: 335px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_field_text_focus</code></td>
+ <td>
+ <p>La couleur du texte dans les champs de la barre d'outils qui ont le focus, tels que la barre d'URL.</p>
+
+ <div class="blockIndicator note">
+ <p>Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  <code>toolbar_field_focus</code>.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "toolbar": "black",
+ "tab_background_text": "white",
+ "toolbar_field": "black",
+ "toolbar_field_text": "white",
+ "toolbar_field_text_focus": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15893/theme-toolbar_field_text_focus.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_text</code></td>
+ <td>
+ <p>La couleur du texte de la barre d'outils. Ceci définit également la couleur du texte dans la barre "Rechercher".</p>
+
+ <div class="blockIndicator note">
+ <p>Pour la compatibilité avec Chrome, utilisez l'alias <code>bookmark_text</code>.</p>
+ </div>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "toolbar": "black",
+ "toolbar_text": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15970/toolbar-text.png" style="height: 335px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_top_separator</code></td>
+ <td>
+ <p>La couleur de la ligne séparant le bas de la barre d'outils de la région en dessous.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "toolbar": "black",
+ "toolbar_top_separator": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15897/theme-toolbar_top_separator.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>toolbar_vertical_separator</code></td>
+ <td>
+ <p>La couleur du séparateur à côté de l'icône du menu d'application. Dans Firefox 58, il correspond à la couleur des séparateurs dans la barre d'URL.</p>
+
+ <details open><summary>Voir exemple</summary>
+
+ <pre class="brush: json">
+"theme": {
+ "colors": {
+ "frame": "black",
+ "tab_background_text": "white",
+ "toolbar": "black",
+ "toolbar_vertical_separator": "red"
+ }
+}</pre>
+ </details>
+
+ <p><img alt="" src="https://mdn.mozillademos.org/files/15898/theme-toolbar_vertical_separator.png" style="height: 302px; width: 738px;"></p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h4 id="Aliases">Aliases</h4>
+
+<p>En outre, cette clé accepte diverses propriétés qui sont des alias pour l'une des propriétés ci-dessus. Ceux-ci sont fournis pour la compatibilité avec Chrome. Si un alias est donné et que la version non-alias est également donnée, alors la valeur sera tirée de la version non-alias.</p>
+
+<div class="blockIndicator warning">
+<p>A partir de Firefox 70, les propriétés suivantes sont supprimées : <code>accentcolor</code> et <code>textcolor</code>. Utilisez à la place <code>frame</code> et <code>tab_background_text</code>. L'utilisation de ces valeurs dans des thèmes chargés dans Firefox 65 ou une version ultérieure augmentera les avertissements.</p>
+</div>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Alias pour</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>bookmark_text</code></td>
+ <td><code>toolbar_text {{Deprecated_Inline}}</code></td>
+ </tr>
+ <tr>
+ <td><code>frame</code></td>
+ <td><code>accentcolor {{Deprecated_Inline}}</code></td>
+ </tr>
+ <tr>
+ <td><code>frame_inactive</code></td>
+ <td><code>accentcolor {{Deprecated_Inline}}</code></td>
+ </tr>
+ <tr>
+ <td><code>tab_background_text</code></td>
+ <td><code>textcolor {{Deprecated_Inline}}</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="properties">properties</h3>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Name</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>additional_backgrounds_alignment</code></td>
+ <td>
+ <p><code>Array</code> of <code>String</code></p>
+ </td>
+ <td>
+ <p>Optionel.</p>
+
+ <p>Un tableau de valeurs d'énumération définissant l'alignement de l'élément <code>"additional_backgrounds":</code> élément de tableau.<br>
+ Les options d'alignement comprennent:</p>
+
+ <ul>
+ <li><code>"bottom"</code></li>
+ <li><code>"center"</code></li>
+ <li><code>"left"</code></li>
+ <li><code>"right"</code></li>
+ <li><code>"top"</code></li>
+ <li><code>"center bottom"</code></li>
+ <li><code>"center center"</code></li>
+ <li><code>"center top"</code></li>
+ <li><code>"left bottom"</code></li>
+ <li><code>"left center"</code></li>
+ <li><code>"left top"</code></li>
+ <li><code>"right bottom"</code></li>
+ <li><code>"right center"</code></li>
+ <li><code>"right top"</code>.</li>
+ </ul>
+
+ <p>Si non spécifié, par default <code>"right top"</code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>additional_backgrounds_tiling</code></td>
+ <td>
+ <p><code>Array</code> of <code>String</code></p>
+ </td>
+ <td>
+ <p>Optional.</p>
+
+ <p>Un tableau de valeurs d'énumérations définissant, comme l'élément de tableau  <code>"additional_backgrounds":</code> correspondant de répétition. Les options comprennent :</p>
+
+ <ul>
+ <li><code>"no-repeat"</code></li>
+ <li><code>"repeat"</code></li>
+ <li><code>"repeat-x"</code></li>
+ <li><code>"repeat-y"</code></li>
+ </ul>
+
+ <p>Si non spécifié, par default <code>"no-repeat"</code>.</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Un thème de base doit définir une image à ajouter à l'en-tête, la couleur d'accent à utiliser dans l'en-tête et la couleur du texte utilisée dans l'en-tête:</p>
+
+<pre class="brush: json" dir="ltr"> "theme": {
+ "images": {
+ "theme_frame": "images/sun.jpg"
+ },
+ "colors": {
+ "frame": "#CF723F",
+ "tab_background_text": "#000"
+ }
+ }</pre>
+
+<p dir="ltr"><span id="result_box" lang="fr"><span>Plusieurs images peuvent être utilisées pour remplir l'en-tête</span></span>, <span id="result_box" lang="fr"><span>en utilisant une image d'en-tête vierge/transparente pour donner le contrôle de l'emplacement à chaque image visible:</span></span></p>
+
+<pre class="brush: json" dir="ltr"> "theme": {
+ "images": {
+ "headerURL": "images/blank.png",
+ "additional_backgrounds": [ "images/left.png" , "images/middle.png", "images/right.png"]
+ },
+ "properties": {
+ "additional_backgrounds_alignment": [ "left top" , "top", "right top"]
+ },
+ "colors": {
+ "frame": "blue",
+ "tab_background_text": "#ffffff"
+ }
+ }</pre>
+
+<p>Vous pouvez également remplir l'en-tête avec une image répétée, ou des images, dans ce cas, une seule image ancrée dans le milieu du haut de l'en-tête et répétée sur le reste de l'en-tête:</p>
+
+<pre class="brush: json" dir="ltr"> "theme": {
+ "images": {
+ "additional_backgrounds": [ "images/logo.png"]
+ },
+ "properties": {
+ "additional_backgrounds_alignment": [ "top" ],
+ "additional_backgrounds_tiling": [ "repeat" ]
+ },
+ "colors": {
+ "frame": "green",
+ "tab_background_text": "#000"
+ }
+ }</pre>
+
+<p>L'exemple suivant utilise la plupart des différentes valeurs de <code>"theme.colors"</code>:</p>
+
+<pre class="brush: json"> "theme": {
+ "images": {
+ "theme_frame": "weta.png"
+ },
+
+ "colors": {
+ "accentcolor": "darkgreen",
+ "tab_background_text": "white",
+ "toolbar": "blue",
+ "bookmark_text": "cyan",
+ "toolbar_field": "orange",
+ "toolbar_field_border": "white",
+ "toolbar_field_text": "green",
+ "toolbar_top_separator": "red",
+ "toolbar_bottom_separator": "white",
+ "toolbar_vertical_separator": "white"
+ }
+ }</pre>
+
+<p>Il vous donnera un navigateur qui ressemble à ceci :</p>
+
+<p><img alt="" src="https://mdn.mozillademos.org/files/15789/theme.png" style="display: block; height: 652px; margin-left: auto; margin-right: auto; width: 1446px;"></p>
+
+<p>Dans cette capture d'écran, <code>"toolbar_vertical_separator"</code> est la ligne verticale blanche dans la barre d'URL divisant l'icône du mode Lecteur des autres icônes.</p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.theme")}}</p>
+
+<h3 id="Couleurs_2">Couleurs</h3>
+
+<p>{{Compat("webextensions.manifest.theme.colors", 10)}}</p>
+
+<h3 id="Images">Images</h3>
+
+<p>{{Compat("webextensions.manifest.theme.images", 10)}}</p>
+
+<h3 id="Propriétés">Propriétés</h3>
+
+<p>{{Compat("webextensions.manifest.theme.properties", 10)}}</p>
+
+<h3 id="Compatibilité_de_Chrome">Compatibilité de Chrome</h3>
+
+<p>Dans Chrome:</p>
+
+<ul>
+ <li><code>colors/toolbar_text</code> n'est pas utilisé, utilisez <code>colors/bookmark_text</code> à la place.</li>
+ <li><code>images/theme_frame</code> ancre l'image en haut à gauche de l'en-tête et si l'image ne remplit pas la zone de l'en-tête de l'image.</li>
+ <li>toutes les couleurs doivent être spécifiées sous la forme d'un tableau de valeurs RVB, comme ceci :</li>
+</ul>
+
+<pre class="brush: json line-numbers language-json"><code class="language-json"><span class="key token">"theme":</span> <span class="punctuation token">{</span>
+ <span class="key token">"colors":</span> <span class="punctuation token">{</span>
+ <span class="key token">"frame":</span> <span class="punctuation token">[</span><span class="number token">255</span><span class="punctuation token">,</span> <span class="number token">0</span><span class="punctuation token">,</span> <span class="number token">0</span><span class="punctuation token">]</span><span class="punctuation token">,</span>
+ <span class="key token">"tab_background_text":</span> <span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">,</span> <span class="number token">255</span><span class="punctuation token">,</span> <span class="number token">0</span><span class="punctuation token">]</span><span class="punctuation token">,</span>
+ <span class="key token">"bookmark_text":</span> <span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">,</span> <span class="number token">0</span><span class="punctuation token">,</span> <span class="number token">255</span><span class="punctuation token">]</span>
+ <span class="punctuation token">}</span>
+<span class="punctuation token">}</span></code></pre>
+
+<p>A partir de Firefox 59, la forme tableau et la forme couleur CSS sont acceptées pour toutes les propriétés. Avant cela, <code>colors/frame</code> et <code>colors/tab_background_text</code> nécessitaient la forme tableau, alors que d'autres propriétés nécessitaient la forme couleur CSS.</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/theme_experimentation/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/theme_experimentation/index.html
new file mode 100644
index 0000000000..f33a6478c4
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/theme_experimentation/index.html
@@ -0,0 +1,194 @@
+---
+title: theme expérimentation
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/theme_experimentation
+tags:
+ - Add-ons
+ - Browser
+ - Customisation
+ - Customise
+ - Design
+ - Look and Feel
+ - Themes
+ - colors
+ - navigatuer
+ - theme manifest
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme_experiment
+---
+<div>{{AddonSidebar}}</div>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Object</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json">
+"theme_experiment": {
+ "stylesheet": "style.css",
+ "colors": {
+ "popup_affordance": "--arrowpanel-dimmed"
+ },
+ "images": {
+ "theme_toolbar": "--toolbar-bgimage"
+ },
+ "properties": {
+ "toolbar_image_alignment":
+ "--toolbar-bgalignment"
+ }
+}</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<div class="cl-preview-section">
+<p>Cette clé permet de définir les propriétés de la clé expérimentale de <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code> pour l'interface Firefox. Ces expériences sont un précurseur pour proposer de nouvelles fonctionnalités thématiques à inclure dans Firefox. L'expérimentation se fait par:</p>
+</div>
+
+<div class="cl-preview-section">
+<ul>
+ <li>créer une feuille de style qui définit les correspondances entre les sélecteurs CSS internes pour les éléments d'interface utilisateur Firefox et les variables CSS arbitraires. Les variables CSS sont ensuite mappées dans les objets <code>colors</code>, <code>images</code>, et <code>properties</code> avec les nouvelles propriétés de clé de <code>theme</code>.</li>
+ <li>(sans feuille de style) en utilisant <code>colors</code>, <code>images</code>, et <code>properties</code> pour mapper les sélecteurs CSS internes de Firefox, tels que <code>--arrowpanel-dimmed</code> vers les nouvelles propriétés de clé de <code>theme</code> key properties. Cette option limite l'expérimentation aux composants d'interface utilisateur associés à une variable CSS intégrée.</li>
+</ul>
+</div>
+
+<div class="cl-preview-section">
+<p>Pour découvrir les sélecteurs CSS des éléments de l'interface utilisateur Firefox ou des variables CSS internes de Firefox, utilise la <a href="/fr/docs/Outils/Boîte_à_outils_du_navigateur">boite à outils du navigateur</a>.</p>
+</div>
+
+<div class="cl-preview-section">
+<div class="blockIndicator note">
+<p>Cette clé est uniquement disponible pour une utilisation dans les canaux Firefox Developer Edition et Firefox Nightly et nécessite l'activation de la préférence <code>extensions.legacy.enabled</code>.</p>
+</div>
+</div>
+
+<div class="cl-preview-section">
+<div class="blockIndicator warning">
+<p>Cette fonctionnalité est expérimentale et peut être sujette à modification.</p>
+</div>
+</div>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La clé theme_experiment est un objet qui prend les propriétés suivantes :</p>
+
+<table class="fullwidth-table standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Nom</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>stylesheet</code></td>
+ <td><code>String</code></td>
+ <td>
+ <p>Facultatif</p>
+
+ <p>Nom d'une feuille de style fournissant le mappage des sélecteurs CSS des éléments de l'interface Firefox aux variables CSS.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>images</code></td>
+ <td><code>Object</code></td>
+ <td>
+ <p>Facultatif</p>
+
+ <p>Mappings des variables CSS (telles que définies dans Firefox ou par la feuille de style définie dans la <code>stylesheet</code>) aux noms de propriétés <code>images</code> à utiliser dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>colors</code></td>
+ <td><code>Object</code></td>
+ <td>
+ <p>Facultatif</p>
+
+ <p>Mappings des variables CSS (telles que définies dans Firefox ou par la feuille de style définie dans la <code>stylesheet</code>) aux noms de propriétés <code>colors</code> à utiliser dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code>properties</code></td>
+ <td><code>Object</code></td>
+ <td>
+ <p>Facultatif</p>
+
+ <p>Mappings des variables CSS (telles que définies dans Firefox ou par la feuille de style définie dans la <code>stylesheet</code>) aux noms de propriétés <code>properties</code> à utiliser dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code>.</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemples">Exemples</h2>
+
+<div class="cl-preview-section">
+<p>Ces exemples utilisent une feuille de style appelée <code>style.css</code> pour permettre de définir une couleur pour le bouton de recharge du navigateur dans la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">theme</a></code>.</p>
+</div>
+
+<div class="cl-preview-section">
+<p>La feuille de style définit :</p>
+</div>
+
+<div class="cl-preview-section">
+<pre><code>#reload-button {
+ fill: var(--reload-button-color);
+}
+</code></pre>
+</div>
+
+<div class="cl-preview-section">
+<p>où <code>#reload-button</code> est le sélecteur CSS interne de Firefox pour le bouton reload et  <code>--reload-button-color</code> est un nom arbitraire..</p>
+</div>
+
+<div class="cl-preview-section">
+<p>Dans le fichier <code>manifest.json</code>, <code>--reload-button-color</code> est alors mappé au nom à utiliser dans la propriété <code>theme</code> <code>colors</code> :</p>
+</div>
+
+<div class="cl-preview-section">
+<pre><code>"theme_experiment": {
+ "stylesheet": "style.css",
+ "colors": {
+ "reload_button": "--reload-button-color"
+ }
+}
+</code></pre>
+</div>
+
+<div class="cl-preview-section">
+<p>L'argument <code>reload_button</code> est alors utilisé de la même manière que n'importe quelle autre propriété de <code>theme</code> .</p>
+</div>
+
+<div class="cl-preview-section">
+<pre><code>"theme": {
+ "colors": {
+ "reload_button": "orange"
+ }
+}
+</code></pre>
+</div>
+
+<div class="cl-preview-section">
+<p>Ceci a pour effet de rendre l'icône de recharge orange.</p>
+</div>
+
+<div class="cl-preview-section"><img alt="Outcome of a theme experiment, showing the reload button colored orange." src="https://mdn.mozillademos.org/files/16892/theme_experiment.png" style="height: 110px; width: 241px;"></div>
+
+<div class="cl-preview-section"></div>
+
+<div class="cl-preview-section">
+<p>Cette propriété peut également être utilisée dans <code>browser.theme.update()</code>. <code>images</code> et  <code>properties</code> travaillent de la même manière que <code>colors</code>.</p>
+</div>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.theme_experiment")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/user_scripts/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/user_scripts/index.html
new file mode 100644
index 0000000000..49bb43316c
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/user_scripts/index.html
@@ -0,0 +1,48 @@
+---
+title: user_scripts
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+ - manifest.json
+ - user_scripts key
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts
+---
+<p>{{AddonSidebar}}</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Array</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json; line-numbers language-json">
+<code class="language-json"> <span class="property token">"user_scripts"</span><span class="operator token">:</span> <span class="punctuation token">{</span>
+ <span class="property token">"api_script"</span><span class="operator token">:</span> <span class="string token">"apiscript.js"</span><span class="punctuation token">,</span>
+ <span class="punctuation token">}</span>
+</code></pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Charge le navigateur de charger le script utilisateur nommé dans la propriété <code>"api_script"</code> .</p>
+
+<p>La propriété <code>"api_script"</code> nomme le script utilisateur qui sera associé à cette extension.</p>
+
+<p>Une fois chargé, le script sera appelé après l'exécution du gestionnaire d'événement affecté à la propriété {{WebExtAPIRef("userScripts.onBeforeScript")}}. Ceci permet au gestionnaire d'exporter un ensemble de méthodes API personnalisées qui seront mises à la disposition des scripts de contenu représentés par {{WebExtAPIRef("contentScripts")}}.</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{WebExtAPIRef("userScripts")}}</li>
+ <li>{{WebExtAPIRef("contentScripts")}}</li>
+</ul>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/version/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/version/index.html
new file mode 100644
index 0000000000..a29151649f
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/version/index.html
@@ -0,0 +1,63 @@
+---
+title: version
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/version
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/version
+---
+<p>{{AddonSidebar}}</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Chaîne</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Oui</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"version": "0.1"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Version de l'extension, sous forme de nombres et de caractères ASCII séparés par des points. Pour connaître les détails du format de version, consultez la page <a href="/fr/docs/Toolkit_version_format">Format de la version</a>.</p>
+
+<p>Vous pouvez inspecter le <a href="https://github.com/mozilla/addons-linter/blob/master/src/schema/formats.js#L10">code de linter des modules complémentaires </a>pour voir comment les versions d'extension pour Firefox sont validées.</p>
+
+<p>Notez que <a href="https://developer.chrome.com/extensions/manifest/version">la syntaxe définie pour la version de Chrome</a> est plus restrictive que celle utilisée par Firefox :</p>
+
+<ul>
+ <li>Les valeurs d'une <code>version</code> valide pour Chrome seront toujours valables pour Firefox</li>
+ <li>Les valeurs d'une <code>version</code> valide pour Firefox peuvent ne pas être valides pour Chrome</li>
+</ul>
+
+<p>Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :</p>
+
+<pre class="brush: js">console.log(browser.runtime.getManifest().version);</pre>
+
+<h2 id="Exemple">Exemple</h2>
+
+<p>Si le manifest contient :</p>
+
+<pre class="brush: js">"version": "0.1"</pre>
+
+<p>Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :</p>
+
+<pre class="brush: js">console.log(browser.runtime.getManifest().version);
+// expected output: "0.1"
+</pre>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.version")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/version_name/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/version_name/index.html
new file mode 100644
index 0000000000..19017d8aaa
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/version_name/index.html
@@ -0,0 +1,40 @@
+---
+title: version_name
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/version_name
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/version_name
+---
+<p>{{AddonSidebar}}</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>String</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"version_name": "0.1 beta"</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p>En plus du champ <a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/version">version</a>, qui est utilisé à des fins de mise à jour, <a href="https://developer.chrome.com/extensions/manifest/version">version_name</a> peut être défini sur une chaîne de version descriptive et sera utilisé à des fins d'affichage s'il est présent.</p>
+
+<p>Si aucun <strong>version_name</strong> n'est présent, le champ de <strong>version</strong> sera également utilisé à des fins d'affichage.</p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.version_name")}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/web_accessible_resources/index.html b/files/fr/mozilla/add-ons/webextensions/manifest.json/web_accessible_resources/index.html
new file mode 100644
index 0000000000..54c713dac6
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/web_accessible_resources/index.html
@@ -0,0 +1,98 @@
+---
+title: web_accessible_resources
+slug: Mozilla/Add-ons/WebExtensions/manifest.json/web_accessible_resources
+tags:
+ - Add-ons
+ - Extensions
+ - WebExtensions
+translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/web_accessible_resources
+---
+<p>{{AddonSidebar}}</p>
+
+<table class="fullwidth-table standard-table">
+ <tbody>
+ <tr>
+ <th scope="row" style="width: 30%;">Type</th>
+ <td><code>Tableau</code></td>
+ </tr>
+ <tr>
+ <th scope="row">Obligatoire</th>
+ <td>Non</td>
+ </tr>
+ <tr>
+ <th scope="row">Exemple</th>
+ <td>
+ <pre class="brush: json no-line-numbers">
+"web_accessible_resources": [
+ "images/my-image.png"
+]</pre>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Description">Description</h2>
+
+<p>Parfois, vous souhaitez associer certaines ressources - par exemple, images, HTML, CSS ou JavaScript - avec votre extension pour les mettre à la disposition des pages Web.</p>
+
+<p>Par exemple, l'<a href="https://github.com/mdn/webextensions-examples/tree/master/beastify">extensions d'exemple "beastify"</a> remplace une page web par une image d'une bête sélectionnée par l'utilisateur. Les images de la bête sont emballées avec l'extension. Pour rendre visible l'image sélectionnée, l'extension ajoute  <code><a href="https://developer.mozilla.org/fr/docs/Web/HTML/Element/img">&lt;img&gt;</a></code> des éléments dont l'attribut <code>src</code> pointe sur l'image de la bête. Pour que la page Web puisse charger les images, elles doivent être rendues accessibles sur le Web.</p>
+
+<p>Avec la clé <code>web_accessible_resources</code> liste toutes les ressources packagées que vous souhaitez mettre à la disposition des pages Web. Vous les spécifiez comme chemins relatifs dans le fichier manifest.json.</p>
+
+<p>Notez que les scripts de contenu n'ont pas besoin d'être listés comme ressources accessibles sur le Web.</p>
+
+<p>Si une extension veut utiliser {{WebExtAPIRef("webRequest")}}} pour rediriger une URL publique (par exemple, HTTPS) vers une page qui est packagée dans l'extension, alors l'extension doit lister la page dans la clé <code>web_accessible_resources</code>.</p>
+
+<h3 id="Utiliser_web_accessible_resources">Utiliser web_accessible_resources</h3>
+
+<p>Par exemple, supposons que votre extension inclut un fichier image sur images images/my-image.png, comme ceci :</p>
+
+<pre class="no-line-numbers">my-extension-files/
+ manifest.json
+ my-background-script.js
+ images/
+ my-image.png</pre>
+
+<p>Pour permettre à une page Web d'utiliser un élément <code><a href="/fr/docs/Web/HTML/Element/img">&lt;img&gt;</a></code> dont l'attribut <code>src</code> pointe sur cette image, vous pouvez spécifier "web_accessible_resources" comme suit :</p>
+
+<pre class="brush: json no-line-numbers">"web_accessible_resources": ["images/my-image.png"]</pre>
+
+<p>Le fichier sera alors disponible en utilisant une URL comme :</p>
+
+<pre class="no-line-numbers">moz-extension://&lt;extension-UUID&gt;/images/my-image.png"</pre>
+
+<p><code>&lt;extension-UUID&gt;</code> n'est <strong>pas</strong> l'identifiant de votre extension. Il est généré de manière aléatoire pour chaque instance de navigateur. Ceci empêche les sites Web de prendre les empreintes digitales d'un navigateur en examinant les extensions qu'il a installées.</p>
+
+<div class="blockIndicator note">
+<p>Dans Chrome, l'ID d'une extension est fixe. Quand une ressource est listée dans  <code>web_accessible_resources</code>, elle est accessible comme <code>chrome-extension://&lt;your-extension-id&gt;/&lt;path/to/resource&gt;</code>.  </p>
+</div>
+
+<p>L'approche recommandée pour obtenir l'URL de la ressource est d'utiliser <code><a href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/getURL">runtime.getURL</a></code> en passant le chemin relatif à manifest.json, par exemple :</p>
+
+<pre class="brush: js no-line-numbers">browser.runtime.getURL("images/my-image.png");
+// something like:
+// moz-extension://944cfddf-7a95-3c47-bd9a-663b3ce8d699/images/my-image.png</pre>
+
+<p>Cette approche vous donne l'URL correcte quel que soit le navigateur sur lequel votre extension est lancée.</p>
+
+<h3 id="Caractères_génériques">Caractères génériques</h3>
+
+<p><code>web_accessible_resources</code> peuvent contenir des caractères génériques. Par exemple, l'entrée suivante fonctionnera également pour inclure la ressource à  "images/my-image.png":</p>
+
+<pre class="brush: json no-line-numbers"> "web_accessible_resources": ["images/*.png"]</pre>
+
+<h3 id="Sécurité">Sécurité</h3>
+
+<p>Notez que si vous créez une page accessible sur le Web, n'importe quel site Web peut alors lier ou rediriger vers cette page. La page doit ensuite traiter toute entrée (données POST, par exemple) comme si elle provenait d'une source non fiable, tout comme une page Web normale.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre class="brush: json no-line-numbers">"web_accessible_resources": ["images/my-image.png"]</pre>
+
+<p>Crée un fichier dans "images/my-image.png" accessible sur le web.</p>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("webextensions.manifest.web_accessible_resources")}}</p>