recursal/MDN huggingface dataset:
XMLHttpRequestEventTarget
=========================

`XMLHttpRequestEventTarget` est l'interface qui décrit les gestionnaires d'événements que vous pouvez implémenter dans un objet qui gérera les événements pour un `XMLHttpRequest`.

EventTarget

XMLHttpRequestEventTargetPropriétés
----------

`XMLHttpRequestEventTarget.onabort` (en-US)

Contient la fonction à appeler lorsqu'une demande est abandonnée et que l'événement `abort` est reçu par cet objet.

`XMLHttpRequestEventTarget.onerror` (en-US)

Contient la fonction à appeler lorsqu'une demande rencontre une erreur et que l'événement `error` (en-US) est reçu par cet objet.

`XMLHttpRequestEventTarget.onload` (en-US)

Contient la fonction à appeler lorsqu'une requête HTTP revient après avoir récupéré le contenu avec succès et que l'événement `load` (en-US) est reçu par cet objet.

`XMLHttpRequestEventTarget.onloadstart` (en-US)

Contient la fonction qui est appelée lorsque la requête HTTP commence à charger des données et que l'événement `loadstart` (en-US) est reçu par cet objet.

`XMLHttpRequestEventTarget.onprogress` (en-US)

Contient la fonction qui est appelée périodiquement avec des informations sur l'avancement de la demande et l'événement `progress` (en-US) est reçu par cet objet.

`XMLHttpRequestEventTarget.ontimeout`

Contient la fonction qui est appelée si l'événement expire et que l'événement `timeout` (en-US) est reçu par cet objet ; cela ne se produit que si un délai d'attente a été préalablement établi en définissant la valeur de l'attribut timeout de l'objet XMLHttpRequest.

`XMLHttpRequestEventTarget.onloadend`

Contient la fonction qui est appelée lorsque le chargement est terminé, même si la demande a échoué, et que l'événement `loadend` est reçu par cet objet.

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

| Specification |
| --- |
| XMLHttpRequest Standard # xmlhttprequesteventtarget |

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

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

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

* `XMLHttpRequest`
* Using XMLHttpRequest (en-US)
EventSource
===========

L'interface **`EventSource`** est utilisée afin de recevoir des évènements envoyés par le serveur. Elle se connecte à un serveur via HTTP et reçoit des évènements au format `text/event-stream` avant de clôturer la connexion.

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

`EventSource()` (en-US)

Cette méthode crée un nouvel objet `EventSource` à partir de l'objet `USVString` fourni.

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

*Cette interface hérite également des propriétés fournies par l'objet parent : `EventTarget`.*

`EventSource.readyState` (en-US) Lecture seule 

Un nombre qui représente l'état de la connexion. Les valeurs possibles sont `CONNECTING` (`0`) (connexion en cours), `OPEN` (`1`) (connexion ouverte), ou `CLOSED` (`2`) (connexion fermée).

`EventSource.url` (en-US) Lecture seule 

Un objet `DOMString` qui représente l'URL de la source.

`EventSource.withCredentials` (en-US) Lecture seule 

Un booléen qui indique si l'objet `EventSource` a été instancié avec les paramètres d'authentification CORS (`true`) ou non (`false`, la valeur par défaut).

### Gestionnaires d'évènement

`EventSource.onerror` (en-US)

Un gestionnaire d'évènement qui est appelé lorsqu'une erreur se produit et que l'évènement `error` (en-US) est envoyé à l'objet `EventSource`.

`EventSource.onmessage` (en-US)

Un gestionnaire d'évènement qui est appelé lorsqu'un évènement `message` (en-US) est reçu (ce qui signifie qu'on a reçu un message de la source).

`EventSource.onopen`

Un gestionnaire d'évènement qui est appelé lorsqu'un évènement `open` est reçu, ce qui indique que la connexion vient d'être ouverte.

Méthodes
--------

*Cette interface hérite également de méthodes grâce à son objet parent : `EventTarget`.*

`EventSource.close()`

Cette méthode ferme la connexion s'il y en a une en cours et change la valeur de l'attribut `readyState` en `CLOSED`. Si la connexion est déjà fermée, la méthode ne fait rien.

Exemples
--------


```js
var evtSource = new EventSource("sse.php");
var eventList = document.querySelector("ul");

evtSource.onmessage = function (e) {
  var newElement = document.createElement("li");

  newElement.textContent = "message: " + e.data;
  eventList.appendChild(newElement);
};
```


**Note :** Un exemple complet est disponible sur GitHub, voir la démonstration SSE avec PHP.

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

| Specification |
| --- |
| HTML Standard # the-eventsource-interface |

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

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

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

* Utiliser les évènements générés par le serveur
ErrorEvent
==========

L'interface **`ErrorEvent`** représente un événement donnant des informations relatives aux erreurs dans les scripts ou dans les fichiers.

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

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

`ErrorEvent.message` Lecture seule 

Un `DOMString` contenant un message d'erreur lisible décrivant le problème.

`ErrorEvent.filename` Lecture seule 

Un `DOMString` contenant le nom du fichier de script dans lequel l'erreur est survenue.

`ErrorEvent.lineno` Lecture seule 

Un `integer` contenant le numéro de ligne du fichier de script dans lequel l'erreur est survenue.

`ErrorEvent.colno` Lecture seule 

Un `integer` contenant le numéro de colonne du fichier de script dans lequel l'erreur est survenue.

`ErrorEvent.error` Lecture seule  
Expérimental

Un `Object` JavaScript qui est concerné par l'événement.

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

`ErrorEvent()`

Crée un événement `ErrorEvent` avec les paramètres fournis.

Méthodes
--------

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

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

| Specification |
| --- |
| HTML Standard # the-errorevent-interface |

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

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

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

* Utilisation des web workers, notamment les objets susceptibles de déclencher un tel événement.
Window.crypto
=============

La propriété, en lecture seule, `Window.crypto` retourne l'objet `Crypto` associé à l'objet global. Cet objet permet aux pages web d'avoir un accès à certains services liés à cryptographie.

Syntaxe
-------


```js
var cryptoObj = window.crypto || window.msCrypto; // pour IE 11
```

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

| Specification |
| --- |
| Web Cryptography API # dom-windoworworkerglobalscope-crypto |

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

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

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

* L'objet global `Window`
* L'interface `Crypto`
PerformanceObserver
===================

L'interface **`PerformanceObserver`** est utilisée pour *observer* les événements de mesure des performances et être notifié des nouvelles entréés de performance lorsqu'elles sont enregistrées dans la *chronologie des performances* du navigateur.

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

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

`PerformanceObserver()`

Crée et retourne un nouvel objet `PerformanceObserver`.

Méthodes
--------

`PerformanceObserver.observe()`

Spécifie l'ensemble des types d'entrées à observer. La fonction de rappel de l'observateur de performances sera invoquée lorsqu'une entrée de performance est enregistrée pour l'un des `entryTypes` spécifiés.

`PerformanceObserver.disconnect()`

Arrête l'observation des entrées de performances.

`PerformanceObserver.takeRecords()` 
Expérimental

Renvoie la liste actuelle des entrées de performances stockées dans l'observateur de performance, en la vidant.

Exemple
-------


```js
function perf\_observer(list, observer) {
  // Traiter l'événement "measure".
}
const observer2 = new PerformanceObserver(perf_observer);
observer2.observe({ entryTypes: ["measure"] });
```

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

| Specification |
| --- |
| Performance Timeline # dom-performanceobserver |

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

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

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

* `MutationObserver`
* `ResizeObserver` (en-US)
* `IntersectionObserver`
WheelEvent
==========

L'interface **`WheelEvent`** représente les évènements qui se produisent lorsque l'utilisateur déplace la molette de la souris ou un périphérique d'entrée similaire.

**Attention :** Il s'agit de l'interface d'évènement de roue standard à utiliser. Les anciennes versions des navigateurs implémentaient les interfaces `MouseWheelEvent` (en-US) et `MouseScrollEvent` (en-US) non standard et non compatibles avec plusierus navigateurs. Utilisez cette interface et évitez les non standard.

**Note :** Ne confondez pas l'évènement `wheel` avec l'énénement `scroll` : L'action par défaut d'un évènement `wheel` est définie par l'implantation. Ainsi, un évènement `wheel` ne distribue pas nécessairement un évènement `scroll`. Même lorsque c'est le cas, cela ne signifie pas que les valeurs `delta*` dans l'évènement `wheel` reflètent nécessairement la direction de défilement du contenu. Par conséquent, ne comptez pas sur les propriétés `delta*` pour obtenir la direction de défilement du contenu. Au lieu de cela, détectez les changements de valeurs de `scrollLeft` et `scrollTop` de la cible dans l'évènement `scroll`.

Event

UIEvent

MouseEvent

WheelEventConstructeur
------------

`WheelEvent()` (en-US)

Crée un objet `WheelEvent`.

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

*Cette interface hérite des propriétés de ses ancêtres, `MouseEvent`, `UIEvent`, et `Event`.*

`WheelEvent.deltaX`Lecture seule 

Renvoie un `double` représentant le montant du défilement horizontal.

`WheelEvent.deltaY`Lecture seule 

Renvoie un `double` représentant le montant du défilement vertical.

`WheelEvent.deltaZ`Lecture seule 

Renvoie un `double` représentant le montant du défilement pour l'axe z.

`WheelEvent.deltaMode` (en-US)Lecture seule 

Revnoie un `unsigned long` représentant l'unité du montant de défilement des valeurs `delta*`. Les valeurs autorisées sont :

| Constant | Valeur | Description |
| `WheelEvent.DOM_DELTA_PIXEL` | `0x00` | Les valeurs `delta*` sont spécifiées en pixels. |
| `WheelEvent.DOM_DELTA_LINE` | `0x01` | Les valeurs `delta*` sont spécifiées en lignes. |
| `WheelEvent.DOM_DELTA_PAGE` | `0x02` | Les valeurs `delta*` sont spécifiées dans les pages. |

Méthodes
--------

*Cette interface ne définit aucune méthode spécifique, mais hérite des méthodes de ses ancêtres, `MouseEvent`, `UIEvent`, et `Event`.*

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

| Specification |
| --- |
| UI Events # interface-wheelevent |

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

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

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

* Évènement `wheel`
* Interfaces remplacées par celle-ci :
    + Objet d'évènement de roulette de souris hérité de Gecko: `MouseScrollEvent` (en-US)
    + Objet d'évènement de roulette de souris hérité des navigateurs non gecko: `MouseWheelEvent` (en-US)
CSSRuleList
===========

Une `CSSRuleList` est un objet de type tableau contenant une collection ordonnée d'objects `CSSRule` (en-US).

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

Chaque règle `CSSRule` peut être atteinte via `rules.item(index),` ou simplement `rules[index]`, où `rules` est un objet implementant l'interface `CSSRuleList`, et `index` est l'index de la règle (commence à zéro comme les tableaux), dans l'ordre dans lequel elle apparait dans la feuille de style CSS. Le nombre d'objets est `rules.length`.

Exemple
-------


```js
// récuperer la première règle de la première feuille de style
var firstRule = document.styleSheets[0].cssRules[0];
```

### Implémentations de CSSRuleList

Il existe plusieurs propriétés dans le CSSOM qui retourne une `CSSRuleList` :

* `CSSStyleSheet` (en-US) property `cssRules` (en-US)
* `CSSMediaRule` property `cssRules`
* `CSSKeyframesRule` (en-US) property `cssRules` (en-US)
* `CSSMozDocumentRule` property `cssRules`
Spécifications
--------------

| Specification |
| --- |
| CSS Object Model (CSSOM) # the-cssrulelist-interface |

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

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

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

* `CSSRule` (en-US)
HTMLCollection
==============

L'interface **HTMLCollection** est constituée d'une collection générique (à la manière d'un tableau similaire à arguments) d'éléments (dans l'ordre du document) et offre des méthodes et des propriétés pour sélectionner ces éléments dans la liste.

**Note:** Cette interface est appelée `HTMLCollection` pour des raisons historiques (avant DOM4, les collections implémentant cette interface pouvaient uniquement êtres constituées d'élements HTML).

Une HTMLCollection dans le DOM HTML est automatiquement mise à jour quand le document concerné change.

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

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

Retourne le nombre d'éléments de la collection.

Méthodes
--------

`HTMLCollection.item()`

Retourne le nœud spécifique à l'`index` basé sur zéro donné dans la liste. Retourne `null` si l'`index` est hors de portée.

`HTMLCollection.namedItem()` (en-US)

Retourne le nœud spécifique dont l'ID ou, à défaut, le nom correspond à la chaîne de caractères fournie par `name`. La recherche par nom est faite seulement en dernier ressort, uniquement en HTML, et seulement si l'élément référencé supporte l'attribut `name`. Retourne `null` si aucun nœud n'existe pour le nom donné.

Utilisation en JavaScript
-------------------------

`HTMLCollection` expose aussi directement ses membres comme propriétés, par nom et par index. Les ID HTML peuvent contenir : et . comme caractères valides, ce qui nécessite d'utiliser la notation entre crochets pour accèder aux propriétés. Actuellement, HTMLCollections ne reconnait pas purement les ID numériques, ce qui provoquerait des conflits avec l'accès de "array-style" , bien qu'HTML5 le permette.

Par exemple, en supposant qu'il y ait un élément `<form>` *(formulaire)* dans le document et que son `id` soit `"myForm"` :


```js
var elem1, elem2;

// document.forms est une HTMLCollection

elem1 = document.forms[0];
elem2 = document.forms.item(0);

alert(elem1 === elem2); // affiche : "true" (vrai)

elem1 = document.forms.myForm;
elem2 = document.forms.namedItem("myForm");

alert(elem1 === elem2); // affiche : "true"

elem1 = document.forms["named.item.with.periods"];
```

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

Certains navigateurs se comportent différemment quand il y a plus d'un élément correspondant à la chaîne utilisée comme index (ou l'argument `namedItem`). Firefox 8 se comporte comme spécifié dans DOM 2 et DOM4, en retournant le premier élément correspondant. Les navigateurs WebKit et Internet Explorer, dans ce cas, retournent une autre `HTMLCollection` et Opera retourne un `NodeList` de tous les éléments correspondants.

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

| Specification |
| --- |
| DOM Standard # interface-htmlcollection |

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

* `NodeList`
* `HTMLFormControlsCollection`, `HTMLOptionsCollection` (en-US)
HTMLDivElement
==============

L'interface **`HTMLDivElement`** fournit certaines propriétés spécifiques (en plus de celles qui proviennent de l'interface `HTMLElement` via l'héritage) afin de manipuler les éléments `<div>`.

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

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

`HTMLDivElement.align` 
Obsolète

Une chaîne de caractères `DOMString` qui représente une propriété à valeur contrainte indiquant l'alignement du contenu de l'élément par rapport à son contexte. Les valeurs possibles pour cette propriété sont `"left"`, `"right"`, `"justify"` et `"center"`.

Méthodes
--------

*Aucune méthode spécifique. Toutes les méthodes sont héritées depuis le parent `HTMLElement`.*

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

| Specification |
| --- |
| HTML Standard # htmldivelement |

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 : `<div>`.
WebGLShader
===========

Le **WebGLShader** fait partie de l'API WebGL et peut être un shader de sommet ou de fragment. Un `WebGLProgram` requiert les deux types de shaders.

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

Pour créer un **WebGLShader,** utiliser `WebGLRenderingContext.createShader`, puis reliez-y le code source GLSL en utilisant `WebGLRenderingContext.shaderSource()`, et enfin, appelez `WebGLRenderingContext.compileShader()` pour terminer et compiler le shader. À ce stade, le WebGLShader n'est toujours pas sous une forme utilisable et doit toujours être relié à un `WebGLProgram`.


```js
function creerShader(gl, codeSource, type) {
  // Compile un shader de type soit gl.VERTEX\_SHADER, soit gl.FRAGMENT\_SHADER
  var shader = gl.createShader(type);
  gl.shaderSource(shader, codeSource);
  gl.compileShader(shader);

  if (!gl.getShaderParameter(shader, gl.COMPILE\_STATUS)) {
    var info = gl.getShaderInfoLog(shader);
    throw "Impossible de compiler le programme WebGL.\n\n" + info;
  }
  return shader;
}
```


Voir `WebGLProgram` pour des informations sur la liaison de shaders.

Exemples
--------

### Création d'un shader de sommet

Notez qu'il existe de nombreuses autres stratégies pour écrire des chaînes de code source de shader et y accéder. Ces exemples sont à titre d'illustration seulement.


```js
var sourceShaderDeSommet =
  "attribute vec4 position;\n" +
  "void main() {\n" +
  " gl\_Position = position;\n" +
  "}\n";

// Utilisez la function creerShader de l'exemple ci-dessus
var shaderDeSommet = creerShader(gl, sourceShaderDeSommet, gl.VERTEX\_SHADER);
```

### Création d'un shader de fragment


```js
var sourceShaderDeFragment =
  "void main() {\n" + " gl\_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n" + "}\n";

// Utilisez la fonction creerShader de l'exemple ci-dessus
var shaderDeFragment = creerShader(
  gl,
  sourceShaderDeFragment,
  gl.FRAGMENT\_SHADER,
);
```

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

| Specification |
| --- |
| WebGL Specification # 5.8 |

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

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

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

* `WebGLProgram`
* `WebGLRenderingContext.attachShader()`
* `WebGLRenderingContext.bindAttribLocation()` (en-US)
* `WebGLRenderingContext.compileShader()`
* `WebGLRenderingContext.createProgram()`
* `WebGLRenderingContext.createShader()`
* `WebGLRenderingContext.deleteProgram()` (en-US)
* `WebGLRenderingContext.deleteShader()`
* `WebGLRenderingContext.detachShader()` (en-US)
* `WebGLRenderingContext.getAttachedShaders()` (en-US)
* `WebGLRenderingContext.getProgramParameter()` (en-US)
* `WebGLRenderingContext.getProgramInfoLog()` (en-US)
* `WebGLRenderingContext.getShaderParameter()`
* `WebGLRenderingContext.getShaderPrecisionFormat()` (en-US)
* `WebGLRenderingContext.getShaderInfoLog()` (en-US)
* `WebGLRenderingContext.getShaderSource()` (en-US)
* `WebGLRenderingContext.isProgram()` (en-US)
* `WebGLRenderingContext.isShader()` (en-US)
* `WebGLRenderingContext.linkProgram()` (en-US)
* `WebGLRenderingContext.shaderSource()`
* `WebGLRenderingContext.useProgram()`
* `WebGLRenderingContext.validateProgram()` (en-US)
DOMRectReadOnly
===============

**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.

L'interface **`DOMRectReadOnly`** spécifie les propriétés standard utilisées par `DOMRect` pour définir un rectangle.

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

`DOMRectReadOnly()`

Défini pour créer un nouvel objet `DOMRectReadOnly`, mais notez que ce constructeur ne peut pas être appelé par JavaScript tiers: cela renvoie une erreur de type "Constructeur illégal".

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

`DOMRectReadOnly.x` Lecture seule 

La coordonnée x de l'origine du `DOMRect`.

`DOMRectReadOnly.y` Lecture seule 

La coordonnée y de l'origine du `DOMRect`.

`DOMRectReadOnly.width` Lecture seule 

La largeur du `DOMRect`.

`DOMRectReadOnly.height` Lecture seule 

La hauteur du `DOMRect`.

`DOMRectReadOnly.top` Lecture seule 

Renvoie la valeur de coordonnée supérieur du `DOMRect` (généralement la même que `y`).

`DOMRectReadOnly.right` Lecture seule 

Renvoie la valeur de coordonnée droite du `DOMRect` (généralement identique à `x + largeur`).

`DOMRectReadOnly.bottom` Lecture seule 

Renvoie la valeur de coordonnée inférieur du `DOMRect` (généralement la même que `y + hauteur`).

`DOMRectReadOnly.left` Lecture seule 

Renvoie la valeur de coordonnée gauche du `DOMRect` (généralement la même que `x`).

Méthodes
--------

`DOMRectReadOnly.fromRect()` (en-US)

Crée un nouvel objet `DOMRect` avec un emplacement et des dimensions donnés.

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

| Specification |
| --- |
| Geometry Interfaces Module Level 1 # DOMRect |

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

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

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

* `DOMPoint`
FocusEvent
==========

**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.

L'interface **`FocusEvent`** représente les événements liés au focus tels que `focus` (en-US), `blur` (en-US), `focusin` ou `focusout`.

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

`FocusEvent()` (en-US)

crée un événement **FocusEvent** avec les paramètres donnés\*\*.\*\*

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

*Hértite des propriétés de son parent domxref("UIEvent")}} et indirectement de `Event`*.

`FocusEvent.relatedTarget` (en-US) Lecture seule 

est un `EventTarget` représentant une cible secondaire pour cet événement. Car dans certain cas (comme quand vous tabulez dans ou hors de la page), cette propriété peut être définie comme étant nulle pour des raisons de sécurité.

Méthodes
--------

*Aucune méthode spécifique ; hérite des propriétés de son parent `UIEvent` et indirectement de `Event`.*

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

| Specification |
| --- |
| UI Events # interface-focusevent |

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

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

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

* L'interface de base `Event`