- Configuration permettant d’exécuter 6 agents Claude Code en parallèle uniquement avec un smartphone pour effectuer des tâches de développement
- Combinaison de Termius et mosh, du VPN Tailscale et d’une VM Vultr pour maintenir un environnement de développement distant stable sans ordinateur portable
- Grâce au maintien des sessions tmux et aux notifications webhook Poke, le développement asynchrone est possible, avec réponse par notification push uniquement lorsque Claude demande une entrée
- La sécurité est renforcée par une défense multicouche avec accès réservé à Tailscale, nftables et fail2ban
- Mise en place d’un workflow de développement entièrement mobile permettant de relire des PR, refactoriser et corriger des bugs en attendant un café ou pendant les déplacements
Vue d’ensemble de l’architecture
- Depuis le smartphone, on se connecte via l’application Termius en mosh, à travers le VPN Tailscale, vers une VM Vultr
- À l’intérieur de la VM, Claude Code s’exécute, et le hook PreToolUse appelle le webhook Poke pour envoyer une notification push
- L’utilisateur reçoit l’alerte puis répond aux questions de Claude dans une boucle d’interaction
- Cette méthode met en place une boucle de développement asynchrone, permettant de travailler n’importe où et à tout moment
Détails de l’infrastructure
- La VM Vultr est située dans la région Silicon Valley, avec l’offre
vhf-8c-32gb- Le coût est de 0,29 $/heure, soit environ 7 $ par jour
- L’accès réservé à Tailscale rend SSH non public, et tous les ports publics sont bloqués
- Les scripts vm-start et vm-stop automatisent le démarrage et l’arrêt de la VM
- Via les raccourcis iOS, il est possible de démarrer directement la VM avec l’API Vultr
- La couche de sécurité repose sur un pare-feu cloud, nftables et fail2ban
Environnement terminal mobile
- Termius prend en charge SSH et mosh sur iOS/Android
- mosh maintient la connexion même lors des changements de réseau, ce qui permet de conserver la session lors d’un passage Wi‑Fi ↔ cellulaire ou en mode économie d’énergie
- Exemple de commande :
mosh --ssh="ssh -p 47892" [email protected]
- Point faible : pas de prise en charge du transfert d’agent SSH ; pour les tâches nécessitant une authentification GitHub, on utilise un SSH classique dans tmux
Persistance des sessions
- Le fichier
.zshrcest configuré pour se connecter automatiquement à une session tmux à la connexion- Même si Termius est fermé puis rouvert, la session reste intacte
- Plusieurs agents Claude sont exécutés en parallèle dans des fenêtres tmux
C-a ccrée une nouvelle fenêtre,C-a npermet de passer à la suivante
Système de notifications push
- Lorsqu’un événement AskUserQuestion de Claude Code se produit, le hook PreToolUse s’exécute
- Le script
poke-notify.shextrait la question et envoie une requête POST au webhook Poke - Une notification est reçue sur le téléphone, ce qui permet de consulter la question et de répondre immédiatement
- Le script
- Grâce à cela, l’utilisateur peut pratiquer un développement entièrement asynchrone sans surveiller en permanence le terminal
Modèle de confiance et de sécurité
- Claude Code fonctionne en mode permissif, et la VM est isolée, sans accès possible aux systèmes de production
- Elle ne contient que le minimum de secrets nécessaires au développement
- En cas de comportement inattendu, la VM peut être jetée
- Le contrôle des coûts limite aussi les risques, avec une dépense quotidienne plafonnée
Architecture de développement parallèle
- Git worktree est utilisé pour faire tourner simultanément plusieurs branches de fonctionnalités
- Par exemple :
myproject-sidebar,myproject-dark-mode, etc.
- Par exemple :
- Chaque worktree dispose de sa propre fenêtre tmux et de son propre agent Claude
- Les ports sont déterminés à partir d’un hash du nom de branche, évitant tout conflit
- Exemple de calcul :
django_port = 8001 + (hash_val % 99)
- Jusqu’à 6 agents peuvent être lancés en même temps
Cas d’usage
- Il est possible d’effectuer des revues de PR, du refactoring et des corrections de bugs en attendant un café ou pendant les déplacements
- Pendant que Claude réalise une tâche de 10 à 20 minutes, l’utilisateur peut faire autre chose, puis reprendre après avoir reçu une notification et répondu
- Un cycle de développement complet sans poste fixe devient possible directement depuis un smartphone
Résumé des composants
- Vultr : VM cloud à 0,29 $/heure
- Tailscale : réseau privé sécurisé
- Termius : client SSH mobile
- mosh : shell résilient au réseau
- tmux : maintien de la persistance des sessions
- Poke : notifications push basées sur webhook
- Claude Code : exécution des tâches de développement réelles
Conclusion
- L’ensemble de l’environnement peut être mis en place avec une seule session Claude Code
- Il suffit de fournir une clé API Vultr et l’accès à GitHub pour que Claude configure automatiquement une VM de développement sécurisée
- Au final, cela montre comment mettre en place un environnement de développement complet avec un simple smartphone, en maximisant la mobilité et l’efficacité
4 commentaires
Avis Hacker News
La boîte de Pandore a été ouverte. On se dirige désormais vers un monde où les travailleurs du tertiaire travailleront 24 heures sur 24
Je ressens la contradiction qu’il y a à discuter avec des LLM en faisant la vaisselle, en promenant le chien ou en faisant les courses pour créer des fonctionnalités sans intérêt, tout en détruisant au final l’environnement dans lequel vivront nos enfants
J’utilise les LLM utilement tous les jours, mais à long terme la dissonance cognitive est énorme
Au final, nous faisons soit le choix de croire que nous ne pouvons pas changer ce système, soit un pacte faustien pour y trouver un bénéfice personnel
Au bout du compte, il faut un équilibre avec une intervention humaine. L’automatisation fondée sur les LLM suivra probablement une trajectoire semblable
Pas la peine d’être trop pessimiste, on a encore le temps de reprendre son souffle
Un monde où les outils font ça à ma place n’a ni intérêt ni plaisir. Le monde changera, mais ce sera l’affaire des jeunes générations
Pour mes projets personnels, j’utilise Claude Code dans un café ou sur de courts créneaux
En fin de compte, si l’on définit soi-même ses limites, on peut éviter d’être victime de cette dynamique négative
J’ai un MacBook Pro rapide posé sur mon bureau au bureau, avec un environnement basé sur tmux, tailscale et git worktree
Grâce à tailscale et ssh, je peux aussi faire du vibecode sur mon téléphone, mais le travail de qualité reste possible uniquement devant le bureau
Quand on construit un produit SaaS, il faut examiner soigneusement les revues de code, les logs, les métriques et l’analyse du comportement utilisateur
Au final, il faut un grand écran et un clavier. Même si le monde change, les fondamentaux ne changent pas
C’est une configuration assez sophistiquée. J’aime particulièrement la façon dont Tailscale est utilisé
J’utilise une approche plus simple avec Claude Code for Web dans l’app iPhone
Anthropic démarre plusieurs VM de 21 Go par session, sans frais supplémentaires
Il m’arrive même de lancer plusieurs sessions en parallèle pendant que je promène le chien. Ça fonctionne plutôt bien
J’utilise maintenant la combinaison Tailscale + Terminus(iPad) + machine à la maison, et j’essaie de trouver une façon de gérer plusieurs fonctionnalités en même temps
Je me demande si tu as acquis assez de confiance pour faire entièrement confiance à un LLM
L’app mobile propose l’aperçu en direct de l’application, docker-in-docker et des fonctions multi-agents
Je suis aussi en train de construire quelque chose de similaire — le projet clauderon
Les sessions tournent sur le serveur avec Docker, K8s et Zellij, et sont isolées via Git worktree + proxy
On peut gérer les sessions Claude Code via une interface web ou une app, et les conteneurs n’ont pas d’identifiants
Comme le contrôle de l’environnement est plus libre qu’avec Claude Code Web, c’est plus stable
C’est encore WIP, mais l’objectif est une UX plus conviviale
Je déteste taper de longues phrases sur téléphone, donc ce workflow ne me convient pas
À la place, quand Claude Code demande une entrée, Home Assistant envoie une notification push et je reviens à l’ordinateur pour continuer
Il y a des limites pour les petits messages ou les commentaires de revue.
J’aimerais que l’application mobile Claude puisse refléter Claude Code
Cela permet une transcription vocale de haute qualité via le fournisseur d’IA de son choix
On voit même apparaître des modèles pliables à double écran sur des sites comme gpdstore.net
ttyd partage le terminal en http, ce qui permet de le piloter depuis le navigateur du téléphone avec saisie vocale
Je me demande ce qu’on fait quand Claude se trompe ou ajoute des milliers de lignes de code
Pour un projet perso sans tests ni contrôle qualité, passe encore, mais cela peut devenir un cauchemar de maintenance
Jules et GitHub Copilot Agent suffisent aussi pour un workflow similaire
La documentation de Claude Code for Web vaut aussi le détour
Si l’on met en place soi-même un environnement cloud, on peut faire des tests end-to-end jusqu’à la base de données ou à des appels d’outils spécifiques
J’ai aussi construit quelque chose de similaire dans mon entreprise
Je l’ai modifié pour prendre en charge le collage d’images dans les sessions SSH
Si un chemin de fichier local est détecté, il est automatiquement envoyé au serveur et l’entrée d’origine est transmise telle quelle
Maintenant, si je fais glisser un fichier depuis Finder, il est automatiquement téléversé sur le serveur. Cette synchronisation transparente est impressionnante
La méthode qui consiste à hasher le port à partir du nom de branche a une probabilité de collision d’environ 14 %
Avec 6 branches et 99 emplacements de port, c’est un hachage inefficace pour parler d’« absence de collision »
En alternative, il y a aussi la méthode qui consiste à lancer une VM sur exe.dev
Il paraît que l’accès mobile est pris en charge nativement.
Je ne l’ai utilisé que sur ordinateur portable, mais un agent de code en navigateur m’a semblé plus pratique qu’un terminal
Hum… je me demande s’il faut vraiment aller jusque-là…
En utilisant la version web de Claude Code, je me suis dit que ce serait bien de pouvoir donner des commandes à la voix sans avoir à taper. Mais je ne connais pas vraiment de moyen pour faire reconnaître la voix en coréen et la convertir en texte...
Sur Android, appuyez sur le bouton micro du clavier, dites ce que vous voulez saisir, puis appuyez à nouveau sur le bouton micro pour que le texte soit saisi en une seule fois en coréen.