aboutsummaryrefslogtreecommitdiff
path: root/files/fr/mozilla/add-ons/webextensions/api/sessions
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/sessions')
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/filter/index.html75
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedtab/index.html80
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedwindow/index.html77
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/getrecentlyclosed/index.html115
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/gettabvalue/index.html66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/getwindowvalue/index.html66
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/index.html137
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/max_session_results/index.html62
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/onchanged/index.html123
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/removetabvalue/index.html84
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/removewindowvalue/index.html82
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/restore/index.html112
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/session/index.html86
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.html71
-rw-r--r--files/fr/mozilla/add-ons/webextensions/api/sessions/setwindowvalue/index.html70
15 files changed, 1306 insertions, 0 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/filter/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/filter/index.html
new file mode 100644
index 0000000000..f8ef71d3c7
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/filter/index.html
@@ -0,0 +1,75 @@
+---
+title: sessions.Filter
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/Filter
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Non-standard
+ - Reference
+ - Type
+ - WebExtensions
+ - filter
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/Filter
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>L'objet <code>Filter</code> permet de restreindre le nombre d'objets {{WebExtAPIRef("sessions.Session", "Session")}} retournés par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.</p>
+
+<h2 id="Type">Type</h2>
+
+<p>Les valeurs de ce type sont des objets. Ils contiennent les proriétés suivantes :</p>
+
+<dl class="reference-values">
+ <dt><code>maxResults</code>{{optional_inline}}</dt>
+ <dd><code>number</code>. Le nombre maximal de résultats à retourner.</dd>
+</dl>
+
+<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><span class="diff_add">{{Compat("webextensions.api.sessions.Filter")}}</span></p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>Remerciements</strong>
+
+<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
+
+<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedtab/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedtab/index.html
new file mode 100644
index 0000000000..3f7e2f6a52
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedtab/index.html
@@ -0,0 +1,80 @@
+---
+title: sessions.forgetClosedTab()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/forgetClosedTab
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Reference
+ - WebExtensions
+ - forgetClosedTab
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/forgetClosedTab
+---
+<div>{{AddonSidebar()}}</div>
+
+<div>Supprime un onglet fermé de la liste des onglets récemment fermés du navigateur.</div>
+
+<div></div>
+
+<div>Notez que les sites visités par cet onglet ne sont pas supprimés de l'historique du navigateur. Utilisez les API {{WebExtAPIRef("browsingData")}} oo {{WebExtAPIRef("history")}} pour supprimer l'historique.</div>
+
+<div></div>
+
+<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var forgettingTab = browser.sessions.forgetClosedTab(
+ windowId, // integer
+ sessionId // string
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>windowId</code></dt>
+ <dd><code>Integer</code>. L'ID de la fenêtre qui héberge l'onglet que vous voulez oublier.</dd>
+ <dt><code>sessionId</code></dt>
+ <dd><code>String</code>. L'identifiant de la session que vous voulez oublier.</dd>
+</dl>
+
+<h3 id="Valeur_retournée">Valeur retournée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Cela sera accompli sans arguments lorsque la session a été supprimée.</p>
+
+<p>Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.</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.api.sessions.forgetClosedTab")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :</p>
+
+<pre class="brush: js">function forgetMostRecent(sessionInfos) {
+ if (!sessionInfos.length) {
+ console.log("No sessions found")
+ return;
+ }
+ let sessionInfo = sessionInfos[0];
+ if (sessionInfo.tab) {
+ browser.sessions.forgetClosedTab(sessionInfo.tab.windowId, sessionInfo.tab.sessionId);
+ } else {
+ browser.sessions.forgetClosedWindow(sessionInfo.window.sessionId);
+ }
+}
+
+function onError(error) {
+ console.log(error);
+}
+
+browser.sessions.getRecentlyClosed({maxResults: 1})
+.then(forgetMostRecent, onError);</pre>
+
+<p>{{WebExtExamples}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedwindow/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedwindow/index.html
new file mode 100644
index 0000000000..89f5cd57ce
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedwindow/index.html
@@ -0,0 +1,77 @@
+---
+title: sessions.forgetClosedWindow()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/forgetClosedWindow
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Reference
+ - WebExtensions
+ - forgetClosedWindows
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/forgetClosedWindow
+---
+<div>{{AddonSidebar()}}</div>
+
+<div>Supprime une fenêtre fermée de la liste des fenêtres récemment fermées du navigateur.</div>
+
+<div></div>
+
+<div>Notez que les sites visités par cette fenêtre ne sont pas supprimés de l'historique du navigateur. Utilisez les API {{WebExtAPIRef("browsingData")}} ou {{WebExtAPIRef("history")}} pour supprimer l'historique.</div>
+
+<div></div>
+
+<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var forgettingWindow = browser.sessions.forgetClosedWindow(
+ sessionId // string
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>sessionId</code></dt>
+ <dd><code>String</code>. L'identifiant de la session que vous voulez oublier.</dd>
+</dl>
+
+<h3 id="Valeur_retournée">Valeur retournée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Cela sera accompli sans arguments lorsque la session a été supprimée.</p>
+
+<p>Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.</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.api.sessions.forgetClosedWindow")}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :</p>
+
+<pre class="brush: js">function forgetMostRecent(sessionInfos) {
+ if (!sessionInfos.length) {
+ console.log("No sessions found")
+ return;
+ }
+ let sessionInfo = sessionInfos[0];
+ if (sessionInfo.tab) {
+ browser.sessions.forgetClosedTab(sessionInfo.tab.windowId, sessionInfo.tab.sessionId);
+ } else {
+ browser.sessions.forgetClosedWindow(sessionInfo.window.sessionId);
+ }
+}
+
+function onError(error) {
+ console.log(error);
+}
+
+browser.sessions.getRecentlyClosed({maxResults: 1})
+.then(forgetMostRecent, onError);</pre>
+
+<p>{{WebExtExamples}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/getrecentlyclosed/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/getrecentlyclosed/index.html
new file mode 100644
index 0000000000..230f1741d0
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/getrecentlyclosed/index.html
@@ -0,0 +1,115 @@
+---
+title: sessions.getRecentlyClosed()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/getRecentlyClosed
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Non-standard
+ - Reference
+ - WebExtensions
+ - getRecentlyClosed
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/getRecentlyClosed
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Renvoie un ensemble d'objets {{WebExtAPIRef("sessions.Session", "Session")}}, représentant des fenêtres et des onglets qui ont été fermés dans la session du navigation actuelle (c'est à dire l'heure écoulée depuis le démarrage du navigateur).</p>
+
+<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var gettingSessions = browser.sessions.getRecentlyClosed(
+ filter // optional object
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>filter</code>{{optional_inline}}</dt>
+ <dd><code>object</code>. Un objet {{WebExtAPIRef("sessions.Filter")}} qui limite l'ensemble des sessions renvoyées.</dd>
+</dl>
+
+<h3 id="Valeur_retournée">Valeur retournée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Cela sera rempli avec un ensemble d'objets {{WebExtAPIRef("sessions.Session", "Session")}}, un pour chacun des derniers onglets fermés ou des fenêtres dans la session de navigation actuelle, jusqu'à  {{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}} ou le nombre inclus dans l'argument du filtre, le plus petit qui soit. Le tableau est donné à l'inverse de l'ordre dans lequel les onglets ou fenêtres ont été fermés, de sorte que le plus récemment fermé sera à l'index 0.</p>
+
+<p>Si une erreur survient, la promesse sera rejetée avec un message d'erreur.</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><span class="diff_add">{{Compat("webextensions.api.sessions.getRecentlyClosed")}}</span></p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Le code restaure la session la plus récemment fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :</p>
+
+<pre class="brush: js">function restoreMostRecent(sessionInfos) {
+ if (!sessionInfos.length) {
+ console.log("No sessions found")
+ return;
+ }
+ let sessionInfo = sessionInfos[0];
+ if (sessionInfo.tab) {
+ browser.sessions.restore(sessionInfo.tab.sessionId);
+ } else {
+ browser.sessions.restore(sessionInfo.window.sessionId);
+ }
+}
+
+function onError(error) {
+ console.log(error);
+}
+
+browser.browserAction.onClicked.addListener(function() {
+ var gettingSessions = browser.sessions.getRecentlyClosed({
+ maxResults: 1
+ });
+ gettingSessions.then(restoreMostRecent, onError);
+});
+</pre>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>Remerciements</strong>
+
+<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
+
+<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/gettabvalue/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/gettabvalue/index.html
new file mode 100644
index 0000000000..041f4887ec
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/gettabvalue/index.html
@@ -0,0 +1,66 @@
+---
+title: sessions.getTabValue()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/getTabValue
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Reference
+ - WebExtensions
+ - getTabValue
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/getTabValue
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Récupère une valeur précédemment stockée par un appel à  {{WebExtAPIRef("sessions.setTabValue")}}.</p>
+
+<p>Vous pouvez récupérer une valeur d'un onglet même au cours d'un cycle de fermeture / restauration: si vous définissez une valeur, l'utilisateur ferme l'onglet, puis restaure l'onglet à l'aide de la fonction "restaurer l'onglet" du navigateur (par exemple, en appuyant sur Control+Shift+T), then you will be able to retrieve the value from the restored tab. vous pourrez alors récupérer la valeur de l'onglet restauré. Notez cependant qu'un onglet restauré n'obtient pas le même ID que l'original, donc l'ID que vous passez dans <code>getTabValue()</code> sera différent de l'ID que vous avez passé dans <code>setTabValue()</code>, même s'ils font tous deux référence au même onglet.</p>
+
+<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var retrieving = browser.sessions.getTabValue(
+ tabId, // integer
+ key // string
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>tabId</code></dt>
+ <dd><code>integer</code>. ID de l'onglet dont vous essayez de récupérer les données.</dd>
+ <dt><code>key</code></dt>
+ <dd><code>string</code>. Clé identifiant la valeur particulière à récupérer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setTabValue")}}.</dd>
+</dl>
+
+<h3 id="Valeur_retournée">Valeur retournée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera résolue avec la valeur si elle existe, ou <code>undefined</code>.  Si elle n'existe pas. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.</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.api.sessions.getTabValue", 10)}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Consignez la valeur de "my-key" pour tous les nouveaux onglets créés (cela inclura tous les onglets qui ont été restaurés) :</p>
+
+<pre class="brush: js">function onGetResolved(r) {
+ console.log(`success: ${r}`);
+}
+
+function onGetRejected(e) {
+ console.log(`error: ${e}`);
+}
+
+browser.tabs.onCreated.addListener((tab) =&gt; {
+ browser.sessions.getTabValue(tab.id, "my-key").then(onGetResolved, onGetRejected);
+});</pre>
+
+<p>{{WebExtExamples}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/getwindowvalue/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/getwindowvalue/index.html
new file mode 100644
index 0000000000..ffdb95065d
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/getwindowvalue/index.html
@@ -0,0 +1,66 @@
+---
+title: sessions.getWindowValue()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/getWindowValue
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Reference
+ - WebExtensions
+ - getWindowValue
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/getWindowValue
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Récupère une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}.</p>
+
+<p>Vous pouvez récupérer une valeur d'une fenêtre même sur un cycle de fermeture / restauration : si vous définissez une valeur, l'utilisateur ferme la fenêtre, puis restaure la fenêtre à l'aide de la fonction "restaurer la fenêtre" du navigateur (par exemple, en appuyant sur Control+Shift+N),vous pourrez récupérer la valeur de la fenêtre restaurée. otez cependant qu'une fenêtre restaurée n'obtient pas le même ID que l'original, donc l'ID que vous passez dans <code>getWindowValue()</code> sera différent de l'ID que vous avez passé dans <code>setWindowValue()</code>, même s'ils se réfèrent tous les deux à la même fenêtre.</p>
+
+<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var retrieving = browser.sessions.getWindowValue(
+ windowId, // integer
+ key // string
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>windowId</code></dt>
+ <dd><code>integer</code>. ID de la fenêtre dont vous essayez de récupérer les données.</dd>
+ <dt><code>key</code></dt>
+ <dd><code>string</code>. Clé identifiant la valeur particulière à récupérer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setWindowValue")}}.</dd>
+</dl>
+
+<h3 id="Valeure_retournée">Valeure retournée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera résolue avec la valeur si elle existe, ou <code>undefined</code> si elle n'existe pas. Si l'appel a échoué (par exemple, parce que l'ID de la fenêtre n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.</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.api.sessions.getWindowValue", 10)}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Consignez la valeur de "my-key" pour toutes les fenêtres nouvellement créées (cela inclura toutes les fenêtres qui ont été restaurées) :</p>
+
+<pre class="brush: js">function onGetResolved(r) {
+ console.log(`success: ${r}`);
+}
+
+function onGetRejected(e) {
+ console.log(`error: ${e}`);
+}
+
+browser.windows.onCreated.addListener((window) =&gt; {
+ browser.sessions.getWindowValue(window.id, "my-key").then(onGetResolved, onGetRejected);
+});</pre>
+
+<p>{{WebExtExamples}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/index.html
new file mode 100644
index 0000000000..3a8078560e
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/index.html
@@ -0,0 +1,137 @@
+---
+title: sessions
+slug: Mozilla/Add-ons/WebExtensions/API/sessions
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Non-standard
+ - Reference
+ - WebExtensions
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions
+---
+<div>{{AddonSidebar}}</div>
+
+<p>Utilisez l'API de sessions pour lister et restaurer, les onglets et les fenêtres qui ont été fermés pendant que le navigateur fonctionne.</p>
+
+<p>La fonction {{WebExtAPIRef("sessions.getRecentlyClosed()")}} renvoie un tableau de {{WebExtAPIRef("tabs.Tab")}} et les objets {{WebExtAPIRef("windows.Window")}}, représente les onglets et les fenêtres qui ont été fermées depuis le fonctionnement du navigateur, jusqu'au maximum défini dans {{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}}.</p>
+
+<p>Vous pouvez ensuite restaurer une fenêtre ou un onglet en utilisant la fonction  {{WebExtAPIRef("sessions.restore()")}}. il restaure également l'historique de navigation de l'onglet, de sorte que les boutons arrière / avant fonctionnent.</p>
+
+<p>Cette API fournit également un groupe de fonctions permettant à une extension de stocker un état supplémentaire associé à un onglet ou une fenêtre. Ensuite, si l'onglet ou la fenêtre est fermé et restauré ultérieurement, l'extension peut récupérer l'état. Par exemple, une extension de groupe d'onglets peut l'utiliser pour se souvenir du groupe dans lequel se trouve un onglet, afin de le restaurer dans le bon groupe si l'utilisateur restaure l'onglet.</p>
+
+<p>Pour utiliser l'API des sessions, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission API</a> de "sessions".</p>
+
+<h2 id="Types">Types</h2>
+
+<dl>
+ <dt>{{WebExtAPIRef("sessions.Filter")}}</dt>
+ <dd>Permet de restreindre le nombre de {{WebExtAPIRef("sessions.Session", "Session")}} objets retournés par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.</dd>
+ <dt>{{WebExtAPIRef("sessions.Session")}}</dt>
+ <dd>
+ <p>Représente un onglet ou une fenêtre que l'utilisateur a fermé dans la session de navigation actuelle.</p>
+ </dd>
+</dl>
+
+<h2 id="Propriétés">Propriétés</h2>
+
+<dl>
+ <dt>{{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}}</dt>
+ <dd>Le nombre maximum de sessions qui seront retournées par un appel à <a href="/fr/Add-ons/WebExtensions/API/sessions/getRecentlyClosed" title="Returns an array Session objects, representing windows and tabs that were closed in the current browsing session (that is: the time since the browser was started)."><code>sessions.getRecentlyClosed()</code></a>.</dd>
+</dl>
+
+<h2 id="Fonctions">Fonctions</h2>
+
+<dl>
+ <dt>{{WebExtAPIRef("sessions.forgetClosedTab()")}}</dt>
+ <dd>Supprime un onglet fermé de la liste des onglets récemment fermés du navigateur.</dd>
+ <dt>{{WebExtAPIRef("sessions.forgetClosedWindow()")}}</dt>
+ <dd>Supprime une fenêtre  fermée  de la liste des fenêtres  récemment fermées du navigateur.</dd>
+ <dt>{{WebExtAPIRef("sessions.getRecentlyClosed()")}}</dt>
+ <dd>Renvoie un tableau d'objets {{WebExtAPIRef("sessions.Session", "Session")}}, représentant des fenêtres et des onglets qui ont été fermés dans la session de navigation actuelle (c'est-à-dire l'heure écoulée depuis le démarrage du navigateur).</dd>
+ <dt>{{WebExtAPIRef("sessions.restore()")}}</dt>
+ <dd>
+ <p>Restaure un onglet ou une fenêtre fermée.</p>
+ </dd>
+ <dt>{{WebExtAPIRef("sessions.setTabValue()")}}</dt>
+ <dd>
+ <p>Stocke une paire clé/valeur associée à un onglet donné.</p>
+ </dd>
+ <dt>{{WebExtAPIRef("sessions.getTabValue()")}}</dt>
+ <dd>
+ <p>Récupérer une valeur précédemment enregistrée pour un onglet donné, compte tenu de sa clé.</p>
+ </dd>
+ <dt>{{WebExtAPIRef("sessions.removeTabValue()")}}</dt>
+ <dd>
+ <p>Supprimer une paire clé/valeur d'un onglet donné.</p>
+ </dd>
+ <dt>{{WebExtAPIRef("sessions.setWindowValue()")}}</dt>
+ <dd>
+ <p>Stocke une paire clé/valeur associée à une fenêtre donnée.</p>
+ </dd>
+ <dt>{{WebExtAPIRef("sessions.getWindowValue()")}}</dt>
+ <dd>
+ <p>Récupérer une valeur précédemment enregistrée pour une fenêtre donnée, compte tenu de sa clé.</p>
+ </dd>
+ <dt>{{WebExtAPIRef("sessions.removeWindowValue()")}}</dt>
+ <dd>
+ <p>Supprime une paire clé/valeur d'une fenêtre données.</p>
+ </dd>
+ <dd>
+
+ </dd>
+</dl>
+
+<h2 id="Evénements">Evénements</h2>
+
+<dl>
+ <dt>{{WebExtAPIRef("sessions.onChanged")}}</dt>
+ <dd>
+ <p>Mise en place lorsqu'un onglet ou une fenêtre est fermée.</p>
+ </dd>
+</dl>
+
+<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
+
+<p><span class="diff_add">{{Compat("webextensions.api.sessions")}}</span></p>
+
+<p>{{WebExtExamples("h2")}}</p>
+
+<div class="note"><strong>Remerciements</strong>
+
+<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
+
+<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/max_session_results/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/max_session_results/index.html
new file mode 100644
index 0000000000..41b2191f71
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/max_session_results/index.html
@@ -0,0 +1,62 @@
+---
+title: sessions.MAX_SESSION_RESULTS
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/MAX_SESSION_RESULTS
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - MAX_SESSION_RESULTS
+ - Non-standard
+ - Propriété
+ - Reference
+ - WebExtensions
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/MAX_SESSION_RESULTS
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Le nombre maximum de sessions qui seront retournées par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}. Il est en lecture seule pour le code des WebExtensions, et défini à 25.</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.api.sessions.MAX_SESSION_RESULTS")}}</p>
+
+<div class="note"><strong>Remerciements</strong>
+
+<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
+
+<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/onchanged/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/onchanged/index.html
new file mode 100644
index 0000000000..478acefe3c
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/onchanged/index.html
@@ -0,0 +1,123 @@
+---
+title: sessions.onChanged
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/onChanged
+tags:
+ - API
+ - Add-ons
+ - Event
+ - Extensions
+ - Non-standard
+ - Reference
+ - WebExtensions
+ - onChanged
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/onChanged
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Mise en place lorsque une liste d'onglets fermes ou de fenêtre changes.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">browser.sessions.onChanged.addListener(listener)
+browser.sessions.onChanged.removeListener(listener)
+browser.sessions.onChanged.hasListener(listener)
+</pre>
+
+<p>Les événements ont trois fonctions :</p>
+
+<dl>
+ <dt><code>addListener(callback)</code></dt>
+ <dd>Ajoute un auditeur à un événement.</dd>
+ <dt><code>removeListener(listener)</code></dt>
+ <dd>Arrêtez d'écouter cet événement. L'argument de l'auditeur est un auditeur à supprimer.</dd>
+ <dt><code>hasListener(listener)</code></dt>
+ <dd>Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie Vrai s'il écoute. Sinon Faux.</dd>
+</dl>
+
+<h2 id="Syntaxe_addListener">Syntaxe addListener</h2>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>callback</code></dt>
+ <dd>
+ <p>Fonction qui sera appelée lors de l'événement. Il ne passe aucun paramètre.</p>
+ </dd>
+</dl>
+
+<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><span class="diff_add">{{Compat("webextensions.api.sessions.onChanged")}}</span></p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Cette extension écoute <code>onChanged</code>, puis restaure  immédiatement la dernière session fermée, ce qui rend impossible de fermer les fenêtres ou les onglets :</p>
+
+<pre class="brush: js">function restoreSession(sessionInfos) {
+ if (!sessionInfos.length) {
+ console.log("No sessions found")
+ return;
+ }
+ let sessionInfo = sessionInfos[0];
+ if (sessionInfo.tab) {
+ browser.sessions.restore(sessionInfo.tab.sessionId);
+ } else {
+ browser.sessions.restore(sessionInfo.window.sessionId);
+ }
+}
+
+function onError(error) {
+ console.log(error);
+}
+
+function restoreMostRecent() {
+ var gettingSessions = browser.sessions.getRecentlyClosed({
+ maxResults: 1
+ });
+ gettingSessions.then(restoreSession, onError);
+}
+
+browser.sessions.onChanged.addListener(restoreMostRecent);</pre>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>Remerciements</strong>
+
+<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
+
+<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/removetabvalue/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/removetabvalue/index.html
new file mode 100644
index 0000000000..c622b4147e
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/removetabvalue/index.html
@@ -0,0 +1,84 @@
+---
+title: sessions.removeTabValue()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/removeTabValue
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Reference
+ - WebExtensions
+ - removeTabValue
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/removeTabValue
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setTabValue")}}.</p>
+
+<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var removing = browser.sessions.removeTabValue(
+ tabId, // integer
+ key // string
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>tabId</code></dt>
+ <dd><code>integer</code>. ID de l'onglet dont vous essayez de supprimer les données.</dd>
+ <dt><code>key</code></dt>
+ <dd><code>string</code>. Clé identifiant la valeur particulière à supprimer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setTabValue")}}.</dd>
+</dl>
+
+<h3 id="Valeur_retournée">Valeur retournée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui ne sera résolue aucun argument si l'élément a été supprimé avec succès. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.</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.api.sessions.removeTabValue", 10)}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à l'onglet en cours, l'autre le supprime :</p>
+
+<pre class="brush: js">async function setOnActiveTab() {
+ let tabArray = await browser.tabs.query({currentWindow: true, active: true});
+ let tabId = tabArray[0].id;
+ await browser.sessions.setTabValue(tabId, "my-key", "my-value");
+}
+
+async function removeFromActiveTab() {
+ let tabArray = await browser.tabs.query({currentWindow: true, active: true});
+ let tabId = tabArray[0].id;
+ await browser.sessions.removeTabValue(tabId, "my-key");
+}
+
+browser.menus.create({
+ id: "add-my-item",
+ title: "add item",
+ contexts: ["all"]
+});
+
+browser.menus.create({
+ id: "remove-my-item",
+ title: "remove item",
+ contexts: ["all"]
+});
+
+browser.menus.onClicked.addListener((info) =&gt; {
+ if (info.menuItemId === "add-my-item") {
+ setOnActiveTab();
+ } else {
+ removeFromActiveTab();
+ }
+});</pre>
+
+<p>{{WebExtExamples}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/removewindowvalue/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/removewindowvalue/index.html
new file mode 100644
index 0000000000..1193a845cb
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/removewindowvalue/index.html
@@ -0,0 +1,82 @@
+---
+title: sessions.removeWindowValue()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/removeWindowValue
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Reference
+ - WebExtensions
+ - removeWindowsValue
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/removeWindowValue
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}.</p>
+
+<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var removing = browser.sessions.removeWindowValue(
+ windowId, // integer
+ key // string
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>windowId</code></dt>
+ <dd><code>integer</code>. ID de la fenêtre dont vous essayez de supprimer les données.</dd>
+ <dt><code>key</code></dt>
+ <dd><code>string</code>. lé identifiant la valeur particulière à supprimer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setWindowValue")}}.</dd>
+</dl>
+
+<h3 id="Valeur_retournée">Valeur retournée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui ne sera résolue aucun argument si l'élément a été supprimé avec succès. Si l'appel a échoué (par exemple, parce que l'ID de la fenêtre n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.</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.api.sessions.removeWindowValue", 10)}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à la fenêtre courante, l'autre la supprime :</p>
+
+<pre class="brush: js">async function setOnActiveWindow() {
+ let currentWindow = await browser.windows.getLastFocused();
+ await browser.sessions.setWindowValue(currentWindow.id, "my-key", "my-value");
+}
+
+async function removeFromActiveWindow() {
+ let currentWindow = await browser.windows.getLastFocused();
+ await browser.sessions.removeWindowValue(currentWindow.id, "my-key");
+}
+
+browser.menus.create({
+ id: "add-my-item",
+ title: "add item",
+ contexts: ["all"]
+});
+
+browser.menus.create({
+ id: "remove-my-item",
+ title: "remove item",
+ contexts: ["all"]
+});
+
+browser.menus.onClicked.addListener((info) =&gt; {
+ if (info.menuItemId === "add-my-item") {
+ setOnActiveWindow();
+ } else {
+ removeFromActiveWindow();
+ }
+});</pre>
+
+<p>{{WebExtExamples}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/restore/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/restore/index.html
new file mode 100644
index 0000000000..cbf15148ad
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/restore/index.html
@@ -0,0 +1,112 @@
+---
+title: sessions.restore()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/restore
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Methode(2)
+ - Non-standard
+ - WebExtensions
+ - restaure
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/restore
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Restaure un onglet ou une fenêtre fermée. La restauration ne réouvre pas seulement l'onglet ou la fenêtre : elle rétablit également l'historique de navigation de l'onglet afin que les boutons arrière/avant fonctionnent. La restauration d'une fenêtre restaurera tous les onglets que la fenêtre contenait lors de sa fermeture.</p>
+
+<p>Il s'agit d'une fonction asynchrone que retourne une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var restoringSession = browser.sessions.restore(
+ sessionId // string
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>sessionId</code></dt>
+ <dd><code>string</code>. Une chaîne contenant l'ID de session pour la fenêtre ou l'onglet à restaurer. Cela se trouve dans la propriété <code>sessionId</code> de l'objet   {{WebExtAPIRef("tabs.Tab", "Tab")}} ou {{WebExtAPIRef("windows.Window", "Window")}} dans  {{WebExtAPIRef("sessions.Session", "Session")}} retourné de {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.</dd>
+</dl>
+
+<h3 id="Valeur_renvoyée">Valeur renvoyée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. Cela sera rempli avec un objet  {{WebExtAPIRef("sessions.Session", "Session")}} représentant la session qui a été restaurée.</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><span class="diff_add">{{Compat("webextensions.api.sessions.restore")}}</span></p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Cela restaure la session fermée la plus récente, qu'il s'agisse d'une fenêtre ou d'un onglet :</p>
+
+<pre class="brush: js">function restoreMostRecent(sessionInfos) {
+ if (!sessionInfos.length) {
+ console.log("No sessions found")
+ return;
+ }
+ let sessionInfo = sessionInfos[0];
+ if (sessionInfo.tab) {
+ browser.sessions.restore(sessionInfo.tab.sessionId);
+ } else {
+ browser.sessions.restore(sessionInfo.window.sessionId);
+ }
+}
+
+function onError(error) {
+ console.log(error);
+}
+
+browser.browserAction.onClicked.addListener(function() {
+ var gettingSessions = browser.sessions.getRecentlyClosed({
+ maxResults: 1
+ });
+ gettingSessions.then(restoreMostRecent, onError);
+});
+</pre>
+
+<p>{{WebExtExamples}}</p>
+
+<div class="note"><strong>Remerciements</strong>
+
+<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
+
+<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/session/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/session/index.html
new file mode 100644
index 0000000000..ab7d1fa13d
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/session/index.html
@@ -0,0 +1,86 @@
+---
+title: sessions.Session
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/Session
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Non-standard
+ - Reference
+ - Session
+ - Type
+ - WebExtensions
+ - sessions
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/Session
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>L'objet de <code>Session</code> représente un onglet ou une fenêtre que l'utilisateur a fermé dans la session de navigation actuelle.</p>
+
+<p>Les sessions sont représentées comme des objets {{WebExtAPIRef("tabs.Tab", "Tab")}} si l'onglet a été fermé mais sa fenêtre n'a pas été fermée : par exemple, parce que l'utilisateur a cliqué sur le bouton "fermer l'onglet", et cet onglet n'était pas le seul onglet de sa fenêtre.</p>
+
+<p>Les sessions sont représentées par des objets  {{WebExtAPIRef("windows.Window", "Window")}} si la fenêtre est fermée :  parce que l'utilisateur a cliqué sur le bouton "Fermer la fenêtre", ou a fermé le seul onglet ouvert dans une fenêtre.</p>
+
+<p>Notez que les différents navigateurs peuvent avoir une idée différente quand une session est un onglet et quand il s'agit d'une fenêtre. Par exemple :</p>
+
+<ul>
+ <li>Dans Chrome une session est enregistrée comme une fenêtre si l'utilisateur ferme une fenêtre contenant plus d'un onglet. Si l'utilisateur a fermé une fenêtre contenant un seul onglet, ceci est enregistré sous forme d'onglet.</li>
+ <li>Dans Firefox, une session est enregistrée comme une fenêtre si l'utilisateur ferme une fenêtre (ou un onglet qui était le dernier onglet de la fenêtre), et un onglet si l'utilisateur ferme un onglet qui n'était pas le dernier onglet de sa fenêtre.</li>
+</ul>
+
+<h2 id="Type">Type</h2>
+
+<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
+
+<dl class="reference-values">
+ <dt><code>lastModified</code></dt>
+ <dd><code>number</code>. L'heure où l'onglet ou la fenêtre a été fermé, en <a href="https://en.wikipedia.org/wiki/Unix_time">millisecondes depuis l'époque</a>.</dd>
+ <dt><code>tab</code>{{optional_inline}}</dt>
+ <dd><code>object</code>. Si l'objet représente un onglet fermé, cette propriété est présente et sera un objet {{WebExtAPIRef("tabs.Tab")}}. Cela contiendra <code>url</code>, <code>titre</code>, et <code>favIconUrl</code> uniquement si l'extension possède la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "tabs".</dd>
+ <dt><code>window</code>{{optional_inline}}</dt>
+ <dd><code>object</code>. Si l'objet représente une fenêtre fermée, cette propriété est présente et sera un objet {{WebExtAPIRef("windows.Window")}}.</dd>
+</dl>
+
+<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><span class="diff_add">{{Compat("webextensions.api.sessions.Session")}}</span></p>
+
+<div class="note"><strong>Remerciements</strong>
+
+<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/sessions"><code>chrome.sessions</code></a>.</p>
+
+<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
+</div>
+
+<div class="hidden">
+<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</pre>
+</div>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.html
new file mode 100644
index 0000000000..9f02e440d9
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.html
@@ -0,0 +1,71 @@
+---
+title: sessions.setTabValue()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/setTabValue
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Reference
+ - WebExtensions
+ - sessions
+ - setTabValue
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/setTabValue
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Stocke une paire clé / valeur à associer à un onglet donné. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getTabValue")}}.</p>
+
+<p>Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions.</p>
+
+<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var storing = browser.sessions.setTabValue(
+ tabId, // integer
+ key, // string
+ value // string or object
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>tabId</code></dt>
+ <dd><code>integer</code>. ID de l'onglet avec lequel vous souhaitez associer les données.</dd>
+ <dt><code>key</code></dt>
+ <dd><code>string</code>. Clé que vous pouvez utiliser ultérieurement pour récupérer cette valeur de données particulière.</dd>
+ <dt><code>value</code></dt>
+ <dd><code>string</code> ou <code>object</code>. S'il s'agit d'un objet, il est <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify">stringified</a>, donc les méthodes d'objet, par exemple, seront omises. Si une fonction est donnée ici, elle sera stockée sous la forme <code>null</code>.</dd>
+</dl>
+
+<h3 id="Valeur_retournée">Valeur retournée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera résolue sans argument si l'appel a réussi. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.</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.api.sessions.setTabValue", 10)}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Définissez une valeur sur l'onglet actif lorsque l'utilisateur sélectionne un élément de menu. Notez que vous aurez besoin de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "menus" pour exécuter cet exemple :</p>
+
+<pre class="brush: js">async function setOnActiveTab() {
+ let tabArray = await browser.tabs.query({currentWindow: true, active: true});
+ let tabId = tabArray[0].id;
+ await browser.sessions.setTabValue(tabId, "my-key", "my-value");
+}
+
+browser.menus.create({
+ id: "my-item",
+ title: "my item",
+ contexts: ["all"]
+});
+
+browser.menus.onClicked.addListener(setOnActiveTab);</pre>
+
+<p>{{WebExtExamples}}</p>
diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/setwindowvalue/index.html b/files/fr/mozilla/add-ons/webextensions/api/sessions/setwindowvalue/index.html
new file mode 100644
index 0000000000..6437d9d973
--- /dev/null
+++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/setwindowvalue/index.html
@@ -0,0 +1,70 @@
+---
+title: sessions.setWindowValue()
+slug: Mozilla/Add-ons/WebExtensions/API/sessions/setWindowValue
+tags:
+ - API
+ - Add-ons
+ - Extensions
+ - Method
+ - Reference
+ - WebExtensions
+ - sessions
+ - setWindowsValue
+translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/setWindowValue
+---
+<div>{{AddonSidebar()}}</div>
+
+<p>Stocke une paire clé / valeur à associer à une fenêtre donnée. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getWindowValue")}}.</p>
+
+<p>Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions..</p>
+
+<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox brush:js">var storing = browser.sessions.setWindowValue(
+ windowId, // integer
+ key, // string
+ value // string or object
+)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>windowId</code></dt>
+ <dd><code>integer</code>. ID de la fenêtre avec laquelle vous souhaitez associer les données.</dd>
+ <dt><code>key</code></dt>
+ <dd><code>string</code>. Clé que vous pouvez utiliser ultérieurement pour récupérer cette valeur de données particulière.</dd>
+ <dt><code>value</code></dt>
+ <dd><code>string</code> ou <code>object</code>. S'il s'agit d'un objet, il est <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify">stringified</a>, donc les méthodes d'objet, par exemple, seront omises. Si une fonction est donnée ici, elle sera stockée sous la valeur <code>null</code>.</dd>
+</dl>
+
+<h3 id="Valeur_retournée">Valeur retournée</h3>
+
+<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera résolue sans argument si l'appel a réussi. Si l'appel a échoué (par exemple, parce que l'ID de la fenêtre n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.</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.api.sessions.setWindowValue", 10)}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Définissez une valeur sur la fenêtre active lorsque l'utilisateur sélectionne un élément de menu. Notez que vous aurez besoin de la  <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "menus" pour exécuter cet exemple :</p>
+
+<pre class="brush: js">async function setOnActiveWindow() {
+ let currentWindow = await browser.windows.getLastFocused();
+ await browser.sessions.setWindowValue(currentWindow.id, "my-key", "my-value");
+}
+
+browser.menus.create({
+ id: "my-item",
+ title: "my item",
+ contexts: ["all"]
+});
+
+browser.menus.onClicked.addListener(setOnActiveWindow);</pre>
+
+<p>{{WebExtExamples}}</p>