Remote Sessions
L’activation des Remote Sessions permet d’accéder à la même session depuis le Web ou mobile via Mission Control de GitHub. Une fois activées, la session est connectée à Mission Control et une URL partageable (lien ou QR code) est émise. Si vous souhaitez exécuter la session elle-même dans l’environnement hébergé par GitHub plutôt qu’en local ou sur votre propre serveur, utilisez Cloud Sessions.Prérequis
- L’utilisateur est authentifié (token GitHub ou utilisateur connecté)
workingDirectoryest un dépôt GitHub
Options de configuration supprimées
Le SDK officiel 1.0.26 a supprimé l’option clientremote, l’option de session remoteSession et le flag de démarrage CLI --remote. Pour partager une session, activez-la à la demande avec $session->rpc()->remote()->enable(). Les RPC existants des sessions distantes continuent de fonctionner.
Activation par session (à la demande)
Pour partager une session, basculez l’accès distant via le RPC. C’est l’équivalent des commandes CLI/remote on et /remote off.
Se connecter à une session distante existante (portée serveur)
Pour connecter le serveur CLI à une session distante existante, appelez$client->rpc()->sessions()->connect(). Passez le sessionId distant dans ConnectRemoteSessionParams. Le résultat contient le sessionId côté SDK et les métadonnées de la session distante.
Remote Control à l’échelle du runtime (mode TCP)
La propriétéremote de RemoteControlConfig configure le Remote Control à l’échelle du runtime. Elle n’a aucun rapport avec l’option de démarrage client remote qui a été supprimée.
En mode TCP, utilisez $client->rpc()->sessions() pour gérer un Remote Control unique pour tout le runtime. Contrairement à remote()->enable() par session, ces méthodes vous permettent de démarrer, arrêter et transférer le Remote Control entre sessions, et de lire son état actuel.
off, connecting, active ou error. Lorsque l’état est active, vous pouvez aussi lire frontendUrl et isSteerable.
Génération de QR code
L’URL distante récupérée peut être convertie en QR code et remise à un mobile. Vous pouvez utiliser BaconQrCode, également utilisé par Laravel Fortify.Points d’attention
- Si
workingDirectoryn’est pas un dépôt GitHub,remote()->enable()peut renvoyer une erreur. - Configurez correctement les identifiants (
github_tokenouuse_logged_in_user).
Voir aussi
Pour les dernières informations, consultez le dépôt GitHub.