diff options
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/webassembly/module')
4 files changed, 158 insertions, 217 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/module/customsections/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/module/customsections/index.md index dd76bbe66d..63877bff3b 100644 --- a/files/fr/web/javascript/reference/global_objects/webassembly/module/customsections/index.md +++ b/files/fr/web/javascript/reference/global_objects/webassembly/module/customsections/index.md @@ -13,83 +13,70 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module/customSections original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Module/customSections --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <strong><code>WebAssembly.customSections()</code></strong> renvoie un tableau qui contient les sections personnalisées (<em>custom sections</em>) disponibles dans un module WebAssembly et qui ont un nom donné.</p> +La méthode **`WebAssembly.customSections()`** renvoie un tableau qui contient les sections personnalisées (_custom sections_) disponibles dans un module WebAssembly et qui ont un nom donné. -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">var custSec = WebAssembly.Module.customSections(<em>module</em>, <em>nomSection</em>);</pre> + var custSec = WebAssembly.Module.customSections(module, nomSection); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>module</code></dt> - <dd>L'objet {{jsxref("WebAssembly.Module")}} pour lequel on veut obtenir les sections personnalisées.</dd> - <dt><code>nomSection</code></dt> - <dd>Le nom de la section personnalisée qu'on souhaite obtenir.</dd> -</dl> +- `module` + - : L'objet {{jsxref("WebAssembly.Module")}} pour lequel on veut obtenir les sections personnalisées. +- `nomSection` + - : Le nom de la section personnalisée qu'on souhaite obtenir. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un tableau contenant des {{domxref("ArrayBuffer")}} dont chacun contient les données d'une section personnalisée du module qui correspond à <code>nomSection</code>.</p> +Un tableau contenant des {{domxref("ArrayBuffer")}} dont chacun contient les données d'une section personnalisée du module qui correspond à `nomSection`. -<h3 id="Exceptions">Exceptions</h3> +### Exceptions -<p>Si le module passé en argument n'est pas une instance de {{jsxref("WebAssembly.Module")}}, la méthode lèvera une exception {{jsxref("TypeError")}}.</p> +Si le module passé en argument n'est pas une instance de {{jsxref("WebAssembly.Module")}}, la méthode lèvera une exception {{jsxref("TypeError")}}. -<h2 id="Les_sections_personnalisées">Les sections personnalisées</h2> +## Les sections personnalisées -<p>Un module wasm contient une série de <strong>sections</strong>. La plupart de ces sections sont spécifiées et validées par la spécification WebAssembly mais les modules peuvent contenir certaines sections « personnalisées » (<em>custom sections</em>) qui sont ignorées lors de la phase de validation. Pour plus d'informations, consulter<a href="https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#high-level-structure"> l'article sur les structures de haut niveau</a> qui détaille la structure des sections et les différences entre les sections normales (« connues ») et les sections personnalisées.</p> +Un module wasm contient une série de **sections**. La plupart de ces sections sont spécifiées et validées par la spécification WebAssembly mais les modules peuvent contenir certaines sections « personnalisées » (_custom sections_) qui sont ignorées lors de la phase de validation. Pour plus d'informations, consulter[ l'article sur les structures de haut niveau](https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#high-level-structure) qui détaille la structure des sections et les différences entre les sections normales (« connues ») et les sections personnalisées. -<p>Cela permet aux développeurs d'inclure des données personnalisées dans un module WebAssembly pour d'autres desseins. Par exemple, on peut avoir <a href="https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#name-section">une section personnalisée <code>name</code></a>, qui permet aux développeurs de fournir des noms pour les fonctions et les variables locales du module (à la façon des « symboles » utilisé pour les programmes compilés).</p> +Cela permet aux développeurs d'inclure des données personnalisées dans un module WebAssembly pour d'autres desseins. Par exemple, on peut avoir [une section personnalisée `name`](https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#name-section), qui permet aux développeurs de fournir des noms pour les fonctions et les variables locales du module (à la façon des « symboles » utilisé pour les programmes compilés). -<p>Le format WebAssembly ne possède actuellement aucune syntaxe pour ajouter une section personnalisée. Il est toutefois possible d'ajouter une section nommée au module wasm pendant la conversion du texte vers .wasm. La commande <code>wast2wasm</code>, disponible avec l'outil <code><a href="https://github.com/webassembly/wabt">wabt</a></code>, possède une option <code>--debug-names</code> qui permet de créer un module <code>.wasm</code> avec une section personnalisée <code>name</code> :</p> +Le format WebAssembly ne possède actuellement aucune syntaxe pour ajouter une section personnalisée. Il est toutefois possible d'ajouter une section nommée au module wasm pendant la conversion du texte vers .wasm. La commande `wast2wasm`, disponible avec l'outil [`wabt`](https://github.com/webassembly/wabt), possède une option `--debug-names` qui permet de créer un module `.wasm` avec une section personnalisée `name` : -<pre class="brush: bash">wast2wasm simple-name-section.was -o simple-name-section.wasm --debug-names</pre> +```bash +wast2wasm simple-name-section.was -o simple-name-section.wasm --debug-names +``` -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>Dans l'exemple qui suit (tiré de <a href="https://github.com/mdn/webassembly-examples/blob/master/other-examples/custom-section.html">ce fichier source</a> et de <a href="https://mdn.github.io/webassembly-examples/other-examples/custom-section.html">cette démonstration</a>), on compile et on instancie le bytecode <code>simple-name-section.wasm</code> et on importe une fonction JavaScript dans le module lors de cette étape. Ensuite, on exporte une fonction depuis le module grâce à <code>Instance.exports</code>.</p> +Dans l'exemple qui suit (tiré de [ce fichier source](https://github.com/mdn/webassembly-examples/blob/master/other-examples/custom-section.html) et de [cette démonstration](https://mdn.github.io/webassembly-examples/other-examples/custom-section.html)), on compile et on instancie le bytecode `simple-name-section.wasm` et on importe une fonction JavaScript dans le module lors de cette étape. Ensuite, on exporte une fonction depuis le module grâce à `Instance.exports`. -<p>On faut aussi une vérification sur <code>WebAssembly.Module.customSections</code> pour vérifier si celle-ci contient une section personnalisée <code>"name"</code> dont on vérifie si la longueur est supérieure à 0. Ce module contenant une section <code>name</code>, les appels à <code>console.log()</code> sont exécutés et montrent que le tableau renvoyé par la méthode contient des objets {{domxref("ArrayBuffer")}}.</p> +On faut aussi une vérification sur `WebAssembly.Module.customSections` pour vérifier si celle-ci contient une section personnalisée `"name"` dont on vérifie si la longueur est supérieure à 0. Ce module contenant une section `name`, les appels à `console.log()` sont exécutés et montrent que le tableau renvoyé par la méthode contient des objets {{domxref("ArrayBuffer")}}. -<pre class="brush: js">WebAssembly.compileStreaming(fetch('simple-name-section.wasm')) +```js +WebAssembly.compileStreaming(fetch('simple-name-section.wasm')) .then(function(mod) { var nameSections = WebAssembly.Module.customSections(mod, "name"); if (nameSections.length != 0) { console.log("Le module contient une section nommée"); console.log(nameSections[0]); }; -});</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('WebAssembly JS', '#webassemblymodulecustomsections', 'customSections()')}}</td> - <td>{{Spec2('WebAssembly JS')}}</td> - <td>Brouillon de définition initiale pour WebAssembly.</td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.WebAssembly.Module.customSections")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/WebAssembly">Le portail WebAssembly</a></li> - <li><a href="/fr/docs/WebAssembly/Concepts">Les concepts relatifs à WebAssembly</a></li> - <li><a href="/fr/docs/WebAssembly/Using_the_JavaScript_API">Utiliser l'API JavaScript WebAssembly</a></li> -</ul> +}); +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -------------------------------------------------- | +| {{SpecName('WebAssembly JS', '#webassemblymodulecustomsections', 'customSections()')}} | {{Spec2('WebAssembly JS')}} | Brouillon de définition initiale pour WebAssembly. | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.WebAssembly.Module.customSections")}} + +## Voir aussi + +- [Le portail WebAssembly](/fr/docs/WebAssembly) +- [Les concepts relatifs à WebAssembly](/fr/docs/WebAssembly/Concepts) +- [Utiliser l'API JavaScript WebAssembly](/fr/docs/WebAssembly/Using_the_JavaScript_API) diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/module/exports/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/module/exports/index.md index d16223a07c..6f7722bdb1 100644 --- a/files/fr/web/javascript/reference/global_objects/webassembly/module/exports/index.md +++ b/files/fr/web/javascript/reference/global_objects/webassembly/module/exports/index.md @@ -13,43 +13,44 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module/exports original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Module/exports --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La fonction <strong><code>WebAssembly.Module.exports()</code></strong> renvoie un tableau qui contient les descriptions des exports déclarés pour un module donné.</p> +La fonction **`WebAssembly.Module.exports()`** renvoie un tableau qui contient les descriptions des exports déclarés pour un module donné. -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">var exports = WebAssembly.Module.exports(module);</pre> + var exports = WebAssembly.Module.exports(module); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>module</code></dt> - <dd>Un objet {{jsxref("WebAssembly.Module")}}.</dd> -</dl> +- `module` + - : Un objet {{jsxref("WebAssembly.Module")}}. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un tableau qui contient des objets représentants les fonctions exportés du module passé en argument.</p> +Un tableau qui contient des objets représentants les fonctions exportés du module passé en argument. -<h3 id="Exceptions">Exceptions</h3> +### Exceptions -<p>Si l'argument n'est pas une instance de {{jsxref("WebAssembly.Module")}}, une exception {{jsxref("TypeError")}} sera levée.</p> +Si l'argument n'est pas une instance de {{jsxref("WebAssembly.Module")}}, une exception {{jsxref("TypeError")}} sera levée. -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>Dans l'exemple suivant (basé sur le fichier <code><a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/index-compile.html">index-compile.html</a></code> disponible sur GitHub avec <a href="https://mdn.github.io/webassembly-examples/js-api-examples/index-compile.html">la démonstration correspondante</a>), on compile le <em>bytecode</em> <code>simple.wasm</code> grâce à la fonction {{jsxref("WebAssembly.compileStreaming()")}} puis on envoie le résultat à un <em><a href="/fr/docs/Web/API/Web_Workers_API">worker</a></em> grâce à la méthode <code><a href="/fr/docs/Web/API/Worker/postMessage">postMessage()</a></code>.</p> +Dans l'exemple suivant (basé sur le fichier [`index-compile.html`](https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/index-compile.html) disponible sur GitHub avec [la démonstration correspondante](https://mdn.github.io/webassembly-examples/js-api-examples/index-compile.html)), on compile le _bytecode_ `simple.wasm` grâce à la fonction {{jsxref("WebAssembly.compileStreaming()")}} puis on envoie le résultat à un _[worker](/fr/docs/Web/API/Web_Workers_API)_ grâce à la méthode [`postMessage()`](/fr/docs/Web/API/Worker/postMessage). -<pre class="brush: js">var worker = new Worker("wasm_worker.js"); +```js +var worker = new Worker("wasm_worker.js"); WebAssembly.compileStreaming(fetch("simple.wasm")) -.then(mod => +.then(mod => worker.postMessage(mod) -);</pre> +); +``` -<p>Dans le <em>worker</em> (cf. <code><a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/wasm_worker.js">wasm_worker.js</a></code>), on définit un objet d'import pour le module puis on paramètre un gestionnaire d'évènement afin de recevoir le module depuis le <em>thread</em> principal. Lorsqu'on reçoit le module, on en crée une instance via la méthode {{jsxref("WebAssembly.Instantiate()")}} puis on appelle une fonction exportée et enfin, on affiche les informations relatives aux exports disponibles grâce à <code>WebAssembly.Module.exports</code>.</p> +Dans le _worker_ (cf. [`wasm_worker.js`](https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/wasm_worker.js)), on définit un objet d'import pour le module puis on paramètre un gestionnaire d'évènement afin de recevoir le module depuis le _thread_ principal. Lorsqu'on reçoit le module, on en crée une instance via la méthode {{jsxref("WebAssembly.Instantiate()")}} puis on appelle une fonction exportée et enfin, on affiche les informations relatives aux exports disponibles grâce à `WebAssembly.Module.exports`. -<pre class="brush: js">var importObject = { +```js +var importObject = { imports: { imported_func: function(arg) { console.log(arg); @@ -67,39 +68,27 @@ onmessage = function(e) { var exports = WebAssembly.Module.exports(mod); console.log(exports[0]); -};</pre> - -<p>La valeur <code>exports[0]</code> ressemblera alors à :</p> - -<pre class="brush: js">{ name: "exported_func", kind: "function" }</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('WebAssembly JS', '#webassemblymoduleexports', 'exports()')}}</td> - <td>{{Spec2('WebAssembly JS')}}</td> - <td>Brouillon de définition initiale pour WebAssembly.</td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.WebAssembly.Module.exports")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/WebAssembly">Le portail WebAssembly</a></li> - <li><a href="/fr/docs/WebAssembly/Concepts">Les concepts relatifs à WebAssembly</a></li> - <li><a href="/fr/docs/WebAssembly/Using_the_JavaScript_API">Utiliser l'API JavaScript WebAssembly</a></li> -</ul> +}; +``` + +La valeur `exports[0]` ressemblera alors à : + +```js +{ name: "exported_func", kind: "function" } +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------------------ | ------------------------------------ | -------------------------------------------------- | +| {{SpecName('WebAssembly JS', '#webassemblymoduleexports', 'exports()')}} | {{Spec2('WebAssembly JS')}} | Brouillon de définition initiale pour WebAssembly. | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.WebAssembly.Module.exports")}} + +## Voir aussi + +- [Le portail WebAssembly](/fr/docs/WebAssembly) +- [Les concepts relatifs à WebAssembly](/fr/docs/WebAssembly/Concepts) +- [Utiliser l'API JavaScript WebAssembly](/fr/docs/WebAssembly/Using_the_JavaScript_API) diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/module/imports/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/module/imports/index.md index ac039a3fc7..154d821286 100644 --- a/files/fr/web/javascript/reference/global_objects/webassembly/module/imports/index.md +++ b/files/fr/web/javascript/reference/global_objects/webassembly/module/imports/index.md @@ -11,71 +11,57 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module/imports original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Module/imports --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <strong><code>WebAssembly.imports()</code></strong> renvoie un tableau qui contient les références des fonctions importées qui sont disponibles dans un module WebAssembly donné.</p> +La méthode **`WebAssembly.imports()`** renvoie un tableau qui contient les références des fonctions importées qui sont disponibles dans un module WebAssembly donné. -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">var arrImport = WebAssembly.Module.imports(module);</pre> + var arrImport = WebAssembly.Module.imports(module); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>module</code></dt> - <dd>Une instance de {{jsxref("WebAssembly.Module")}}.</dd> -</dl> +- `module` + - : Une instance de {{jsxref("WebAssembly.Module")}}. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un tableau qui contient des objets représentant les fonctions importées du module passé en argument.</p> +Un tableau qui contient des objets représentant les fonctions importées du module passé en argument. -<h3 id="Exceptions">Exceptions</h3> +### Exceptions -<p>Si <code>module</code> n'est pas une instance de {{jsxref("WebAssembly.Module")}}, une exception {{jsxref("TypeError")}} sera levée.</p> +Si `module` n'est pas une instance de {{jsxref("WebAssembly.Module")}}, une exception {{jsxref("TypeError")}} sera levée. -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>Dans l'exemple qui suit, on compile le module <code>simple.wasm</code> puis on parcourt ses imports (cf. aussi <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/imports.html">le code sur GitHub</a> et <a href="https://mdn.github.io/webassembly-examples/js-api-examples/imports.html">l'exemple <em>live</em></a>)</p> +Dans l'exemple qui suit, on compile le module `simple.wasm` puis on parcourt ses imports (cf. aussi [le code sur GitHub](https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/imports.html) et [l'exemple _live_](https://mdn.github.io/webassembly-examples/js-api-examples/imports.html)) -<pre class="brush: js">WebAssembly.compileStreaming(fetch('simple.wasm')) +```js +WebAssembly.compileStreaming(fetch('simple.wasm')) .then(function(mod) { var imports = WebAssembly.Module.imports(mod); console.log(imports[0]); }); -</pre> - -<p>Le résultat affiché dans la console ressemble alors à :</p> - -<pre class="brush: js">{ module: "imports", name: "imported_func", kind: "function" }</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('WebAssembly JS', '#webassemblymoduleimports', 'imports()')}}</td> - <td>{{Spec2('WebAssembly JS')}}</td> - <td>Brouillon de définition initial pour WebAssembly.</td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.WebAssembly.Module.imports")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/WebAssembly">Le portail WebAssembly</a></li> - <li><a href="/fr/docs/WebAssembly/Concepts">Les concepts relatifs à WebAssembly</a></li> - <li><a href="/fr/docs/WebAssembly/Using_the_JavaScript_API">Utiliser l'API JavaScript WebAssembly</a></li> -</ul> +``` + +Le résultat affiché dans la console ressemble alors à : + +```js +{ module: "imports", name: "imported_func", kind: "function" } +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------------------ | ------------------------------------ | ------------------------------------------------- | +| {{SpecName('WebAssembly JS', '#webassemblymoduleimports', 'imports()')}} | {{Spec2('WebAssembly JS')}} | Brouillon de définition initial pour WebAssembly. | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.WebAssembly.Module.imports")}} + +## Voir aussi + +- [Le portail WebAssembly](/fr/docs/WebAssembly) +- [Les concepts relatifs à WebAssembly](/fr/docs/WebAssembly/Concepts) +- [Utiliser l'API JavaScript WebAssembly](/fr/docs/WebAssembly/Using_the_JavaScript_API) diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/module/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/module/index.md index cd6b46e8a9..ce946737a8 100644 --- a/files/fr/web/javascript/reference/global_objects/webassembly/module/index.md +++ b/files/fr/web/javascript/reference/global_objects/webassembly/module/index.md @@ -10,77 +10,56 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Module --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>Un objet <strong><code>WebAssembly.Module</code></strong> contient du code WebAssembly, sans état et qui a déjà été compilé par le navigateur. Ce code peut être <a href="/fr/docs/Web/API/Worker/postMessage">partagé avec des <em>web worker</em></a> et être instancié à plusieurs reprises. Pour instancier le module, on pourra appeler la forme secondaire de {{jsxref("WebAssembly.instantiate()")}}.</p> +Un objet **`WebAssembly.Module`** contient du code WebAssembly, sans état et qui a déjà été compilé par le navigateur. Ce code peut être [partagé avec des _web worker_](/fr/docs/Web/API/Worker/postMessage) et être instancié à plusieurs reprises. Pour instancier le module, on pourra appeler la forme secondaire de {{jsxref("WebAssembly.instantiate()")}}. -<p>Le constructeur <code>WebAssembly.Module()</code> peut être appelé de façon synchrone pour compiler du code WebAssembly. Toutefois, on utilisera généralement la fonction asynchrone {{jsxref("WebAssembly.compile()")}} qui permet de compiler du <em>bytecode</em>.</p> +Le constructeur `WebAssembly.Module()` peut être appelé de façon synchrone pour compiler du code WebAssembly. Toutefois, on utilisera généralement la fonction asynchrone {{jsxref("WebAssembly.compile()")}} qui permet de compiler du _bytecode_. -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<div class="warning"> -<p><strong>Attention :</strong> La compilation de modules volumineux peut être consommatrice de ressources et de temps. Le constructeur <code>Module()</code> doit uniqument être utilisé lorsqu'il faut absolument avoir une compilation synchrone. Pour tous les autres cas de figures, on privilégiera la méthode asynchrone {{jsxref("WebAssembly.compileStreaming()")}}.</p> -</div> +> **Attention :** La compilation de modules volumineux peut être consommatrice de ressources et de temps. Le constructeur `Module()` doit uniqument être utilisé lorsqu'il faut absolument avoir une compilation synchrone. Pour tous les autres cas de figures, on privilégiera la méthode asynchrone {{jsxref("WebAssembly.compileStreaming()")}}. -<pre class="syntaxbox">var monModule = new WebAssembly.Module(bufferSource);</pre> + var monModule = new WebAssembly.Module(bufferSource); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>bufferSource</code></dt> - <dd>Un <a href="/fr/docs/Web/JavaScript/Tableaux_typés">tableau typé</a> ou un {{jsxref("ArrayBuffer")}} qui contient le <em>bytecode</em> du module WebAssembly qu'on souhaite compiler.</dd> -</dl> +- `bufferSource` + - : Un [tableau typé](/fr/docs/Web/JavaScript/Tableaux_typés) ou un {{jsxref("ArrayBuffer")}} qui contient le _bytecode_ du module WebAssembly qu'on souhaite compiler. -<h2 id="Méthodes_du_constructeur_Module">Méthodes du constructeur <code>Module</code></h2> +## Méthodes du constructeur `Module` -<dl> - <dt>{{jsxref("Objets_globaux/WebAssembly/Module/customSections", "WebAssembly.Module.customSections()")}}</dt> - <dd>Pour un module donné et une chaîne de caractères donnée, cette méthode renvoie une copie des sections personnalisées (<em>custom sections</em>) du module qui ont le nom correspondant à la chaîne.</dd> - <dt>{{jsxref("Objets_globaux/WebAssembly/Module/exports", "WebAssembly.Module.exports()")}}</dt> - <dd>Pour un module donné, cette méthode renvoie un tableau dont les éléments sont des descriptions des exports déclarés.</dd> - <dt>{{jsxref("Objets_globaux/WebAssembly/Module/imports", "WebAssembly.Module.imports()")}}</dt> - <dd>Pour un module donné, cette méthode renvoie un tableau dont les éléments sont des descriptions des imports déclarés.</dd> -</dl> +- {{jsxref("Objets_globaux/WebAssembly/Module/customSections", "WebAssembly.Module.customSections()")}} + - : Pour un module donné et une chaîne de caractères donnée, cette méthode renvoie une copie des sections personnalisées (_custom sections_) du module qui ont le nom correspondant à la chaîne. +- {{jsxref("Objets_globaux/WebAssembly/Module/exports", "WebAssembly.Module.exports()")}} + - : Pour un module donné, cette méthode renvoie un tableau dont les éléments sont des descriptions des exports déclarés. +- {{jsxref("Objets_globaux/WebAssembly/Module/imports", "WebAssembly.Module.imports()")}} + - : Pour un module donné, cette méthode renvoie un tableau dont les éléments sont des descriptions des imports déclarés. -<h2 id="Instances_de_Module">Instances de <code>Module</code></h2> +## Instances de `Module` -<p>Toutes les instances de <code>Module</code> héritent du prototype du constructeur <code>Module()</code>, celui-ci peut être modifié afin de moifier le comportement de l'ensemble des instances de <code>Module</code>.</p> +Toutes les instances de `Module` héritent du prototype du constructeur `Module()`, celui-ci peut être modifié afin de moifier le comportement de l'ensemble des instances de `Module`. -<h3 id="Propriétés">Propriétés</h3> +### Propriétés -<p>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/WebAssembly/Module/prototype', 'Propriétés')}}</p> +{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/WebAssembly/Module/prototype', 'Propriétés')}} -<h3 id="Méthodes">Méthodes</h3> +### Méthodes -<p>Les instances de <code>Module</code> ne disposent pas de méthodes en propre.</p> +Les instances de `Module` ne disposent pas de méthodes en propre. -<h2 id="Spécifications">Spécifications</h2> +## Spécifications -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('WebAssembly JS', '#webassemblymodule-objects', 'WebAssembly.Module()')}}</td> - <td>{{Spec2('WebAssembly JS')}}</td> - <td>Brouillon de définition initiale.</td> - </tr> - </tbody> -</table> +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------ | --------------------------------- | +| {{SpecName('WebAssembly JS', '#webassemblymodule-objects', 'WebAssembly.Module()')}} | {{Spec2('WebAssembly JS')}} | Brouillon de définition initiale. | -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> +## Compatibilité des navigateurs -<p>{{Compat("javascript.builtins.WebAssembly.Module")}}</p> +{{Compat("javascript.builtins.WebAssembly.Module")}} -<h2 id="Voir_aussi">Voir aussi</h2> +## Voir aussi -<ul> - <li><a href="/fr/docs/WebAssembly">Le portail WebAssembly</a></li> - <li><a href="/fr/docs/WebAssembly/Concepts">Les concepts relatifs à WebAssembly</a></li> - <li><a href="/fr/docs/WebAssembly/Using_the_JavaScript_API">Utiliser l'API JavaScript WebAssembly</a></li> -</ul> +- [Le portail WebAssembly](/fr/docs/WebAssembly) +- [Les concepts relatifs à WebAssembly](/fr/docs/WebAssembly/Concepts) +- [Utiliser l'API JavaScript WebAssembly](/fr/docs/WebAssembly/Using_the_JavaScript_API) |