# Intégration WebView ↔ ihm_client ## Principes - `ihm_client` parle via `window.postMessage` (cf. `ihm_client/docs/INTEGRATION_IFRAME.md`) - En mobile, on charge `ihm_client` dans une WebView - On redirige `window.postMessage` vers `ReactNativeWebView.postMessage` - Canal entrant: RN appelle `window.__RN_RECEIVE__(jsonString)` pour simuler un `MessageEvent` ## Messages pris en charge (extraits) - REQUEST_LINK → LINK_ACCEPTED|ERROR - VALIDATE_TOKEN → VALIDATE_TOKEN - RENEW_TOKEN → RENEW_TOKEN ## Mapping côté RN - Sortant: RN → `__RN_RECEIVE__(jsonString)` (déclenche un `message` côté page) - Entrant: page → `postMessage(any)` redirigé vers RN `onMessage` ## Sécurité - `ihm_client` valide l’origine et les tokens - RN ne manipule pas directement les tokens côté page