4NK_env/README.md
2025-09-22 15:45:47 +00:00

173 lines
6.2 KiB
Markdown

# 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_signer/ # Service de signature 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
├── 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** | http://dev3.4nkweb.com/ | 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/)
- **context.md** : Contexte général des projets 4NK et LeCoffre pour les agents IA
- **deploy.md** : Procédures de déploiement détaillées
- **flux.md** : Architecture des flux et services
- **todo.md** : Liste des tâches et améliorations à suivre
### 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
```
## 🔐 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 : `IA_agents/`
3. Vérifier le statut : `./scripts/check-repos-status.sh`
4. Utiliser l'outillage complet : Scripts et documentation centralisés