Aller au contenu principal
MAG&Cie
Retour aux tutos
GratuitIntermédiaireIA

Installer Paseo sur un serveur et piloter ses agents de code IA depuis son téléphone — guide 2026

Guide pas-à-pas pour déporter vos agents de code (Claude Code, Codex…) sur un VPS ou un Mac mini avec Paseo : installation, appairage du téléphone (relais chiffré, Tailscale ou SSH), worktrees, tâches parallèles, planifications et checklist de sécurité.

8 octobre 202645 min

Vous saurez faire

  • Installer le démon Paseo sur un serveur, en natif ou avec Docker
  • Installer et authentifier un agent de code sur ce serveur
  • Connecter le téléphone et l'ordinateur au démon via relais chiffré, Tailscale ou SSH
  • Lancer des tâches en parallèle, chacune dans son git worktree et sa branche
  • Planifier des agents récurrents (tri du matin, mises à jour de dépendances)
  • Appliquer une checklist de sécurité avant d'utiliser le serveur au quotidien

Pré-requis

  • Un serveur Linux (VPS) ou un Mac mini allumé en continu, avec accès SSH par clé
  • Node.js et npm, git
  • Un abonnement ou une clé API pour au moins un agent de code (Claude Code, Codex, Copilot…)
  • Un dépôt git avec des tests automatisés (fortement recommandé)
Sommaire10

Ce que vous allez construire : un serveur qui fait travailler vos agents de code (Claude Code, Codex, Copilot…) en continu, une branche isolée par tâche, et que vous pilotez depuis votre ordinateur ou votre téléphone, sans ouvrir de port sur Internet. Outil : Paseo, open source (Apache-2.0). Durée : 45 minutes. Pour comprendre l'intérêt et les limites avant de vous lancer, lisez d'abord Agents de développement IA déportés : le principe.

Vocabulaire indispensable

  • Démon : le service Paseo qui tourne sur le serveur, lance et supervise les agents. Il écoute par défaut sur 127.0.0.1:6767.
  • Client : l'application desktop, mobile, web ou la CLI qui se connecte au démon.
  • Provider : l'agent de code piloté par Paseo (Claude Code, Codex, Copilot, OpenCode…).
  • Workspace / worktree : l'espace de travail d'une tâche. Avec l'isolation worktree, Paseo crée un dossier et une branche git dédiés.
  • Relais : un serveur intermédiaire optionnel qui permet au téléphone de joindre le démon sans VPN ; le trafic y est chiffré de bout en bout.

Étape 1 — Préparer la machine

VPS Linux

Le choix par défaut. Quelques cœurs et 8 à 16 Go de RAM pour deux ou trois agents en parallèle sur un projet web ; davantage si vos builds ou vos tests sont lourds.

Mac mini

Pertinent pour le développement iOS (Xcode) ou si vous préférez une machine physique au bureau.

Conteneur Docker

Image officielle ghcr.io/getpaseo/paseo, démon et agents exécutés sous un utilisateur non root. Idéal pour cloisonner.

Votre poste

Pour tester d'abord en local avec l'application desktop, qui démarre son propre démon.

Sur un VPS, créez un utilisateur dédié sans droits administrateur, n'autorisez que l'authentification SSH par clé, puis installez Node.js, npm et git.

Bash
# sur le serveur, en root
adduser agents
# copiez votre clé publique dans /home/agents/.ssh/authorized_keys,
# puis désactivez PasswordAuthentication dans /etc/ssh/sshd_config

Étape 2 — Installer et authentifier un agent de code

Paseo pilote les agents que vous installez ; il ne les fournit pas. Connecté en tant qu'utilisateur agents :

Bash
npm install -g @anthropic-ai/claude-code   # Claude Code
npm install -g @openai/codex               # Codex (optionnel)
claude   # première exécution : connexion à votre compte, puis quittez

Utilisez votre abonnement ou une clé API de développement, jamais un compte qui donne accès à vos environnements de production.

Étape 3 — Installer Paseo et démarrer le démon

Bash
npm install -g @getpaseo/cli
paseo

La commande démarre le démon et vous propose d'activer le relais chiffré et d'afficher un QR code d'appairage (étape suivante). Vérifiez ensuite :

Bash
paseo daemon status   # le démon tourne-t-il, sur quelle adresse ?
paseo provider ls     # quels agents sont détectés et disponibles ?

Si un agent apparaît « unavailable » alors qu'il est installé, c'est presque toujours un problème de PATH entre votre shell et le démon : la page Troubleshooting de Paseo détaille la marche à suivre.

Étape 4 — Connecter le téléphone et l'ordinateur

Trois méthodes documentées, à choisir selon votre contexte :

MéthodePour quiMise en place
Relais PaseoLe plus simple pour le téléphone, aucun réseau à configurerpaseo daemon pair, confirmer, scanner le QR code avec l'application mobile
Tailscale (VPN)Équipes déjà sur un VPN, aucun tiers dans la boucledaemon.listen sur l'IP Tailscale + mot de passe, puis « Direct connection » dans l'app
SSHOrdinateur et CLIApplication desktop : Settings → Add host → Remote SSH ; CLI : paseo --host ssh://agents@serveur ls -a

Relais. Il est désactivé par défaut. Le démon s'y connecte en sortant, aucun port n'est ouvert, et le trafic est chiffré de bout en bout après l'appairage :

Bash
paseo daemon pair

Le QR code et le lien d'appairage contiennent la clé publique du démon : traitez-les comme un mot de passe.

Tailscale. Récupérez l'adresse du serveur avec tailscale ip -4, puis dans ~/.paseo/config.json :

JSON
{
  "daemon": {
    "listen": "100.101.102.103:6767"
  }
}

Protégez le démon par mot de passe, puis redémarrez :

Bash
paseo daemon set-password
paseo daemon restart

Dans l'application mobile : Settings → Add host → Direct connection, l'IP Tailscale, le port 6767 et le mot de passe.

Étape 5 — Préparer le dépôt avec paseo.json

Clonez votre dépôt sur le serveur. Chaque worktree créé par Paseo part d'un dossier vierge : pas de dépendances installées, pas de fichier .env. Un fichier paseo.json à la racine du dépôt décrit ce qu'il faut préparer :

JSON
{
  "worktree": {
    "setup": "npm ci\ncp \"$PASEO_SOURCE_CHECKOUT_PATH/.env.development\" .env",
    "teardown": "rm -rf .cache"
  },
  "scripts": {
    "test": { "command": "npm test" },
    "web": { "type": "service", "command": "npm run dev -- --port $PASEO_PORT" }
  }
}
  • setup s'exécute à la création du worktree, teardown à son archivage ;
  • un script de type service reçoit un port distinct par worktree via $PASEO_PORT : plusieurs copies de l'application tournent sans conflit.

Paseo lit ce fichier dans la version commitée de la branche de base : commitez-le.

Étape 6 — Lancer des tâches en parallèle

Depuis l'application (New workspace → Isolation : New worktree) ou en CLI :

Bash
cd ~/projets/mon-app
paseo run -d --provider claude \
  --new-workspace worktree --new-branch feature/filtre-factures --base origin/main \
  "Ajoute un filtre par date à la liste des factures. Ajoute les tests et lance-les."

paseo run -d --provider claude \
  --new-workspace worktree --new-branch fix/export-csv --base origin/main \
  "Corrige l'encodage des accents dans l'export CSV. Ajoute un test de non-régression."

Partez de origin/main plutôt que de main : Paseo récupère les références distantes en arrière-plan, alors que votre main local peut être en retard.

Pour suivre :

Bash
paseo ls                 # agents et statut
paseo logs <id>          # ce que fait un agent
paseo permit ls          # validations en attente
paseo permit allow <id>  # accepter une demande

Sur le téléphone, vous voyez les mêmes agents, leurs fichiers, leurs terminaux et leurs diffs. Pour un second avis, lancez un autre agent dans le même workspace et demandez-lui de relire sans modifier.

Étape 7 — Planifier des agents récurrents

Une planification lance un nouvel agent selon un cron. Exemple : un tri des tickets chaque matin de semaine.

Bash
paseo schedule create --name "tri-du-matin" \
  --cron "0 8 * * 1-5" --timezone Europe/Paris \
  --provider claude --cwd ~/projets/mon-app \
  "Liste les issues ouvertes depuis hier, classe-les par priorité et propose un plan d'action. Ne modifie aucun fichier."

Gérez-les avec paseo schedule ls, pause, resume, run-once et delete. Commencez par des tâches en lecture seule (tri, rapports) avant de planifier des tâches qui modifient le code.

Étape 8 — Checklist de sécurité avant l'usage quotidien

1

Aucun secret de production

Pas de clés cloud de production, pas d'accès aux bases de données réelles, uniquement des identifiants de développement et des données de test anonymisées.

2

Exposition minimale

Démon en écoute locale ou sur l'IP du VPN. Jamais lié à 0.0.0.0 sur une IP publique sans pare-feu, mot de passe et HTTPS.

3

Permissions graduées

Modes avec validation pour les commandes sensibles. Les modes sans validation, uniquement dans un conteneur jetable.

4

Branches protégées

Les agents ne poussent que sur leurs branches ; la branche principale exige une pull request, une revue et la CI.

5

Entretien

Mises à jour système et de Paseo, sauvegarde de ~/.paseo et des identifiants des agents, rotation des clés si un appareil appairé est perdu.

Si vous activez plus tard Paseo Hub pour déclencher des agents depuis GitHub, Slack ou Discord, lisez sa page sécurité : un message ou une issue peut contenir des consignes malveillantes, et l'agent ne doit pas avoir plus de droits que nécessaire.

Et après ?

Vous voulez cadrer l'usage des agents de code dans votre équipe (outillage, sécurité, revue, indicateurs) ? C'est le rôle de notre Partenariat CTO. Pour faire livrer une application par une équipe outillée, voyez Développement d'applications.