Guide

Comment fonctionne Statio Deploy, de la première app à la dernière variable du .env. Chaque section se suffit à elle-même : lisez celle dont vous avez besoin.

L'interface de l'app est en italien : ce guide donne le nom des boutons et des champs tels qu'ils apparaissent à l'écran, avec leur sens entre parenthèses.

Ajouter une app

Le bouton + en haut de la liste ouvre la fiche Nuovo applicativo (nouvelle app). Les champs sont peu nombreux :

Une app se modifie avec Modifica… (modifier) et se retire avec Elimina… (supprimer) : elle disparaît de la liste, mais le dossier du projet n'est pas touché.

La détection des commandes

Dès que vous choisissez le dossier, ou avec le bouton Rileva (détecter), Statio Deploy lit les fichiers du projet et propose les commandes qu'il trouve, de la plus probable à la moins probable. Un clic sur une proposition la copie dans le champ de commande.

Il reconnaît les scripts de package.json (en choisissant npm, pnpm, yarn ou bun d'après le lockfile), les projets Django, FastAPI et Streamlit, les points d'entrée Python avec .venv, Poetry ou uv, les cibles du Makefile, Docker Compose, les scripts shell, le Procfile et les blocs de code du README.

La détection ne fait que lire : elle n'exécute rien. Si elle ne trouve rien, vous saisissez la commande vous-même.

Lancer et arrêter

La fenêtre principale de Statio Deploy : la liste des apps à gauche et, à droite, Shop en cours d'exécution avec son journal Next.js.

Avvia (lancer, ⌘R) exécute la commande dans votre shell de connexion, le même que le Terminal : votre PATH, nvm, pyenv et tout ce qui se trouve dans .zprofile et .zshrc s'appliquent. En dessous, le panneau Log (journal) affiche la sortie en direct. Avec Segui (suivre) activé, le journal défile tout seul jusqu'à la dernière ligne ; Svuota (vider) l'efface.

Arresta (arrêter, ⌘.) arrête l'app et tous les processus qu'elle a lancés, pas seulement le premier : chaque app tourne dans son propre groupe de processus. D'abord une demande de fermeture en douceur ; au bout de cinq secondes, si nécessaire, l'arrêt forcé. Riavvia (redémarrer, ⇧⌘R) enchaîne les deux. Ferma tutto (tout arrêter, ⌥⌘.) arrête toutes les apps actives.

Quand vous quittez Statio Deploy, les apps encore actives sont arrêtées.

Apri nel browser (ouvrir dans le navigateur, ⌘O) ouvre l'adresse de l'app. L'adresse peut contenir des variables lues dans les fichiers .env du projet : http://localhost:${PORT} utilise la valeur de PORT, et ${PORT:-3000} utilise 3000 si la variable n'existe pas. Ainsi, si vous changez le port dans le .env, le lien suit.

Le navigateur se choisit à trois niveaux : celui indiqué dans l'app, sinon celui par défaut dans les Réglages de Statio Deploy, sinon celui du système. Le menu Apri con (ouvrir avec) le choisit pour une seule fois.

Modifier le .env

L'éditeur du fichier .env de Shop, avec les clés secrètes masquées.

Le panneau Ambiente (environnement), à côté de Log, affiche les variables des fichiers d'environnement de l'app, un fichier à la fois. Vous pouvez changer une valeur, ajouter une variable à la fin ou en supprimer une (et la Ripristina, restaurer, tant que vous n'avez pas enregistré). Salva (enregistrer, ⌘S) écrit le fichier.

Le reste du fichier ne change pas d'un octet : commentaires, lignes vides, guillemets, export et fins de ligne restent tels que vous les avez écrits. Les lignes que l'app ne sait pas interpréter restent en place, intactes, et les valeurs sur plusieurs lignes sont affichées mais pas modifiables : pour elles il y a Apri nell'editor (ouvrir dans l'éditeur).

Si un autre programme modifie le fichier pendant que vous l'éditez, Statio Deploy s'en aperçoit et, avant d'enregistrer, vous demande s'il faut Ricarica (recharger) la version du disque ou Sovrascrivi (l'écraser). Avant chaque enregistrement, la version précédente est copiée dans les données de Statio Deploy, hors du projet.

Statio Deploy ne transmet pas les variables à l'app : c'est l'app elle-même qui lit son .env au démarrage. C'est pourquoi, si vous le modifiez pendant qu'elle tourne, une invitation à la redémarrer apparaît.

Les ports occupés

Sales Dashboard arrêtée, avec l'avertissement que le port 8501 est pris par un processus python.

Avant de lancer une app, Statio Deploy regarde le port de son adresse. S'il est déjà pris, il vous dit par qui, une autre app de Statio Deploy ou un processus étranger, et vous laisse choisir : arrêter l'autre processus, lancer quand même ou annuler.

Une app arrêtée dont le port est occupé affiche aussi un avertissement dans la liste : en général, c'est une copie restée active dans un terminal.

Barre des menus, Dock et notifications

Le panneau de la barre des menus : les apps avec leur état, les boutons pour les ouvrir, les lancer ou les arrêter, et tout arrêter.

La façon la plus rapide d'utiliser Statio Deploy, c'est le panneau de la barre des menus. L'icône (une pile de cartes, avec une pastille quand quelque chose tourne) l'ouvre avec toutes les apps en colonne : pour chacune, la pastille d'état, le nom, le bouton pour l'ouvrir dans le navigateur, si elle a une adresse, et celui pour la lancer ou l'arrêter. Un clic sur le nom ouvre la fenêtre principale directement sur cette app. En haut, le nombre d'apps actives ; en bas, Ferma tutto (tout arrêter), Apri Statio Deploy (ouvrir Statio Deploy) et Esci da Statio Deploy (quitter). Le panneau fonctionne même fenêtre principale fermée, et se masque dans les Réglages.

L'icône du Dock indique le nombre d'apps actives. Si une app s'arrête toute seule, une notification arrive : un clic et Statio Deploy s'ouvre sur cette app, avec le journal qui dit pourquoi.

Les processus restés actifs

Statio Deploy garde la trace des processus qu'il lance. S'il se ferme de façon inattendue (un plantage, un arrêt forcé), au lancement suivant il retrouve les apps restées actives et vous le signale : vous pouvez les arrêter ou les ignorer. Leur journal n'est plus disponible, car il est impossible de se rattacher à un processus lancé auparavant.

Les agents IA

Statio Deploy contient un serveur MCP, le protocole par lequel les agents IA utilisent des outils externes. Relié à Claude Code, Claude Desktop, Cursor, Codex ou un autre client MCP, l'agent peut lister les apps, lire leur état, leurs journaux et leur .env, chercher les commandes d'un projet et, si vous l'autorisez, lancer, arrêter, ajouter et modifier des apps à votre place.

Il est éteint par défaut : il s'active dans Réglages › Agenti AI (agents IA) avec Consenti agli agenti AI di gestire Statio Deploy (autoriser les agents IA à gérer Statio Deploy). En dessous, les Permessi (autorisations) vont par groupes : lecture des apps, de l'état, des journaux et des .env ; lancer, arrêter et ouvrir les apps ; ajouter, modifier et retirer des apps ; modifier les fichiers .env. À part la lecture, chaque groupe reste éteint tant que vous ne l'activez pas.

Les valeurs des clés contenant SECRET, TOKEN, PASSWORD, KEY, PRIVATE ou CREDENTIAL parviennent à l'agent masquées, dans les .env et dans les journaux, sauf si vous activez Consenti di leggere i valori sensibili (autoriser la lecture des valeurs sensibles). Avec Chiedi conferma per le azioni a rischio (demander confirmation pour les actions risquées, activé par défaut), Statio Deploy vous demande l'autorisation avant de lancer une commande que vous n'avez jamais lancée vous-même ou qu'un agent a modifiée, et avant de tout arrêter. Ajouter des apps, changer leur commande ou leur dossier, les retirer et supprimer des variables demande toujours confirmation.

Dans Configura un client (configurer un client), vous choisissez votre client et copiez la configuration toute prête ; pour Claude Desktop, il y a Aggiungi a Claude Desktop (ajouter à Claude Desktop). La connexion passe par un petit programme intégré à l'app et n'ouvre aucun port réseau. Pour les clients qui ne peuvent pas lancer de programmes locaux, il y a le Server HTTP locale (serveur HTTP local) : il n'écoute que sur 127.0.0.1 et exige un jeton. Les agents qui vivent uniquement dans le navigateur, comme ChatGPT sur le web, ne peuvent pas se connecter. Le Registro attività (journal d'activité) liste chaque opération des agents, avec le client, l'heure et le résultat.

Réglages et données

Dans les Réglages (⌘,), vous choisissez le thème (système, clair ou sombre), le navigateur par défaut, l'icône dans la barre des menus, les notifications et l'ouverture à la connexion. Si macOS demande de l'approuver, vous la trouverez dans Réglages Système, à la rubrique Ouverture.

Toutes les données se trouvent dans ~/Library/Application Support/Local Deploy/ : la liste des apps (apps.json), les copies des .env modifiés (env-backups/, les dix dernières par fichier) et les processus lancés (running.json). Le dossier garde le nom d'origine de l'app, pour que les données des utilisateurs existants restent en place.