4NK Environment
Environnement de développement centralisé pour tous les dépôts 4NK et le projet LeCoffre, incluant le contexte et l'outillage complet pour les agents IA.
🏗️ Architecture
Environnement de développement centralisé avec agents IA
4NK_env/ # Environnement de développement 4NK + Agents IA
├── lecoffre_node/ # Orchestrateur principal LeCoffre (Nginx intégré)
├── sdk_relay/ # Service de relais WebSocket 4NK
├── sdk_storage/ # Service de stockage 4NK
├── sdk_client/ # Client SDK 4NK
├── sdk_common/ # Composants communs 4NK
├── sdk-signer-client/ # Client signeur 4NK
├── ihm_client/ # Interface utilisateur LeCoffre
├── lecoffre-front/ # Frontend Next.js LeCoffre
├── doc_api/ # Documentation API 4NK
├── IA_agents/ # 🧠 Agents IA - Contexte et outillage complet
│ ├── context.md # Contexte général des projets
│ ├── deploy.md # Procédures de déploiement
│ ├── flux.md # Architecture des flux
│ └── todo.md # Liste des tâches et améliorations
└── scripts/ # Scripts de gestion et déploiement (centralisés)
├── clone-all-repos.sh # Clonage de tous les dépôts 4NK
├── init-4nk-env-repo.sh # Initialisation du dépôt 4NK_env
├── check-repos-status.sh # Vérification du statut des dépôts
├── push-to-remote.sh # Push vers git.4nkweb.com
└── setup-complete-env.sh # Configuration complète
🚀 Déploiement
1. Clonage de tous les dépôts 4NK (branche ext)
cd /home/debian/4NK_env
./scripts/clone-all-repos.sh
2. Initialisation du dépôt 4NK_env
./scripts/init-4nk-env-repo.sh
3. Déploiement LeCoffre (architecture autonome)
cd lecoffre_node
./scripts/deploy-autonomous.sh
4. Configuration complète de l'environnement
./scripts/setup-complete-env.sh
🌐 Services et Ports
Service | URL | Description |
---|---|---|
LeCoffre Front | http://localhost/lecoffre/ | Application principale |
IHM Client | http://localhost/ | Interface client |
API Backend | http://localhost/api/ | API REST |
WebSocket | ws://localhost/ws/ | Communication temps réel |
Status Page | http://localhost/status/ | Tableau de bord |
Grafana | http://localhost/grafana/ | Monitoring |
Redirections IdNot | <IDNOT_BASE_URL> |
Redirections externes |
HTTPS | https://localhost/ | Accès sécurisé |
Ports
- 80 : HTTP (redirection vers HTTPS)
- 443 : HTTPS avec certificats auto-signés
- 3000 : Redirections externes IdNot
🔧 Configuration
Environnement de développement avec agents IA
- Dépôts centralisés : Tous les projets 4NK et LeCoffre dans un seul environnement
- Branche unifiée :
ext
pour tous les dépôts - Scripts de gestion : Automatisation complète du clonage et déploiement
- Agents IA : Contexte et outillage complet dans IA_agents/
- Documentation centralisée : Toute la documentation technique accessible
Architecture Autonome LeCoffre
- Nginx intégré dans le conteneur
lecoffre_node
- Indépendant du host (Nginx local supprimé)
- Configuration centralisée dans
lecoffre_node/conf/
- Variables d'environnement dans
env.master
Monitoring
- Grafana : Tableaux de bord et visualisation
- Loki : Collecte et stockage des logs
- Promtail : Agent de collecte des logs
📚 Documentation et Agents IA
Agents IA - Contexte et outillage complet (IA_agents/)
- AGENTS_SYNTHESIS.md : NOUVEAU - Synthèse complète pour les agents IA
- README.md : Documentation principale et règles obligatoires
- deployment-architecture.md : Architecture de déploiement par phases
- best-practices-deployment.md : Bonnes pratiques et interdictions
- todo.md : Liste des tâches et améliorations à suivre
Documentation Technique (docs/)
- DEEP_ARCHITECTURE_ANALYSIS.md : NOUVEAU - Analyse architecturale approfondie complète
- TECHNICAL_REFERENCE.md : NOUVEAU - Référence technique complète
- DEPLOYMENT_GUIDE.md : NOUVEAU - Guide de déploiement complet
- DOCUMENTATION_SYNTHESIS.md : NOUVEAU - Synthèse de la documentation
- ARCHITECTURE_ANALYSIS.md : Analyse architecturale complète 4NK + LeCoffre
- context.md : Contexte général des projets 4NK et LeCoffre
- flux.md : Architecture des flux et services
🔐 Synchronisation des configurations (Vault)
Les configurations sont synchronisées depuis le dépôt sécurisé du Vault, puis répliquées pour les déploiements.
# Synchroniser les configurations
bash projects/lecoffre/lecoffre_node/scripts/sync-vault-full.sh
# Résultat attendu
# - Miroir local: vault/confs2/
# - Copie centralisée: confs/
# - Réplication projet: projects/lecoffre/lecoffre_node/confs/
Notes:
- Rebuild propre de
vault/sdk-client
avant la synchronisation. - Fallback automatique sur
vault/confs2/
si le miroirvault/confs/
est absent. - Aucun secret n'est committé; toutes les valeurs sensibles restent externalisées.
🧹 Standardisation des fichiers ignore
Les fichiers .gitignore
, .cursorignore
, .dockerignore
sont centralisés et propagés.
# Propager les fichiers ignore
bash projects/lecoffre/lecoffre_node/scripts/sync-ignore-files.sh
# Portée
# - 4NK_modules/* (exclu: 4NK_vault)
# - projects/*/*
Documentation spécifique
- lecoffre_node/README-AUTONOMOUS.md : Architecture autonome LeCoffre
- doc_api/ : Documentation API 4NK
🛠️ Scripts Utiles
Gestion des dépôts
./scripts/check-repos-status.sh # Vérifier le statut de tous les dépôts
./scripts/clone-all-repos.sh # Cloner tous les dépôts 4NK (branche ext)
./scripts/init-4nk-env-repo.sh # Initialiser le dépôt 4NK_env
./scripts/push-to-remote.sh # Pousser vers git.4nkweb.com
./scripts/setup-complete-env.sh # Configuration complète de l'environnement
./scripts/push-commit.sh # Forcer travail sur ext (submodules + racine), commit/push si changements
Centralisation des scripts
- Les scripts des sous‑projets sont centralisés dans
4NK_env/scripts/<projet>/
. - Les répertoires
scripts/
à la racine des sous‑projets sont désormais des liens symboliques pointant vers ces emplacements centralisés. - Exemples:
lecoffre_node/scripts
→4NK_env/scripts/lecoffre_node
Impact:
- Aucun changement pour les commandes existantes (
./scripts/...
) dans les projets: les liens symboliques assurent la compatibilité. - Référence recommandée dans la documentation:
4NK_env/scripts/<projet>/...
.
🔐 Sécurité
- Fichiers .env protégés par
.gitignore
- Certificats SSL auto-signés générés automatiquement
- Utilisateurs non-root dans tous les conteneurs
- Secrets centralisés dans
env.master
🐳 Docker
Images optimisées
- Base Debian
bookworm-slim
- Packages minimaux pour la sécurité
- Utilisateurs non-root (
appuser
,lecoffreuser
) - Tag unique :
ext
Architecture
- Conteneur master :
lecoffre_node
avec Nginx intégré - Services autonomes : Chaque service dans son conteneur
- Réseau Docker : Communication interne sécurisée
📊 Monitoring
Dashboards Grafana
- Bitcoin Miner
- Backend Services
- SDK Services
- Frontend Services
- Bitcoin Services
- Vue d'ensemble
Logs centralisés
- Loki : Stockage des logs
- Promtail : Collecte des logs
- LogQL : Requêtes de logs
🔄 CI/CD
Environnement de développement avec agents IA
- Branche unifiée :
ext
pour tous les dépôts - Dépôt central :
4NK_env
sur git.4nkweb.com - Scripts automatisés : Clonage et déploiement
- Agents IA : Contexte et outillage toujours à jour
LeCoffre
- Tag Docker :
ext
- Déclenchement : Push sur
ext
- Build : Automatique via Gitea CI
📞 Support
Pour toute question ou problème :
- Vérifier les logs :
docker logs <container>
- Consulter la documentation des agents IA :
4NK_env/IA_agents/
- Vérifier le statut :
./scripts/check-repos-status.sh
- Utiliser l'outillage complet : Scripts et documentation centralisés
📋 Fichiers centralisés
Les fichiers suivants sont centralisés dans le dépôt principal 4NK_env
:
CODE_OF_CONDUCT.md
- Code de conduiteCODEOWNERS
- Propriétaires du codeCONTRIBUTING.md
- Guide de contributionLICENSE
- Licence du projet
Voir : 4NK_env/CODE_OF_CONDUCT.md
, 4NK_env/CODEOWNERS
, 4NK_env/CONTRIBUTING.md
, 4NK_env/LICENSE
Languages
Shell
96.2%
JavaScript
3.8%