Ajouter un projet
Comment Joppa analyse un dossier, nomme le projet, trouve ses serveurs de dev et leur propose des domaines.
Trois façons d’ajouter
- Glisser-déposer : déposez un dossier n’importe où dans la fenêtre (« › Déposez le dossier pour l’ajouter »).
- Bouton ou raccourci : + nouveau à côté de Projets dans la barre latérale, Ajouter un projet sur l’accueil, ou N n’importe où.
- Terminal : dans le TUI, touche a sur la section Projets, ou l’outil MCP
add_project.
La fenêtre Ajouter un projet montre ce que Joppa a trouvé ; rien n’est enregistré avant que vous validiez (⌘ ⏎).
Le nom et l’icône
Le nom vient du champ name de package.json (sans le scope @org/), sinon du nom du dossier. Il est converti en minuscules sans accents ni espaces : Kiné Santé devient kine-sante.
L’icône est générée à partir du nom. Changez-la à tout moment avec I sur la page du projet : motifs générés, initiales, pictogrammes, ou votre propre image (.svg, .png, .jpg, .webp, 180 Ko au plus), tramée aux couleurs de Joppa.
Ce que Joppa détecte
| Stack | Indice | Port par défaut |
|---|---|---|
Vite, Vite+ (vp), React Router, Remix |
script dev |
5173, ou port: dans vite.config |
| Astro | script dev |
4321, ou port: dans astro.config |
| Next.js | script dev |
3000 |
| Nuxt | script dev |
3000 |
| Node (autre serveur) | port écrit dans le script | celui du script |
| Laravel | fichier artisan |
8000 |
| Bun | bun.lock / bun.lockb |
— |
| Docker Compose | compose.yaml, docker-compose.yml… |
ports publiés |
Joppa lit le script dev de la racine et de chaque workspace d’un monorepo. Un port est reconnu sous ces formes : --port 3000, -p 3000, --port=3000, PORT=3000, ${PORT:-3000}.
Les sous-domaines proposés
Avec un seul serveur, le projet reçoit le domaine de base : monprojet.test. Dans un monorepo, chaque app reçoit un sous-domaine d’après le nom de son dossier :
| Dossier de l’app | Domaine |
|---|---|
web, app, frontend, client, dashboard |
app.monprojet.test |
marketing, site, www, website, landing, home |
monprojet.test |
api, server, backend |
api.monprojet.test |
autre (docs, admin…) |
docs.monprojet.test |
Deux apps qui tomberaient sur le même nom sont numérotées : app, app2.
Les interfaces web de Docker Compose
Les services Compose qui publient une interface web connue reçoivent aussi leur domaine :
| Service | Port | Domaine |
|---|---|---|
| Mailpit, MailHog | 8025 | mail.monprojet.test |
| MinIO (console) | 9001 | minio.monprojet.test |
| RabbitMQ (management) | 15672 | rabbitmq.monprojet.test |
| Adminer | 8080 | adminer.monprojet.test |
| phpMyAdmin | 80 | phpmyadmin.monprojet.test |
| pgAdmin | 80 | pgadmin.monprojet.test |
Les autres ports publiés (bases de données, caches) sont listés comme « Non routés (pas des interfaces web) ». Si le Compose contient PostgreSQL, MySQL, MariaDB, Redis ou Valkey, la fenêtre propose aussi d’importer leurs données dans Joppa : voir Import depuis Docker Compose.
Aucun serveur détecté ?
Ajoutez les domaines à la main : un sous-domaine (admin) ou un domaine complet, et un port. Vous pourrez toujours en ajouter plus tard dans l’onglet Domaines.
La page du projet
Une fois ajouté, le projet a sa page, avec ses onglets :
| Onglet | Raccourci | Contenu |
|---|---|---|
| Domaines | D | Domaines, cibles et état |
| Processus | P | Serveurs de dev et conteneurs lancés par Joppa |
| Environnement | E | Services liés et éditeur du .env |
| Runtime | R | Versions de Node, du gestionnaire de paquets et de PHP |
| Analytics | S | Trafic, latence, erreurs et disponibilité |
Le menu Actions (⋯) permet de Renommer… (avec l’option « Renommer aussi les domaines »), de Changer l’icône…, d’Afficher dans le Finder et de Retirer de Joppa. Retirer un projet arrête ses serveurs de dev et oublie sa configuration locale ; son dossier et son éventuel joppa.toml ne sont pas touchés.