# Planificateur de budget de performance et de règles de liaison WASM / WASI Preview 2 Component Model + JSPI

Planifie un déploiement de composants WebAssembly : graphe de liaisons façon wac avec commandes plug, support WASI Preview 2 sur cinq runtimes, signalements JSPI et budgets taille / démarrage à froid / TTFB / mémoire.

> Page canonique: https://elysiatools.com/fr/tools/wasm-wasi-component-model-jspi-wasi-copilot-perf-budget-and-link-rule-planner

- **Catégorie:** Validation

- **Mots-clés:** wasm, wasi, modèle de composants, règles de liaison, démarrage à froid, streaming, budget, matrice de runtimes

## Présentation

Les composants sont analysés en un graphe de liaisons socket/plug façon wac avec tri topologique, détection de cycles et commandes wac plug / wac targets générées ; la matrice de support sépare le WASI 0.2 stable (wasi-cli, wasi:http/proxy) des propositions (keyvalue, config) entre wasmtime, Wasmer, WasmEdge, WAMR et V8 ; taille, démarrage à froid p50/p95/p99, TTFB en streaming et mémoire par instance sont modélisés face à vos budgets ; JSPI est signalé natif V8 mais non standardisé W3C.

## Entrées

- **Manifeste des composants** (textarea): One per line: name, imports, exports, size_kb (use "-" for empty lists) e.g. api-gateway, wasi:http/incoming-handler@0.2.0 wasi:keyvalue/store@0.1.0, wasi:http/outgoing-handler@0.2.0, 850 auth-plug, -, wasi:http/incoming-handler@0.2.0, 220 kv-cache, -, wasi:keyvalue/store@0.1.0, 150
- **Runtimes cibles** (select)
- **Interfaces WASI requises** (select)
- **Utilise JSPI (pont async↔sync)** (checkbox)
- **Réponses en streaming (wasi:http)** (checkbox)
- **Instances concurrentes attendues** (number)
- **Mémoire linéaire par instance (Mo)** (number)
- **Budget de taille (Ko)** (number)
- **Budget de démarrage à froid p99 (ms)** (number)
- **Budget TTFB (ms)** (number)

## Quand l'utiliser

- Avant de déployer une architecture modulaire basée sur des composants WebAssembly et WASI Preview 2.
- Pour composer des composants via des commandes wac et vérifier l'absence de cycles de dépendances.
- Lors de l'évaluation de la compatibilité multi-runtime (Wasmtime, Wasmer, WasmEdge, WAMR, V8) et de l'impact de JSPI ou des propositions WASI.

## Fonctionnement

- Saisissez la liste de vos composants avec leurs interfaces importées et exportées ainsi que leur taille binaire.
- Sélectionnez les runtimes cibles, les interfaces WASI nécessaires, l'activation de JSPI et le mode de réponse en streaming.
- Définissez vos contraintes opérationnelles, incluant le nombre d'instances, la mémoire allouée et vos budgets de taille, TTFB et démarrage à froid.
- Analysez le graphe de liaisons topologique généré, les commandes wac associées et la matrice de conformité aux budgets de performance.

## Cas d'usage

- Conception d'une passerelle API serverless assemblée avec wasi:http et des modules d'authentification ou de cache.
- Dimensionnement de micro-composants autonomes pour l'edge computing et l'embarqué avec WAMR.
- Vérification de la portabilité d'une chaîne de composants entre un environnement Wasmtime natif et des Isolates V8.

## Questions fréquentes

### Quels runtimes WebAssembly sont évalués par l'outil ?

L'outil prend en charge Wasmtime (Cranelift), Wasmer, WasmEdge, WAMR (micro/AOT) et les Isolates V8.

### Comment sont calculées les commandes de liaison wac ?

L'outil effectue un tri topologique des interfaces déclarées pour générer la séquence exacte des commandes wac plug et wac targets.

### Quel est le statut de la prise en charge de JSPI ?

JSPI est pris en charge nativement par V8 pour ponter synchrone et asynchrone, mais n'est pas encore standardisé par le W3C.

### Comment le streaming influe-t-il sur le budget TTFB ?

L'activation du streaming wasi:http permet d'émettre les en-têtes et les premiers octets immédiatement, réduisant le TTFB par rapport à une réponse complète mise en mémoire tampon.

### Les interfaces de proposition WASI sont-elles traitées différemment du standard 0.2 ?

Oui, les propositions comme wasi:keyvalue et wasi:config sont signalées séparément des interfaces stables (wasi:cli, wasi:http/proxy) selon le runtime ciblé.

## Outils associés

- [Vérificateur de citations des codes municipaux américains (Municode) et détecteur de renumérotation](https://elysiatools.com/fr/tools/us-state-county-municode-code-of-ordinances-section-subsection-citation-link-checker): Analyse les citations de codes municipaux à cinq niveaux (Title/Chapter/Article/Section/Subsection/Appendix), génère les citations juridiques Bluebook (Règle 12.9.2), détecte les renumérotations après ordonnances récentes (trous, doublons, désordre) et vérifie en option les liens hébergés Municode / American Legal / eCode360.
- [Calculateur de somme de contrôle Mod-11](https://elysiatools.com/fr/tools/mod11-checksum): Valide ou génère des nombres avec l'algorithme Modulus-11 (ISO 7064) du chiffre de contrôle, schémas ISBN-10 (10..2), ID norvégienne (3,7,6,1,8,9,4,5,2) et générique 2-7.
- [Générateur d'idées de noms de domaine IA](https://elysiatools.com/fr/tools/ai-domain-name-idea-generator): Entrez des mots-clés de marque : l'IA génère jusqu'à 10 idées de domaine, en filtrant les déjà pris via DNS + RDAP. Pour entrepreneurs et développeurs.
- [Explorateur d’Expressions Cron](https://elysiatools.com/fr/tools/cron-expression-explainer): Analyse une expression cron (5/6 champs ou Quartz) en description en langage naturel, détaille les champs et liste les N prochaines exécutions dans tout fuseau IANA, avec une explication IA
- [Coach cycle time & throughput Kanban](https://elysiatools.com/fr/tools/kanban-cycle-time-throughput-coach): Importez des horodatages créé→commencé→résolu depuis un CSV (façon Jira ou simple) et obtenez les métriques de flux comme les lisent les coaches agile : percentiles de lead/cycle time, âge du WIP, débit par jour/semaine/mois, un diagramme de flux cumulé et une vérification de la loi de Little.
- [Testeur de paire de clés et d'encapsulation ML-KEM / Kyber](https://elysiatools.com/fr/tools/ml-kem-kyber-keypair-and-encapsulation-tester): Génère des paires de clés ML-KEM-512/768/1024 (FIPS 203 / CRYSTALS-Kyber), encapsule un secret partagé aléatoire avec la clé publique, le décapsule avec la clé privée et vérifie l'égalité — en contrôlant en direct les tailles exactes des trois jeux de paramètres.
- [Générateur de PKCE Code Verifier et Challenge](https://elysiatools.com/fr/tools/pkce-code-verifier-generator): Génère, valide et vérifie les paires code_verifier / code_challenge PKCE (RFC 7636) OAuth2 / OIDC. Trois modes : (1) générer une nouvelle paire depuis des octets aléatoires cryptographiques (256/384/512/768 bits), (2) auditer un verifier existant selon le RFC — longueur (43–128), charset \[A-Za-z0-9-._~\] et ≥256 bits d'entropie, et (3) vérifier une paire en recalculant BASE64URL(SHA256(verifier)). Construit en option l'URL complète de requête d'autorisation et le corps d'échange de token. Complète le nonce-generator générique (qui n'émet que la paire) avec l'audit de conformité RFC et la vérification de paire.
- [Vérificateur d'en-têtes de sécurité](https://elysiatools.com/fr/tools/security-headers-checker): Audite les en-têtes de réponse HTTP pour la conformité de sécurité — analyse les en-têtes bruts que vous collez (sans réseau) et les note selon l'ensemble d'en-têtes sécurisés OWASP avec des vérifications au niveau valeur : HSTS max-age, CSP unsafe-inline/eval, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP/COEP/CORP et plus. Renvoie une note (A+ à F) plus des constatations par en-tête avec des recommandations prêtes à copier.

## Exemples

- [WebAssembly (WASM) Calcul Haute Performance](https://elysiatools.com/fr/samples/webassembly): WebAssembly pour les calculs haute performance dans le navigateur avec une vitesse quasi-native
- [Exemples de Traitement d'Images Web Python](https://elysiatools.com/fr/samples/web-image-processing-python): Exemples de traitement d'images Web Python utilisant PIL/Pillow incluant la lecture, l'enregistrement, le redimensionnement et la conversion de format
- [Exemples de Visionneuse WASM](https://elysiatools.com/fr/samples/wasm-viewer-samples): Un exemple WASM pour la prévisualisation dans le navigateur
- [Exemples de Traitement d'Images Android Java](https://elysiatools.com/fr/samples/android-image-processing-java): Exemples de traitement d'images Android Java incluant lecture/écriture, mise à l'échelle et conversion de format
