recursal/MDN huggingface dataset:
console : méthode statique timeLog()
====================================

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

La méthode **`console.timeLog()`** affiche la valeur courante du chronomètre précédemment démarré par un appel à `console.time()`.

Syntaxe
-------


```js
timeLog()
timeLog(libelle)
timeLog(libelle, val1)
timeLog(libelle, val1, /\* …, \*/ valN)
```

### Paramètres

`libelle` Facultatif

Le nom du chronomètre dont on souhaite afficher la mesure dans la console. Si cet argument est absent, c'est le libellé `"default"` qui est utilisé.

`valN` Facultatif

Des valeurs additionnelles à afficher dans la console après la mesure temporelle.

### Valeur de retour

Aucune (`undefined`).

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

La méthode `console.timeLog()` affiche la durée mesurée jusqu'à présent pour un chronomètre.

On peut passer un nom comme argument à cette méthode, ce sera alors la durée du chronomètre (précédemment créé avec un appel à `console.time()`) avec ce nom qui sera affichée :


```js
console.time("réticulateur de spleens");
reticulerLesSpleens();
console.timeLog("réticulateur de spleens");
// réticulateur de spleens : 650ms
```


Si le nom n'est pas fourni, ce sera la durée du chronomètre par défaut qui sera affiché :


```js
console.time();
reticulerLesSpleens();
console.timeLog();
// default : 780ms
```



```js
console.time("default");
reticulerLesSpleens();
console.timeLog();
// default : 780ms
```


S'il n'y a pas de chronomètre associé existant, `timeLog()` affichera un avertissement :
```

Le minuteur « nom du chronomètre » n'existe pas.
```


On peut aussi fournir des valeurs supplémentaires, à afficher après la durée :


```js
console.time();
reticulerLesSpleens();
console.timeLog("default", "Coucou", "monde");
// default : 780ms Coucou monde
```


Voir la section sur les chronomètres de la documentation de `console` pour plus de détails et d'exemples.

Exemples
--------


```js
console.time("ma mesure de temps");
alert("Cliquez pour continuer");
console.timeLog("ma mesure de temps");
alert("Faire d'autres trucs…");
console.timeEnd("ma mesure de temps");
```


Avec le fragment de code ci-avant, on affichera le temps écoulé après que la personne a fermé la première fenêtre modale, puis le temps total pris pour fermer les deux fenêtres :
```

ma mesure de temps : 1287 ms
ma mesure de temps : 2808 ms - chronomètre arrêté
```


On notera que le nom du chronomètre est affiché avec la durée lors de l'appel à `timeLog()`, puis lors de l'arrêt. Quand on appelle `timeEnd()`, on a en plus le message « chronomètre arrêté » qui précise que le chronomètre est terminé.

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

| Specification |
| --- |
| Console Standard # timelog |

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

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

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

* `console.time()`
* `console.timeEnd()`
console : méthode statique time()
=================================

La méthode **`console.time()`** démarre un chronomètre qui permet de mesurer la durée d'une opération. Chaque chronomètre peut être identifié avec un nom donné et on peut avoir jusqu'à 10 000 chronomètres simultanés sur une même page. Lorsqu'on appelle `console.timeEnd()` avec le même nom, la durée associée depuis le démarrage du chronomètre correspondant s'affichera dans la console (exprimée en millisecondes).

Voir la section sur les chronomètres de la documentation de `console` pour plus de détails et d'exemples.

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

Syntaxe
-------


```js
time()
time(libelle)
```

### Paramètres

`libelle` Facultatif

Une chaîne de caractères qui représente le nom à donner au chronomètre. Ce nom servira d'identifiant, qu'il faudra passer à `console.timeEnd()` pour arrêter le chronomètre correspondant. Si cet argument est omis, le libellé `"default"` sera utilisé.

### Valeur de retour

Aucune (`undefined`).

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

| Specification |
| --- |
| Console Standard # time |

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

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

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

* `console.timeEnd()`
* `console.timeLog()`
console : méthode statique log()
================================

La méthode **`console.log()`** permet d'afficher un message dans la console. Le message peut être une chaîne de caractères (avec d'éventuelles valeurs de substitution) ou un ou plusieurs objets JavaScript.

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

Syntaxe
-------


```js
log(obj1)
log(obj1, /\* …, \*/ objN)
log(msg)
log(msg, subst1, /\* …, \*/ substN)
```

### Paramètres

`obj1` … `objN`

Une liste d'objets JavaScript à afficher. Les objets sont affichés dans l'ordre des arguments. Attention, pour certains navigateurs, ce qui est affiché dans la console est *une référence à l'objet* et pas nécessairement la valeur de l'objet au moment où `console.log()` est appelé (mais la valeur de l'objet au moment où la console est ouverte).

`msg`

Une chaîne de caractères JavaScript qui contient zéro ou plusieurs chaînes de substitution qui seront remplacées par `subst1` … `substN` dans l'ordre.

`subst1` … `substN`

Des objets JavaScript avec lesquels remplacer les chaînes de substitution dans `msg`. Ce paramètre permet un contrôle supplémentaire sur le format de ce qui est affiché. Voir la page sur les chaînes de caractères de substitution avec `console` pour plus de détails.

Voir Afficher du texte dans la console pour plus de détails.

### Valeur de retour

Aucune (`undefined`).

Journaliser des objets
----------------------

Les informations relatives aux objets sont récupérées lorsque c'est nécessaire. Cela signifie que le message dans la console affiche le contenu de l'objet au moment où on l'observe depuis la console, et pas le contenu de l'objet au moment où la méthode a été appelée. Par exemple, avec :


```js
const obj = {};
console.log(obj);
obj.prop = 123;
```


On verra `{}` affiché comme résultat. Mais si on déplie le détail de l'objet, on verra alors `prop: 123`.

Si vous modifiez l'objet et que vous ne voulez pas que les informations journalisées dans la console soient mises à jour, il faudra réaliser un clone profond de l'objet avant de le journaliser. Une méthode courante pour ce faire consiste à utiliser `JSON.stringify()` puis `JSON.parse()` :


```js
console.log(JSON.parse(JSON.stringify(obj)));
```


D'autres méthodes, comme `structuredClone()` (en-US), peuvent fonctionner dans les navigateurs et seront plus efficaces pour cloner différents types d'objet.

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

| Specification |
| --- |
| Console Standard # log |

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

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

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

* Documentation Edge
* Documentation Node.JS sur l'API Console
* Documentation Chrome
DedicatedWorkerGlobalScope.close()
==================================

La méthode **`close()`** de l'interface `DedicatedWorkerGlobalScope` ferme toutes les tâches placées dans la boucle de l'évènement `DedicatedWorkerGlobalScope`, fermant effectivement cette portée particulière.

Syntaxe
-------


```js
self.close();
```

Exemple
-------

Si vous souhaitez fermer votre instance de travail depuis l'intérieur du worker, vous pouvez appeler ce qui suit :


```js
close();
```


`close()` et `self.close()` sont effectivement équivalents — les deux représentent une instruction `close()` qui est appelée de l'intérieur de la portée interne du worker.

**Note :** Il y a une autre façon d'arrêter le worker depuis le fil principal : la méthode `Worker.terminate`.

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

| Specification |
| --- |
| HTML Standard # dom-dedicatedworkerglobalscope-close-dev |

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

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

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

`DedicatedWorkerGlobalScope`
DedicatedWorkerGlobalScope.name
===============================

La propriété en lecture seule **`name`** de l'interface `DedicatedWorkerGlobalScope` renvoie le nom qui a été (facultativement) donné au `Worker` lors de sa création. C'est le nom que le constructeur `Worker()` peut transmettre pour obtenir une référence à `DedicatedWorkerGlobalScope`.

Syntaxe
-------


```js
var nameObj = self.name;
```

### Valeur

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

Exemple
-------

Un worker est créé en utilisant un constructeur avec une option de `name` :


```js
var myWorker = new Worker("worker.js", { name: "myWorker" });
```


le `DedicatedWorkerGlobalScope` aura désormais le nom de "myWorker", qui peut être renvoyé pendant l'exécution


```js
self.name;
```


à l'intérieur du worker.

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

| Specification |
| --- |
| HTML Standard # dom-dedicatedworkerglobalscope-name-dev |

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

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

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

* `DedicatedWorkerGlobalScope`
blocked
=======

Le handler **blocked** est exécuté lorsque l'ouverture d'une connexion à une base de données bloque une transaction *versionchange* sur celle-ci.

Informations générales
----------------------

Spécification

IndexedDB

Interface

IDBVersionChangeEvent

Propagation

Non

Annulable

Non

Cible

IDBRequest

Action par défaut

Aucune

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

| Property | Type | Description |
| --- | --- | --- |
| `target` Lecture seule  | `EventTarget` | The request concerned by this event. |
| `type` Lecture seule  | `DOMString` | The type of event. |
| `bubbles` Lecture seule  | `Boolean` | Whether the event normally bubbles or not. |
| `cancelable` Lecture seule  | `Boolean` | Whether the event is cancellable or not. |
| `newVersion` Lecture seule  | unsigned long (int) | The new version of the database. |
| `oldVersion` Lecture seule  | unsigned long (int) | The old version of the database. |

Exemple
-------


```js
var req1 = indexedDB.open("addressbook", 3);

req1.onsuccess = function (event) {
  var addressbookDB = event.target.result;

  // Essayons d'ouvrir la même base de données avec une version de révision plus élevée
  var req2 = indexedDB.open("addressbook", 4);

  // Dans ce cas, le handler onblocked sera exécuté
  req2.onblocked = function (e) {
    console.log(e);
  };
};
```

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

* Utilisation d'IndexedDB
URLSearchParams.entries()
=========================

**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 méthode **`URLSearchParams.entries()`** retourne un itérateur( `iterator`) permettant de parcourir les paires de clé/valeur contenues dans cet objet. La clé et la valeur de chaque paire est un objet `USVString` .

**Note :** This method is available in Web Workers.

Syntaxe
-------


```js
searchParams.entries();
```

### Return value

Returns an `iterator`.

Example
-------


```js
// Create a test URLSearchParams object
var searchParams = new URLSearchParams("key1=value1&key2=value2");

// Display the key/value pairs
for (var pair of searchParams.entries()) {
  console.log(pair[0] + ", " + pair[1]);
}
```


The result is:
```

key1, value1
key2, value2
```

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

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

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

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

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

* Other URL-related interfaces: `URL`, `URLUtils`.
PerformanceResourceTiming.redirectStart
=======================================

La propriété en lecture seule **`redirectStart`** retourne un `timestamp` représentant l'instant du début de la récupération qui initie la redirection.

S'il y a des redirections HTTP lors de l'extraction de la ressource et si l'une des redirections ne provient pas de la même origine que le document actuel, mais que l'algorithme de vérification de l'autorisation de synchronisation réussit pour chaque ressource redirigée, cette propriété renvoie l'heure de début de l'extraction qui initie la redirection ; sinon, zéro est renvoyé.

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

Syntaxe
-------


```js
resource.redirectStart;
```

### Valeur de retour

Un `timestamp` représentant l'heure de début de l'extraction qui déclenche la redirection.

Exemple
-------

Dans l'exemple suivant, la valeur des propriétés `*Start` et `*End` de tous les événements de type `"resource"` sont enregistrés.


```js
function print\_PerformanceEntries() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements "resource"
  let p = performance.getEntriesByType("resource");
  for (let i = 0; i < p.length; i++) {
    print\_start\_and\_end\_properties(p[i]);
  }
}
function print\_start\_and\_end\_properties(perfEntry) {
  // Imprime les horodatages des propriétés \*start et \*end
  properties = [
    "connectStart",
    "connectEnd",
    "domainLookupStart",
    "domainLookupEnd",
    "fetchStart",
    "redirectStart",
    "redirectEnd",
    "requestStart",
    "responseStart",
    "responseEnd",
    "secureConnectionStart",
  ];

  for (let i = 0; i < properties.length; i++) {
    // vérifie chaque propriété
    let supported = properties[i] in perfEntry;
    if (supported) {
      let value = perfEntry[properties[i]];
      console.log("... " + properties[i] + " = " + value);
    } else {
      console.log("... " + properties[i] + " = N'EST PAS pris en charge");
    }
  }
}
```

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

| Specification |
| --- |
| Resource Timing # dom-performanceresourcetiming-redirectstart |

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

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

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

La propriété en lecture seule **`serverTiming`** retourne un tableau d'entrées `PerformanceServerTiming` contenant des mesures de synchronisation du serveur.

Syntaxe
-------


```js
resource.serverTiming;
```

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

| Specification |
| --- |
| Server Timing # servertiming-attribute |

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

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

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

* `PerformanceServerTiming`
* `Server-Timing` (en-US)
PerformanceResourceTiming.connectStart
======================================

La propriété en lecture seule **`connectStart`** retourne le `timestamp` de l'instant avant que l'agent utilisateur ne commence à établir la connexion au serveur pour récupérer la ressource.

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

Syntaxe
-------


```js
resource.connectStart;
```

### Valeur de retour

Un `DOMHighResTimeStamp` immédiatement avant que le navigateur ne commence à établir la connexion avec le serveur pour récupérer la ressource.

Exemple
-------

Dans l'exemple suivant, la valeur des propriétés `*Start` et `*End` de tous les événements de type `"resource"` sont consignés.


```js
function print\_PerformanceEntries() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements "resource"
  let p = performance.getEntriesByType("resource");
  for (let i = 0; i < p.length; i++) {
    print\_start\_and\_end\_properties(p[i]);
  }
}
function print\_start\_and\_end\_properties(perfEntry) {
  // Imprime les horodatages des propriétés \*start et \*end
  properties = [
    "connectStart",
    "connectEnd",
    "domainLookupStart",
    "domainLookupEnd",
    "fetchStart",
    "redirectStart",
    "redirectEnd",
    "requestStart",
    "responseStart",
    "responseEnd",
    "secureConnectionStart",
  ];

  for (let i = 0; i < properties.length; i++) {
    // vérifie chaque propriété
    let supported = properties[i] in perfEntry;
    if (supported) {
      let value = perfEntry[properties[i]];
      console.log("... " + properties[i] + " = " + value);
    } else {
      console.log("... " + properties[i] + " = N'EST PAS pris en charge");
    }
  }
}
```

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

| Specification |
| --- |
| Resource Timing # dom-performanceresourcetiming-connectstart |

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

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

La propriété en lecture seule **`requestStart`** renvoie un `timestamp` du moment immédiatement avant que le navigateur ne commence à demander la ressource au serveur, au cache ou à la ressource locale. Si la connexion de transport échoue et que le navigateur retire la demande, la valeur renvoyée sera le début de la nouvelle demande.

Il n'y a pas de propriété de fin (« *requestEnd* ») correspondante pour `requestStart`.

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

Syntaxe
-------


```js
resource.requestStart;
```

### Valeur de retour

Un `DOMHighResTimeStamp` représentant le moment immédiatement avant que le navigateur ne commence à demander la ressource au serveur.

Example
-------

Dans l'exemple suivant, la valeur des propriétés `*Start` et `*End` de tous les événements de type `"resource"` sont enregistrés.


```js
function print\_PerformanceEntries() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements "resource"
  let p = performance.getEntriesByType("resource");
  for (let i = 0; i < p.length; i++) {
    print\_start\_and\_end\_properties(p[i]);
  }
}
function print\_start\_and\_end\_properties(perfEntry) {
  // Imprime les horodatages des propriétés \*start et \*end
  properties = [
    "connectStart",
    "connectEnd",
    "domainLookupStart",
    "domainLookupEnd",
    "fetchStart",
    "redirectStart",
    "redirectEnd",
    "requestStart",
    "responseStart",
    "responseEnd",
    "secureConnectionStart",
  ];

  for (let i = 0; i < properties.length; i++) {
    // vérifie chaque propriété
    let supported = properties[i] in perfEntry;
    if (supported) {
      let value = perfEntry[properties[i]];
      console.log("... " + properties[i] + " = " + value);
    } else {
      console.log("... " + properties[i] + " = N'EST PAS pris en charge");
    }
  }
}
```

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

| Specification |
| --- |
| Resource Timing # dom-performanceresourcetiming-requeststart |

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

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

La propriété en lecture seule **`nextHopProtocol`** est une chaîne de caractères représentant le *protocole réseau* utilisé pour récupérer la ressource, tel qu'identifié par le ALPN Protocol ID (RFC7301).

Lorsqu'un proxy est utilisé, si une connexion tunnel est établie, cette propriété renvoie l'ID du protocole ALPN du protocole tunnelisé. Sinon, cette propriété renvoie l'ID du protocole ALPN du premier saut vers le proxy.

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

Syntaxe
-------


```js
resource.nextHopProtocol;
```

### Valeur de retour

Une chaîne de caractères `string` représentant le *protocole réseau* utilisé pour récupérer la ressource, tel qu'identifié par le ALPN Protocol ID (RFC7301).

Exemple
-------

L'exemple suivant utilise la propriété `nextHopProtocol` :


```js
function print\_PerformanceEntries() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements "resource"
  let p = performance.getEntriesByType("resource");
  for (let i = 0; i < p.length; i++) {
    print\_nextHopProtocol(p[i]);
  }
}
function print\_nextHopProtocol(perfEntry) {
  let value = "nextHopProtocol" in perfEntry;
  if (value) console.log("nextHopProtocol = " + perfEntry.nextHopProtocol);
  else console.log("nextHopProtocol = N'EST PAS pris en charge");
}
```

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

| Specification |
| --- |
| Resource Timing # dom-performanceresourcetiming-nexthopprotocol |

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

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

La propriété en lecture seule **`transferSize`** représente la taille (en octets) de la ressource extraite. La taille comprend les champs d'en-tête de la réponse plus la charge utile du corps de la réponse (comme défini par la RFC 7230).

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

Si la ressource est extraite d'un cache local ou s'il s'agit d'une ressource d'origine croisée, cette propriété renvoie zéro.

Syntaxe
-------


```js
resource.transferSize;
```

### Valeur de retour

Un `number` représentant la taille (en octets) de la ressource extraite. La taille comprend les champs d'en-tête de la réponse plus la taille de la charge utile du corps de la réponse (RFC7230).

Exemple
-------

Dans l'exemple suivant, les valeurs des propriétés de taille de tous les types `"resource"` sont enregistrées.


```js
function log\_sizes(perfEntry) {
  // Vérifie la prise en charge des propriétés PerformanceEntry.\*size et imprime leurs valeurs
  // si elles sont prises en charge
  if ("decodedBodySize" in perfEntry)
    console.log("decodedBodySize = " + perfEntry.decodedBodySize);
  else console.log("decodedBodySize = N'EST PAS pris en charge");

  if ("encodedBodySize" in perfEntry)
    console.log("encodedBodySize = " + perfEntry.encodedBodySize);
  else console.log("encodedBodySize = N'EST PAS pris en charge");

  if ("transferSize" in perfEntry)
    console.log("transferSize = " + perfEntry.transferSize);
  else console.log("transferSize = N'EST PAS pris en charge");
}
function check\_PerformanceEntries() {
  // Utilise getEntriesByType() pour obtenir uniquement les événements "resource"
  let p = performance.getEntriesByType("resource");
  for (let i = 0; i < p.length; i++) {
    log\_sizes(p[i]);
  }
}
```

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

| Specification |
| --- |
| Resource Timing # dom-performanceresourcetiming-transfersize |

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

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