4NK_wallet/docs/ARCHITECTURE.md
Nicolas Cantu 880fe3857e
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
chore(release): latest 0.1.0 + sécurité/CI/docs
2025-08-27 13:50:32 +02:00

26 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Architecture - 4NK_wallet
## Vue densemble
- Hôte navigateur minimal (HTML + JS) servant denveloppe à lUI `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 liframe via `postMessage`
3. `ihm_client` émet des événements (`LISTENING`, `LINK_ACCEPTED`, etc.) captés côté parent
4. Le parent met à jour lUI (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 lorigine 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`)