- 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
.zshrc est 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 c crée une nouvelle fenêtre, C-a n permet 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.sh extrait 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
- 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.
- 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é
Aucun commentaire pour le moment.