diff options
author | tristantheb <tristantheb@users.noreply.github.com> | 2021-04-11 09:03:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-11 09:03:44 +0200 |
commit | 48a326c0d47c8f49eb50706420a33bfcbe24f2c7 (patch) | |
tree | 6540c8e657b8b62e625837cd61fce4b7e4026ced /files/fr/web/api/performanceeventtiming | |
parent | a9d8a2a4f30880c92bae569bef655c4880cfe544 (diff) | |
download | translated-content-48a326c0d47c8f49eb50706420a33bfcbe24f2c7.tar.gz translated-content-48a326c0d47c8f49eb50706420a33bfcbe24f2c7.tar.bz2 translated-content-48a326c0d47c8f49eb50706420a33bfcbe24f2c7.zip |
L10N: Translation of all Performance APIs/Interfaces/Properties/Methods (#232)
* L10N: Translation of the Performance API pages
* L10N: Translation of the Performance Timeline API pages
* Fix typo, style and KS elements
* UPDATE: Update content of code blocks with the Guideline
* L10N: Translation of the PerformanceElementTiming pages
* L10N: Translation of the PerformanceEntry pages
* L10N: Translation of the PerformanceEventTiming interface
* L10N: Translation of the PerformanceFrameTiming interface
* L10N: Translation of the PerformanceLongTaskTiming interface
* L10N: Translation of the PerformanceMark interface
* L10N: Translation of the PerformanceMeasure interface
* L10N: Translation of the PerformanceNavigation interface
* L10N: Translation of the PerformanceNavigationTiming interface
* L10N: Translation of the PerformanceObserver interface
* L10N: Translation of the PerformanceObserverEntryList interface
* L10N: Translation of the PerformancePaintTiming interface
* L10N: Translation of the PerformanceResourceTiming interface
* L10N: Translation of the PerformanceServerTiming interface
* L10N: Translation of the PerformanceTiming interface
* FIX: Fix KS error on PerformanceTiming interface
* FIX: Change some summary and typo
* FIX: Fix CSS and sentences on PerformanceObserverEntryList interface
* FIX: Update KS + Change {{event()}} by link on PerformanceEventTiming interface
* Review - Landing page
* Review 'using' page - rm domxref
* Perforamance_timeline review: rm domxref, minor rewording, missing translation
* Review timeline guide page, rm domxref, rm vars in pre
* Review - PerformanceElementTiming - rm domxref + trailing spaces
* Review - PerformanceElementTiming.id - rm xref macros + trailing spaces
* Review - PerformanceElementTiming.identifier - rm xref macros + trailing spaces
* Review - PerformanceElementTiming - rm xref macros + trailing spaces
* Review - PET.intersectionrect - rm domxref / minor typos
* Undo spec table mixup
* Review - loadTime - rm domxref
* Review - naturalheight - rm domxref / trailing spaces
* Review - naturalwidth - rm domxref / trailing spaces
* Review - renderTime - rm domxref / trailing spaces / minor rewordings
* Review - tojson - rm domxref / trailing spaces
* Review - url - rm domxref / trailing spaces
* Review - duration - rm domxref / minor rewordings
* Review - entryType - rm domxref / minor rewordings
* Review - performanceentry index - rm domxref / minor rewordings
* Review PerformanceEntry.name - rm xref macros
* Review PerformanceEntry.startTime - rm xref macros
* Review PerformanceEntry.toJSON - rm xref macros
* Review PerformanceEventTiming - rm domxref
* Review PerformanceFrameTiming - rm xref macros
* Review PerformanceLongTaskTiming.attribution - rm xref macros
* Review PerformanceLongTaskTiming - rm xref macros
* Review - PerformanceMark - rm domxref
* Review - PerformanceMeasure - rm domxref
* Review - PerformanceNavigation - rm domxref
* Review - PerformanceNavigation.redirectcount - rm domxref
* Review - PerformanceNavigation.type - rm domxref
* Review - PerformanceNavigationTiming.domComplete - rm domxref
* Review - PerformanceNavigationTiming.domContentLoadedEvent - rm domxref
* Review - PerformanceNavigationTiming.domContentLoadedEventStart - rm domxref
* Review - PerformanceNavigationTiming.domInteractive - rm domxref
* Review - PerformanceNavigationTiming - rm domxref
* Review - PerformanceNavigationTiming.loadEventEnd - rm domxref
* Review - PerformanceNavigationTiming.loadEventStart - rm domxref
* Review - PerformanceNavigationTiming.redirectCount - rm domxref
* Review - PerformanceNavigationTiming.toJSON - rm domxref
* Review - PerformanceNavigationTiming.type - rm domxref
* Review - PerformanceNavigationTiming.unloadEventEnd - rm domxref
* Review - PerformanceNavigationTiming.unloadEventStart - rm domxref
* Remove DOMxRef for PerformanceTiming
* Remove DOMxRef for PerformanceServerTiming
* Remove DOMxRef for PerformanceResourceTiming
* Review - PerformanceObserver.disconnect - rm domxref
* Review - PerformanceObserver - rm domxref
* Review - PerformanceObserver.observe - rm domxref
* Review - PerformanceObserver.PerformanceObserver() - rm domxref
* Review - PerformanceObserver.takeRecords() - rm domxref
* Review - PerformanceObserverEntryList.getEntries() - rm domxref
* Review - PerformanceObserver.getEntriesByName() - rm domxref
* Review - PerformanceObserver.getEntriesByType() - rm domxref
* Review - PerformanceObserverEntryList - rm domxref
* Review - PerformanceResourceTiming.connectEnd - rm domxref
* Review - PerformanceResourceTiming.connectStart
* Review - PerformanceResourceTiming.decodedBodySize
* Review - PerformanceResourceTiming.domainLookupEnd
* Review - PerformanceResourceTiming.domainLookupStart
* Review - PerformanceResourceTiming.encodedBodySize
* Review - PerformanceResourceTiming.fetchStart
* Review - PerformanceResourceTiming
* Review - PerformanceResourceTiming.iniatorType
* Review - PerformanceResourceTiming.nextHopProtocol
* Review - PerformanceResourceTiming.redirectEnd
* Review - PerformanceResourceTiming.redirectStart
* Review - PerformanceResourceTiming.requestStart
* Review - PerformanceResourceTiming.responseEnd
* Review - PerformanceResourceTiming.responseStart
* Review - PerformanceResourceTiming.secureConnectionStart
* Review - PerformanceResourceTiming.toJSON()
* Review - PerformanceResourceTiming.transferSize
* Review - PerformanceResourceTiming.workerStart
* Review - PerformanceServerTiming.description
* Review - PerformanceServerTiming.duration
* Review - PerformanceServerTiming
* Review - PerformanceServerTiming.name
* Review - PerformanceServerTiming.toJSON()
* Review - PerformanceTiming.domComplete - rm Event
* Review - PerformanceTiming.domContentLoadedEventStart - rm Event
* Review - PerformanceTiming.domInteractive - rm Event
* Review - PerformanceTiming.domLoading - rm Event
* Review - PerformanceTiming - minor typos + thead spec
* Review - PerformanceTiming.loadEventEnd - rm Event
* Review - PerformanceTiming.loadEventStart - rm Event
* Review - PerformanceTiming.unloadEventEnd - rm Event
* Review - PerformanceTiming.unloadEventStart - rm Event
* Remove final domxref / rm var in examples
Co-authored-by: julieng <julien.gattelier@gmail.com>
Diffstat (limited to 'files/fr/web/api/performanceeventtiming')
-rw-r--r-- | files/fr/web/api/performanceeventtiming/index.html | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/files/fr/web/api/performanceeventtiming/index.html b/files/fr/web/api/performanceeventtiming/index.html new file mode 100644 index 0000000000..083b200b42 --- /dev/null +++ b/files/fr/web/api/performanceeventtiming/index.html @@ -0,0 +1,170 @@ +--- +title: PerformanceEventTiming +slug: Web/API/PerformanceEventTiming +tags: + - API + - Event Timing API + - Interface + - Performance + - PerformanceEventTiming + - Reference + - Performance Web +translation_of: Web/API/PerformanceEventTiming +--- +<div>{{APIRef("Event Timing API")}}</div> + +<p class="summary">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> + +<div class="index"> + <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> +</div> + +<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 => { + // Durée totale + const inputDuration = entry.duration; + // Retard d'entrée (avant l'événement de traitement) + const inputDelay = entry.processingStart - entry.startTime; + // Temps de traitement d'un événement synchrone (entre le début et la fin de la diffusion). + const inputSyncProcessingTime = entry.processingEnd - entry.processingStart; + }); +}); +// 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> + +<pre class="brush: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 <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) => { + firstHiddenTime = Math.min(firstHiddenTime, event.timeStamp); +}, {once: true}); + +// Envoie les données transmises à un point de terminaison analytique. Ce code +// utilise `/analytics` ; vous pouvez le remplacer par votre propre URL. +function sendToAnalytics(data) { + const body = JSON.stringify(data); + // Utilise `navigator.sendBeacon()` si disponible, en revenant à `fetch()`. + (navigator.sendBeacon && navigator.sendBeacon('/analytics', body)) || + fetch('/analytics', {body, method: 'POST', keepalive: true}); +} + +// Utilise un try/catch au lieu de la fonction de détection de la prise en charge de `first-input` +// car certains navigateurs lancent des requêtes lorsqu'ils utilisent la nouvelle option `type`. +// https://bugs.webkit.org/show_bug.cgi?id=209216 +try { + function onFirstInputEntry(entry) { + // 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 < firstHiddenTime) { + const fid = entry.processingStart - entry.startTime; + + // Rapporte la valeur du FID à un terminal d'analyse. + sendToAnalytics({fid}); + } + } + + // Crée un PerformanceObserver qui appelle `onFirstInputEntry` pour chaque entrée. + const po = new PerformanceObserver((entryList) => { + entryList.getEntries().forEach(onFirstInputEntry); + }); + + // Observe les entrées de type `first-input`, y compris les entrées en mémoire tampon, + // c'est-à-dire les entrées qui ont eu lieu avant d'appeler `observe()` ci-dessous. + po.observe({ + type: 'first-input', + buffered: true, + }); +} 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> |