Aller au contenu

Aide-Mémoire Envii - Sauvegarde Chiffrée de Variables d'Environnement

Aide-Mémoire Envii - Sauvegarde Chiffrée de Variables d’Environnement

Section intitulée « Aide-Mémoire Envii - Sauvegarde Chiffrée de Variables d’Environnement »

Un outil CLI pour sauvegarder et restaurer en toute sécurité les fichiers .env entre machines. Utilise le chiffrement de bout en bout (AES-256-GCM) avec une phrase de récupération de 12 mots — le serveur ne voit jamais vos secrets en clair.

npm install -g envii
git clone https://github.com/akinloluwami/envii.git
cd envii/envii-cli
npm install
npm run build
npm link

Prérequis : Node.js 18+

envii init

Ceci génère une phrase de récupération de 12 mots. Sauvegardez-la en sécurité — c’est le seul moyen de déchiffrer vos sauvegardes. Il n’y a pas de mots de passe, pas d’emails, pas de comptes.

Critique : Notez votre phrase de récupération et stockez-la quelque part en sécurité (gestionnaire de mots de passe, sauvegarde physique). Si vous la perdez, vos sauvegardes sont définitivement irrécupérables.

CommandeDescription
envii initInitialiser envii, générer la phrase de récupération
envii backupScanner l’arborescence du répertoire courant et sauvegarder tous les fichiers .env
envii restoreTélécharger et déchiffrer tous les fichiers .env sauvegardés
envii restore --forceRestaurer et écraser les fichiers .env existants sans demander
envii listLister tous les projets avec sauvegardes actives
cd ~/projects      # Naviguer vers la racine de vos projets
envii backup       # Scanne tous les fichiers .env dans les sous-répertoires
  1. Envii scanne l’arborescence du répertoire courant pour les projets (identifiés par .git, package.json, etc.)
  2. Tous les fichiers .env* sont trouvés (.env, .env.local, .env.production, etc.)
  3. Chaque fichier est chiffré localement avec AES-256-GCM avec dérivation de clé PBKDF2 (600 000 itérations)
  4. Seules les données chiffrées sont envoyées au serveur
  5. Le projet est identifié par l’URL remote Git, le nom du package ou le nom du dossier
cd ~/projects      # Sur votre nouvelle machine
envii restore      # Télécharge et déchiffre toutes les sauvegardes
  1. Envii télécharge vos sauvegardes chiffrées
  2. Les déchiffre localement en utilisant votre phrase de récupération
  3. Place les fichiers .env à leurs emplacements d’origine dans les projets
  4. Demande avant d’écraser les fichiers existants (utilisez --force pour ignorer)
FonctionnalitéDétails
ChiffrementAES-256-GCM
Dérivation de CléPBKDF2 avec 600 000 itérations
IVs UniquesChaque sauvegarde a un vecteur d’initialisation unique
Tags d’AuthentificationDétection de falsification sur chaque sauvegarde
Zero-KnowledgeLe serveur ne voit jamais la phrase de récupération, le texte clair ou les clés de chiffrement
RécupérationLa phrase de 12 mots est la seule méthode d’authentification
CommandeDescription
envii init --devInitialiser contre l’API locale (localhost:4400)
envii backup --devSauvegarder en utilisant le serveur API local
envii restore --devRestaurer depuis le serveur API local
envii list --devLister les sauvegardes depuis l’API locale

Envii stocke sa configuration à :

ÉlémentEmplacement
Fichier de configuration~/.envii/config.json
Hash de phrase de récupérationStocké dans la configuration (jamais la phrase elle-même)
# Configuration initiale sur votre machine principale
envii init
# ⚠️ Sauvegardez la phrase de récupération de 12 mots !

# Sauvegarder tous les fichiers env depuis le répertoire de projet
cd ~/projects
envii backup

# Configurer une nouvelle machine
envii init          # Entrer la MÊME phrase de récupération
cd ~/projects
envii restore       # Tous les fichiers .env restaurés

# Vérifier ce qui est sauvegardé
envii list

# Mettre à jour les sauvegardes après modification des variables d'environnement
envii backup        # Re-chiffre et télécharge les fichiers mis à jour

Envii scanne tous les fichiers d’environnement correspondant aux motifs courants :

  • .env
  • .env.local
  • .env.development
  • .env.production
  • .env.staging
  • .env.test
  • Autres variantes .env*

Les projets sont détectés par la présence de :

  • Répertoire .git (utilise l’URL remote comme identifiant)
  • package.json (utilise le nom du package)
  • Repli sur le nom du dossier
ProblèmeSolution
”Aucun projet trouvé”Assurez-vous d’être dans un répertoire avec des projets (doit avoir .git ou package.json)
Échec de restaurationVérifiez que vous utilisez la même phrase de récupération que l’init original
Phrase de récupération perdueLes sauvegardes sont irrécupérables — réinitialisez et sauvegardez à nouveau
Permission refuséeAssurez-vous que le répertoire ~/.envii/ est accessible en écriture
Erreur réseauVérifiez la connexion internet ; envii nécessite l’accès au serveur API
  • Sauvegardez votre phrase de récupération dans un gestionnaire de mots de passe (1Password, Bitwarden, etc.)
  • Exécutez envii backup avant de changer de machine ou de reformater
  • Ne commitez pas les fichiers .env dans Git — utilisez envii à la place
  • Exécutez des sauvegardes périodiques après mise à jour des variables d’environnement
  • Utilisez envii list pour vérifier que vos sauvegardes sont à jour