recursal/MDN huggingface dataset:
menclose
========

L'élément MathML `<menclose>` permet d'afficher son contenu groupé au sein d'une même notation, définie par l'attribut `notation`.

Attributs
---------

class, id, style

Afin d'être utilisés avec les feuilles de styles.

href

Un hyperlien pointant vers un URI donné.

mathbackground

La couleur de fond. Il est possible d'utiliser les codes au format `#rgb`, `#rrggbb` et les noms de couleurs HTML.

mathcolor

La couleur du texte. Il est possible d'utiliser les codes au format `#rgb`, `#rrggbb` et les noms de couleurs HTML.

notation

Une liste de notations à appliquer aux éléments fils, séparées par des blancs. Les symboles sont dessinés indépendamment et peuvent donc parfois se superposer. Les valeurs possibles sont :

| Valeur | Affichage | Affichage dans votre navigateur | Description |
| --- | --- | --- | --- |
| `longdiv` (valeur par défaut) | longdiv | 

a
2

+

b
2

 | Symbole de division longue |
| `actuarial` | actuarial | 

a
2

+

b
2

 | Symbole actuaire |
| `radical` | radical | 

a
2

+

b
2

 | Symbole de la racine carrée |
| `box` | box | 

a
2

+

b
2

 | Boîte |
| `roundedbox` | roundedbox | 

a
2

+

b
2

 | Boîte arrondie |
| `circle` | circle | 

a
2

+

b
2

 | Cercle |
| `left` | left | 

a
2

+

b
2

 | Ligne à la gauche du contenu |
| `right` | right | 

a
2

+

b
2

 | Ligne à la droite du contenu |
| `top` | top | 

a
2

+

b
2

 | Ligne au-dessus du contenu |
| `bottom` | bottom | 

a
2

+

b
2

 | Ligne en-dessous du contenu |
| `updiagonalstrike` | updiagonalstrike | 

a
2

+

b
2

 | Ligne de rayure allant du coin bas-gauche au coin haut-droit |
| `downdiagonalstrike` | downdiagonalstrike | 

a
2

+

b
2

 | Ligne de rayure allant du coin haut-gauche au coin bas-droit |
| `verticalstrike` | verticalstrike | 

a
2

+

b
2

 | Ligne de rayure verticale à travers le contenu |
| `horizontalstrike` | horizontalstrike | 

a
2

+

b
2

 | Ligne de rayure horizontale à travers le contenu |
| `madruwb` | madruwb | 

a
2

+

b
2

 | Symbole arabe pour la factorielle |
| `updiagonalarrow` |  | 

a
2

+

b
2

 | flèche diagonale |

Exemples
--------


```html
<math>
  <menclose notation="circle box">
    <mi> x </mi>
    <mo> + </mo>
    <mi> y </mi>
  </menclose>
</math>
```

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

#### No specification found

No specification data found for `mathml.elements.menclose`.  
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.
<munder>
========

L'élément MathML `<munder>` est utilisé pour attacher un accent ou une limite sous une expression. La syntaxe est la suivante: `<munder> base script-en-dessous </munder>`

Attributs
---------

accentunder

 Lorsqu'il a pour valeur `true`, l'élément est un *accent*, qui est affiché plus près de la base.
 Lorsqu'il a pour valeur `false` (valeur par défaut), l'élément est une *limite* sous la base.


align

l'alignement du script en dessous. Les valeurs possibles sont: `left`, `center`, et `right`.

class, id, style

Afin d'être utilisés avec les feuilles de style.

href

Un hyperlien pointant vers un URI donné.

mathbackground

La couleur de fond. Il est possible d'utiliser les codes au format `#rgb`, `#rrggbb` et les noms de couleurs HTML.

mathcolor

La couleur du texte. Il est possible d'utiliser les codes au format `#rgb`, `#rrggbb` et les noms de couleurs HTML.

Exemples
--------

Exemple de rendu: 
 ![x+y+z](/fr/docs/Web/MathML/Element/munder/munder.png)

Rendu dans votre navigateur: 


x 
+ 
y 
+ 
z 

⏟



```html
<math>
  <munder accentunder="true">
    <mrow>
      <mi> x </mi>
      <mo> + </mo>
      <mi> y </mi>
      <mo> + </mo>
      <mi> z </mi>
    </mrow>
    <mo>
      &#x23DF;
      <!--BOTTOM CURLY BRACKET-->
    </mo>
  </munder>
</math>
```

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

| Specification |
| --- |
| MathML Core # underscripts-and-overscripts-munder-mover-munderover |

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

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

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

* `<mover>` (Overscript)
* `<munderover>` (Underscript-overscript pair)
mfrac
=====

L'élément MathML `<mfrac>` est utilisé pour afficher des fractions.

La syntaxe est la suivante : `<mfrac>numérateur dénominateur</mfrac>`.

Attributs
---------

bevelled

Définit la façon dont la fraction est affichée. Si l'attribut vaut `true`, la ligne de fraction est biseautée (/) et le numérateur et le dénominateur sont affichés côte à côté. S'il vaut `false` (la valeur par défaut), le numérateur sera au-dessus du dénominateur.

class, id, style

Afin d'être utilisés avec les feuilles de styles.

denomalign

L'alignement du dénominateur sous la fraction. Les valeurs possibles : `left`, `center` (valeur par défaut), et `right`.

href

Un hyperlien pointant vers un URI donné.

linethickness

L'épaisseur de la ligne de fraction horizontale. La valeur par défaut est `medium`, mais l'attribut peut prendre d'autres valeurs comme `thin`, `thick`, et autres.

mathbackground

La couleur de fond. Il est possible d'utiliser les codes au format `#rgb`, `#rrggbb` et les noms de couleurs HTML.

mathcolor

La couleur du texte. Il est possible d'utiliser les codes au format `#rgb`, `#rrggbb` et les noms de couleurs HTML.

numalign

L'alignement du numérateur au dessus de la barre de fraction. Les valeurs possibles sont : `left`, `center` (la valeur par défaut), et `right`.

Exemple
-------

Exemple d'affichage : 
 ![(a/b)/(c/d)](/fr/docs/Web/MathML/Element/mfrac/mfrac.png)

Affichage dans votre navigateur: 


a 
b 

c 
d




```html
<math>
  <mfrac bevelled="true">
    <mfrac>
      <mi> a </mi>
      <mi> b </mi>
    </mfrac>
    <mfrac>
      <mi> c </mi>
      <mi> d </mi>
    </mfrac>
  </mfrac>
</math>
```

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

| Specification |
| --- |
| MathML Core # fractions-mfrac |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Comment corriger un site avec du contenu mixte bloqué
=====================================================

À partir de Firefox 23, Firefox bloque le contenu mixte actif (en-US) par défaut. Cela suit une pratique adoptée par Internet Explorer (depuis IE 9) et Chrome.

Cette page explique les sujets à connaître à ce sujet pour le développement web.

Votre site peut être cassé avec du contenu mixte
------------------------------------------------

Si les pages de votre site web sont servies avec HTTPS, tout le contenu mixte actif (en-US) servi avec HTTP sur ces pages sera bloqué par défaut. Par conséquent, votre site web pourra apparaître comme cassé pour les personnes le visitant (les *iframes* pouvant ne pas charger par exemple). Le contenu mixte passif (en-US) est affiché par défaut, mais les personnes peuvent paramétrer leur navigateur pour également bloquer ce type de contenu.

On notera que le blocage d'un tel contenu mixte se produit pour Chrome. Aussi, si votre site web fonctionne en HTTPS pour ce navigateur, il fonctionnera également pour Firefox pour les aspects de blocage de contenu mixte.

Pour détecter de tels problèmes, vous pouvez utiliser un outil en ligne comme SSL-check, Missing Padlock, ou un logiciel comme HTTPSChecker, voire un outil en ligne de commande comme mcdetect. S'il n'y a aucune alerte, votre site web devrait être correct de ce point de vue là !

Comment réparer votre site web
------------------------------

La meilleure stratégie pour éviter le blocage du contenu mixte est de servir l'intégralité du contenu avec HTTPS plutôt qu'avec HTTP.

**Pour votre propre domaine,** servez l'ensemble du contenu en HTTPS et corrigez les liens. Il arrive souvent que la version HTTPS du contenu existe déjà et il est alors uniquement nécessaire d'ajouter un « s » aux liens : passer de `http://` à `https://`.

Toutefois, dans certains cas, le chemin vers le média en question peut être incorrect. Des outils en ligne ou hors lignes existent (par exemple linkchecker pour vous aider à résoudre ces liens.

**Pour les autres domaines,** utilisez la version HTTPS du site si elle est disponible. Si la version HTTPS n'est pas disponible, vous pouvez contacter le domaine et leur demander s'ils peuvent rendre le contenu disponible via HTTPS.
theme\_color
============

|  |  |
| --- | --- |
| Type | `String` |
| Obligatoire | Non |
| Exemple | 
```json
"theme\_color": "red"
```
 |

Le champ `theme_color` est une chaîne de caractères qui défini la couleur du thème par défaut de l'application. Cela peut parfois affecter la manière dont l'OS affiche le site (e.g., avec la bare des tâches sous Android, la couleur du thème entoure le site).

Exemples
--------


```json
"theme\_color": "red"
```

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

| Specification |
| --- |
| Web Application Manifest # theme\_color-member |

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

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

**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 **`ExtendableMessageEvent`** de `ServiceWorker API` (en-US) représentes un objet d'évenement qu'un évènement `message` (en-US) lance pour un service worker (quand un canal de message est reçu sur le `ServiceWorkerGlobalScope` (en-US) depuis un autre context) — étends la durée de vie de ces évènements.

Cette interface hérite de l'interface `ExtendableEvent`.

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

`ExtendableMessageEvent.ExtendableMessageEvent()`

Crée une nouvelle instance de l'objet `ExtendableMessageEvent`.

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

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

`ExtendableMessageEvent.data` Lecture seule 

Retourne les données de l'évenements. Il peut être de n'importe quel type.

`ExtendableMessageEvent.origin` Lecture seule 

Retourne l'origine du `ServiceWorkerClient` (en-US) qui envoie le message.

`ExtendableMessageEvent.lastEventId` Lecture seule 

Représente, dans un server-sent events, le dernier ID de l'évenement source.

`ExtendableMessageEvent.source` (en-US) Lecture seule 

Retourne une référence vers le service worker qui envoie le message.

`ExtendableMessageEvent.ports` Lecture seule 

Retourne un tableau contenant l'objet `MessagePort` (en-US) représentant les ports associés au canal de messagerie.

Méthodes
--------

*Hérite des méthodesde son parent, `ExtendableEvent`*.

Exemples
--------

Le code suivant est utilisé dans un service worker pour répondre à un message push en envoyant les données reçues via `PushMessageData` (en-US) au contexte principale via un channel message (en-US), l'objet d'évènement du `onmessage` sera un `ExtendableMessageEvent`.


```js
var port;

self.addEventListener("push", function (e) {
  var obj = e.data.json();

  if (obj.action === "subscribe" || obj.action === "unsubscribe") {
    port.postMessage(obj);
  } else if (obj.action === "init" || obj.action === "chatMsg") {
    port.postMessage(obj);
  }
});

self.onmessage = function (e) {
  console.log(e);
  port = e.ports[0];
};
```

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

| Specification |
| --- |
| Service Workers # extendablemessageevent-interface |

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

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

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

* Utiliser les Service Workers (en-US)
* Exemple simple de service workers
* Les serviceWorker sont-ils prêts?
* Cannal de Messagerie (en-US)
API fichier système
===================

**Non standard:** Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.

L'API fichier système simule un fichier système en local que les applications web peuvent utiliser. Vous pouvez développer des applications qui lisent, écrivent, et créent des fichiers et/ou des dossiers dans un espace virtuel.

Deux API très simulaires existent en fonction du comportement asynchrone ou synchrone souhaité. L'API synchrone est prévu pour être utilisée dans un `Worker` et retournera les valeurs recherchées. The asynchronous API will not block and functions and the API will not return values; instead, you will need to supply a callback function to handle the response whenever it arrives.

API asynchrone
--------------

L'API asynchrone a les interfaces suivantes :

* FileSystem (en-US) représente un fichier système. L'objet est la passerelle à votre API toute entière.
* Entry (en-US) représente une entrée dans un fichier système. L'entrée peut être un fichier ou un dossier.
* DirectoryEntry (en-US) représente un dossier dans un fichier système.
* DirectoryReader (en-US) vous permet la lecture de fichiers et dossiers à partir d'un dossier.
* FileEntry (en-US) représente un fichier dans un fichier système.
Spécifications
--------------

| Specification |
| --- |
| File and Directory Entries API # api-domfilesystem |

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

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

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

* Commentaire Mozilla : Why no FileSystem API in Firefox?
PeriodicWave
============

L'interface **`PeriodicWave`** définit une forme d'onde périodique qui peut être utilisée pour modeler la sortie d'un nœud `OscillatorNode`.

Un objet `PeriodicWave` ne possède ni entrée ni sortie. Il est utilisé pour définir des oscillateurs personnalisés lors d'appels à `OscillatorNode.setPeriodicWave()` (en-US). L'objet `PeriodicWave` lui-même est créé/renvoyé par `BaseAudioContext.createPeriodicWave`.

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

`PeriodicWave()` (en-US)

Crée un nouvel objet `PeriodicWave` qui utilise les valeurs par défaut pour l'ensemble des propriétés. Si vous souhaitez utiliser des valeurs adaptées, il faudra utiliser la méthode de création `BaseAudioContext.createPeriodicWave` à la place.

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

*Aucune, et `PeriodicWave` n'hérite d'aucune autre propriété.*

Méthodes
--------

*Aucune, et `PeriodicWave` n'hérite d'aucune autre méthode.*

Exemple
-------

Voir `BaseAudioContext.createPeriodicWave` pour un exemple de code simple qui illustre comment créer un objet `PeriodicWave` contenant une onde en sinus.

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

| Specification |
| --- |
| Web Audio API # PeriodicWave |

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

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

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

* Utiliser l'API *Web Audio*
PerformanceServerTiming
=======================

**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 **`PerformanceServerTiming`** présente des métriques de serveur qui sont envoyées avec la réponse dans l'en-tête `Server-Timing` (en-US) dans l'en-tête HTTP.

Cette interface est limitée à la même origine, mais vous pouvez utiliser l'en-tête `Timing-Allow-Origin` (en-US) pour spécifier les domaines qui sont autorisés à accéder aux paramètres du serveur. Notez que cette interface n'est disponible que dans des contextes sécurisés (HTTPS) dans certains navigateurs.

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

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

`PerformanceServerTiming.description`Lecture seule 

Une chaîne de caractères `DOMString` décrivant la métrique spécifiée par le serveur, ou une chaîne vide.

`PerformanceServerTiming.duration`Lecture seule 

Un double qui contient la durée de la métrique spécifiée par le serveur, ou la valeur `0.0`.

`PerformanceServerTiming.name`Lecture seule 

Une chaîne de caractères `DOMString` avec le nom de la métrique spécifiée par le serveur.

Méthodes
--------

`PerformanceServerTiming.toJSON()`

Retourne une chaîne de caractères `DOMString` qui est la représentation JSON de l'objet `PerformanceServerTiming`.

Exemple
-------

Étant donné un serveur qui envoie l'en-tête `Server-Timing` (en-US), par exemple un serveur node.js comme celui-ci :


```js
const http = require("http");

function requestHandler(request, response) {
  const headers = {
    "Server-Timing": `
 cache;desc="Cache Read";dur=23.2,
 db;dur=53,
 app;dur=47.2
 `.replace(/\n/g, ""),
  };
  response.writeHead(200, headers);
  response.write("");
  return setTimeout((\_) => {
    response.end();
  }, 1000);
}

http.createServer(requestHandler).listen(3000).on("error", console.error);
```


Les entrées `PerformanceServerTiming` sont désormais observables depuis JavaScript via la propriété `PerformanceResourceTiming.serverTiming` :


```js
let entries = performance.getEntriesByType("resource");
console.log(entries[0].serverTiming);
// 0: PerformanceServerTiming {name: "cache", duration: 23.2, description: "Cache Read"}
// 1: PerformanceServerTiming {name: "db", duration: 53, description: ""}
// 2: PerformanceServerTiming {name: "app", duration: 47.2, description: ""}
```

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

| Specification |
| --- |
| Server Timing # the-performanceservertiming-interface |

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

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

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

* `Server-Timing` (en-US)
* `PerformanceResourceTiming.serverTiming`
API Battery Status
==================

L'**API *Battery Status***, souvent mentionnée sous le nom ***Battery API*** (l'API *Battery*), fournit des informations sur le niveau de charge du système et permet d'envoyer des événements pour prévenir d'un changement du niveau de charge de la batterie. Cela peut être utilisé pour ajuster la consommation d'une application et la réduire pour réduire l'utilisation de la batterie lorsque son niveau de charge est bas ou encore de sauvegarder les données quand la batterie est bientôt vide.

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

Interfaces
----------

`BatteryManager`

Fournit des informations sur le niveau de charge du système.

`navigator.getBattery()` Lecture seule 

Renvoie un objet `Promise` dont la valeur de résolution est un objet `BatteryManager`.

Exemple
-------

Dans cet exemple, on cherche à surveiller les changements, à la fois du statut de la charge (est-ce que l'équipement est branché et se recharge ou est ce que l'équipement est alimenté par sa batterie) et des changements du niveau de charge dans le temps. Cela se fait en surveillant les événements `chargingchange` (en-US), `levelchange` (en-US), `chargingtimechange` (en-US) et `dischargingtimechange` (en-US).


```js
navigator.getBattery().then((battery) => {
  function updateAllBatteryInfo() {
    updateChargeInfo();
    updateLevelInfo();
    updateChargingInfo();
    updateDischargingInfo();
  }
  updateAllBatteryInfo();

  battery.addEventListener("chargingchange", () => {
    updateChargeInfo();
  });
  function updateChargeInfo() {
    console.log("Battery en charge ? " + (battery.charging ? "Oui" : "Non"));
  }

  battery.addEventListener("levelchange", () => {
    updateLevelInfo();
  });
  function updateLevelInfo() {
    console.log("Niveau de batterie : " + battery.level \* 100 + "%");
  }

  battery.addEventListener("chargingtimechange", () => {
    updateChargingInfo();
  });
  function updateChargingInfo() {
    console.log(
      "Temps avant charge de la batterie : " +
        battery.chargingTime +
        " secondes",
    );
  }

  battery.addEventListener("dischargingtimechange", () => {
    updateDischargingInfo();
  });
  function updateDischargingInfo() {
    console.log(
      "Autonomie sur batterie : " + battery.dischargingTime + " secondes",
    );
  }
});
```


Voir aussi l'exemple de la spécification.

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

| Specification |
| --- |
| Battery Status API  |

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

### api.BatteryManager

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

### api.Navigator.getBattery

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

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

* Billet de blog sur Hacks — Utiliser l'API *Battery* (en anglais)
BlobEvent
=========

L'interface `BlobEvent` représente les événements associés à un `Blob`. Ces blobs sont généralement, mais pas nécessairement, associés au contenu multimédia.

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

`BlobEvent()`

Crée un événement `BlobEvent` avec les paramètres donnés.

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

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

`BlobEvent.data` Lecture seule 

Un objet `Blob` qui représente les données associées à l'évènement. L'évènement a été déclenché sur le `EventTarget` en raison de quelque chose survenu spécifiquement sur ce `Blob`.

`BlobEvent.timecode` (en-US) Lecture seule 

`DOMHighResTimeStamp` indique la différence entre l'horodatage du premier bloc de données et l'horadatage du premier bloc `BlobEvent` produit par cet enregistreur. On notera que le *timecode* du premier `BlobEvent` produit , n'a pas besoin d'être nul.

Méthodes
--------

*Pas de méthode spécifique ; hérite des méthodes de son parent `Event`.*

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

| Specification |
| --- |
| MediaStream Recording # blobevent-section |

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` .
* L'API *MediaStream Recording* (en-US) : envoie des objets `BlobEvent` chaque fois qu'un fragment de media est prêt.
* Utiliser l'API MediaStream Recording (en-US)
FeaturePolicy
=============

L'interface `FeaturePolicy` de l'API Feature Policy représente l'ensemble des règles appliquées au contexte d'exécution courant.

Méthodes de FeaturePolicy
-------------------------

`FeaturePolicy.allowsFeature`

Retourne un Boolean indiquant si une fonctionnalité particulière est activée ou non dans le contexte spécifié.

`FeaturePolicy.features`

Retourne une liste des noms de toutes les fonctionnalités supportées par l'agent utilisateur. Une fonctionnalité dont le nom est dans la liste pourrait ne pas être autorisée par le Feature Policy du contexte courant d'exécution ou n'être pas accessible à cause des permissions de l'utilisateur.

`FeaturePolicy.allowedFeatures`

Retourne une liste des noms des fonctionnalités supportées par l'agent utilisateur et autorisées par le Feature Policy. Notee que les fonctionnaltiés dont le nom est dans la liste pourraient toujours être bloquées par l'absence de permission de l'utilisateur.


`FeaturePolicy.getAllowlistForFeature`

Retourne la liste de permissions pour la fonctionnalité spécifiée.

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

#### No specification found

No specification data found for `api.FeaturePolicy`.  
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
----------

* `Feature-Policy`
* Anonymat et vie privée, permissions et informations sur la sécurité (en-US)