Some checks failed
CI - 4NK_wallet / Unit Tests (push) Successful in 20s
CI - 4NK_wallet / Docker Build & Test (push) Successful in 5s
CI - 4NK_wallet / Security Audit (push) Successful in 4s
CI - 4NK_wallet / Release Guard (push) Has been skipped
CI - 4NK_wallet / Code Quality (push) Failing after 22s
CI - 4NK_wallet / Integration Tests (push) Failing after 9s
CI - 4NK_wallet / Security Tests (push) Failing after 4s
CI - 4NK_wallet / Documentation Tests (push) Failing after 3s
CI - 4NK_wallet / Performance Tests (push) Failing after 4s
CI - 4NK_wallet / Notify (push) Failing after 2s
26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
# 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`)
|