4NK_wallet/docs/ARCHITECTURE.md
Your Name e54821597c
Some checks failed
CI - 4NK_wallet / Code Quality (push) Failing after 33s
CI - 4NK_wallet / Unit Tests (push) Failing after 32s
CI - 4NK_wallet / Integration Tests (push) Failing after 9s
CI - 4NK_wallet / Security Tests (push) Failing after 27s
CI - 4NK_wallet / Docker Build & Test (push) Failing after 8s
CI - 4NK_wallet / Documentation Tests (push) Failing after 3s
CI - 4NK_wallet / Release Guard (push) Has been skipped
CI - 4NK_wallet / Performance Tests (push) Failing after 27s
CI - 4NK_wallet / Notify (push) Failing after 1s
chore(refine): adapter .gitea/docs/scripts au projet 4NK_wallet
2025-08-27 11:56:21 +02:00

30 lines
1.1 KiB
Markdown
Raw 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 - sdk_wallet
## Vue densemble
- Application mobile React Native
- État centralisé avec Redux Toolkit
- UI Web intégrée via `react-native-webview` qui charge `ihm_client` (build Vite)
- Pont de messages `window.postMessage` redirigé vers `ReactNativeWebView.postMessage`
## Flux
1. Lapp charge `assets/ihm/index.html` (build de `ihm_client`)
2. Le script injecté remappe `window.postMessage` et expose `window.__RN_RECEIVE__`
3. `ihm_client` émet `LISTENING`, `LINK_ACCEPTED`, etc. → captés côté RN
4. RN met à jour Redux (tokens, état), puis peut envoyer des messages: `REQUEST_LINK`, `VALIDATE_TOKEN`, etc.
## Découpage
- `src/bridge/` : sérialisation et gestion des messages
- `src/components/` : `WebWallet` (WebView)
- `src/screens/` : `WalletScreen`
- `src/store/` : état (tokens, dernier message)
## Sécurité
- Respect de lorigine dans `ihm_client` (réponses vers `event.origin`)
- Les tokens ne sortent pas du store sans action explicite
## Performances
- Code splitting avec `React.lazy`/`Suspense`
- Build `ihm_client` optimisé via Vite