Passer au contenu principal

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é)
  • workingDirectory est un dépôt GitHub

Options de configuration supprimées

Le SDK officiel 1.0.26 a supprimé l’option client remote, 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.
L’état vaut off, connecting, active ou error. Lorsque l’état est active, vous pouvez aussi lire frontendUrl et isSteerable.
Pour signaler au runtime que la possibilité de pilotage à distance d’une session a changé, utilisez le RPC au niveau de la session.

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 workingDirectory n’est pas un dépôt GitHub, remote()->enable() peut renvoyer une erreur.
  • Configurez correctement les identifiants (github_token ou use_logged_in_user).

Voir aussi

Pour les dernières informations, consultez le dépôt GitHub.
Dernière modification le 26 octobre 2026