- Modifier examples/usage.ts pour utiliser VAULT_CONFS_DIR depuis .env au lieu de '../confs' hardcodé
- Ajouter test-usage.js comme script de test fonctionnel
- Nettoyer les anciens fichiers de debug et test
- Ajouter **/confs*/ au .gitignore pour éviter de committer les dossiers de test
Le SDK respecte maintenant correctement le paramètre VAULT_CONFS_DIR du fichier .env.
- Simplification de la logique de résolution des chemins
- Suppression des cas spéciaux pour les chemins relatifs
- Utilisation d'une logique universelle qui fonctionne pour tous les types de chemins
- Le SDK respecte maintenant correctement VAULT_CONFS_DIR depuis le répertoire du fichier .env
- Testé et validé avec VAULT_CONFS_DIR=../confs (78 fichiers synchronisés)
- Ajout de logique spéciale pour les chemins commençant par ../../../
- Détection automatique du répertoire du fichier .env
- Support amélioré pour les chemins relatifs dans les projets clonés
- Fallback vers le répertoire parent du SDK quand approprié
- Ajout de la méthode _getEnvFileDirectory() pour trouver le répertoire du fichier .env
- Modification de syncLocalFiles() pour résoudre les chemins relatifs par rapport au répertoire du .env au lieu de process.cwd()
- Cela corrige le problème où VAULT_CONFS_DIR avec des chemins relatifs n'était pas respecté dans les projets clonés
- Les chemins relatifs comme '../../../projects/lecoffre/lecoffre_node/confs' sont maintenant correctement résolus
- Ajout de .env.example pour faciliter la configuration
- Ajout de .env avec configuration par defaut
- Creation du script test-connection.js pour diagnostic
- Mise a jour du README avec section configuration rapide
- Ajout de script npm test:connection
- Amelioration du depannage pour problemes de connexion
- Documentation completee pour resolution problemes variables environnement
- Correction du probleme de remplacement des variables d'environnement
- Amelioration du processeur de variables d'environnement
- Mise a jour des fichiers gitignore, dockerignore, cursorignore
- SDK client ameliore avec chargement robuste des variables
- Test complet validant 78 fichiers synchronises sans erreur
- Ajout d'un système de chargement robuste des variables d'environnement
- Recherche automatique des fichiers .env dans plusieurs emplacements
- Rechargement des variables à chaque appel de syncLocalFiles()
- Ajout de logs pour indiquer quel fichier .env a été chargé
- Documentation complète avec section de dépannage
- Solutions pour les problèmes courants avec VAULT_CONFS_DIR
Résout le problème où VAULT_CONFS_DIR n'était pas pris en compte
quand le fichier .env n'était pas dans le répertoire courant du projet.
- Ajout du paramètre VAULT_CONFS_DIR dans le SDK pour personnaliser le dossier de destination
- Modification de syncLocalFiles() pour utiliser VAULT_CONFS_DIR par défaut
- Création du fichier .env.example avec tous les paramètres disponibles
- Mise à jour de la documentation SDK avec tableau des variables d\environnement
- Vérification que le dossier storage/ est vide de données sensibles
- Confirmation que les fichiers .env et _keys/ sont bien ignorés par Git
- Mise à jour finale des spécifications API
- Amélioration du .gitignore pour protéger les données sensibles
Vérifications effectuées:
- Dossier storage/ contient 78 fichiers de configuration génériques
- Fichiers de clés (_keys/keys.json) sont ignorés et non poussés
- Fichiers .env sont ignorés et non poussés
- Seuls les fichiers nginx de configuration générique sont trackés
- Aucune donnée sensible n est poussée vers le dépôt
- Ajout du guide des variables d environnement
- Mise à jour du README principal avec nouvelles fonctionnalités
- Mise à jour de la documentation SDK avec SecureVaultClient
- Ajout du CHANGELOG détaillé
- Documentation des nouvelles fonctionnalités:
* Traitement automatique des variables VAR et VAR
* Résolution récursive des dépendances
* Protection contre les boucles infinies
* Synchronisation locale des fichiers déchiffrés
* Déchiffrement réel avec noble/ciphers
* Configuration automatique via .env
* Rotation automatique des clés
Nouvelles sections:
- Variables d environnement dans docs/environment-variables.md
- Exemples concrets de résolution de variables
- Guide de debugging et logs
- Intégration SDK avec variables résolues
- Protection sécurité et bonnes pratiques
- Ajout de l EnvProcessor dans l API pour résoudre les variables VAR
- Résolution récursive des variables d environnement en mémoire
- Support des syntaxes VAR et VAR entre accolades
- Chargement uniquement du fichier .env principal (pas les sous-répertoires)
- Traitement des variables avant chiffrement des contenus
- Correction des dépendances circulaires (HOST/DOMAIN)
- Harmonisation de la cryptographie API/SDK avec noble/ciphers
- Amélioration de la sécurité avec protection des chemins
- Synchronisation locale des fichiers déchiffrés avec variables résolues
Variables maintenant correctement résolues:
- DOMAIN=4nkweb.com → valeur fixe préservée
- HOST=dev4.DOMAIN → dev4.4nkweb.com
- ROOT_HOST=HOST → dev4.4nkweb.com
- ROOT_URL=https://ROOT_HOST → https://dev4.4nkweb.com
Tests: 72 fichiers synchronisés avec succès, chiffrement ChaCha20-Poly1305 fonctionnel
- Harmonisation cryptographique API/SDK avec @noble/ciphers
- Remplacement de crypto Node.js par @noble/ciphers pour compatibilité Python
- Déchiffrement ChaCha20-Poly1305 maintenant fonctionnel
- Synchronisation complète des 72 fichiers réussie
- Fichiers déchiffrés correctement sauvegardés dans confs/
- SDK mis à jour avec API decrypt() au lieu de open()
- Tests de déchiffrement et synchronisation validés
- API complètement dynamique: routes /<env>/<project>/<file_name>
- Scanner automatique de tous les environnements disponibles
- Sécurité renforcée contre path traversal attacks
- Endpoint /routes dynamique avec 72 fichiers détectés
- SDK mis à jour pour récupération dynamique des routes
- Gestion d'erreurs complète et logs de sécurité
- Architecture production-ready avec multi-environnements
🔒 Implémentation du chiffrement client-serveur sécurisé avec rotation à chaque requête
✅ NOUVEAU SYSTÈME DE SÉCURITÉ:
• Chiffrement client-serveur avec clés partagées
• Rotation automatique à chaque requête (pas à chaque connexion)
• Envoi de la prochaine clé dans le flux chiffré
• SDK conserve la clé pour les requêtes suivantes
🔧 MODIFICATIONS API:
• Nouvelle méthode _encrypt_with_user_key_and_next()
• Rotation automatique dans get_or_create_user_key()
• Headers X-Next-Key avec la prochaine clé
• Contenu chiffré retourné (application/octet-stream)
🔧 MODIFICATIONS SDK:
• Gestion de la prochaine clé dans decryptContent()
• Extraction de X-Next-Key depuis les headers
• Méthode updateNextKey() pour sauvegarder la clé
• Support des métadonnées avec next_key
🧪 TESTS VALIDÉS:
• Rotation à chaque requête confirmée
• Prochaine clé différente à chaque appel
• Contenu chiffré correctement transmis
• Métadonnées avec informations de rotation
🔐 SÉCURITÉ:
• Chiffrement quantique résistant (ChaCha20-Poly1305)
• Clés individuelles par utilisateur et environnement
• Rotation transparente pour l'utilisateur
• Audit complet dans les logs serveur
- ✅ Suppression des fichiers redondants (api_server.py, start_api.sh, test_api.py)
- ✅ Renommage des fichiers sécurisés vers les noms standards
- ✅ Consolidation des exemples SDK en un seul fichier usage.ts
- ✅ Suppression du client SDK déprécié
- ✅ Mise à jour de la documentation principale
- ✅ Simplification de la structure du projet
- 🔒 Conservation de la sécurité (authentification par clés utilisateur)
- 📁 Respect du stockage en lecture seule (storage/)
- ✅ API sécurisée avec authentification par ID utilisateur
- ✅ HTTPS obligatoire avec rejet des connexions HTTP
- ✅ Clés individuelles par utilisateur ET par environnement
- ✅ Rotation automatique des clés avec sauvegarde de l'ancienne
- ✅ Stockage sécurisé dans storage/<env>/_keys/
- ✅ Client SDK mis à jour sans stockage de clés côté client
- ✅ Documentation complète avec avertissements de sécurité
- ✅ Tests complets du système sécurisé
- 🔒 Protection des fichiers sensibles dans .gitignore
- API server with ChaCha20-Poly1305 encryption
- TypeScript SDK client with full functionality
- Complete documentation in docs/
- Environment variable processing with composite variables
- HTTPS-only API on port 6666
- Storage structure for configuration files
- Tests and examples included
Features:
- Quantum-resistant encryption (ChaCha20-Poly1305)
- Variable substitution from .env files
- Comprehensive TypeScript SDK
- Full API documentation and specifications
- Deployment guides and security model