recursal/MDN huggingface dataset:
AnimationEvent
==============

L'interface **`AnimationEvent`** représente les évènements apportant des informations sur les animations CSS.

Event

AnimationEventConstructeur
------------

`AnimationEvent()`

Crée un évènement `AnimationEvent` avec les paramètres spécifiés.

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

*Hérite également des propriétés de son parent, `Event`.*

`animationName` Lecture seule 

Une chaîne contenant la valeur de la propriété CSS `animation-name` associée à la transition.

`elapsedTime` Lecture seule 

Un nombre à virgule flottante, équivalent à la durée pendant laquelle l'animation s'est déroulée, en secondes, depuis le déclenchement de cet évènement (excluant les temps de pause de l'animation). `elapsedTime` vaudra `0.0` pour un évènement `animationstart`, à moins que `animation-delay` n'ait une valeur négative. Dans ce cas, l'évènement sera déclenché avec une valeur de `(-1 * délai)` pour `elapsedTime`.

`pseudoElement` Lecture seule 

Une chaîne commençant par `::`, qui contient le nom du pseudo-élément sur lequel l'animation s'exécute. Si l'animation est exécutée sur l'élément et non sur un pseudo-élément, la chaîne sera vide (`""`).

Méthodes
--------

*Hérite des méthodes de son parent, `Event`.*

Spécifications
--------------

| Specification |
| --- |
| CSS Animations Level 1 # interface-animationevent |

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

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

Voir aussi
----------

* Utiliser les animations CSS
* Les propriétés CSS et règles @ relatives aux animations :
    + `animation`
    + `animation-delay`
    + `animation-direction`
    + `animation-duration`
    + `animation-fill-mode`
    + `animation-iteration-count`
    + `animation-name`
    + `animation-play-state`
    + `animation-timing-function`
    + `@keyframes`
CustomEvent
===========

L'interface **`CustomEvent`** représente un évènement initialisé par une application dans un but quelconque.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Event

CustomEventConstructeur
------------

`CustomEvent()` (en-US)

Crée un nouvel objet `CustomEvent`.

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

*Cette interface hérite des propriétés de son parent, `Event`.*

`CustomEvent.detail` Lecture seule 

Renvoie toutes les données passées lor de l'initialisation de l'évènement.

Méthodes
--------

*Cette interface hérite des propriétés de son parent, `Event`.*

`CustomEvent.initCustomEvent()` 
Obsolète

Initialise un objet `CustomEvent`. Si l'évènement a déjà été diffusé, cette méthode n'a aucun effet.

Spécifications
--------------

| Specification |
| --- |
| DOM Standard # interface-customevent |

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

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

Voir aussi
----------

* `Window.postMessage()`
* Créer et déclencher des évènements
HTMLQuoteElement
================

L'interface **`HTMLQuoteElement`** fournit des propriétés et méthodes (en complément de celles fournies par l'interface `HTMLElement` dont elle hérite) pour manipuler les éléments de citation comme `<blockquote>` et `<q>`, mais pas `<cite>`.

EventTarget

Node

Element

HTMLElement

HTMLQuoteElementPropriétés
----------

*Hérite des propriétés de son parent, `HTMLElement`.*

`HTMLQuoteElement.cite`

Une chaîne de caractères qui reflète la valeur de l'attribut HTML `cite`, qui contient une URL pour la source de la citation.

Méthodes
--------

*Cette interface n'a pas de méthode spécifique, elle hérite des méthodes de son parent, `HTMLElement`.*

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # htmlquoteelement |

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

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

Voir aussi
----------

* Les éléments HTML qui portent cette interface : `<blockquote>` et `<q>`, mais pas `<cite>`.
CanvasGradient
==============

L'interface **`CanvasGradient`** représente un objet opaque décrivant un dégradé. Il est retourné par les méthodes `CanvasRenderingContext2D.createLinearGradient()` ou `CanvasRenderingContext2D.createRadialGradient()` (en-US).

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

*Représentant un objet opaque, il n'y a aucune propriété exposée.*

Méthodes
--------

*Il n'y a pas de méthode héritée.*

`CanvasGradient.addColorStop()`

Ajoute un nouveau point d'arrêt, défini par un `décalage` et une `couleur`. Si le décalage n'est pas compris entre 0 et 1, une `INDEX_SIZE_ERR` est générée ; si la couleur ne peut être analysée comme une `<color>` CSS, une `SYNTAX_ERR` est générée.

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # canvasgradient |

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

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

Voir aussi
----------

* Créateur dans `CanvasRenderingContext2D`.
* L'élément `<canvas>` et son interface associée `HTMLCanvasElement`.
BroadcastChannel
================

Baseline 2022
-------------

Newly availableSince March 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
L'interface **`BroadcastChannel`** représente un canal nommé auquel peut s'abonner n'importe quel contexte de navigation d'une même origine. Il permet la communication entre différents documents (dans différentes fenêtres, onglets, cadres ou iframes) d'une même origine. Les messages sont diffusés via un évènement `message` déclenché à tout objet `BroadcastChannel` écoutant le canal, sauf celui qui l'a envoyé.

**Note:** Cette fonctionnalité est disponible via les Web Workers

EventTarget

BroadcastChannelConstructeur
------------

`BroadcastChannel()`

Crée un objet lié au canal nommé.

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

*Cette interface hérite aussi des propriétés de son parent, `EventTarget`.*

`BroadcastChannel.name` Lecture seule 

Retourne une chaîne, le nom du canal.

Méthodes
--------

*Cette interface hérite aussi des méthodes de son parent, `EventTarget`.*

`BroadcastChannel.postMessage()`

Envoie un message de n'importe quel type d'objet à l'objet `BroadcastChannel` écoutant sur le même canal.

`BroadcastChannel.close()`

Ferme l'objet canal, indiquant qu'il n'aura plus aucun nouveau message et lui permettant finalement d'être libéré par le ramasse-miettes.

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

`message`

 Déclenché lorsqu'un message arrive sur le canal.
 Également accessible via la propriété `onmessage`.


`messageerror`

Déclenché lorsqu'un message arrive mais ne peut pas être désérialisé. Également accessible via la propriété `onmessageerror`.

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # broadcasting-to-other-browsing-contexts |

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

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

Voir aussi
----------

* Un autre moyen, plus fourni, de communiquer entre contextes navigateurs : `ServiceWorker`.
* Vue d'ensemble de l'API *Broadcast Channel*
DoubleRange
===========

Le dictionnaire **`DoubleRange`** est utilisé pour définir une plage de valeurs à virgule flottante double précision autorisées pour une propriété, avec l'une ou les deux valeurs maximale et minimale spécifiées. Le dictionnaire `ConstrainDouble` (en-US) est basé sur cela, en l'augmentant pour prendre également en charge les valeurs exactes et idéales.

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

`max`

Une valeur à virgule flottante spécifiant la plus grande valeur autorisée de la propriété qu'elle décrit.

`min`

Une valeur à virgule flottante spécifiant la plus petit valeur autorisée de la propriété qu'elle décrit.

Les valeurs `min` et/ou `max` spécifiées sont obligatoires. Si aucune correspondance ne peut être trouvée dans la plage donnée, une erreur se produit.

Spécifications
--------------

| Specification |
| --- |
| Media Capture and Streams # dom-mediatrackconstraints |

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

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

Voir aussi
----------

* API de capture multimédia et de flux
* Capacités, contraintes et paramètres (en-US)
* `ConstrainDoubleRange`
* `MediaTrackConstraints`
* `MediaTrackCapabilities`
* `MediaTrackSupportedConstraints` (en-US)
isSecureContext
===============

**Expérimental:** **Cette fonction est expérimentale**  
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.  
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La propriété globale en lecture seule **`isSecureContext`** renvoie un booléen qui indique si le contexte est sécurisé.

Valeur
------

Une valeur booléenne (`true` ou `false`).

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-issecurecontext-dev |

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

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

Voir aussi
----------

* Les contextes sécurisés
HTMLOptionElement
=================

L'interface `HTMLOptionElement` représente l'élément `<option>` et hérite de toutes les classes et méthodes de l'intreface `HTMLElement` .

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

*hérite des propriétés de son parent, `HTMLElement`.*

| Nom | Type | Description |
| --- | --- | --- |
| `defaultSelected` | `Boolean` (en-US) | 
 Contient la valeur initiale de l'attribut HTML
 `selected`, indiquant si
 l'option est sélectionnée par défaut ou non.
  |
| `disabled` | `Boolean` (en-US) | 
 Retourne la valeur de l'attribut HTML
 `disabled`, cet attribut
 indique que l'option ne peut pas être sélectionnée. Une option peut
 aussi être désactivée lorsqu'elle est fille d'un élément
 `<optgroup>` désactivé.
  |
| `form`Lecture seule  | `HTMLFormElement` | 
 Si l'option est une fille d'un élément
 `<select>`, cette propriété à la même valeur que
 l'attribut `form` de l'objet
 `HTMLSelectElement`

correspondant, sinon , sa valeur est `null`. |
| `index`Lecture seule  | `long` | 
 La position de l'option dans la liste d'options à laquelle elle
 appartient, dans un ordre arborescent. Si l'option ne fait pas partie
 d'une liste d'options , comme dans le cas où elle appartient à
 l'élément `<datalist>` sa valeur est 0.
  |
| `label` | `DOMString` | 
 Reflète la valeur de l'attribut
 `label`, qui fourni un
 libellé à l'option. si cet attribut n'est pas spécifié, sa lecture
 retourne le text de l'élément en question.
  |
| `selected` | `Boolean` (en-US) | Indique si l'option est sélectionnée ou non . |
| `text` | `DOMString` | Contient le contenu texte de l'élément. |
| `value` | `DOMString` | 
 Retourne la valeur de l'attribut HTML
 `value`, s'il existe, sinon
 la valeur de la propriété `Node.textContent` est
 retournée.
  |

Méthodes
--------

*Hérite des méthodes de son parent , `HTMLElement`.*

`HTMLOptionElement.Option()`

C'est le constructeur créant l'objet `HTMLOptionElement` object. il accepte quatre valeurs : le texte à afficher , `text`, la valeur associée au texte , `value`, la valeur du `defaultSelected`, et la valeur du `selected`. les trois dernières sont optionnelles.

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # htmloptionelement |

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

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

Voir aussi
----------

* L'élément HTML qui implémente cette interface : `<option>`.
DOMError
========

**Obsolète:** Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

L'interface **`DOMError`** décrit un objet d'erreur contenant le nom de l'erreur.

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

`DOMError.name` Lecture seule 

Retourne une `DOMString` *(chaîne de caractères)* représentant l'un des noms de type d'erreur (voir ci-dessous).

`DOMError.message` Lecture seule 

Retourne une `DOMString` *(chaîne de caractères)* représentant un message ou une description associée avec le nom de type d'erreur.

Type d'erreurs
--------------

| Type | Description |
| --- | --- |
| `IndexSizeError` | L'index n'est pas dans l'étendue autorisée (par exemple, déclenché dans un objet `range`). |
| `HierarchyRequestError` | La hiérarchie de l'arbre de noeud est incorrecte. |
| `WrongDocumentError` | L'objet est dans le mauvais `document`. |
| `InvalidCharacterError` | La chaîne de caractères contient des caractères non valides. |
| `NoModificationAllowedError` | L'objet ne peut pas être modifié. |
| `NotFoundError` | L'objet ne peut pas être trouvé. |
| `NotSupportedError` | Cette opération n'est pas supportée. |
| `InvalidStateError` | L'objet est dans un état non valide. |
| `SyntaxError` | La chaîne de caractère ne correspond pas au motif attendu. |
| `InvalidModificationError` | L'objet ne peut pas être modifié de cette façon. |
| `NamespaceError` | Cette opération n'est pas autorisée par les Namespaces en XML. |
| `InvalidAccessError` | L'objet ne supporte pas cette opération ou cet argument. |
| `TypeMismatchError` | Le type de l'objet ne correspond pas au type attendu. |
| `SecurityError` | L'opération n'est pas sécurisée. |
| `NetworkError` | Une erreur réseau est survenue. |
| `AbortError` | L'opération a été annulée. |
| `URLMismatchError` | L'URL fournie ne correspond pas à une autre URL. |
| `QuotaExceededError` | Le quota a été dépassé. |
| `TimeoutError` | L'opération a dépassé le temps autorisé. (Time Out) |
| `InvalidNodeTypeError` | Le noeud est incorrect ou a un ancêtre incorrect pour cette opération. |
| `DataCloneError` | L'objet n'a pas pu être cloné. |

Spécifications
--------------

#### No specification found

No specification data found for `api.DOMError`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

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

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

Voir aussi
----------

* `DOMException`
Credential
==========

**Expérimental:** **Cette fonction est expérimentale**  
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.  
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

**Contexte sécurisé:** Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.

L'interface **`Credential`**, rattachée à l'API Credential Management, fournit des informations relatives à une entité qui seront utilisées comme prérequis à l'établissement d'une relation de confiance.

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

`Credential.id` (en-US) Lecture seule 

Une chaîne de caractères qui est l'identifiant des informations d'authentification. Cela peut être un GUID, un nom d'utilisateur ou une adresse électronique.

`Credential.type` (en-US) Lecture seule 

Une chaîne de caractères qui décrit le type d'information d'authentification utilisée. Les valeurs valides sont

* `password` (pour `PasswordCredential`)
* `federated` (pour `FederatedCredential`)
* `public-key` (pour `PublicKeyCredential`)

### Gestionnaires d'évènements

Aucun.

Méthodes
--------

Aucune.

Exemples
--------


```js
// TBD
```

Spécifications
--------------

| Specification |
| --- |
| Credential Management Level 1 # the-credential-interface |

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

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

**Note :** Cette API *n'est pas disponible* dans les *web workers* (elle n'est pas exposée via `WorkerNavigator` (en-US)).

L'**API Selection** permet d'accéder et de manipuler les portions du document sélectionnées par l'utilisatrice ou l'utilisateur.

Les méthodes `Window.getSelection()` et `Document.getSelection()` renvoient un objet `Selection` qui représente la portion du document sélectionnée par la personne. Un objet `Selection` fournit des méthodes pour :

* accéder aux nœuds actuellement sélectionnés
* modifier la sélection courante en l'étendant ou en la réduisant, voire en sélectionnant une toute autre partie du document
* supprimer des parties de la sélection courante du DOM.

L'API Selection fournit deux évènements, qui se déclenchent sur `Document` :

* l'évènement `selectstart` (en-US) qui est déclenché lorsque l'utilisatrice ou l'utilisateur démarre une nouvelle sélection
* l'évènement `selectionchange` (en-US) qui est déclenché lorsque la sélection courante change.
Interfaces
----------

`Selection`

Une interface qui représente la partie du document sélectionnée par l'utilisatrice ou l'utilisateur, ou la position courante du curseur.

`Document.getSelection()`

Une méthode renvoyant un objet `Selection` qui représente la sélection courante ou la position courante du curseur.

`Window.getSelection()`

Une méthode renvoyant un objet `Selection` qui représente la sélection courante ou la position courante du curseur.

`selectionchange` (en-US)

Un évènement déclenché lorsque la sélection courante change.

`selectstart` (en-US)

Un évènement déclenché lorsqu'une nouvelle sélection est initiée.

Spécifications
--------------

| Specification |
| --- |
| Selection API # selection-interface |
Storage
=======

L'interface **`Storage`** de l'API Web Storage donne accès au stockage de session (`SessionStorage`) ou au stockage local (`LocalStorage`) pour un domaine donné, vous permettant par exemple d'ajouter, de modifier ou de supprimer des éléments enregistrés.

Si vous voulez manipuler le stockage de session pour un domaine, appelez la méthode `Window.sessionStorage`. Si vous voulez manipuler le stockage local pour un domaine, appelez la méthode `Window.localStorage`.

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

`Storage.length` Lecture seule 

Renvoie un entier représentant le nombre d'éléments contenus dans l'objet `Storage`.

Méthodes
--------

`Storage.key()`

Lorsqu'on lui passe un nombre `n`, cette méthode renvoie le nom de la n-ième clé dans le stockage.


`Storage.getItem()`

Lorqu'on lui passe le nom d'une clé, cette méthode renvoie la valeur de la clé correspondante.

`Storage.setItem()`

Lorqu'on lui passe un nom de clé et une valeur, cette méthode ajoute cette clé et cette valeur dans le stockage. Si la clé existe déjà, elle met à jour la valeur.

`Storage.removeItem()`

Lorqu'on lui passe le nom d'une clé, cette méthode supprime cette clé du stockage.

`Storage.clear()`

Lorsqu'elle est appelée, cette méthode supprime toutes les clés du stockage.

Exemples
--------

Nous accédons ici à un objet `Storage` en appelant `localStorage`. Nous testons d'abord si le stockage local contient des éléments en utilisant `!localStorage.getItem('bgcolor')`. Si oui, nous exécutons une fonction appelée `setStyles()` qui récupère les éléments en utilisant `Storage.getItem()`, et utilise ces valeurs pour mettre à jour les styles de page. Sinon, nous exécutons une autre fonction appelée `populateStorage()`, qui utilise `Storage.setItem()` pour régler les valeurs des éléments, puis qui exécute `setStyles()`.


```js
if (!localStorage.getItem("bgcolor")) {
  populateStorage();
} else {
  setStyles();
}

function populateStorage() {
  localStorage.setItem("bgcolor", document.getElementById("bgcolor").value);
  localStorage.setItem("font", document.getElementById("font").value);
  localStorage.setItem("image", document.getElementById("image").value);

  setStyles();
}

function setStyles() {
  var currentColor = localStorage.getItem("bgcolor");
  var currentFont = localStorage.getItem("font");
  var currentImage = localStorage.getItem("image");

  document.getElementById("bgcolor").value = currentColor;
  document.getElementById("font").value = currentFont;
  document.getElementById("image").value = currentImage;

  htmlElem.style.backgroundColor = "#" + currentColor;
  pElem.style.fontFamily = currentFont;
  imgElem.setAttribute("src", currentImage);
}
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # storage |

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

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

Voir aussi
----------

* Utiliser l'API Web Storage
* `Window.localStorage`
* `Window.sessionStorage`
* `CacheStorage`
API Console
===========

L'API Console fournit des fonctionnalités permettant d'effectuer des tâches de débogage lors du développement, telles que la journalisation de message ou des valeurs de variables à des points définis du code, ou le calcul de la durée d'une opération.

**Note:** Cette fonctionnalité est disponible via les Web Workers

Concepts et utilisation
-----------------------

L'API Console a commencé comme une API largement propriétaire, plusieurs différents navigateurs l'implémentant de façon hétérogène. La spécification de l'API Console a été créée pour définir un comportement cohérent. L'ensemble des navigateurs modernes ont finalement décidé d'implémenter ce comportement (bien que certaines implémentations aient toujours certaines fonctions propriétaires supplémentaires).

L'utilisation se fait avec l'objet `console` auquel on peut accéder via `window.console`, ou avec `WorkerGlobalScope.console` pour les *workers* ou encore, plus simplement, avec `console`. Cet objet dispose de nombreuses méthodes permettant de réaliser des tâches de débogage rudimentaires, généralement axées sur la journalisation de diverses valeurs dans la console web du navigateur.

La méthode la plus couramment utilisée est `console.log()`, qui permet d'afficher la valeur passée en argument dans la console des outils de développement.

Interfaces
----------

`console`

Fournit des fonctionnalités de débogage rudimentaires, y compris la journalisation, les traces des piles d'appels, les chronomètres et les compteurs.

Exemples
--------


```js
let maChaine = "Hello world";

// Affiche "Hello world" dans la console
console.log(maChaine);
```


Consultez la page de référence de la console pour plus d'exemples.

Spécifications
--------------

| Specification |
| --- |
| Console Standard # console-namespace |

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

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

Voir aussi
----------

* Documentation des outils de développement de Firefox
    + Console web — comment la console web de Firefox traite les appels de l'API Console.
    + Débogage à distance — comment voir la sortie de la console lorsque la cible de débogage est un appareil mobile.
* Documentation de l'API Console pour les outils de développement de Google Chrome (en anglais)
* Documentation pour les outils de développement de Edge (en anglais)
* Documentation de l'API Console pour les outils de dévéloppement de Safari (en anglais)