Les iframes comme primitive de composition universelle.
Chaque service de conteneur — terminal, affichage, fichiers, éditeur de code, navigateur, interface SQLite — est une URL HTTPS intégrable en iframe. Les tableaux de bord ne sont pas construits au-dessus de l'infrastructure ; ils en sont assemblés.
Un fichier HTML + iframes = UI d'infrastructure personnalisée · pas de SDK · pas de postMessage
Ne construisez pas un tableau de bord au-dessus de votre infra. Assemblez-le depuis votre infra.
Les tableaux de bord traditionnels lisent la base de données, interrogent des APIs, affichent des chiffres et des graphiques. Un tableau de bord Hoody intègre des iframes des services eux-mêmes — terminaux en direct, affichages actifs, arborescences de fichiers éditables. Pas de décalage de synchronisation car il n'y a rien à synchroniser.
Pas de couche de polling
Le tableau de bord n'interroge pas un endpoint de monitoring. Il intègre la chose surveillée.
Lire et agir
Vous voyez un pic de métrique ? Cliquez sur le terminal intégré à côté et tapez `top`. Pas de changement de contexte.
Par client, par projet, par env
Composez des tableaux de bord depuis des URLs — toute combinaison est un tableau de bord.
Composable par IA
Un LLM peut émettre du HTML avec des URLs d'iframe. UI d'observabilité personnalisée, générée à la demande.
Modifiez le conteneur. L'iframe reflète le changement.
Pas de postMessage. Pas de protocole parent-enfant. Une iframe affiche une URL de service ; le service est mis à jour via l'API HTTP ; la prochaine requête de l'iframe récupère le nouvel état. L'iframe et l'API sont le même conteneur.
L'app intègre une URL de service
La page parente insère une iframe pointant vers une URL de service de conteneur dans sa mise en page.
L'app envoie une requête HTTP de contrôle
POST /api/v1/files/upload (ou tout autre appel API) — authentifié sur le même conteneur.
L'iframe récupère le nouvel état
Actualisation automatique, SSE ou interaction utilisateur déclenche une nouvelle requête. Le nouveau fichier est visible dans l'iframe.
Pas de protocole enveloppe
Votre app n'envoie jamais de postMessage à l'iframe. Elle met simplement à jour le conteneur ; l'iframe voit le changement à son prochain rendu.
Les iframes s'affichent dans tous les navigateurs. Tous les navigateurs sont sur tous les appareils.
Un tableau de bord Hoody intégré fonctionne sur téléphone. Sur tablette. Sur le navigateur d'une TV. Sur une montre connectée. Sur le navigateur d'un casque VR. La propriété d'intégrabilité s'étend à tout le paysage des appareils car le navigateur s'y étend.
La primitive de composition est iframe + HTTPS. Les deux sont universels. C'est la seule raison pour laquelle la parité entre appareils est automatique.
Un LLM peut composer un tableau de bord depuis des URLs de conteneurs.
Demandez à un agent « construis-moi un tableau de bord de contrôle de santé pour ces trois conteneurs ». Il émet du HTML avec des balises iframe pointant vers les URLs terminal, affichage et exec que vous avez nommés. Le résultat est un tableau de bord réel et en direct en un seul tour de prompt.
L'agent reçoit la spec
« Je dois surveiller trois conteneurs : frontend, backend, db. Afficher le log terminal de chacun. »
L'agent émet du HTML
Template avec trois balises iframe pointant vers les URLs terminal-1 correctes pour chaque conteneur.
Servir depuis n'importe où
Collez dans un fichier statique, une page Notion qui autorise les iframes, ou un conteneur Hoody dédié faisant tourner http-3000.
Ouvrir l'URL
Tableau de bord en direct. Composé depuis l'infrastructure, pas depuis un produit de tableau de bord.
Là où l'intégrabilité rencontre les limites du navigateur.
Les iframes sont une primitive du navigateur. Le navigateur applique des règles sur ce qui peut et ne peut pas être intégré. Ce sont des contraintes universelles, pas spécifiques à Hoody — mais elles comptent quand on compose des UIs.
X-Frame-Options / CSP
Les URLs externes qui définissent `X-Frame-Options: DENY` ou `frame-ancestors 'none'` ne peuvent pas être intégrées. Les propres services de Hoody ne le font pas ; les URLs tierces que vous intégrez peut-être.
Contenu mixte
Intégrer une URL HTTP dans une page HTTPS est bloqué. Les URLs Hoody sont toujours HTTPS — fonctionne partout.
Cookies tiers
Les navigateurs bloquent de plus en plus les cookies tiers. L'auth dans les iframes intégrées peut nécessiter des tokens par requête plutôt que des cookies de session.
Stockage tiers
Le localStorage à l'intérieur d'une iframe est limité à l'origine de l'iframe. L'état inter-iframes doit venir du conteneur, pas du navigateur.
Construisez le tableau de bord depuis l'infrastructure, pas au-dessus.
Un fichier HTML. Quelques balises iframe. Des conteneurs en cours d'exécution. C'est la stack complète.
Voir aussi — /platform/os pour la composition dans Hoody, /kit/workspaces pour le runtime Workspace, /methods/multiplayer pour les sessions iframe partagées.