recursal/MDN huggingface dataset:
WebGLBuffer
===========

L'interface **WebGLBuffer** fait partie de l'API WebGL et représente un objet tampon opaque stockant des données telles que des sommets ou des couleurs.

Description
-----------

L'objet `WebGLBuffer` ne définit aucune méthode ou propriété en propre, et son contenu n'est pas directement accessible. Lorsque vous travaillez avec des objets `WebGLBuffer`, les méthodes suivantes du `WebGLRenderingContext` sont utiles :

* `WebGLRenderingContext.bindBuffer()`
* `WebGLRenderingContext.createBuffer()`
* `WebGLRenderingContext.deleteBuffer()`
* `WebGLRenderingContext.isBuffer()`
Exemples
--------

### Création d'un tampon


```js
var canevas = document.getElementById("canevas");
var gl = canevas.getContext("webgl");
var tampon = gl.createBuffer();
```

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

| Specification |
| --- |
| WebGL Specification # 5.4 |

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

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

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

* `WebGLRenderingContext.bindBuffer()`
* `WebGLRenderingContext.createBuffer()`
* `WebGLRenderingContext.deleteBuffer()`
* `WebGLRenderingContext.isBuffer()`
* Autres tampons : `WebGLFramebuffer`, `WebGLRenderbuffer` (en-US)
origin
======

La propriété globale en lecture seule **`origin`** renvoie l'origine de la portée globale, sérialisée sous la forme d'une chaîne de caractères.

Valeur
------

Une chaîne de caractères.

Exemples
--------

Exécutée depuis le script d'un *worker*, le fragment de code suivant affichera l'origine de la portée globale du *worker* dans la console chaque fois qu'il reçoit un message.


```js
onmessage = () => {
  console.log(self.origin);
};
```


Si l'origine n'est pas une combinaison schéma/hôte/port (par exemple avec une exécution locale via une URL `file://`), `origin` renverra la chaîne de caractères `"null"`.

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

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

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

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

**`PerformanceMeasure`** est une interface *abstraite* pour les objets `PerformanceEntry` ayant un `entryType` « `measure` ». Les entrées de ce type sont créées en appelant `measure()` pour ajouter un `DOMHighResTimeStamp` *nommé* (la *mesure*) entre deux *marqueurs* à la *chronologie des performances* du navigateur.

PerformanceEntry

PerformanceMeasure

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

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

Cette interface n'a pas de propriété mais elle étend les propriétés de `PerformanceEntry` suivantes en restreignant les propriétés comme suit :

`PerformanceEntry.entryType`

Retourne « `measure` ».

`PerformanceEntry.name`

Retourne le nom donné à la mesure lorsqu'elle a été créée via un appel à `performance.measure()`.

`PerformanceEntry.startTime`

Retourne un objet `DOMHighResTimeStamp` associé à la mesure indiquant le moment où `performance.measure()` a été appelée.

`PerformanceEntry.duration`

Retourne un objet `DOMHighResTimeStamp` correspondant à la durée de la mesure (généralement, l'horodatage de fin de la mesure moins l'horodatage de début).

Méthodes
--------

Cette interface n'a pas de méthode.

Exemple
-------

Voir l'exemple dans : Utilisation de l'API *User Timing* (en-US).

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

| Specification |
| --- |
| User Timing # performancemeasure |

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

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

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

* API *User Timing* (en-US)
* Utilisation de l'API *User Timing* (en-US)
CSSMediaRule
============

L'interface **`CSSMediaRule`** représente une seule règle CSS `@media`. Elle met en œuvre l'interface `CSSConditionRule` (en-US), et donc l'interface `CSSGroupingRule` (en-US) et l'interface `CSSRule` (en-US) avec une valeur de type `4` (`CSSRule.MEDIA_RULE`).

Syntaxe
-------

La syntaxe est décrite en utilisant le format WebIDL.
```

interface CSSMediaRule : CSSConditionRule {
    readonly attribute MediaList media;
}
```

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

En tant que `CSSConditionRule` (en-US), et donc à la fois `CSSGroupingRule` (en-US) et `CSSRule` (en-US), `CSSMediaRule` implémente également les propriétés de ces interfaces. Elle a la propriété spécifique suivante :

`CSSMediaRule.media` (en-US) Lecture seule 

Spécifie un `MediaList` (en-US) représentant le support de destination prévu pour les informations de style.

Méthodes
--------

En tant que `CSSConditionRule` (en-US), et donc à la fois `CSSGroupingRule` (en-US) et `CSSRule` (en-US), `CSSMediaRule` met également en œuvre les méthodes de cette interface. Elle n'a pas de méthodes spécifiques.

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

| Specification |
| --- |
| CSS Conditional Rules Module Level 3 # the-cssmediarule-interface |

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

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

On pourra obtenir un objet de type `FileList` grâce à la propriété `files` d'un objet `HTMLInputElement` (qui représente un élément HTML `<input>`) du DOM. Un objet `FileList` permet d'accéder à la liste des fichiers sélectionnés via un élément `<input type="file">`. Il est également utilisé pour manipuler une liste de fichiers déposé dans du contenu web en glisser/déposer. Voir la page sur l'objet `DataTransfer` pour plus de détails sur ce deuxième usage.

Tous les nœuds qui sont des éléments `<input>` possèdent un attribut `files` de type `FileList` qui permet d'accéder aux éléments de cette liste. Ainsi, avec le fragment de HTML qui suit :


```html
<input id="fileItem" type="file" />
```


On pourra utiliser la ligne de code suivante pour récupérer le premier fichier de la liste des fichiers pour ce nœud dans un objet `File` :


```js
const file = document.getElementById("fileItem").files[0];
```


**Note :** Cette interface se voulait une tentative de modélisation d'une liste non-modifiable et continue uniquement d'être prise en charge pour ne pas casser le code qui l'utilise encore. Les API plus récentes utilisent des types qui se basent sur le type ECMAScript `Array`, afin que les objets puissent être traités comme des tableaux tout en imposant une sémantique additionnelle correspondant à leur utilisation (par exemple, en marquant leurs éléments comme étant en lecture seule).

Propriétés des instances
------------------------

`length` (en-US) Lecture seule 

Une valeur en lecture seule qui indique le nombre de fichiers dans la liste.

Méthodes des instances
----------------------

`item()` (en-US) Lecture seule 

Renvoie un objet `File` qui représente le fichier situé à l'indice indiqué dans la liste.

Exemple
-------

### Afficher le nom des fichiers

Dans cet exemple, nous allons afficher le nom des fichiers sélectionnés par l'utilisatrice ou l'utilisateur.

#### HTML


```html
<input id="mesfichiers" multiple type="file" />
<pre class="sortie">Fichiers sélectionnés :</pre>
```


#### JavaScript


```js
const sortie = document.querySelector(".sortie");
const fileInput = document.querySelector("#mesfichiers");

fileInput.addEventListener("change", () => {
  for (const file of fileInput.files) {
    sortie.innerText += `\n${file.name}`;
  }
});
```


#### Résultat

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

| Specification |
| --- |
| File API # filelist-section |
| HTML Standard # dom-input-files-dev |

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

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

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

* Utiliser des fichiers dans les applications web
* `File`
* `FileReader`
DOMImplementation
=================

L'interface **`DOMImplementation`** représente un objet fournissant des méthodes qui ne dépendent pas d'un document particulier. Un tel objet est renvoyé par la propriété `Document.implementation`.

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

*Cette interface n'a pas de propriété spécifique et n'en hérite aucune.*

Méthodes
--------

*Pas de méthode héritée.*

`DOMImplementation.createDocument()`

Crée et retourne un `XMLDocument`.

`DOMImplementation.createDocumentType()`

Crée et retourne un `DocumentType`.

`DOMImplementation.createHTMLDocument()`

Crée et retourne un `Document` HTML.

`DOMImplementation.hasFeature()`

Retourne un `Boolean` (en-US) indiquant si une caractéristique donnée est supportée ou non. Cette fonction n'est pas fiable et est conservée uniquement à des fins de compatibilité : à l'exception des requêtes liées au SVG, elle renvoie toujours la valeur `true` *(vrai).* Les anciens navigateurs sont très incohérents dans leur comportement.

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

| Specification |
| --- |
| DOM Standard # interface-domimplementation |

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

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

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

* Référence du DOM.
Crypto
======

L'interface **`Crypto`** représente les fonctions cryptographiques de base dans notre contexte actuel. Elle permet d'accéder à de solides générateur de nombres aléatoires dédiés à la cryptographie ainsi qu'aux principales primitives cryptographiques.

Un objet avec cette interface est disponible dans le contexte web de la page via la propriété `Window.crypto`.

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

*Cette interface implémente les propriétés définies dans `RandomSource` (en-US).*

`Crypto.subtle` 
Expérimental
Lecture seule 

Retourne un objet `SubtleCrypto` (en-US) procurant un accès aux principales primitives cryptographiques, comme le hashage, les signatures, le chiffrement ou le déchiffrement.

Methodes
--------

*Cette interface implémente les méthodes définies dans `RandomSource` (en-US).*

`RandomSource.getRandomValues()`

Rempli le `TypedArray` passé avec des valeurs aléatoires utilisables pour la cryptographie.

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

| Specification |
| --- |
| Web Cryptography API # crypto-interface |

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

* Components.utils.importGlobalProperties
DOMStringList
=============

Un type renvoyé par certaines API contenant une liste de DOMString (*chaînes de caractères*).

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

`DOMStringList.length` (en-US) Lecture seule 

Renvoie la longueur de la liste.

Méthodes
--------

`DOMStringList.item()` (en-US)

Renvoie une `DOMString` (*chaîne de caractères*).

`DOMStringList.contains()` (en-US)

Renvoie un `Boolean` (*booléen*) indiquant si la chaîne de caractères donnée est dans la liste.

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

| Specification |
| --- |
| HTML Standard # the-domstringlist-interface |
AuthenticatorResponse
=====================

**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 **`AuthenticatorResponse`**, rattachée à l'API Web Authentication, constitue l'interface de base pour les interfaces qui fournissent une racine cryptographique de confiance pour une paire de clés. Les interfaces filles contiennent des informations relatives au navigateur telles que l'origine du *challenge* et qui peuvent être renvoyée par `PublicKeyCredential.response` (en-US).

Interfaces basées sur `AuthenticatorResponse`
---------------------------------------------

Voici la liste des interfaces basées sur `AuthenticatorResponse`.

* `AuthenticatorAssertionResponse`
* `AuthenticatorAttestationResponse`
Propriétés
----------

`AuthenticatorResponse.clientDataJSON` (en-US)

Une chaîne de caractères JSON stockée dans un `ArrayBuffer` et qui représente les données du client passées à `CredentialsContainer.create()` ou `CredentialsContainer.get()`.

Méthodes
--------

Aucune.

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

| Specification |
| --- |
| Web Authentication: An API for accessing Public Key Credentials - Level 3 # authenticatorresponse |

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

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

L'interface StyleSheetList représente une liste de `StyleSheet`.

Il s'agit d'un objet de type array, mais qui ne peut pas être itéré à l'aide de la méthode `Array`. Il peut néanmoins être itéré dans une boucle `for` standard en utilisant ses indices, ou converti en un `Array`.

Exemple
-------


```js
// Récupère toutes les règles CSS du document en cours en utilisant les méthodes de Array
var allCSS = [].slice
  .call(document.styleSheets)
  .reduce(function (prev, styleSheet) {
    if (styleSheet.cssRules) {
      return (
        prev +
        [].slice.call(styleSheet.cssRules).reduce(function (prev, cssRule) {
          return prev + cssRule.cssText;
        })
      );
    } else {
      return prev;
    }
  });
```
WorkerLocation
==============

L'interface **`WorkerLocation`** définit l'emplacement complet du script exécuté par le `Worker`. Un tel objet est initialisé pour chaque *worker* et est disponible via la propriété `WorkerGlobalScope.location` récupérée par l'appel à `window.self.location`.

Cette interface est uniquement visible à l'intérieur d'un script JavaScript exécuté dans le contexte d'un *web worker*.

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

*L'interface `WorkerLocation` n'hérite d'aucune propriété mais implémente les propriétés définies par l'interface `URLUtilsReadOnly`.*

`URLUtilsReadOnly.href` (en-US) Lecture seule 

`DOMString` contenant la totalité de URL du script exécuté dans le `Worker`.

`URLUtilsReadOnly.protocol` (en-US) Lecture seule 

`DOMString` contenant le schéma du protocole de l'URL du script exécuté dans le `Worker`, incluant les deux points de terminaison`':'`.

`URLUtilsReadOnly.host` (en-US) Lecture seule 

`DOMString` contenant l'hôte, constitué du nom d'hôte *hostname*, de deux points `':'`, et du numéro de *port* de l'URL du script exécuté dans le `Worker`.

`URLUtilsReadOnly.hostname` (en-US) Lecture seule 

`DOMString` contenant le nom de domaine du script exécuté dans le `Worker`.

`URLUtilsReadOnly.origin` (en-US) Lecture seule 

`DOMString` contenant l'origine de l'URL sous sa forme canonique.

`URLUtilsReadOnly.port` (en-US) Lecture seule 

`DOMString` contenant le numéro de port de l'URL du script exécuté dans le `Worker`.

`URLUtilsReadOnly.pathname` (en-US) Lecture seule 

`DOMString` contenant une barre oblique initiale `'/'` suivie du chemin de l'URL du script exécuté dans le `Worker`.

`URLUtilsReadOnly.search` (en-US) Lecture seule 

`DOMString` contenant un point d'interrogation intial `'?'` suivi des paramètres de l'URL du script exécuté dans le `Worker`.

`URLUtilsReadOnly.hash` (en-US) Lecture seule 

`DOMString` contenant un dièse initial `'#'` suivi de l'identifiant de l'ancre de l'URL du script exécuté dans le `Word'hôteker`.

Méthodes
--------

*L'interface `WorkerLocation` n'hérite d'aucune méthode mais implémente les méthodes définies par l'interface `URLUtilsReadOnly`.*

`URLUtilsReadOnly.toString()` (en-US)

Retourne une chaîne de caractères `DOMString` contenant l'URL complète du script exécuté dans le `Worker`. C'est un synonyme de la propriété `URLUtilsReadOnly.href` (en-US).

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

| Specification |
| --- |
| HTML Standard # worker-locations |

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

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

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

* Autres interfaces apparentées au *Worker*: `Worker`, `WorkerNavigator` (en-US) et `WorkerGlobalScope`.
* Utilisation des web workers
URLSearchParams
===============

L'interface **`URLSearchParams`** définit des méthodes utilitaires pour travailler avec la *chaîne de requête* (les paramètres `GET`) d'une URL.

Un objet implémentant `URLSearchParams` peut être directement utilisé dans une structure `for...of`, au lieu de `entries()` : `for (var p of mySearchParams)` ou son équivalent `for (var p of mySearchParams.entries())`.

Constructeur
------------

`URLSearchParams()` (en-US)

Constructeur renvoyant un objet `URLSearchParams`.

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

*Cette interface n'hérite d'aucune propriété.*

Méthodes
--------

*Cette interface n'hérite d'aucune méthode.*

`URLSearchParams.append()` (en-US)

Ajoute une paire clé / valeur spécifiée en tant que nouveau paramètre de recherche.

`URLSearchParams.delete()` (en-US)

Supprime le paramètre de recherche donné et sa valeur associée de la liste de tous les paramètres de recherche.

`URLSearchParams.entries()`

Retourne un `iterator` permettant de parcourir toutes les paires clé / valeur contenues dans cet objet.

`URLSearchParams.get()` (en-US)

Retourne la première valeur associée au paramètre de recherche donné.

`URLSearchParams.getAll()` (en-US)

Retourne toutes les valeurs associées au paramètre de recherche donné.

`URLSearchParams.has()` (en-US)

Retourne un `Boolean` indiquant si un tel paramètre de recherche existe.

`URLSearchParams.keys()` (en-US)

Retourne un `iterator` permettant de parcourir toutes les **clés** des paires clé / valeur contenues dans cet objet.

`URLSearchParams.set()` (en-US)

Définit la valeur associée à un paramètre de recherche donné à la valeur donnée. S'il y avait plusieurs valeurs, les autres sont supprimées.

`URLSearchParams.sort()` (en-US)

Trie toutes les paires clé / valeur, s'il y en a, par leurs clés.

`URLSearchParams.toString()` (en-US)

Retourne une chaîne contenant une chaîne de requête pouvant être utilisée dans une URL.

`URLSearchParams.values()` (en-US)

Retourne un `iterator` permettant de parcourir toutes les **valeurs** des paires clé / valeur contenues dans cet objet.

Exemple
-------


```js
var paramsString = "q=URLUtils.searchParams&topic=api";
var searchParams = new URLSearchParams(paramsString);

// Itère sur les paramètres de recherche.
for (let p of searchParams) {
  console.log(p);
}

searchParams.has("topic") === true; // true
searchParams.get("topic") === "api"; // true
searchParams.getAll("topic"); // ["api"]
searchParams.get("foo") === null; // true
searchParams.append("topic", "webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=api&topic=webdev"
searchParams.set("topic", "More webdev");
searchParams.toString(); // "q=URLUtils.searchParams&topic=More+webdev"
searchParams.delete("topic");
searchParams.toString(); // "q=URLUtils.searchParams"
```

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

| Specification |
| --- |
| URL Standard # urlsearchparams |

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

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

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

* Autres interfaces liées aux URL : `URL`, `URLUtils`.
* Google Developers: Easy URL manipulation with URLSearchParams
table
=====

Interface de l'élément HTML Table
---------------------------------

Les objets `table` exposent l'interface `HTMLTableElement` (traduction), qui fournit des propriétés et méthodes spécialisées (outre l'interface des objets element qu'ils acquièrent également par héritage) pour manipuler la disposition et la présentation des tableaux en HTML.

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

table.caption

**caption** renvoie la légende du tableau.

table.tHead (en-US)

**tHead** renvoie l'en-tête du tableau.

table.tFoot (en-US)

**tFoot** renvoie le pied du tableau.

table.rows (en-US)

**rows** renvoie les lignes du tableau.

table.tBodies (en-US)

**tBodies** renvoie les corps du tableau.


table.align (en-US) 
Obsolète

**align** obtient ou définit l'alignement du tableau.

table.bgColor (en-US) 
Obsolète

**bgColor** obtient ou définit la couleur de fond du tableau.

table.border (en-US) 
Obsolète

**border** obtient ou défini la bordure du tableau.

table.cellPadding (en-US)

**cellPadding** obtient ou définit les marges internes (
 *padding*
 ) des cellules.


table.cellSpacing (en-US)

**cellSpacing** obtient ou définit l'espace entre les cellules.

table.frame (en-US)

**frame** spécifie les côtés du tableau ayant une bordure.

table.rules (en-US)

**rules** spécifie les bordures intérieures visibles.

table.summary (en-US)

**summary** obtient ou définit le résumé du tableau.

table.width (en-US)

**width** obtient ou définit la largeur du tableau.

Méthodes
--------

table.createTHead (en-US)

**createTHead** crée un en-tête de tableau.

table.deleteTHead (en-US)

**deleteTHead** retire l'en-tête du tableau.

table.createTFoot (en-US)

**createTFoot** crée un pied de tableau.

table.deleteTFoot (en-US)

**deleteTFoot** retire un pied de tableau.

table.createCaption (en-US)

**createCaption** crée une nouvelle légende pour le tableau.

table.deleteCaption (en-US)

**deleteCaption** retire la légende d'un tableau.

table.insertRow

**insertRow** insère une nouvelle ligne.

table.deleteRow (en-US)

**deleteRow** retire une ligne.
PublicKeyCredential
===================

**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 **`PublicKeyCredential`** fournit des informations relative à la paire constituée par une clé publique et une clé privée. Cette paire constitue une information d'authentification qui permet de se connecter à un service en utilisant un paire de clé asymétrique (permettant de prévenir les attaques par *phishing* ou liées à des fuites de données).

Cette interface hérite de `Credential` et a été créée pour l'API Web Authentication qui étend l'API Credential Management.

Les autres interfaces qui héritent de `Credential` sont :

* `PasswordCredential`
* `FederatedCredential`.
Propriétés
----------

`PublicKeyCredential.type` Lecture seule 

Propriété héritée depuis `Credential`. Dans le cas de `PublicKeyCredentials`, cette propriété vaut toujours `"public-key"`.

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

Propriété héritée depuis `Credential` et surchargée afin de correspondre à l'encodage en base64url de `PublicKeyCredential.rawId`.

`PublicKeyCredential.rawId` (en-US) Lecture seule 

Un objet `ArrayBuffer` qui contient l'identifiant unique global/universel pour cette instance `PublicKeyCredential`. Cet identifiant peut être utilisé afin de rechercher les informations d'authentification avec les futurs appels à `CredentialsContainer.get`.

`PublicKeyCredential.response` (en-US) Lecture seule 

Une instance `AuthenticatorResponse`. Cette instance est de type :

* `AuthenticatorAttestationResponse` si l'objet `PublicKeyCredential` a été créé grâce à un appel à `create()`
* `AuthenticatorAssertionResponse` si l'objet `PublicKeyCredential` a été créé grâce à un appel à `get()`.

Méthodes
--------

`PublicKeyCredential.getClientExtensionResults()` (en-US)

Si au moins une extension est demandée, cette méthode renverra le résultat du traitement de ces extensions.

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

| Specification |
| --- |
| Web Authentication: An API for accessing Public Key Credentials - Level 3 # iface-pkcredential |

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

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