ShiftStage

iPhone · iPad · Apple Watch · un agent sur votre Mac

Lire le diff. Répondre à l’agent. Pousser. Depuis le téléphone.

ShiftStage est une app iPhone qui pilote votre propre Mac : son terminal, git, ses fichiers, ses processus et les agents de code IA qui y tournent. Un petit agent sur le Mac les sert, chiffrés de bout en bout — aucun serveur SSH à ouvrir, aucun port à rediriger.

Gratuit pour toujours pour un Mac sur votre réseau, sans compte. 6,99 $ par mois pour l’atteindre de partout.

Pas encore sur l’App Store : l’app et l’agent sortiront ensemble, une fois l’agent notarisé.

Trois iPhone et une Apple Watch : un diff avec les lignes choisies pour le commit, un agent qui demande à lancer les tests, le terminal après un push et la même question sur la montre

Fonctionne avec les agents déjà installés sur votre Mac

  • Claude Code
  • Codex CLI
  • Gemini CLI
  • Cursor Agent
  • Amp
  • opencode
  • Crush
  • Goose
  • Aider
  • Qwen Code
  • Factory Droid

Trouvés dans le PATH sans configuration. Tout le reste tourne tel quel dans le terminal.

Les services du Mac eux-mêmes, pas une image de son écran

Chaque écran ci-dessous est l’app elle-même, sur un projet d’exemple.

Sessions IA

L’agent s’arrête pour demander. Vous répondez d’où vous êtes.

Confiez une tâche à Claude Code ou Codex, verrouillez le téléphone et partez. Quand il a besoin d’un humain, la question arrive avec la commande et son risque — et les réponses deviennent des boutons, sur le téléphone ou au poignet.

  • Une vue conversation pour Claude Code, Codex, Gemini CLI, Qwen Code et opencode : réponses, appels d’outils et modifications de fichiers, lus dans l’historique de l’outil lui-même. Le terminal brut est à un toucher.
  • La session vit sur le Mac. Fermez l’app, perdez le réseau — elle continue de travailler.
  • Une session lancée à la main dans votre propre terminal apparaît aussi.
  • Vos clés, vos abonnements. Aucun modèle ne tourne chez nous, et la conversation ne nous parvient jamais.
Un iPhone en vue conversation : Claude Code montre un diff qu’il a écrit et demande à lancer swift test, avec les options Yes, Yes and don't ask again et No. À côté, une Apple Watch montre la même commande, marquée risque moyen, autorisée en tournant la couronne.

Git

Un diff qu’on peut vraiment relire sur six pouces.

Git comme structure, pas comme texte récupéré : coloration syntaxique, fragments modifiés marqués dans la ligne, ajouts et suppressions comptés par fichier. Douze fichiers modifiés, quatre méritent de partir — indexez-les, committez, poussez.

  • Indexer des lignes isolées, des blocs entiers, des fichiers, une sélection multiple ou tout un dossier.
  • Recherche dans le diff, avec compteur de résultats.
  • Fetch, pull avec rebase ou merge, push. Les identifiants des dépôts distants restent sur le Mac.
  • Les conflits de fusion arrivent avec leurs trois côtés ; résolution par fichier ou par bloc.
Un iPhone avec le diff de SyncEngine.swift : deux lignes supprimées et huit ajoutées sélectionnées, et un bouton Stage pour les dix lignes choisies.

Terminal

Un vrai PTY avec votre shell, vos dotfiles, vos outils.

Pas un émulateur qui parle à un serveur quelque part : votre shell de connexion sur votre Mac, avec couleurs ANSI et programmes plein écran intacts. Plusieurs sessions à la fois, qui survivent au passage de l’app en arrière-plan.

  • Ctrl, Échap, flèches et Tab sur une barre au-dessus du clavier ; des commandes toutes prêtes en un toucher.
  • Ce que vous tapez s’affiche aussitôt, sans attendre l’écho.
  • sudo a un champ masqué, rempli par Face ID — si vous l’avez autorisé sur le Mac.
Un terminal sur iPhone dans le projet orbit : 48 tests réussis, un commit et un push vers main, avec une barre Échap, flèches et Tab au-dessus du clavier.

Fichiers

Le fichier est sur le Mac. Le Mac n’est pas avec vous.

Tous les espaces de travail partagés par le Mac. Le code s’ouvre coloré, le markdown mis en forme, images et PDF en aperçu — en flux, sans téléchargement préalable.

  • Modifier et enregistrer sur place, avec un avertissement si le fichier a changé sur le disque.
  • Envoyer par la feuille de partage ; déposer une photo de la galerie dans le dossier du projet.
  • Rechercher noms et contenus dans tous les espaces ; les résultats arrivent au fur et à mesure.
  • Ce que vous avez choisi de garder s’ouvre plus tard, même Mac en veille.
Un iPhone montrant SyncEngine.swift avec coloration et numéros de ligne, et dans la barre la recherche, le mode lecture et Save.

Et le reste de la machine

  • Historique des commits en graphe de branches, avec HEAD, main, origin/main, une branche de fonctionnalité et le tag v2.4.0.

    Historique

    N’importe quelle branche en liste ou en graphe avec ses tags. Filtre par auteur, fichier ou message ; revert, cherry-pick, branche ou reset depuis un commit.

  • Une liste de services sur le Mac : serveur de dev, API, Postgres et Redis en marche, un worker de file planté, deux arrêtés.

    Processus

    Ce qui tourne, ce que ça coûte, quels ports sont occupés. Vos serveurs de dev sous surveillance, et une alerte quand l’un d’eux tombe.

  • Exécution n° 218 sur le téléphone : le déploiement en production attend une décision, avec Approve et Reject, et le job de build réussi.

    CI/CD

    GitHub Actions, GitLab, Jenkins et TeamCity. Relancer les jobs échoués, approuver un déploiement en attente, lire un journal replié par étapes. Aucun Mac nécessaire.

  • Deux écrans d’Apple Watch : le Mac connecté, Claude Code en attente d’autorisation et Codex en attente de réponse, et une commande à risque moyen autorisée en tournant la couronne.

    Apple Watch

    Sa propre clé, en direct vers le Mac. Risque faible : un toucher ; moyen : un tour de couronne ; élevé : seulement sur le téléphone.

Et aussi : des notifications qui nomment le build ou la session, des Live Activities pour les longs builds, transferts et sessions d’agents, un widget avec l’état du Mac, et un journal d’accès qui reste sur le Mac.

Une seule configuration, sur votre réseau

  1. Installer l’agent

    Une app Mac signée et notarisée, depuis ce site. Elle ne partage que les dossiers que vous nommez.

  2. Associer le téléphone

    Scannez le code affiché par l’agent et confirmez les mêmes mots sur les deux écrans. Sans compte.

  3. Quitter le bureau

    Sur le même Wi-Fi, ils se parlent directement. Ailleurs aussi — et par un relais qui ne voit que du chiffré quand les réseaux refusent.

Pourquoi pas les outils que vous avez déjà

Ce sont de bons outils. Ils répondent à un autre problème.

Question ShiftStage Apps SSHTermius, Blink Shell, Moshi Claude Code Remote Control Bureau à distanceScreens, Jump Desktop
Ce que reçoit le téléphone Des écrans natifs pour terminal, git, fichiers, processus, CI/CD et sessions d’agents Un terminal ; Moshi ajoute des vues d’agents par son propre hook La conversation d’une session Claude Code Une vidéo d’un écran conçu pour la souris
Agents de code Onze trouvés dans le PATH ; les questions deviennent des boutons Tous, en texte de terminal Claude Code uniquement Ce qui est à l’écran
Sur le Mac L’agent ; association sur votre réseau Session à distance activée, clés configurées claude remote-control, connecté à claude.ai Partage d’écran ou l’app hôte de l’éditeur
Hors de chez soi Intégré : direct d’abord, relais chiffré sinon À vous de l’organiser : un VPN comme Tailscale, ou une redirection de port Par l’API d’Anthropic Intégré, par le service de l’éditeur
Stocké sur le serveur d’un autre Rien. Le relais transmet des octets qu’il ne peut pas lire Rien, par votre propre chemin La transcription de la session, pendant la connexion Selon l’éditeur

D’après la documentation de chaque produit, septembre 2026 : Remote Control, Moshi et Tailscale, Screens Connect, Jump Desktop Connect. Quelque chose n’est plus à jour ? Dites-le-nous.

Votre code reste entre vos appareils

Nous ne stockons ni vos fichiers, ni vos commandes, ni la sortie de vos sessions. Pas par politique : ils ne quittent jamais la paire d’appareils sous une forme lisible par quelqu’un d’autre.

Trois chemins entre le téléphone et le Mac iPhone Mac même réseau, aucun serveur direct par internet relais
Trois chemins, essayés dans cet ordre. Le relais ne porte que des octets qu’il ne peut pas lire.
  • TLS 1.3 sur QUIC, dans les deux sens. Le téléphone et le Mac s’authentifient mutuellement par des clés d’appareil gardées dans la Secure Enclave. Nos nœuds savent que deux empreintes se parlent, pas ce qu’elles disent.
  • L’association exige le Mac devant vous. Un code sur son écran, les mêmes mots sur les deux appareils, et sur le Mac une liste où chaque appareil se révoque d’un clic.
  • C’est le Mac qui décide. Le téléphone ne voit que les dossiers nommés. Terminer des processus et sudo depuis le téléphone sont désactivés au départ, et le relais peut être interdit pour chaque Mac.
  • Un journal que vous gardez. Chaque opération demandée par un appareil est consignée sur le Mac — jamais le contenu des fichiers ni la sortie. Le protocole n’a aucune commande pour le lire de l’extérieur.
  • Votre propre nœud, si vous voulez. Le serveur de rendez-vous et de relais peut être auto-hébergé : personne — nous compris — ne voit alors qui s’est connecté à qui. Comment
  • Pas de traqueurs ici non plus. Ce site n’exécute aucun script, ne pose aucun cookie et ne charge rien depuis d’autres domaines.

Un seul prix. Les fonctions ne sont pas rationnées.

L’abonnement ne débloque pas de fonctions. Il ouvre la distance et l’échelle.

À la maison

Gratuit

pour toujours, sans compte

  • Un Mac sur votre réseau
  • Tous les services : terminal, git, fichiers, processus, sessions IA, CI/CD, montre
  • Pas une seule requête vers nos serveurs
Télécharger

Partout

6,99 $ / mois

ou 69,99 $ par an — environ deux mois offerts

  • Tout ce qu’offre la version gratuite
  • Le Mac joignable depuis n’importe quel réseau : en direct ou par le relais
  • Autant de Mac que vous voulez
  • Votre propre nœud de relais au lieu du nôtre
Essai gratuit de 14 jours

Via l’App Store : essai, renouvellement et résiliation comme pour tout autre abonnement. Prix américains ; le Store affiche le vôtre. Si l’abonnement expire en pleine session, celle-ci n’est pas coupée — c’est la connexion suivante depuis l’extérieur qui ne s’ouvrira pas.

Questions

Est-ce un bureau à distance ?

Non. Un bureau à distance transmet les pixels d’un écran conçu pour la souris. ShiftStage transmet les services eux-mêmes — le terminal est un terminal, le diff un diff — et le téléphone les dessine nativement.

Est-ce qu’il fait tourner des modèles d’IA ?

Non. Il pilote les CLI agentiques déjà installées sur votre Mac, avec vos clés, votre configuration et vos abonnements. Rien ne nous est envoyé.

Pourquoi pas simplement SSH ?

Utilisez SSH — le terminal ici ne le remplace pas. Ce qu’un tuyau ne donne pas : un diff structuré, des fichiers avec aperçu, une liste de processus, une notification à la fin du build, ou la question d’un agent à laquelle répondre depuis la montre. Et aucun serveur SSH n’a besoin d’être joignable de l’extérieur.

Sur quels réseaux ça marche ?

Même Wi-Fi : en direct, trouvé via Bonjour. Réseaux différents : en direct dès que la traversée du NAT réussit, par un relais sinon. Réseau mobile et Wi-Fi d’hôtel sont le cas normal, et un point d’entrée sur le port 443 existe pour les réseaux qui bloquent tout le reste.

Et si le Mac est en veille ?

Ça ne marche pas, et l’app le dit au lieu d’attendre un délai d’expiration. L’agent peut garder le Mac éveillé pendant votre absence, si vous l’activez. Les fichiers gardés sur le téléphone s’ouvrent sans le Mac.

De quoi ai-je besoin ?

Un iPhone ou iPad sous iOS 18 ou plus récent, un Mac sous macOS 15 ou plus récent, et une Apple Watch sous watchOS 11 si vous voulez répondre au poignet.

Android ? Un agent Linux ?

Non. L’app est native iOS, iPadOS et watchOS ; l’agent est natif macOS. Une coquille multiplateforme aurait coûté exactement ce pour quoi le produit existe.

ShiftStage sur iPad, iPhone et Apple Watch : votre Mac dans votre poche

Vivez votre vie.
Le Mac continue de travailler.

Gratuit pour un Mac sur votre réseau. 6,99 $ par mois de partout.