--- title: WebAssembly (WASM) created: 2026-06-06 updated: 2026-06-06 type: concept tags: [tech, web, architecture] confidence: high contested: false sources: [synthesized] --- # 🕸️ WebAssembly (WASM) ## Définition Courte Format binaire d'instructions pour une **machine virtuelle basée sur une pile**, conçu comme cible de compilation portable pour des langages haut niveau (C++, Rust, Go, etc.). ## Explication Détaillée WASM permet d'exécuter du code quasi-natif (proche du C++ en performance) dans : - **Navigateurs** : à côté de JavaScript. - **Edge** : Cloudflare Workers, Fastly. - **Plugins** : extensions sécurisées (Envoy WASM filters). - **Server-side** : Wasmtime, Wasmer. **Avantages** : performance, sécurité (sandbox strict par défaut), polyglotte, portable. **Inconvénients** : écosystème immature hors navigateur, debugging limité. ## Cas d'Usage - Calcul intensif côté navigateur (Figma, Photoshop Web). - Remplacement de Docker dans certains cas (WASM containers, ex: Spin de Fermyon). - Plugins sandboxés (Istio/Envoy). - Edge functions ultra-rapides. ## Outils Liés - **Wasmtime**, **Wasmer** (runtimes). - **Spin** (Fermyon, serverless WASM). - **Emscripten** (compile C/C++ vers WASM). - **AssemblyScript** (TS-like pour WASM). ## Pages Liées - [[edge-computing]] - [[serverless]] - [[concepts-web]] ## Questions Ouvertes - WASM va-t-il remplacer les conteneurs Linux ? - Quel est l'avenir de WASI (WebAssembly System Interface) ?