aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/api/performanceeventtiming/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/api/performanceeventtiming/index.md')
-rw-r--r--files/fr/web/api/performanceeventtiming/index.md185
1 files changed, 84 insertions, 101 deletions
diff --git a/files/fr/web/api/performanceeventtiming/index.md b/files/fr/web/api/performanceeventtiming/index.md
index 117fefc656..528d72302b 100644
--- a/files/fr/web/api/performanceeventtiming/index.md
+++ b/files/fr/web/api/performanceeventtiming/index.md
@@ -11,75 +11,70 @@ tags:
- Performance Web
translation_of: Web/API/PerformanceEventTiming
---
-<div>{{APIRef("Event Timing API")}}</div>
-
-<p>L'interface <code>PerformanceEventTiming</code> des événements de l'<code>Event Timing API</code> fournit des informations de chronométrage pour les types d'événements énumérés ci-dessous.</p>
-
-<ul>
- <li><a href="/fr/docs/Web/API/Element/auxclick_event"><code>auxclick</code></a></li>
- <li><a href="/fr/docs/Web/API/HTMLElement/beforeinput_event"><code>beforeinput</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/click_event"><code>click</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/compositionend_event"><code>compositionend</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/compositionstart_event"><code>compositionstart</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/compositionupdate_event"><code>compositionupdate</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/contextmenu_event"><code>contextmenu</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/dblclick_event"><code>dblclick</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/dragend_event"><code>dragend</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/dragenter_event"><code>dragenter</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/dragleave_event"><code>dragleave</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/dragover_event"><code>dragover</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/dragstart_event"><code>dragstart</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/drop_event"><code>drop</code></a></li>
- <li><a href="/fr/docs/Web/API/HTMLElement/input_event"><code>input</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/keydown_event"><code>keydown</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/keypress_event"><code>keypress</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/keyup_event"><code>keyup</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/mousedown_event"><code>mousedown</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/mouseenter_event"><code>mouseenter</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/mouseleave_event"><code>mouseleave</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/mouseout_event"><code>mouseout</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/mouseover_event"><code>mouseover</code></a></li>
- <li><a href="/fr/docs/Web/API/Element/mouseup_event"><code>mouseup</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/pointerover_event"><code>pointerover</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/pointerenter_event"><code>pointerenter</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/pointerdown_event"><code>pointerdown</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/pointerup_event"><code>pointerup</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/pointercancel_event"><code>pointercancel</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/pointerout_event"><code>pointerout</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/pointerleave_event"><code>pointerleave</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/gotpointercapture_event"><code>gotpointercapture</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/lostpointercapture_event"><code>lostpointercapture</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/touchstart_event"><code>touchstart</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/touchend_event"><code>touchend</code></a></li>
- <li><a href="/fr/docs/Web/API/Document/touchcancel_event"><code>touchcancel</code></a></li>
-</ul>
-
-<h2 id="Properties">Propriétés</h2>
-
-<dl>
- <dt><a href="/fr/docs/Web/API/PerformanceEventTiming/processingStart"><code>PerformanceEventTiming.processingStart</code></a> <em>lecture seule</em> {{ExperimentalBadge}}</dt>
- <dd>Retourne un <a href="/fr/docs/Web/API/DOMHighResTimeStamp"><code>DOMHighResTimeStamp</code></a> représentant l'heure à laquelle la diffusion des événements a commencé.</dd>
- <dt><a href="/fr/docs/Web/API/PerformanceEventTiming/processingEnd"><code>PerformanceEventTiming.processingEnd</code></a> <em>lecture seule</em> {{ExperimentalBadge}}</dt>
- <dd>Retourne un <a href="/fr/docs/Web/API/DOMHighResTimeStamp"><code>DOMHighResTimeStamp</code></a> représentant l'heure à laquelle la diffusion de l'événement s'est terminée.</dd>
- <dt><a href="/fr/docs/Web/API/PerformanceEventTiming/cancelable"><code>PerformanceEventTiming.cancelable</code></a> <em>lecture seule</em> {{ExperimentalBadge}}</dt>
- <dd>Retourne un <a href="/fr/docs/Web/API/Boolean"><code>Boolean</code></a> représentant l'attribut annulable de l'événement associé.</dd>
- <dt><a href="/fr/docs/Web/API/PerformanceEventTiming/target"><code>PerformanceEventTiming.target</code></a> <em>lecture seule</em> {{NonStandardBadge}}</dt>
- <dd>Retourne un <a href="/fr/docs/Web/API/Node"><code>Node</code></a> représentant la dernière cible de l'événement associé, si elle n'est pas supprimée.</dd>
-</dl>
-
-<h2 id="Methods">Méthodes</h2>
-
-<dl>
- <dt><a href="/fr/docs/Web/API/PerformanceEventTiming/toJSON()"><code>PerformanceEventTiming.toJSON()</code></a> {{ExperimentalBadge}}</dt>
- <dd>Convertit l'objet <a href="/fr/docs/Web/API/PerformanceEventTiming"><code>PerformanceEventTiming</code></a> en JSON.</dd>
-</dl>
-
-<h2 id="Examples">Exemples</h2>
-
-<p>L'exemple suivant montre comment utiliser l'API pour tous les événements :</p>
-
-<pre class="brush:js">const observer = new PerformanceObserver(function(list) {
- const perfEntries = list.getEntries().forEach(entry =&gt; {
+{{APIRef("Event Timing API")}}
+
+L'interface `PerformanceEventTiming` des événements de l'`Event Timing API` fournit des informations de chronométrage pour les types d'événements énumérés ci-dessous.
+
+- [`auxclick`](/fr/docs/Web/API/Element/auxclick_event)
+- [`beforeinput`](/fr/docs/Web/API/HTMLElement/beforeinput_event)
+- [`click`](/fr/docs/Web/API/Element/click_event)
+- [`compositionend`](/fr/docs/Web/API/Element/compositionend_event)
+- [`compositionstart`](/fr/docs/Web/API/Element/compositionstart_event)
+- [`compositionupdate`](/fr/docs/Web/API/Element/compositionupdate_event)
+- [`contextmenu`](/fr/docs/Web/API/Element/contextmenu_event)
+- [`dblclick`](/fr/docs/Web/API/Element/dblclick_event)
+- [`dragend`](/fr/docs/Web/API/Document/dragend_event)
+- [`dragenter`](/fr/docs/Web/API/Document/dragenter_event)
+- [`dragleave`](/fr/docs/Web/API/Document/dragleave_event)
+- [`dragover`](/fr/docs/Web/API/Document/dragover_event)
+- [`dragstart`](/fr/docs/Web/API/Document/dragstart_event)
+- [`drop`](/fr/docs/Web/API/Document/drop_event)
+- [`input`](/fr/docs/Web/API/HTMLElement/input_event)
+- [`keydown`](/fr/docs/Web/API/Document/keydown_event)
+- [`keypress`](/fr/docs/Web/API/Document/keypress_event)
+- [`keyup`](/fr/docs/Web/API/Document/keyup_event)
+- [`mousedown`](/fr/docs/Web/API/Element/mousedown_event)
+- [`mouseenter`](/fr/docs/Web/API/Element/mouseenter_event)
+- [`mouseleave`](/fr/docs/Web/API/Element/mouseleave_event)
+- [`mouseout`](/fr/docs/Web/API/Element/mouseout_event)
+- [`mouseover`](/fr/docs/Web/API/Element/mouseover_event)
+- [`mouseup`](/fr/docs/Web/API/Element/mouseup_event)
+- [`pointerover`](/fr/docs/Web/API/Document/pointerover_event)
+- [`pointerenter`](/fr/docs/Web/API/Document/pointerenter_event)
+- [`pointerdown`](/fr/docs/Web/API/Document/pointerdown_event)
+- [`pointerup`](/fr/docs/Web/API/Document/pointerup_event)
+- [`pointercancel`](/fr/docs/Web/API/Document/pointercancel_event)
+- [`pointerout`](/fr/docs/Web/API/Document/pointerout_event)
+- [`pointerleave`](/fr/docs/Web/API/Document/pointerleave_event)
+- [`gotpointercapture`](/fr/docs/Web/API/Document/gotpointercapture_event)
+- [`lostpointercapture`](/fr/docs/Web/API/Document/lostpointercapture_event)
+- [`touchstart`](/fr/docs/Web/API/Document/touchstart_event)
+- [`touchend`](/fr/docs/Web/API/Document/touchend_event)
+- [`touchcancel`](/fr/docs/Web/API/Document/touchcancel_event)
+
+## Propriétés
+
+- [`PerformanceEventTiming.processingStart`](/fr/docs/Web/API/PerformanceEventTiming/processingStart) _lecture seule_ {{ExperimentalBadge}}
+ - : Retourne un [`DOMHighResTimeStamp`](/fr/docs/Web/API/DOMHighResTimeStamp) représentant l'heure à laquelle la diffusion des événements a commencé.
+- [`PerformanceEventTiming.processingEnd`](/fr/docs/Web/API/PerformanceEventTiming/processingEnd) _lecture seule_ {{ExperimentalBadge}}
+ - : Retourne un [`DOMHighResTimeStamp`](/fr/docs/Web/API/DOMHighResTimeStamp) représentant l'heure à laquelle la diffusion de l'événement s'est terminée.
+- [`PerformanceEventTiming.cancelable`](/fr/docs/Web/API/PerformanceEventTiming/cancelable) _lecture seule_ {{ExperimentalBadge}}
+ - : Retourne un [`Boolean`](/fr/docs/Web/API/Boolean) représentant l'attribut annulable de l'événement associé.
+- [`PerformanceEventTiming.target`](/fr/docs/Web/API/PerformanceEventTiming/target) _lecture seule_ {{NonStandardBadge}}
+ - : Retourne un [`Node`](/fr/docs/Web/API/Node) représentant la dernière cible de l'événement associé, si elle n'est pas supprimée.
+
+## Méthodes
+
+- [`PerformanceEventTiming.toJSON()`](</fr/docs/Web/API/PerformanceEventTiming/toJSON()>) {{ExperimentalBadge}}
+ - : Convertit l'objet [`PerformanceEventTiming`](/fr/docs/Web/API/PerformanceEventTiming) en JSON.
+
+## Exemples
+
+L'exemple suivant montre comment utiliser l'API pour tous les événements :
+
+```js
+const observer = new PerformanceObserver(function(list) {
+ const perfEntries = list.getEntries().forEach(entry => {
// Durée totale
const inputDuration = entry.duration;
// Retard d'entrée (avant l'événement de traitement)
@@ -90,16 +85,17 @@ translation_of: Web/API/PerformanceEventTiming
});
// Enregistre un observateur pour l'événement.
observer.observe({entryTypes: ["event"]});
-</pre>
+```
-<p>Nous pouvons également interroger directement le <a href="https://web.dev/fid">premier délai d'entrée</a>. Le premier délai d'entrée ou « FID : First input delay », mesure le temps entre le moment où un utilisateur interagit pour la première fois avec une page (c'est-à-dire lorsqu'il clique sur un lien ou sur un bouton) et le moment où le navigateur est effectivement en mesure de commencer à traiter les gestionnaires d'événements en réponse à cette interaction.</p>
+Nous pouvons également interroger directement le [premier délai d'entrée](https://web.dev/fid). Le premier délai d'entrée ou « FID : First input delay », mesure le temps entre le moment où un utilisateur interagit pour la première fois avec une page (c'est-à-dire lorsqu'il clique sur un lien ou sur un bouton) et le moment où le navigateur est effectivement en mesure de commencer à traiter les gestionnaires d'événements en réponse à cette interaction.
-<pre class="brush:js">// Pour savoir si (et quand) la page a été masquée pour la première fois, voir :
+```js
+// Pour savoir si (et quand) la page a été masquée pour la première fois, voir :
// https://github.com/w3c/page-visibility/issues/29
-// NOTE : idéalement, cette vérification devrait être effectuée dans le &lt;head&gt; du document
+// NOTE : idéalement, cette vérification devrait être effectuée dans le <head> du document
// pour éviter les cas où l'état de visibilité change avant l'exécution de ce code.
let firstHiddenTime = document.visibilityState === 'hidden' ? 0 : Infinity;
-document.addEventListener('visibilitychange', (event) =&gt; {
+document.addEventListener('visibilitychange', (event) => {
firstHiddenTime = Math.min(firstHiddenTime, event.timeStamp);
}, {once: true});
@@ -108,7 +104,7 @@ document.addEventListener('visibilitychange', (event) =&gt; {
function sendToAnalytics(data) {
const body = JSON.stringify(data);
// Utilise `navigator.sendBeacon()` si disponible, en revenant à `fetch()`.
- (navigator.sendBeacon &amp;&amp; navigator.sendBeacon('/analytics', body)) ||
+ (navigator.sendBeacon && navigator.sendBeacon('/analytics', body)) ||
fetch('/analytics', {body, method: 'POST', keepalive: true});
}
@@ -120,7 +116,7 @@ try {
// Ne rapporte le FID que si la page n'était pas cachée avant que
// l'entrée soit envoyée. Cela se produit généralement lorsqu'une
// page est chargée dans un onglet en arrière-plan.
- if (entry.startTime &lt; firstHiddenTime) {
+ if (entry.startTime < firstHiddenTime) {
const fid = entry.processingStart - entry.startTime;
// Rapporte la valeur du FID à un terminal d'analyse.
@@ -129,7 +125,7 @@ try {
}
// Crée un PerformanceObserver qui appelle `onFirstInputEntry` pour chaque entrée.
- const po = new PerformanceObserver((entryList) =&gt; {
+ const po = new PerformanceObserver((entryList) => {
entryList.getEntries().forEach(onFirstInputEntry);
});
@@ -142,27 +138,14 @@ try {
} catch (e) {
// Ne fait rien si le navigateur ne prend pas en charge cette API.
}
-</pre>
-
-<h2 id="Specifications">Spécifications</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Spécification</th>
- <th scope="col">Statut</th>
- <th scope="col">Commentaire</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('Event Timing API','#sec-performance-event-timing','PerformanceEventTiming')}}</td>
- <td>{{Spec2('Event Timing API')}}</td>
- <td>Définition initiale.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility">Compatibilité des navigateurs</h2>
-
-<p>{{Compat("api.PerformanceEventTiming")}}</p>
+```
+
+## Spécifications
+
+| Spécification | Statut | Commentaire |
+| ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- | -------------------- |
+| {{SpecName('Event Timing API','#sec-performance-event-timing','PerformanceEventTiming')}} | {{Spec2('Event Timing API')}} | Définition initiale. |
+
+## Compatibilité des navigateurs
+
+{{Compat("api.PerformanceEventTiming")}}