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

1.1 KiB
Raw Blame History

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