46 lines
1.5 KiB
Markdown
46 lines
1.5 KiB
Markdown
---
|
|
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) ?
|