recursal/MDN huggingface dataset:
history
=======

Utilisez l'API `historique` pour interargir avec l'historique du navigateur.

Si vous recherchez des informations sur l'historique de session du navigateur, consultez l'interface historique.

**Note :** Les téléchargements sont traités comme des objets `HistoryItem`. Par conséquent, des événements tels que `history.onVisited` seront également déclenchés pour les téléchargements.

L'historique du navigateur est un enregistrement chronologique des pages que l'utilisateur a visitées. l'API d'historique vous permet de :

* Recherchez dans des pagesqui apparaissent dans l'historique du navigateur
* Supprimer des pages individuelles de l'historique du navigateur
* Ajouter des pages à l'historique du navigateur
* Supprimer toutes les pages de l'historique du navigateur.

Cependant, l'utilisateur peut avoir visité une seule page, plusieurs fois, de sorte que l'API a également le concept de"visites". Vous pouvez également utiliser cette API pour :

* Récupérer l'ensemble des visites effectuées par l'utilisateur sur une page particulière
* Supprimer les visites à toutes les pages faites pendant une période de temps.

Pour utiliser cette API, une extension doit demander la permission "history" dans le fichier `manifest.json`.

Types
-----

`history.TransitionType`

Décrit comment le navigateur a navigué vers une page particulière.

`history.HistoryItem`

Fournit des informations sur une page particulière dans l'historique du navigateur.

`history.VisitItem`

Décrit une seule visite sur une page.

Fonctions
---------

`history.search()`

Recherche dans l'historique du navigateur les objets `history.HistoryItem` correspondant aux critères donnés.

`history.getVisits()`

Récupère des informations sur les visites sur une page donnée.

`history.addUrl()`

Ajoute un enregistrement à l'historique du navigateur d'une visite sur la page donnée.

`history.deleteUrl()`

Supprime toutes les visites à l'URL donnée de l'historique du navigateur.

`history.deleteRange()`

Supprime toutes les visites aux pages que l'utilisateur a effectuées pendant la période donnée.

`history.deleteAll()`

Supprime toutes les visites de l'historique du navigateur.

Evénements
----------

`history.onTitleChanged`

Lancé lorsque le titre d'une page visitée par l'utilisateur est enregistré.

`history.onVisited`

Lancé chaque fois que l'utilisateur visite une page, en fournissant les données `history.HistoryItem` pour cette page.

`history.onVisitRemoved`

Lancé lorsqu'une URL est complètement supprimée de l'historique du navigateur.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* history-deleter

**Note :**

Cette API est basée sur l'API Chromium `chrome.history`. Cette documentation est dérivée de `history.json` dans le code de Chromium.

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.
dns
===

Active une extension pour résoudre les noms de domaine.Pour utiliser cette API, une extension doit demander la permission "dns" permission dans son fichier `manifest.json` .Fonctions
---------

`dns.resolve()`

Résout le nom d'hôte donné en un enregistrement DNS

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
alarms
======

Programmer le code pour qu'il soit exécuté à un moment précis dans le futur. C'est comme `setTimeout()` and `setInterval()` (en-US) sauf que ces fonctions ne fonctionnent pas avec les pages d'arrière-plan qui sont chargées à la demande. Les alarmes ne persistent pas d'une session à l'autre du navigateur

Pour pouvoir utiliser cette API, vous devez disposer de la permission `"alarms"`.

Types
-----

`alarms.Alarm`

Ce type permet d'obtenir des informations à propos d'une alarme donnée.

Méthodes
--------

`alarms.create()`

Cette fonction permet de créer une nouvelle alarme.

`alarms.get()`

Cette fonction permet de récupérer une alarme donnée en fonction de son nom.

`alarms.getAll()`

Cette fonction permet de récupérer l'ensemble des alarmes qui sont planifiées.

`alarms.clear()`

Cette fonction permet de supprimer une alarme donnée en fonction de son nom.

`alarms.clearAll()`

Cette fonction permet de supprimer l'ensemble des alarmes qui sont planifiées.

Évènements
----------

`alarms.onAlarm`

Cet évènement est déclenché lorsque l'alarme s'éteint.

Example extensions
------------------

* chill-out
* dynamic-theme
Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.alarms`.

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.
types
=====

Définit le type `BrowserSetting` , qui est utilisé pour représenter un paramètre de navigateur.

Types
-----

`types.BrowserSetting`

Représente un paramètre de navigateur.

Compatibilité des navigateurs
-----------------------------

**Note :**

Cette API est basée sur l'API Chromium `chrome.types`.

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.
windows
=======

Intéragissez avec les fenêtres du navigateur. Vous pouvez utiliser cette API pour obtenir des informations sur les fenêtres ouvertes et à ouvrir, modifiée et fermée les fenêtres. Vous pouvez également écouter la fenêtre ouverte, fermée, et activée les événements.

Types
-----

`windows.WindowType`

Le type de fenêtre du navigateur ici.

`windows.WindowState`

L'état de cette fenêtre du navigateur.

`windows.Window`

Contient des informations sur une fenêtre de navigateur.

`windows.CreateType`

Spécifie le type de fenêtre du navigateur à créer.

Constantes
----------

`windows.WINDOW_ID_NONE`

La valeur `windowId` qui représente l'absence d'une fenêtre de navigateur.

`windows.WINDOW_ID_CURRENT`

Une valeur qui peut être utilisée à la place d'un `windowId` dans certaines APIs pour représenter la fenêtre courante.

Méthodes
--------

`windows.get()`

Obtient les détails sur une fenêtre, compte tenu de son identifiant.

`windows.getCurrent()`

Obtient les informations de la fenêtre courante.

`windows.getLastFocused()`

Obtient la fenêtre qui a été recentrée plus récemment — généralement la fenêtre « en haut ».

`windows.getAll()`

Obtient les informations de toutes les fenêtres

`windows.create()`

Crée une nouvelle fenêtre.

`windows.update()`

Mises à jour des propriétés d'une fenêtre. Utilisez ceci pour déplacer, redimensionner, et (un) se concentrer sur une fenêtre, etc.

`windows.remove()`

Ferme une fenêtre et tous ses onglets.

Evénements
----------

`windows.onCreated`

Lancé quand une fenêtre est créée.

`windows.onRemoved`

Lancé quand une fenêtre est fermée.

`windows.onFocusChanged`

Lancé quand la fenêtre courante change.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* annotate-page
* bookmark-it
* private-browsing-theme
* store-collected-images
* theme-integrated-sidebar
* window-manipulator

**Note :**

Cette API est basée sur l'API de Chromnium `chrome.windows`. Cette documentation provient de `windows.json` dans le code de Chromium.

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.
Approvisionnement PKCS
======================

L'API `pkcs11` permet à une extension d'énumérer les modules de sécurité PKCS #11, et de rendre accessibles au navigateur en tant que sources clés et de certificats.

Pour utiliser cette API, vous devez avoir la permission "pkcs11".

Utilisation de la boîte de dialogue Préférences Firefox pour installer les modules PKCS #11
-------------------------------------------------------------------------------------------

Effectuez les étapes suivantes :

1. Sauvegardez le module PKCS #11 dans un emplacement permanent sur votre ordinateur local
2. Sélectonnez **Outils > Options** ou sélectionnez le **menu Firefox** puis **Options**
3. Une fois la page Options ouverte, sélectionnez **Vie privée & Sécurité**
4. Faites défiler vers le bas de la page et sous **Certificats** ou tapez sur **Dispositifs de sécurité...
![](/fr/docs/Mozilla/Add-ons/WebExtensions/API/pkcs11/device_manager.png)**
5. Cliquez ou appuyez sur le bouton **Charger**
![](/fr/docs/Mozilla/Add-ons/WebExtensions/API/pkcs11/load_device_driver.png)
6. Entrez un nom pour le module de sécurité, tel que "*Ma Base de données Client*"

**Attention :** il y a actuellement un bogue dans Firefox où les caractères internationaux peuvent causer des problèmes.
7. Choisir **Parcourir...** pour trouver l'emplacement du module PKCS #11 sur votre ordinateur local, puis cliquez ou appuyez sur **OK** pour confirmer.

Provisionnement des modules PKCS #11
------------------------------------

**Note :** A partir de Firefox 58, les extensions peuvent utiliser l'API pkcs11 pour énumérer les modules PKCS #11 et les rendre accessibles au navigateur comme sources de clés et certificats.

Il y a 2 pré-requis pour pouvoir utiliser cette API:

* un ou plusieurs modules PKCS # 11 doivent être installés sur l'ordinateur de l'utilisateur
* pour chaque module PKCS # 11 installé, il doit y avoir un fichier manifest natif qui permet au navigateur de localiser le module.

Très probablement, l'utilisateur ou l'administrateur du périphérique installerait le module `PKCS #11`, et son installateur installerait le fichier de manifeste natif en même temps.

Cependant, le module et le manifeste ne peuvent pas être installés dans le cadre du processus d'installation de l'extension.

Pour plus de détails sur le contenu et l'emplacement du fichier de manifeste, voir Manifest natifs.

Fonctions
---------

`pkcs11.getModuleSlots()`

Pour chaque emplacement dans un module, obtenez son nom et s'il contient un jeton.

`pkcs11.installModule()`

Installe le module PKCS # 11 nommé

`pkcs11.isModuleInstalled()`

Vérifie si le module PKCS # 11 nommé est installé.

`pkcs11.uninstallModule()`

Désinstalle le module PKCS # 11 nommé.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
captivePortal
=============

Déterminer l'état du portail captif de la connexion de l'utilisateur. Un portail captif est une page web qui s'affiche lorsqu'un utilisateur se connecte pour la première fois à un réseau Wi-Fi. L'utilisateur fournit des informations ou agit sur la page web du portail captif afin d'obtenir un accès plus large aux ressources du réseau, par exemple en acceptant les conditions générales ou en effectuant un paiement.

Pour utiliser cette API, vous devez disposer de la permission "captivePortal".

Propriétés
----------

`captivePortal.canonicalURL`

Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule.

Fonctions
---------

`captivePortal.getLastChecked()`

Retourne le temps, en millisecondes, depuis que la dernière demande a été complétée.

`captivePortal.getState()`

Renvoie l'état du portail comme étant inconnu, `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`.

Evénements
----------

`captivePortal.onConnectivityAvailable`

S'allume lorsque le service de portail captif détermine que l'utilisateur peut se connecter à l'internet.

`captivePortal.onStateChanged`

S'allume lorsque l'état de portail captif change

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
privacy
=======

Accédez et modifiez les différents paramètres du navigateur liés à la vie privée.

Pour utiliser l'API de confidentialité, vous devez avoir l'autorisation de l'API "privacy".

Propriétés
----------

`privacy.network`

Accès et modification des paramètres de confidentialité relatifs au réseau.

`privacy.services`

Accès et modification des paramètres de confidentialité relatifs aux services fournis par le navigateur ou les tiers.

`privacy.websites`

Accès et modification des paramètres de confidentialité relatifs aux comportements des sites Web.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.privacy`.
extensionTypes
==============

Certains types communs utilisés dans d'autres APIs WebExtensions.

Types
-----

`extensionTypes.ImageDetails`

Détails sur le format et la qualité de l'image.

`extensionTypes.ImageFormat`

Le format d'une image.

`extensionTypes.ImageDetails`

Injecte des détails dans une page

`extensionTypes.RunAt`

Le plus tot que le Javascript ou le CSS est injecté dans l'onglet.

`extensionTypes.CSSOrigin`

Indique si une feuille de style CSS injectée par `tabs.insertCSS` doit être traitée comme une feuille de style "auteur" ou "utilisateur".

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basé sur l'API Chromium `chrome.extensionTypes` . Cette documentation provient de `extension_types.json` dans le code de Chromium.

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.
i18n
====

Fonctions permettant d'internationaliser votre extension. Vous pouvez utiliser ces API pour obtenir des chaînes localisées à partir de fichiers locaux conditionnés avec votre extension, connaître la langue actuelle du navigateur et en connaître la valeur de son En-tete "Accept-Language".

Pour plus de détails sur l'utilisation de i18n pour votre extension, voir :

* Internationalization: un guide d'utilisation du système WebExtension i18n.
* Référence de message spécifique aux paramètres régionaux : Les extensions fournissent des chaînes de caractères locales dans des fichiers appelés `messages.json`. Cette page décrit le format de `messages.json`.
Types
-----

`i18n.LanguageCode`

Une balise de langue telle que `"en-US"` ou "`fr`".

Fonctions
---------

`i18n.getAcceptLanguages()`

Obtient les accept-languages du navigateur. Ceci est différent des paramètres régionaux utilisés par le navigateur. Pour obtenir les paramètres régionaux, utilisez `i18n.getUILanguage`.

`i18n.getMessage()`

Obtient la chaîne localisée pour le message spécifié.

`i18n.getUILanguage()`

Obtient la langue de l'interface utilisateur du navigateur. Ceci est différent de `i18n.getAcceptLanguages` qui renvoie les langues utilisateur préférées.

`i18n.detectLanguage()`

Détecte la langue du texte fourni en utilisant le détecteur de langue compact.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* menu-accesskey-visible
* menu-demo
* notify-link-clicks-i18n

**Note :**
 Cette API est basée sur l'API Chromium `chrome.i18n`. Cette documentation est dérivée de `i18n.json` dans le code de Chromium.


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.
browserSettings
===============

Permet à une extension de modifier certaines paramètres globaux du navigateur. Chaque propriété de cette API est un objet `BrowserSetting`, fournissant la possibilité de modifier un paramètre particulier.Parce que ce sont les paramètres globaux, il est possible d'étendre les conflits des extensions. voir la documentation de `BrowserSetting.set()` pour plus détails sur la façon dont les conflits sont traités.
Pour utiliser cette API, vous devez avoir la permission "browserSettings".

Propriétés
----------

`browserSettings.allowPopupsForUserEvents`

Déterminer si le code exécuté dans les pages Web peut afficher les fenêtres contextuelles en réponse aux événements utilisateur.

`browserSettings.cacheEnabled`

Déterminer si le cache du navigateur est activé ou pas.

`browserSettings.closeTabsByDoubleClick`

Détermine si l'onglet sélectionné peut être fermé en double-cliquant

`browserSettings.contextMenuShowEvent`

Détermine l'événement de souris qui déclenche un menu contextuel.

`browserSettings.ftpProtocolEnabled`

Détermine si le protocole FTP est activé.

`browserSettings.homepageOverride`

Lire la valeur de la page d'accueil du navigateur.

`browserSettings.imageAnimationBehavior`

Détermine comment le navigateur traite les images animées.

`browserSettings.newTabPageOverride`

Lire la valeur de la nouvelle page de l'onglet du navigateur.

`browserSettings.newTabPosition`

Contrôle la position des onglets nouvellement ouverts par rapport aux onglets déjà ouverts.

`browserSettings.openBookmarksInNewTabs`

Détermine si les signets sont ouverts dans l'onglet actuel ou dans un nouvel onglet.

`browserSettings.openSearchResultsInNewTabs`

Détermine si les résultats de recherche sont ouverts dans l'onglet actuel ou dans un nouvel onglet.

`browserSettings.openUrlbarResultsInNewTabs`

Détermine si les suggestions de saisie semi-automatique de la barre d'adresse sont ouvertes dans l'onglet actuel ou dans un nouvel onglet.

`browserSettings.overrideDocumentColors`

Contrôle si les couleurs choisies par l'utilisateur remplacent les couleurs de la page.

`browserSettings.useDocumentFonts`

Contrôle si le navigateur utilisera les polices spécifiées par une page Web ou n'utilisera que des polices intégrées.

`browserSettings.webNotificationsDisabled`

Empêche les sites Web d'afficher des notifications à l'aide de la web API `Notification`.

`browserSettings.zoomFullPage`

Contrôle si le zoom est appliqué à la page entière ou seulement au texte.

`browserSettings.zoomSiteSpecific`

Contrôle si le zoom est appliqué sur un modèle par-site ou par-onglet. Si `privacy.websites``.resistFingerprinting` est à vrai, ce réglage n'a aucun effet et le modèle de zoom appliqué reste par-onglet.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
idle
====

Découvrez quand le système de l'utilisateur est inactif, vérouillé ou actif.

Pour utiliser cette API, vous disposez de la permission "idle" .

Types
-----

`idle.IdleState`

Chaîne décrivant l'état d'inactivité du périphérique

Fonctions
---------

`idle.queryState()`

Renvoie `"locked"` si le système est verrouillé, `"idle"` si l'utilisateur n'a généré aucune entrée pendant un nombre de secondes spécifié, ou sinon `"active"`

`idle.setDetectionInterval()`

Définit l'intervalle utilisé pour déterminer quand le système est inactif pour les événements `idle.onStateChanged`.

Evénements
----------

`idle.onStateChanged`

Définit quand le système change d'état.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.idle`. Cette documentation est dérivée de `idle.json` dans le code Chromium.

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.
theme
=====

Permet aux extensions du navigateur de mettre à jour le thème du navigateur.

Pour utiliser cette API, une extension doit demander la permission "theme" dans son fichier manifest.json.

**Note :** quand on met un thème en arrière plan, on doit déclarer la permission 'theme' et on ne peut pas utiliser la fonction theme du manifest, puisque ce n'est pas compatible.

Types
-----

`theme.Theme`

Représente le contenu d'un thème.

Fonctions
---------

`theme.getCurrent()`

Retourne le thème actuel du navigateur.

`theme.update()`

Met à jour à le thème du navigateur.

`theme.reset()`

Supprime les mises à jour de thèmes effectuées lors d'un appel à `theme.update()`.

Evénements
----------

`theme.onUpdated`

Emis quand le thème du navigateur change.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* dynamic-theme
* private-browsing-theme
* theme-integrated-sidebar
pageAction
==========

Une action de page est une icône cliquable dans la barre d'adresse du navigateur.

![](/fr/docs/Mozilla/Add-ons/WebExtensions/API/pageAction/page-action.png)

Vous pouvez écouter les clics sur l'icône, ou spécifié une fenêtre contextuelle qui s'ouvre lorsque l'icone est cliquée.

Si vous spécifiez une fenêtre contextuelle, vous pouvez définir son contenu et son comportement en utilisant HTML, CSS et JavaScript, tout comme une page Web normale. Le JavaScript s'exécutant dans la fenêtre contextuelle accède à toutes les mêmes API WebExtension que vos scripts d'arrière-plan.

Vous pouvez définir la plupart des propriétés d'une action de page de manière déclarative à l'aide de la clef page\_action dans votre manifest.json, mais également les redéfinir par programmation en utilisant cette API.

Les actions de page sont pour des actions qui ne sont pertinentes que pour des pages particulières (comme "favoris dans l'onglet courrant"). S'ils sont pertinents pour le navigateur dans son ensemble (par exemple, "Afficher tous les favoris"), utilisez plutôt une action du navigateur.

Types
-----

`pageAction.ImageDataType`

Données en pixel pour une image.

Fonctions
---------

`pageAction.show()`

Affiche l'action de la page pour un onglet donné.

`pageAction.hide()`

Caches l'action de la page pour un onglet donné.

`pageAction.isShown()`

Vérifie si l'action de la page est affichée ou non.

`pageAction.setTitle()`

Définit le titre de l'action de la page. Ceci est affiché dans une info-bulle sur l'action de la page.

`pageAction.getTitle()`

Obtient le titre de l'action de la page

`pageAction.setIcon()` (en-US)

Définit l'icône de l'action de la page.

`pageAction.setPopup()`

Définit l'URL de la fenêtre contextuelle de l'action de la page.

`pageAction.getPopup()`

Obtient l'URL de la fenêtre d'action de la page.

`pageAction.openPopup()`

Ouvre la fenêtre contextuelle de l'action de la page.

Evénements
----------

`pageAction.onClicked`

Activé lorsqu'une icône d'action de page est cliquée. Cet événement ne se déclenchera pas si l'action de la page comporte une fenêtre contextuelle.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* apply-css
* chill-out
* history-deleter
* menu-remove-element

**Note :**

Cette API est basée sur l'API Chromium `chrome.pageAction`. Cette documentation est dérivée de `page_action.json` dans le code de Chromium code.

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.