# Architecture - 4NK_wallet ## Vue d’ensemble - Hôte navigateur minimal (HTML + JS) servant d’enveloppe à l’UI `ihm_client` - Intégration via `iframe` pointant vers les artefacts `ihm_client` (build Vite) - Pont de messages basé sur `window.postMessage` (parent ↔ iframe) ## Flux 1. La page parent charge `web/index.html` et l’`iframe` `web/ihm/index.html` 2. Le parent envoie des messages typés vers l’iframe via `postMessage` 3. `ihm_client` émet des événements (`LISTENING`, `LINK_ACCEPTED`, etc.) captés côté parent 4. Le parent met à jour l’UI (tokens affichés, dernier type reçu) et peut renvoyer des requêtes (`REQUEST_LINK`, `VALIDATE_TOKEN`, `RENEW_TOKEN`) ## Découpage - `web/index.html` : hôte navigateur (UI de contrôle + iframe) - `web/bridge.js` : pont parent ↔ iframe (logique `postMessage`) - `web/ihm/` : artefacts construits de `ihm_client` ## Sécurité - Respect de l’origine dans `ihm_client` (réponses vers `event.origin`) - Les tokens ne sont pas persistés par défaut côté parent (affichage éphémère) ## Performances - Build `ihm_client` optimisé via Vite (artefacts minifiés) - Faible empreinte du bridge (`web/bridge.js`)