Intégrer l'application à rbcindex.com
L'application s'affiche dans une page de rbcindex.com, à l'intérieur du contenu existant, sans remplacer le reste du site.
Étapes
- 1Dans le tableau de bord de cette application (RailInspect), ouvrir Paramètres, section Sécurité du navigateur.
- 2Dans l'intégration en cadre (iframe), choisir « Tout site web », ou « Seulement les sites que je choisis » et ajouter rbcindex.com à la liste des sites autorisés.
- 3Vérifier l'affichage sur l'adresse publiée de l'application : l'intégration en cadre concerne la version publiée.
- 4Depuis l'éditeur de rbcindex.com (application d'un autre workspace), créer ou ouvrir la page qui doit afficher l'application, puis y coller le code ci-dessous.
- 5Ajuster la hauteur du cadre selon l'endroit, puis vérifier l'affichage sur ordinateur et sur téléphone.
<iframe
src="https://functional-rail-safe-track.base44.app"
title="RB&C - Inspections ferroviaires"
style="width:100%;height:900px;border:0;border-radius:12px;"
allow="camera; microphone; geolocation; fullscreen; clipboard-write"
loading="lazy"
></iframe>Pour que le module s'ouvre en cliquant sur « Gare centrale » dans l'onglet du même nom, cette instruction est à coller dans l'éditeur de rbcindex.com : elle décrit le comportement à mettre en place là-bas.
Dans mon application RBC Index, je veux que le module RB&C (inspections ferroviaires) s'affiche directement dans l'onglet « Gare centrale ». Quand on clique sur le bouton « Gare centrale », le module doit apparaître dans la page, sous les éléments existants, à l'intérieur d'un cadre intégré, sans quitter l'application et sans ouvrir de nouvel onglet. Un second clic sur le bouton masque le module.
Code du cadre à utiliser :
<iframe
src="https://functional-rail-safe-track.base44.app"
title="RB&C - Inspections ferroviaires"
style="width:100%;height:900px;border:0;border-radius:12px;"
allow="camera; microphone; geolocation; fullscreen; clipboard-write"
loading="lazy"
></iframe>
Contraintes : le cadre doit occuper 100 % de la largeur disponible, avec une hauteur d'environ 900 pixels sur ordinateur et une hauteur réduite sur téléphone ; il doit rester utilisable sur tablette. Si l'onglet « Gare centrale » est déjà une page dédiée, place le cadre directement dans cette page plutôt que derrière un bouton.Connexion automatique : une personne déjà connectée à rbcindex.com doit arriver connectée dans le module, sans deuxième connexion. Cette instruction se colle aussi dans l'éditeur de rbcindex.com ; elle demande une clé API créée pour cette application.
Le module RB&C doit s'ouvrir avec l'utilisateur déjà connecté : une personne connectée à Index ne doit pas avoir à se connecter une deuxième fois dans le module.
Côté serveur de l'application Index, crée une fonction backend qui :
1. récupère l'adresse courriel de l'utilisateur connecté à Index depuis la session serveur, jamais à partir d'une valeur envoyée par le navigateur ;
2. appelle POST /api/apps/{app_id}/users/provisions avec { "email": <courriel>, "role": "user" } : cela donne accès au module et l'appel est sans effet si la personne a déjà accès ;
3. appelle POST /api/apps/{app_id}/embed-url avec { "email": <courriel>, "target": "live_site" } et renvoie le champ embed_url reçu.
Le frontend utilise ensuite cette embed_url comme source (src) du cadre, et redemande une nouvelle URL à chaque chargement : le jeton est à usage unique et de courte durée.
Authentification de ces appels : une clé API du workspace auquel appartient l'application RB&C, avec les permissions « Provision app users » et « Mint embed sign-in tokens », enregistrée comme secret dans l'application Index et jamais exposée au navigateur. Les appels s'envoient avec les en-têtes api_key et X-Active-Workspace-Id. L'identifiant de l'application et celui du workspace se trouvent dans le tableau de bord de l'application RB&C, sur la page API.
Prévois un repli : si l'appel échoue, afficher le module avec sa page de connexion normale plutôt qu'un cadre vide.Aperçu intégré
Charge l'application dans un cadre, exactement comme elle apparaîtra sur rbcindex.com. Si le cadre reste vide, c'est que l'intégration en cadre n'est pas encore autorisée dans les paramètres de l'application.
Connexion : l'application demande une connexion. Selon le navigateur, la connexion à l'intérieur d'un cadre peut être refusée. Dans ce cas, ouvrez l'application directement à son adresse https://functional-rail-safe-track.base44.app. Pour que la personne arrive déjà connectée depuis rbcindex.com, voir l'instruction « Connexion automatique » ci-dessus.
rbcindex.com appartient à un autre workspace : les deux applications ne partagent ni membres, ni données, ni réglages. Le code ci-dessus s'ajoute dans une page de rbcindex.com, depuis l'éditeur de cette application-là. Une connexion faite sur rbcindex.com ne connecte pas automatiquement l'application intégrée, et les personnes qui doivent utiliser l'application doivent y avoir accès de leur côté.