- Mise à jour de l'API pour charger les fichiers .env dans l'ordre: .env.secrets -> .env -> .env.auto -> .env.post
- Ajout du script generate_variables.sh pour générer automatiquement les variables Docker
- Création des fichiers .env.auto et .env.post pour le templating complet
- Mise à jour de la documentation pour refléter le nouvel ordre de chargement
- Génération automatique du docker-compose.yml avec templates des services
- Support complet des variables emboîtées entre les fichiers d'environnement
- 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
- 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
🔒 HTTPS OBLIGATOIRE:
- ✅ Vérification stricte de HTTPS avec multiple contrôles
- ✅ Rejet automatique des connexions HTTP sur le port 6666
- ✅ Messages d'erreur explicites pour HTTPS requis
- ✅ Test de connexion HTTP confirmé (refusé comme attendu)
🔐 AUTHENTIFICATION CORRIGÉE:
- ✅ Validation stricte des ID utilisateur (3-50 chars alphanumériques + _ et -)
- ✅ Rejet automatique des utilisateurs invalides (401)
- ✅ Tests d'authentification fonctionnels
- ✅ Header X-User-ID obligatoire pour tous les accès
📁 TESTS CORRIGÉS:
- ✅ Test d'accès aux fichiers avec environnement dev existant
- ✅ Script de démarrage mis à jour (api_server.py)
- ✅ Tests d'authentification avec résultats attendus
🧪 RÉSULTATS DES TESTS:
- ✅ Santé de l'API: PASSÉ
- ✅ Informations API: PASSÉ
- ✅ Accès aux fichiers: PASSÉ
- ✅ Authentification: PASSÉ (401 pour utilisateurs invalides)
- ✅ HTTPS obligatoire: PASSÉ (HTTP refusé)
- ✅ Rotation des clés: PASSÉ
L'API est maintenant complètement sécurisée avec HTTPS obligatoire et authentification fonctionnelle.
- ✅ 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