Utilisation de la CLI
Guide complet des commandes EnvSafe CLI pour gérer vos variables d'environnement.
🚀 Démarrage rapide
# 1. Se connecter
envsafe login
# 2. Lier le répertoire à un workspace
envsafe link my-workspace
# 3. Sélectionner un projet
envsafe select my-project
# 4. Récupérer les variables
envsafe pull -d # development
envsafe pull -p # productionLier un workspace (Link)
Liez votre répertoire local à un workspace EnvSafe. Cela crée un fichier .envsafe pour stocker la configuration.
# Mode interactif - sélectionner un workspace
envsafe link
# Spécifier directement le workspace
envsafe link my-workspace💡 Astuce : N'oubliez pas d'ajouter .envsafe à votre .gitignore si vous ne souhaitez pas partager cette configuration.
Configuration interactive (Init)
Configurez votre workspace et projet en mode interactif.
envsafe initLister les projets
Affichez les projets du workspace lié.
# Lister les projets du workspace lié
envsafe list
# Alias
envsafe ls
# Lister TOUS les projets accessibles (global)
envsafe projectsSélectionner un projet
Sélectionnez un projet du workspace pour éviter de le spécifier à chaque commande.
envsafe select my-projectCréer un projet
Créez un nouveau projet directement depuis la CLI.
# Mode interactif
envsafe create
# Avec un nom
envsafe create "My New Project"
# Alias
envsafe new "My Project"Récupérer les variables (Pull)
Téléchargez les variables d'un environnement dans un fichier .env local.
# Avec le projet configuré (après 'envsafe select')
envsafe pull # development (par défaut)
envsafe pull -d # development
envsafe pull -s # staging
envsafe pull -p # production
# Spécifier un projet manuellement
envsafe pull my-project -p
# Fichier de sortie personnalisé
envsafe pull -d -o .env.local
# Syntaxe longue
envsafe pull --env production --output .env.prod⚠️ Attention : Le fichier de sortie sera écrasé. Assurez-vous de sauvegarder vos modifications locales si nécessaire.
Envoyer des variables (Push)
Importez vos variables locales vers EnvSafe. Les valeurs seront automatiquement chiffrées.
# Avec le projet configuré
envsafe push # development, fichier .env
envsafe push -d # development
envsafe push -s # staging
envsafe push -p # production
# Fichier source personnalisé
envsafe push -p -f .env.production
# Spécifier un projet
envsafe push my-project -s -f .env.staging💡 Astuce : Les variables existantes seront mises à jour, les nouvelles seront créées. Les variables absentes du fichier ne seront pas supprimées.
Exécuter avec injection (Run)
Injectez les variables directement dans un processus sans créer de fichier .env sur le disque. Plus sécurisé pour la CI/CD et le développement local.
# Avec le projet configuré
envsafe run npm start
envsafe run --project my-project -p node server.js
# Exemples d'usage
envsafe run npm run dev
envsafe run pnpm build
envsafe run python main.py
envsafe run docker-compose upComment ça marche ?
- La CLI récupère et déchiffre les variables depuis EnvSafe
- Les variables sont injectées dans
process.envdu processus enfant - Votre commande s'exécute avec accès aux variables
- Aucun fichier
.envn'est créé sur le disque
Surveillance en temps réel (Watch)
PuissantSurveillez vos variables d'environnement en temps réel. Détecte automatiquement les changements distants et locaux, et synchronise votre fichier .env.
# Surveiller avec le projet configuré
envsafe watch # development (par défaut)
envsafe watch -d # development
envsafe watch -s # staging
envsafe watch -p # production
# Spécifier un projet
envsafe watch my-project -p
# Surveiller un fichier spécifique
envsafe watch -f .env.local
envsafe watch --file .env.productionSync distante
Détecte les changements sur le serveur et met à jour votre fichier local automatiquement.
Watch local
Surveille aussi le fichier .env local pour détecter les modifications manuelles.
Hot Reload
Idéal pour le développement local : vos variables sont toujours à jour sans redémarrage.
💡 Astuce : Utilisez Ctrl+C pour arrêter la surveillance. Le fichier de sortie par défaut est .env, modifiable avec l'option --file.
Rotation des secrets (Rotate)
SécuritéGérez la rotation automatique de vos secrets. Régénère les valeurs sensibles selon un intervalle configurable pour renforcer la sécurité.
# Activer la rotation automatique
envsafe rotate enable --interval 30d
envsafe rotate enable --interval 7d --exclude DATABASE_URL,APP_NAME
# Désactiver la rotation
envsafe rotate disable
# Vérifier le statut
envsafe rotate status
# Forcer une rotation immédiate
envsafe rotate now
envsafe rotate now --vars API_KEY,JWT_SECRET⚠️ Attention : La rotation régénère les valeurs des secrets. Assurez-vous que vos services sont configurés pour récupérer les nouvelles valeurs automatiquement (via watch ou pull).
Raccourcis d'environnement
Les commandes pull, push et run supportent ces raccourcis :
| Option | Environnement |
|---|---|
-d / --dev | development |
-s / --staging | staging |
-p / --prod | production |
-e <env> | personnalisé |
Fichier .envsafe
Le fichier .envsafe stocke la configuration locale de votre projet :
{
"workspace": "my-workspace",
"project": "my-project"
}Toutes les commandes
| Commande | Description |
|---|---|
| envsafe login | Se connecter avec un token API |
| envsafe logout | Se déconnecter |
| envsafe whoami | Afficher l'utilisateur connecté |
| envsafe link [workspace] | Lier ce répertoire à un workspace |
| envsafe init | Configurer un projet (interactif) |
| envsafe list / ls | Lister les projets du workspace lié |
| envsafe select <project> | Sélectionner un projet |
| envsafe create / new [name] | Créer un nouveau projet |
| envsafe pull [project] | Télécharger les variables |
| envsafe push [project] | Envoyer les variables |
| envsafe run [--project <name>] <cmd> | Exécuter avec injection |
| envsafe watch [project] | Surveiller les variables en temps réel |
| envsafe rotate <action> | Gérer la rotation automatique des secrets |
| envsafe config [--api-url <url>] [--show] | Gérer la configuration CLI |
| envsafe lang / language [code] | Changer la langue de la CLI |
| envsafe m2m / machine | Authentification Machine-to-Machine (CI/CD) |
| envsafe projects | Lister tous les projets (global) |