Projets

Variables d'environnement

Comment Joppa tient le .env à jour avec les domaines HTTPS et les services liés, sans jamais écrire sans montrer le diff.

L’onglet Environnement (E) gère le .env du projet. Joppa y écrit deux choses : les adresses HTTPS de vos domaines et les connexions aux services liés. Tout passe par un diff que vous validez.

L’onglet Environnement : services branchés, variables gérées par Joppa et éditeur du .env

Brancher un service

Le bloc des services liste ceux de Joppa. Utiliser PostgreSQL (ou Redis, Mailpit…) ouvre un diff avec deux choix :

  • Lier et écrire dans .env : les variables du service sont écrites, et tenues à jour si son port change.
  • Lier sans écrire : Joppa retient le lien, sans toucher au fichier.

Pour une base de données, si la base du projet n’existe pas encore, Joppa la crée. Un projet n’utilise qu’un service de chaque type : brancher MySQL remplace PostgreSQL.

Ne plus utiliser… fait l’inverse : Délier et nettoyer le .env remet la valeur de .env.example (ou retire la variable), Délier sans toucher au .env garde le fichier tel quel. Les variables que vous avez modifiées à la main sont gardées.

Sous quels noms

Joppa écrit sous les noms que le projet lit déjà : ceux du .env, puis ceux de .env.example (même commentés). Il reconnaît de nombreux alias (DATABASE_URL, DIRECT_URL, POSTGRES_PRISMA_URL, POSTGRES_*, PG*, MYSQL_*…) et garde le schéma et les paramètres de vos URL existantes.

Si le projet ne déclare rien, Joppa utilise les noms usuels de son framework :

Service Laravel Autres
Base de données DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD DATABASE_URL (Symfony : avec ?serverVersion=…&charset=utf8)
Redis, Valkey REDIS_HOST, REDIS_PASSWORD, REDIS_PORT REDIS_URL
Mailpit MAIL_MAILER=smtp, MAIL_HOST, MAIL_PORT… Symfony MAILER_DSN · Rails SMTP_ADDRESS, SMTP_PORT · Django EMAIL_HOST, EMAIL_PORT · Node SMTP_HOST, SMTP_PORT
Meilisearch MEILISEARCH_HOST, MEILISEARCH_KEY, SCOUT_DRIVER Symfony MEILISEARCH_URL, MEILISEARCH_API_KEY
Typesense TYPESENSE_*, SCOUT_DRIVER TYPESENSE_HOST, TYPESENSE_PORT, TYPESENSE_PROTOCOL, TYPESENSE_API_KEY

Le framework est reconnu à ses fichiers : Laravel (artisan), Symfony, Django (manage.py), Rails, Node (package.json).

Les adresses HTTPS

Toute valeur http://localhost:PORT (ou 127.0.0.1, [::1]) dont le port a un domaine devient l’adresse HTTPS correspondante, y compris dans une liste séparée par des virgules :

- APP_URL=http://localhost:8000
+ APP_URL=https://monprojet.test
- CORS_ORIGINS=http://localhost:5173,http://localhost:3000
+ CORS_ORIGINS=https://app.monprojet.test,http://localhost:3000

Les valeurs par défaut de .env.example absentes du .env sont traitées de la même façon.

Gérées par Joppa

Le bloc Gérées par Joppa regroupe les variables que Joppa veut écrire : à mettre à jour et à jour. Appliquer (N) ouvre le diff et écrit le fichier.

L’éditeur du .env

Le fichier s’édite directement dans Joppa. Les lignes gérées par Joppa sont marquées.

  • / ou ⌘ F : rechercher dans le fichier.
  • Dans .env.example, absentes ici : la liste des clés manquantes, et + Ajouter les clés manquantes (ajoutées sous # Depuis .env.example (Joppa)).
  • ⌘ S : Vérifier et enregistrer, avec le diff.
  • Si le fichier change sur le disque pendant que vous l’éditez, Joppa le signale.

Sans .env, Joppa en crée un à l’enregistrement.

Ce que Joppa garantit

  • Toujours un diff avant d’écrire.
  • Une sauvegarde : à la première écriture, le fichier d’origine est copié dans .env.joppa-backup.
  • Des modifications chirurgicales : seules les lignes concernées changent ; commentaires, export, notes en fin de ligne et valeurs sur plusieurs lignes restent tels quels. Les nouvelles clés sont ajoutées à la fin, sous un commentaire (# PostgreSQL (Joppa)).
getjoppa.com › support

Chargement

Ça ne passe pas ? Écrivez à support@getjoppa.com. Une simple question : hello@getjoppa.com.