4NK_env/README.md

202 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)
```bash
cd /home/debian/4NK_env
./scripts/clone-all-repos.sh
```
### 2. Initialisation du dépôt 4NK_env
```bash
./scripts/init-4nk-env-repo.sh
```
### 3. Déploiement LeCoffre (architecture autonome)
```bash
cd lecoffre_node
./scripts/deploy-autonomous.sh
```
### 4. Configuration complète de l'environnement
```bash
./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
### Documentation spécifique
- **lecoffre_node/README-AUTONOMOUS.md** : Architecture autonome LeCoffre
- **doc_api/** : Documentation API 4NK
## 🛠️ Scripts Utiles
### Gestion des dépôts
```bash
./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 sousprojets sont centralisés dans `4NK_env/scripts/<projet>/`.
- Les répertoires `scripts/` à la racine des sousprojets 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 :
1. Vérifier les logs : `docker logs <container>`
2. Consulter la documentation des agents IA : `4NK_env/IA_agents/`
3. Vérifier le statut : `./scripts/check-repos-status.sh`
4. 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 conduite
- `CODEOWNERS` - Propriétaires du code
- `CONTRIBUTING.md` - Guide de contribution
- `LICENSE` - Licence du projet
Voir : [`4NK_env/CODE_OF_CONDUCT.md`](../../CODE_OF_CONDUCT.md), [`4NK_env/CODEOWNERS`](../../CODEOWNERS), [`4NK_env/CONTRIBUTING.md`](../../CONTRIBUTING.md), [`4NK_env/LICENSE`](../../LICENSE)