# Documentation - Tests de SantĂ© des URLs LeCoffre Node ## 📋 Vue d'ensemble Ce document dĂ©crit les scripts de vĂ©rification de santĂ© des URLs pour LeCoffre Node, intĂ©grĂ©s dans les processus de backup et de production. ### 🔄 **Mise Ă  jour rĂ©cente (2025-09-25)** Le script `start.sh` a Ă©tĂ© amĂ©liorĂ© pour inclure des tests complets d'URLs intĂ©grĂ©s au processus de dĂ©marrage, offrant une validation complĂšte aprĂšs le lancement des services. ## 🔧 Scripts Disponibles ### 1. `start.sh` (AMÉLIORÉ) **Script de dĂ©marrage avec tests d'URLs intĂ©grĂ©s** **Usage :** ```bash cd /home/debian/4NK_env/scripts/lecoffre_node ./start.sh ``` **Nouvelles fonctionnalitĂ©s (2025-09-25) :** - ✅ Tests d'URLs complets aprĂšs dĂ©marrage des services - ✅ Tests des URLs internes (12 services Docker) - ✅ Tests des URLs externes (6 endpoints publics) - ✅ Tests des APIs externes (3 endpoints backend) - ✅ Tests WebSocket (1 connexion bootstrap) - ✅ Tests des services externes (3 dĂ©pendances) - ✅ Rapport dĂ©taillĂ© avec compteurs d'URLs accessibles/Ă©chouĂ©es - ✅ Support des codes HTTP multiples (200, 301, 302, 307, 308) - ✅ Tests API POST pour l'endpoint IdNot ### 2. `url-health-check.sh` **Script autonome de test d'URLs** **Usage :** ```bash cd /home/debian/4NK_env/scripts/lecoffre_node ./url-health-check.sh ``` **FonctionnalitĂ©s :** - Test de toutes les URLs internes (services Docker) - Test de toutes les URLs externes (domaine public) - Test des APIs externes (backend services) - Test des WebSockets externes - Test des services externes (dĂ©pendances) - Rapport dĂ©taillĂ© avec codes de retour **Codes de retour :** - `0` : Toutes les URLs sont accessibles - `1` : Certaines URLs ne sont pas accessibles (majoritĂ© fonctionne) - `2` : Trop d'URLs ne sont pas accessibles ### 2. `production-health-check.sh` **Script de vĂ©rification complĂšte pour la production** **Usage :** ```bash cd /home/debian/4NK_env/scripts/lecoffre_node ./production-health-check.sh ``` **FonctionnalitĂ©s :** - État des services Docker - Espace disque systĂšme - MĂ©moire systĂšme - Volumes Docker - Tests d'URLs complets - GĂ©nĂ©ration d'un rapport Markdown dĂ©taillĂ© ### 3. `backup-data.sh` (ModifiĂ©) **Script de backup avec intĂ©gration des tests d'URLs** **Usage :** ```bash cd /home/debian/4NK_env/scripts/lecoffre_node ./backup-data.sh ``` **Nouvelles fonctionnalitĂ©s :** - Test des URLs avant la sauvegarde - Test des URLs aprĂšs la sauvegarde - Logs des tests intĂ©grĂ©s dans le backup - Rapport de cohĂ©rence avant/aprĂšs ## 📊 URLs TestĂ©es ### URLs Internes (Services Docker) | Service | URL | Code Attendu | Description | |---------|-----|--------------|-------------| | BlindBit Oracle | `http://localhost:8000/tweaks/1` | 200 | API BlindBit | | SDK Storage | `http://localhost:8081/health` | 200 | Health check SDK Storage | | SDK Relay | `http://localhost:8091/` | 200 | Interface WebSocket SDK Relay | | SDK Relay | `http://localhost:8090/` | 200 | Interface HTTP SDK Relay | | LeCoffre Frontend | `http://localhost:3004/` | 200,301,302,307,308 | Frontend racine | | LeCoffre Frontend | `http://localhost:3004/login` | 200,301,302,307,308 | Page de login | | LeCoffre Frontend | `http://localhost:3004/lecoffre/` | 200,301,302,307,308 | Application LeCoffre | | IHM Client | `http://localhost:3003/` | 200 | Interface IHM Client | | Grafana | `http://localhost:3005/api/health` | 200 | Health check Grafana | | Grafana | `http://localhost:3005/` | 200,301,302 | Dashboard Grafana | | Loki | `http://localhost:3100/ready` | 200 | Health check Loki | | Status API | `http://localhost:3006/api` | 200 | API de statut | ### URLs Externes (Domaine Public) | Service | URL | Code Attendu | Description | |---------|-----|--------------|-------------| | Site Principal | `https://dev4.4nkweb.com/` | 200,301,302 | Site principal | | Page de Statut | `https://dev4.4nkweb.com/status/` | 200 | Page de statut des services | | Dashboard Grafana | `https://dev4.4nkweb.com/grafana/` | 200,301,302 | Dashboard Grafana public | | Application LeCoffre | `https://dev4.4nkweb.com/lecoffre/` | 200,301,302 | Application LeCoffre publique | | Login LeCoffre | `https://dev4.4nkweb.com/lecoffre/login` | 200,301,302 | Page de login publique | | Callback Auth | `https://dev4.4nkweb.com/lecoffre/authorized-client` | 200,301,302 | Callback d'authentification | ### APIs Externes (Backend Services) | Service | URL | MĂ©thode | Code Attendu | Description | |---------|-----|---------|--------------|-------------| | API Backend | `https://dev3.4nkweb.com/api/v1/health` | GET | 200 | Health check API backend | | API Backend | `https://dev3.4nkweb.com/api/v1/status` | GET | 200 | Status API backend | | IdNot State | `https://dev3.4nkweb.com/api/v1/idnot/state` | POST | 200 | Endpoint d'Ă©tat IdNot | ### WebSockets Externes | Service | URL | Description | |---------|-----|-------------| | Bootstrap Relay | `wss://dev3.4nkweb.com/ws/` | WebSocket de relais bootstrap | ### Services Externes (DĂ©pendances) | Service | URL | Code Attendu | Description | |---------|-----|--------------|-------------| | Mempool Signet | `https://mempool2.4nkweb.com/` | 200,301,302 | Explorateur de blockchain | | Service IdNot | `https://qual-connexion.idnot.fr/` | 200,301,302 | Service d'authentification IdNot | | IdNot Auth | `https://qual-connexion.idnot.fr/IdPOAuth2/authorize/idnot_idp_v1` | 200,301,302 | Endpoint d'autorisation IdNot | ## 📁 Structure des Fichiers GĂ©nĂ©rĂ©s ### Backup avec Tests d'URLs ``` ./backups/ ├── lecoffre_backup_YYYYMMDD_HHMMSS.tar.gz ├── url-health-check-pre-backup-YYYYMMDD_HHMMSS.log └── url-health-check-post-backup-YYYYMMDD_HHMMSS.log ``` ### Production Health Check ``` ./reports/ ├── production-health-report-YYYYMMDD_HHMMSS.md └── url-tests-production-YYYYMMDD_HHMMSS.log ``` ## 🔍 InterprĂ©tation des RĂ©sultats ### Codes de Statut HTTP - **200** : OK - Service accessible et fonctionnel - **301, 302, 307, 308** : Redirections - Acceptables pour certains services - **404** : Not Found - Service non trouvĂ© ou mal configurĂ© - **500** : Internal Server Error - Erreur serveur - **000** : Connection Failed - Impossible de se connecter ### Codes de Retour des Scripts - **0** : SuccĂšs complet - **1** : SuccĂšs partiel (certaines URLs Ă©chouent) - **2** : Échec (trop d'URLs Ă©chouent) ## 🚹 DĂ©pannage ### URLs Internes Non Accessibles 1. VĂ©rifier que les services Docker sont dĂ©marrĂ©s 2. VĂ©rifier les ports et la configuration rĂ©seau 3. Consulter les logs des services : `docker logs ` ### URLs Externes Non Accessibles 1. VĂ©rifier la configuration nginx 2. VĂ©rifier les certificats SSL 3. VĂ©rifier la connectivitĂ© rĂ©seau externe 4. Consulter les logs nginx ### APIs Non Accessibles 1. VĂ©rifier la configuration CORS 2. VĂ©rifier les headers d'authentification 3. VĂ©rifier la connectivitĂ© vers dev3.4nkweb.com 4. Consulter les logs du backend ## 📝 Exemples d'Utilisation ### DĂ©marrage Complet avec Tests d'URLs (RECOMMANDÉ) ```bash cd /home/debian/4NK_env/scripts/lecoffre_node ./start.sh ``` **Avantages :** - DĂ©marre tous les services sĂ©quentiellement - VĂ©rifie les variables d'environnement - Teste toutes les URLs aprĂšs stabilisation - Fournit un rapport complet ### Test Rapide des URLs (Standalone) ```bash cd /home/debian/4NK_env/scripts/lecoffre_node ./url-health-check.sh ``` ### Rapport Complet de Production ```bash cd /home/debian/4NK_env/scripts/lecoffre_node ./production-health-check.sh cat ./reports/production-health-report-*.md ``` ### Backup avec Tests d'URLs ```bash cd /home/debian/4NK_env/scripts/lecoffre_node ./backup-data.sh ls -la ./backups/ ``` ### Surveillance Continue ```bash # Ajouter dans un cron pour surveillance automatique 0 */6 * * * cd /home/debian/4NK_env/scripts/lecoffre_node && ./url-health-check.sh > /var/log/url-health-check.log 2>&1 ``` ## 🔧 Maintenance ### Mise Ă  Jour des URLs Pour ajouter ou modifier des URLs testĂ©es : 1. Éditer `url-health-check.sh` 2. Ajouter/modifier les sections appropriĂ©es 3. Tester le script 4. Mettre Ă  jour cette documentation ### Configuration des Timeouts Les timeouts par dĂ©faut sont : - URLs internes : 5-10 secondes - URLs externes : 10-15 secondes - WebSockets : 5 secondes Pour modifier les timeouts, Ă©diter les paramĂštres dans les fonctions `test_url()` et `test_websocket()`. --- **Document créé le 2025-09-25** **Version** : 1.0 **Usage** : Scripts de santĂ© LeCoffre Node