# Intégration navigateur (parent) ↔ ihm_client (iframe) ## Principes - `ihm_client` communique via `window.postMessage` (cf. `ihm_client/docs/INTEGRATION_IFRAME.md`) - Dans 4NK_wallet, `ihm_client` est chargé dans un `iframe` (navigateur) - Le parent envoie des objets typés à l’iframe avec `iframe.contentWindow.postMessage(obj, origin)` - Le parent écoute `window.addEventListener('message', handler)` pour les réponses ## Messages pris en charge (extraits) - REQUEST_LINK → LINK_ACCEPTED|ERROR - VALIDATE_TOKEN → VALIDATE_TOKEN - RENEW_TOKEN → RENEW_TOKEN ## Mapping côté parent - Sortant: parent → `iframe.contentWindow.postMessage({ type, ... }, origin)` - Entrant: `event.data` (objet typé) traité par le parent et journalisé ## Sécurité - `ihm_client` valide l’origine et les tokens - Le parent n’injecte pas de scripts dans l’iframe; seule la messagerie est utilisée