From 1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde Mon Sep 17 00:00:00 2001 From: julieng Date: Sat, 2 Oct 2021 17:20:24 +0200 Subject: convert content to md --- files/fr/web/api/sharedworker/index.md | 112 +++++++++++++++------------------ 1 file changed, 50 insertions(+), 62 deletions(-) (limited to 'files/fr/web/api/sharedworker/index.md') diff --git a/files/fr/web/api/sharedworker/index.md b/files/fr/web/api/sharedworker/index.md index 1e5e6b0351..dc36979082 100644 --- a/files/fr/web/api/sharedworker/index.md +++ b/files/fr/web/api/sharedworker/index.md @@ -10,54 +10,52 @@ tags: - Worker translation_of: Web/API/SharedWorker --- -
{{APIRef("Web Workers API")}}
+{{APIRef("Web Workers API")}} -

L'interface SharedWorker représente un type spécifique de worker qui peut être accédé à partir de plusieurs contextes de navigation, tels que plusieurs fenêtres, iframes ou même workers. Ils implémentent une autre interface que les workers dédiés et ont un contexte global différent, {{domxref("SharedWorkerGlobalScope")}}.

+L'interface **`SharedWorker`** représente un type spécifique de worker qui peut être _accédé_ à partir de plusieurs contextes de navigation, tels que plusieurs fenêtres, iframes ou même workers. Ils implémentent une autre interface que les workers dédiés et ont un contexte global différent, {{domxref("SharedWorkerGlobalScope")}}. -
-

Note : Si un SharedWorker peut être accédé à partir de plusieurs contextes de navigation, tous ces contextes de navigation doivent partager exactement la même origine (même protocole, hôte et port.)

-
+> **Note :** Si un SharedWorker peut être accédé à partir de plusieurs contextes de navigation, tous ces contextes de navigation doivent partager exactement la même origine (même protocole, hôte et port.) -

Constructeurs

+## Constructeurs -
-
{{domxref("SharedWorker.SharedWorker", "SharedWorker()")}}
-
Crée un web worker partagé qui exécute le script spécifié par l'URL.
-
+- {{domxref("SharedWorker.SharedWorker", "SharedWorker()")}} + - : Crée un web worker partagé qui exécute le script spécifié par l'URL. -

Propriétés

+## Propriétés -

Il hérite des propriétés de son parent, {{domxref("EventTarget")}}, et implémente les propriétés de {{domxref("AbstractWorker")}}.

+_Il hérite des propriétés de son parent, {{domxref("EventTarget")}}, et implémente les propriétés de {{domxref("AbstractWorker")}}._ -
-
{{domxref("AbstractWorker.onerror")}}
-
Est un {{ domxref("EventListener") }} qui est appelé à chaque fois qu'un {{domxref("ErrorEvent")}} de type error se propage à travers le worker.
-
{{domxref("SharedWorker.port")}} {{readonlyInline}}
-
Retourne un objet {{domxref("MessagePort")}} utilisé pour communiquer et contrôler le worker partagé.
-
+- {{domxref("AbstractWorker.onerror")}} + - : Est un {{ domxref("EventListener") }} qui est appelé à chaque fois qu'un {{domxref("ErrorEvent")}} de type `error` se propage à travers le worker. +- {{domxref("SharedWorker.port")}} {{readonlyInline}} + - : Retourne un objet {{domxref("MessagePort")}} utilisé pour communiquer et contrôler le worker partagé. -
-
+ -

Méthodes

+## Méthodes -

Hérite des méthodes de son parent, {{domxref("EventTarget")}}, et implémente les méthodes de {{domxref("AbstractWorker")}}.

+_Hérite des méthodes de son parent, {{domxref("EventTarget")}}, et implémente les méthodes de {{domxref("AbstractWorker")}}._ -

Exemple

+## Exemple -

Dans notre  Exemple basique d'un worker partagé (lancer le worker partagé), nous avons deux pages HTML, qui chacune utilise du code JavaScript pour réaliser un calcul simple. Les différents scripts utilisent le même worker pour effectuer ce calcul — ils peuvent tous les deux y accéder, même si leurs pages s'exécutent à l'intérieur de fenêtres différentes.

+Dans notre  [Exemple basique d'un worker partagé](https://github.com/mdn/simple-shared-worker) ([lancer le worker partagé](http://mdn.github.io/simple-shared-worker/)), nous avons deux pages HTML, qui chacune utilise du code JavaScript pour réaliser un calcul simple. Les différents scripts utilisent le même worker pour effectuer ce calcul — ils peuvent tous les deux y accéder, même si leurs pages s'exécutent à l'intérieur de fenêtres différentes. -

L'extrait de code suivant illustre la création d'un objet SharedWorker en utilisant le constructeur {{domxref("SharedWorker.SharedWorker", "SharedWorker()")}}. Les deux scripts contiennent ceci :

+L'extrait de code suivant illustre la création d'un objet `SharedWorker` en utilisant le constructeur {{domxref("SharedWorker.SharedWorker", "SharedWorker()")}}. Les deux scripts contiennent ceci : -
var myWorker = new SharedWorker("worker.js");
+```js +var myWorker = new SharedWorker("worker.js"); +``` -

Les deux scripts accèdent alors au worker à travers un objet {{domxref("MessagePort")}} créé en utilisant la propriété {{domxref("SharedWorker.port")}} — le port est démarré au moyen de sa méthode start() :

+Les deux scripts accèdent alors au worker à travers un objet {{domxref("MessagePort")}} créé en utilisant la propriété {{domxref("SharedWorker.port")}} — le port est démarré au moyen de sa méthode `start()` : -
myWorker.port.start();
+```js +myWorker.port.start(); +``` -

Lorsque le port est démarré, les deux scripts envoient des messages au worker et gèrent les messages qu'il renvoie en utilisant respectivement port.postMessage() et port.onmessage :

+Lorsque le port est démarré, les deux scripts envoient des messages au worker et gèrent les messages qu'il renvoie en utilisant respectivement `port.postMessage()` et `port.onmessage` : -
first.onchange = function() {
+```js
+first.onchange = function() {
     myWorker.port.postMessage([first.value,second.value]);
     console.log('Message envoyé au worker');
   }
@@ -70,11 +68,13 @@ translation_of: Web/API/SharedWorker
   myWorker.port.onmessage = function(e) {
     result1.textContent = e.data;
     console.log('Message reçu du worker');
-  }
+ } +``` -

Au sein du worker, nous utilisons le gestionnaire {{domxref("SharedWorkerGlobalScope.onconnect")}} pour se connecter au même port dont il a été question plus haut. Les ports associés au worker sont accessibles dans la propriété ports de l'événement {{event("connect")}} — nous utilisons alors la méthode {{domxref("MessagePort")}} start() pour démarrer le port, et le gestionnaire onmessage pour s'occuper des messages en provenance des threads principaux.

+Au sein du worker, nous utilisons le gestionnaire {{domxref("SharedWorkerGlobalScope.onconnect")}} pour se connecter au même port dont il a été question plus haut. Les ports associés au worker sont accessibles dans la propriété `ports` de l'événement {{event("connect")}} — nous utilisons alors la méthode {{domxref("MessagePort")}} `start()` pour démarrer le port, et le gestionnaire `onmessage` pour s'occuper des messages en provenance des threads principaux. -
onconnect = function(e) {
+```js
+onconnect = function(e) {
     var port = e.ports[0];
 
     port.onmessage = function(e) {
@@ -83,32 +83,20 @@ translation_of: Web/API/SharedWorker
     }
 
     port.start();
-}
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('HTML WHATWG', "#sharedworker", "SharedWorker")}}{{Spec2('HTML WHATWG')}}Aucune modification de {{SpecName("Web Workers")}}.
- -

Compatibilité des navigateurs

- -

{{Compat("api.SharedWorker")}}

- -

Voir aussi

- - +} +``` + +## Spécifications + +| Spécification | Statut | Commentaire | +| -------------------------------------------------------------------------------- | -------------------------------- | ------------------------------------------------------------ | +| {{SpecName('HTML WHATWG', "#sharedworker", "SharedWorker")}} | {{Spec2('HTML WHATWG')}} | Aucune modification de {{SpecName("Web Workers")}}. | + +## Compatibilité des navigateurs + +{{Compat("api.SharedWorker")}} + +## Voir aussi + +- {{ domxref("Worker") }} +- [Utilisation des web workers](/fr/docs/Utilisation_des_web_workers) -- cgit v1.2.3-54-g00ecf