auto_clea
This commit is contained in:
parent
75df8cb3de
commit
a97b578d40
8
.cursor/rules/important.mdc
Normal file
8
.cursor/rules/important.mdc
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Les règles sont dans IA_agents/ du projet, il faut tout lire ce sont les règles et informations importantes, les prompts sont encore plus important
|
||||||
|
Au démarrage de ton travail sur un projet suit : IA_agents/prompts/prompt-start.md
|
||||||
|
|
||||||
|
alwaysApply: true
|
||||||
|
---
|
2
AGENTS.md
Normal file
2
AGENTS.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Les règles sont dans IA_agents/ du projet, il faut tout lire ce sont les règles et informations importantes, les prompts sont encore plus important
|
||||||
|
Au démarrage de ton travail sur un projet suit : IA_agents/prompts/prompt-start.md
|
111
AMELIORATIONS_SCRIPTS.md
Normal file
111
AMELIORATIONS_SCRIPTS.md
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
# Améliorations des Scripts - LeCoffre Node
|
||||||
|
|
||||||
|
## ✅ **Scripts Améliorés (2025-09-25)**
|
||||||
|
|
||||||
|
### **1. Script `start.sh` - AMÉLIORÉ**
|
||||||
|
|
||||||
|
#### **Nouvelles Fonctionnalités Ajoutées :**
|
||||||
|
|
||||||
|
**🔧 Tests d'URLs Complets Intégrés :**
|
||||||
|
- ✅ **URLs internes** : 12 services Docker testés
|
||||||
|
- ✅ **URLs externes** : 6 endpoints publics testés
|
||||||
|
- ✅ **APIs externes** : 3 endpoints backend testés
|
||||||
|
- ✅ **WebSockets** : 1 connexion bootstrap testée
|
||||||
|
- ✅ **Services externes** : 3 dépendances testées
|
||||||
|
- ✅ **API POST** : Test de l'endpoint IdNot avec données POST
|
||||||
|
|
||||||
|
**📊 Rapport Détaillé :**
|
||||||
|
- ✅ Compteurs d'URLs accessibles/échouées
|
||||||
|
- ✅ Support des codes HTTP multiples (200, 301, 302, 307, 308)
|
||||||
|
- ✅ Timeouts adaptés par type de service
|
||||||
|
- ✅ Messages d'erreur détaillés
|
||||||
|
|
||||||
|
**🔍 Progression Détaillée Améliorée :**
|
||||||
|
- ✅ Tests d'URLs internes dans `show_detailed_progress()`
|
||||||
|
- ✅ Tests d'URLs externes étendus
|
||||||
|
- ✅ Tests d'APIs externes ajoutés
|
||||||
|
- ✅ Tests WebSocket améliorés
|
||||||
|
- ✅ Tests des services externes ajoutés
|
||||||
|
|
||||||
|
#### **URLs Testées (25+ endpoints) :**
|
||||||
|
|
||||||
|
**URLs Internes :**
|
||||||
|
- `http://localhost:8000/tweaks/1` - BlindBit Oracle API
|
||||||
|
- `http://localhost:8081/health` - SDK Storage Health
|
||||||
|
- `http://localhost:8091/` - SDK Relay WebSocket
|
||||||
|
- `http://localhost:8090/` - SDK Relay HTTP
|
||||||
|
- `http://localhost:3004/` - LeCoffre Frontend (root)
|
||||||
|
- `http://localhost:3004/login` - LeCoffre Frontend (login)
|
||||||
|
- `http://localhost:3004/lecoffre/` - LeCoffre Frontend (app)
|
||||||
|
- `http://localhost:3003/` - IHM Client
|
||||||
|
- `http://localhost:3005/api/health` - Grafana Health
|
||||||
|
- `http://localhost:3005/` - Grafana Dashboard
|
||||||
|
- `http://localhost:3100/ready` - Loki Health
|
||||||
|
- `http://localhost:3006/api` - Status API
|
||||||
|
|
||||||
|
**URLs Externes :**
|
||||||
|
- `https://dev4.4nkweb.com/` - Site Principal
|
||||||
|
- `https://dev4.4nkweb.com/status/` - Page de Statut
|
||||||
|
- `https://dev4.4nkweb.com/grafana/` - Dashboard Grafana
|
||||||
|
- `https://dev4.4nkweb.com/lecoffre/` - Application LeCoffre
|
||||||
|
- `https://dev4.4nkweb.com/lecoffre/login` - Login LeCoffre
|
||||||
|
- `https://dev4.4nkweb.com/lecoffre/authorized-client` - Callback d'authentification
|
||||||
|
|
||||||
|
**APIs Externes :**
|
||||||
|
- `https://dev3.4nkweb.com/api/v1/health` - API Backend Health
|
||||||
|
- `https://dev3.4nkweb.com/api/v1/status` - API Backend Status
|
||||||
|
- `https://dev3.4nkweb.com/api/v1/idnot/state` - IdNot State API (POST)
|
||||||
|
|
||||||
|
**WebSockets :**
|
||||||
|
- `wss://dev3.4nkweb.com/ws/` - Bootstrap Relay
|
||||||
|
|
||||||
|
**Services Externes :**
|
||||||
|
- `https://mempool2.4nkweb.com/` - Mempool Signet
|
||||||
|
- `https://qual-connexion.idnot.fr/` - Service IdNot
|
||||||
|
- `https://qual-connexion.idnot.fr/IdPOAuth2/authorize/idnot_idp_v1` - IdNot Authorization
|
||||||
|
|
||||||
|
### **2. Documentation `URL-HEALTH-CHECKING.md` - MISE À JOUR**
|
||||||
|
|
||||||
|
#### **Améliorations Apportées :**
|
||||||
|
- ✅ Ajout d'une section sur les améliorations du script `start.sh`
|
||||||
|
- ✅ Mise à jour des exemples d'utilisation
|
||||||
|
- ✅ Documentation des nouvelles fonctionnalités
|
||||||
|
- ✅ Recommandation d'utiliser `start.sh` comme script principal
|
||||||
|
|
||||||
|
## 🎯 **Résultat Final**
|
||||||
|
|
||||||
|
### **Avant les Améliorations :**
|
||||||
|
- ❌ Tests d'URLs limités (4 URLs publiques)
|
||||||
|
- ❌ Pas de tests d'APIs externes
|
||||||
|
- ❌ Pas de tests WebSocket
|
||||||
|
- ❌ Pas de tests de services externes
|
||||||
|
- ❌ Pas de rapport détaillé
|
||||||
|
|
||||||
|
### **Après les Améliorations :**
|
||||||
|
- ✅ **25+ URLs testées** (internes + externes)
|
||||||
|
- ✅ **Tests d'APIs complets** (GET + POST)
|
||||||
|
- ✅ **Tests WebSocket** intégrés
|
||||||
|
- ✅ **Tests de services externes** (dépendances)
|
||||||
|
- ✅ **Rapport détaillé** avec compteurs
|
||||||
|
- ✅ **Support codes HTTP multiples**
|
||||||
|
- ✅ **Timeouts adaptés** par service
|
||||||
|
|
||||||
|
## 🚀 **Utilisation Recommandée**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/debian/4NK_env/scripts/lecoffre_node
|
||||||
|
./start.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Ce script unique fournit maintenant :
|
||||||
|
1. ✅ **Démarrage séquentiel** des services
|
||||||
|
2. ✅ **Vérification des variables** d'environnement
|
||||||
|
3. ✅ **Tests complets d'URLs** après stabilisation
|
||||||
|
4. ✅ **Rapport détaillé** de l'état du système
|
||||||
|
5. ✅ **Gestion d'erreurs** robuste
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Date** : 2025-09-25
|
||||||
|
**Statut** : ✅ **Scripts améliorés et documentés**
|
||||||
|
**Impact** : Script de démarrage unifié avec tests complets
|
@ -4,10 +4,33 @@
|
|||||||
|
|
||||||
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.
|
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
|
## 🔧 Scripts Disponibles
|
||||||
|
|
||||||
### 1. `url-health-check.sh`
|
### 1. `start.sh` (AMÉLIORÉ)
|
||||||
**Script principal de test d'URLs**
|
**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 :**
|
**Usage :**
|
||||||
```bash
|
```bash
|
||||||
@ -164,7 +187,18 @@ cd /home/debian/4NK_env/scripts/lecoffre_node
|
|||||||
|
|
||||||
## 📝 Exemples d'Utilisation
|
## 📝 Exemples d'Utilisation
|
||||||
|
|
||||||
### Test Rapide des URLs
|
### 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
|
```bash
|
||||||
cd /home/debian/4NK_env/scripts/lecoffre_node
|
cd /home/debian/4NK_env/scripts/lecoffre_node
|
||||||
./url-health-check.sh
|
./url-health-check.sh
|
||||||
|
@ -104,6 +104,31 @@ show_detailed_progress() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# URLs internes (Services Docker)
|
||||||
|
echo -e "${CYAN}Internal URLs Status:${NC}"
|
||||||
|
local internal_urls=(
|
||||||
|
"http://localhost:8000/tweaks/1:BlindBit Oracle API"
|
||||||
|
"http://localhost:8081/health:SDK Storage Health"
|
||||||
|
"http://localhost:8091/:SDK Relay WebSocket"
|
||||||
|
"http://localhost:8090/:SDK Relay HTTP"
|
||||||
|
"http://localhost:3004/:LeCoffre Frontend"
|
||||||
|
"http://localhost:3003/:IHM Client"
|
||||||
|
"http://localhost:3005/api/health:Grafana Health"
|
||||||
|
"http://localhost:3100/ready:Loki Health"
|
||||||
|
"http://localhost:3006/api:Status API"
|
||||||
|
)
|
||||||
|
|
||||||
|
for url_entry in "${internal_urls[@]}"; do
|
||||||
|
local url="${url_entry%%:*}"
|
||||||
|
local name="${url_entry##*:}"
|
||||||
|
local response=$(curl -s -o /dev/null -w '%{http_code}' --max-time 5 "$url" 2>/dev/null || echo "000")
|
||||||
|
if [[ "$response" =~ ^(200|301|302|307|308)$ ]]; then
|
||||||
|
echo -e " ${GREEN}$name: Accessible (HTTP $response)${NC}"
|
||||||
|
else
|
||||||
|
echo -e " ${YELLOW}$name: Not accessible (HTTP $response)${NC}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# URLs publiques HTTPS
|
# URLs publiques HTTPS
|
||||||
echo -e "${CYAN}Public URLs Status:${NC}"
|
echo -e "${CYAN}Public URLs Status:${NC}"
|
||||||
local urls=(
|
local urls=(
|
||||||
@ -111,12 +136,32 @@ show_detailed_progress() {
|
|||||||
"https://dev4.4nkweb.com/grafana/:Grafana Dashboard"
|
"https://dev4.4nkweb.com/grafana/:Grafana Dashboard"
|
||||||
"https://dev4.4nkweb.com/:Main Site"
|
"https://dev4.4nkweb.com/:Main Site"
|
||||||
"https://dev4.4nkweb.com/lecoffre/:LeCoffre App"
|
"https://dev4.4nkweb.com/lecoffre/:LeCoffre App"
|
||||||
|
"https://dev4.4nkweb.com/lecoffre/login:LeCoffre Login"
|
||||||
|
"https://dev4.4nkweb.com/lecoffre/authorized-client:Auth Callback"
|
||||||
)
|
)
|
||||||
|
|
||||||
for url_entry in "${urls[@]}"; do
|
for url_entry in "${urls[@]}"; do
|
||||||
local url="${url_entry%%:*}"
|
local url="${url_entry%%:*}"
|
||||||
local name="${url_entry##*:}"
|
local name="${url_entry##*:}"
|
||||||
local response=$(curl -s -o /dev/null -w '%{http_code}' "$url" 2>/dev/null || echo "000")
|
local response=$(curl -s -o /dev/null -w '%{http_code}' --max-time 10 "$url" 2>/dev/null || echo "000")
|
||||||
|
if [[ "$response" =~ ^(200|301|302|307|308)$ ]]; then
|
||||||
|
echo -e " ${GREEN}$name: Accessible (HTTP $response)${NC}"
|
||||||
|
else
|
||||||
|
echo -e " ${YELLOW}$name: Not accessible (HTTP $response)${NC}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# APIs externes
|
||||||
|
echo -e "${CYAN}External APIs Status:${NC}"
|
||||||
|
local api_urls=(
|
||||||
|
"https://dev3.4nkweb.com/api/v1/health:Backend Health"
|
||||||
|
"https://dev3.4nkweb.com/api/v1/status:Backend Status"
|
||||||
|
)
|
||||||
|
|
||||||
|
for url_entry in "${api_urls[@]}"; do
|
||||||
|
local url="${url_entry%%:*}"
|
||||||
|
local name="${url_entry##*:}"
|
||||||
|
local response=$(curl -s -o /dev/null -w '%{http_code}' --max-time 10 "$url" 2>/dev/null || echo "000")
|
||||||
if [ "$response" = "200" ]; then
|
if [ "$response" = "200" ]; then
|
||||||
echo -e " ${GREEN}$name: Accessible (HTTP $response)${NC}"
|
echo -e " ${GREEN}$name: Accessible (HTTP $response)${NC}"
|
||||||
else
|
else
|
||||||
@ -124,11 +169,22 @@ show_detailed_progress() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Test API IdNot avec POST
|
||||||
|
echo -e "${CYAN}Testing IdNot API:${NC}"
|
||||||
|
local idnot_response=$(curl -s -o /dev/null -w '%{http_code}' --max-time 10 -X POST \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{"next_url":"https://dev4.4nkweb.com/authorized-client"}' \
|
||||||
|
"https://dev3.4nkweb.com/api/v1/idnot/state" 2>/dev/null || echo "000")
|
||||||
|
if [ "$idnot_response" = "200" ]; then
|
||||||
|
echo -e " ${GREEN}IdNot State API: Accessible (HTTP $idnot_response)${NC}"
|
||||||
|
else
|
||||||
|
echo -e " ${YELLOW}IdNot State API: Not accessible (HTTP $idnot_response)${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
# URLs WebSocket publiques
|
# URLs WebSocket publiques
|
||||||
echo -e "${CYAN}WebSocket URLs Status:${NC}"
|
echo -e "${CYAN}WebSocket URLs Status:${NC}"
|
||||||
local ws_urls=(
|
local ws_urls=(
|
||||||
"wss://dev3.4nkweb.com/ws/:Bootstrap Relay"
|
"wss://dev3.4nkweb.com/ws/:Bootstrap Relay"
|
||||||
"wss://dev3.4nkweb.com/ws/:Signer Service"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
for ws_entry in "${ws_urls[@]}"; do
|
for ws_entry in "${ws_urls[@]}"; do
|
||||||
@ -143,6 +199,25 @@ show_detailed_progress() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Services externes (dépendances)
|
||||||
|
echo -e "${CYAN}External Services Status:${NC}"
|
||||||
|
local external_urls=(
|
||||||
|
"https://mempool2.4nkweb.com/:Mempool Signet"
|
||||||
|
"https://qual-connexion.idnot.fr/:IdNot Service"
|
||||||
|
"https://qual-connexion.idnot.fr/IdPOAuth2/authorize/idnot_idp_v1:IdNot Auth"
|
||||||
|
)
|
||||||
|
|
||||||
|
for url_entry in "${external_urls[@]}"; do
|
||||||
|
local url="${url_entry%%:*}"
|
||||||
|
local name="${url_entry##*:}"
|
||||||
|
local response=$(curl -s -o /dev/null -w '%{http_code}' --max-time 10 "$url" 2>/dev/null || echo "000")
|
||||||
|
if [[ "$response" =~ ^(200|301|302|307|308)$ ]]; then
|
||||||
|
echo -e " ${GREEN}$name: Accessible (HTTP $response)${NC}"
|
||||||
|
else
|
||||||
|
echo -e " ${YELLOW}$name: Not accessible (HTTP $response)${NC}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
echo -e "${CYAN}========================${NC}"
|
echo -e "${CYAN}========================${NC}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -256,7 +331,7 @@ start_service() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
print_message "Starting $display_name..."
|
print_message "Starting $display_name..."
|
||||||
if ! docker compose --env-file /home/debian/4NK_env/.env.master up -d "$service_name"; then
|
if ! docker compose --env-file /home/debian/4NK_env/.env.master -f /home/debian/4NK_env/lecoffre_node/docker-compose.yml up -d "$service_name"; then
|
||||||
echo -e "${YELLOW}⚠ Failed to start $display_name, continuing with next service...${NC}"
|
echo -e "${YELLOW}⚠ Failed to start $display_name, continuing with next service...${NC}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -291,7 +366,7 @@ echo
|
|||||||
|
|
||||||
# Arrêter les services existants
|
# Arrêter les services existants
|
||||||
print_message "Stopping existing services..."
|
print_message "Stopping existing services..."
|
||||||
docker compose --env-file /home/debian/4NK_env/.env.master down --remove-orphans >/dev/null 2>&1 || true
|
docker compose --env-file /home/debian/4NK_env/.env.master -f /home/debian/4NK_env/lecoffre_node/docker-compose.yml down --remove-orphans >/dev/null 2>&1 || true
|
||||||
|
|
||||||
# Ordre de démarrage logique
|
# Ordre de démarrage logique
|
||||||
services=(
|
services=(
|
||||||
@ -320,11 +395,142 @@ for service in "${services[@]}"; do
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Attendre un peu pour que tous les services se stabilisent
|
||||||
|
print_message "Waiting for services to stabilize..."
|
||||||
|
sleep 30
|
||||||
|
|
||||||
|
# Test complet des URLs
|
||||||
|
echo -e "${BLUE}========================================${NC}"
|
||||||
|
echo -e "${BLUE} Comprehensive URL Tests${NC}"
|
||||||
|
echo -e "${BLUE}========================================${NC}"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Compteurs pour les tests d'URLs
|
||||||
|
TOTAL_URLS=0
|
||||||
|
ACCESSIBLE_URLS=0
|
||||||
|
FAILED_URLS=0
|
||||||
|
|
||||||
|
# Fonction pour tester une URL avec comptage
|
||||||
|
test_url_with_count() {
|
||||||
|
local url="$1"
|
||||||
|
local description="$2"
|
||||||
|
local expected_codes="${3:-200}"
|
||||||
|
local timeout="${4:-10}"
|
||||||
|
|
||||||
|
TOTAL_URLS=$((TOTAL_URLS + 1))
|
||||||
|
|
||||||
|
print_message "Testing: $description"
|
||||||
|
echo -e " ${CYAN}URL: $url${NC}"
|
||||||
|
|
||||||
|
local response=$(curl -s -o /dev/null -w '%{http_code}' --max-time "$timeout" "$url" 2>/dev/null || echo "000")
|
||||||
|
|
||||||
|
if [[ "$response" =~ ^($expected_codes)$ ]]; then
|
||||||
|
echo -e " ${GREEN}✓${NC} Status: HTTP $response - Accessible"
|
||||||
|
ACCESSIBLE_URLS=$((ACCESSIBLE_URLS + 1))
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo -e " ${RED}✗${NC} Status: HTTP $response - Not accessible"
|
||||||
|
FAILED_URLS=$((FAILED_URLS + 1))
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Tests des URLs internes
|
||||||
|
echo -e "${CYAN}=== URLs INTERNES (Services Docker) ===${NC}"
|
||||||
|
test_url_with_count "http://localhost:8000/tweaks/1" "BlindBit Oracle API" "200" 5
|
||||||
|
test_url_with_count "http://localhost:8081/health" "SDK Storage Health" "200" 5
|
||||||
|
test_url_with_count "http://localhost:8091/" "SDK Relay WebSocket" "200" 5
|
||||||
|
test_url_with_count "http://localhost:8090/" "SDK Relay HTTP" "200" 5
|
||||||
|
test_url_with_count "http://localhost:3004/" "LeCoffre Frontend (root)" "200|301|302|307|308" 10
|
||||||
|
test_url_with_count "http://localhost:3004/login" "LeCoffre Frontend (login)" "200|301|302|307|308" 10
|
||||||
|
test_url_with_count "http://localhost:3004/lecoffre/" "LeCoffre Frontend (app)" "200|301|302|307|308" 10
|
||||||
|
test_url_with_count "http://localhost:3003/" "IHM Client" "200" 10
|
||||||
|
test_url_with_count "http://localhost:3005/api/health" "Grafana Health" "200" 5
|
||||||
|
test_url_with_count "http://localhost:3005/" "Grafana Dashboard" "200|301|302" 10
|
||||||
|
test_url_with_count "http://localhost:3100/ready" "Loki Health" "200" 5
|
||||||
|
test_url_with_count "http://localhost:3006/api" "Status API" "200" 5
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Tests des URLs externes
|
||||||
|
echo -e "${CYAN}=== URLs EXTERNES (Domaine Public) ===${NC}"
|
||||||
|
test_url_with_count "https://dev4.4nkweb.com/" "Site Principal" "200|301|302" 15
|
||||||
|
test_url_with_count "https://dev4.4nkweb.com/status/" "Page de Statut" "200" 15
|
||||||
|
test_url_with_count "https://dev4.4nkweb.com/grafana/" "Dashboard Grafana" "200|301|302" 15
|
||||||
|
test_url_with_count "https://dev4.4nkweb.com/lecoffre/" "Application LeCoffre" "200|301|302" 15
|
||||||
|
test_url_with_count "https://dev4.4nkweb.com/lecoffre/login" "Login LeCoffre" "200|301|302" 15
|
||||||
|
test_url_with_count "https://dev4.4nkweb.com/lecoffre/authorized-client" "Callback d'authentification" "200|301|302" 15
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Tests des APIs externes
|
||||||
|
echo -e "${CYAN}=== APIs EXTERNES (Backend Services) ===${NC}"
|
||||||
|
test_url_with_count "https://dev3.4nkweb.com/api/v1/health" "API Backend Health" "200" 10
|
||||||
|
test_url_with_count "https://dev3.4nkweb.com/api/v1/status" "API Backend Status" "200" 10
|
||||||
|
|
||||||
|
# Test API IdNot avec POST
|
||||||
|
print_message "Testing API POST: IdNot State Endpoint"
|
||||||
|
echo -e " ${CYAN}URL: https://dev3.4nkweb.com/api/v1/idnot/state${NC}"
|
||||||
|
echo -e " ${CYAN}Data: {\"next_url\":\"https://dev4.4nkweb.com/authorized-client\"}${NC}"
|
||||||
|
|
||||||
|
TOTAL_URLS=$((TOTAL_URLS + 1))
|
||||||
|
local idnot_response=$(curl -s -o /dev/null -w '%{http_code}' --max-time 10 -X POST \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{"next_url":"https://dev4.4nkweb.com/authorized-client"}' \
|
||||||
|
"https://dev3.4nkweb.com/api/v1/idnot/state" 2>/dev/null || echo "000")
|
||||||
|
|
||||||
|
if [ "$idnot_response" = "200" ]; then
|
||||||
|
echo -e " ${GREEN}✓${NC} Status: HTTP $idnot_response - API accessible"
|
||||||
|
ACCESSIBLE_URLS=$((ACCESSIBLE_URLS + 1))
|
||||||
|
else
|
||||||
|
echo -e " ${RED}✗${NC} Status: HTTP $idnot_response - API not accessible"
|
||||||
|
FAILED_URLS=$((FAILED_URLS + 1))
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Tests des WebSockets externes
|
||||||
|
echo -e "${CYAN}=== WebSockets Externes ===${NC}"
|
||||||
|
print_message "Testing WebSocket: Bootstrap Relay"
|
||||||
|
echo -e " ${CYAN}URL: wss://dev3.4nkweb.com/ws/${NC}"
|
||||||
|
|
||||||
|
TOTAL_URLS=$((TOTAL_URLS + 1))
|
||||||
|
local ws_test=$(timeout 5 wscat -c "wss://dev3.4nkweb.com/ws/" --no-color 2>/dev/null && echo "connected" || echo "failed")
|
||||||
|
|
||||||
|
if [ "$ws_test" = "connected" ]; then
|
||||||
|
echo -e " ${GREEN}✓${NC} Status: Connected"
|
||||||
|
ACCESSIBLE_URLS=$((ACCESSIBLE_URLS + 1))
|
||||||
|
else
|
||||||
|
echo -e " ${RED}✗${NC} Status: Not connected"
|
||||||
|
FAILED_URLS=$((FAILED_URLS + 1))
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Tests des services externes
|
||||||
|
echo -e "${CYAN}=== Services Externes (Dépendances) ===${NC}"
|
||||||
|
test_url_with_count "https://mempool2.4nkweb.com/" "Mempool Signet" "200|301|302" 10
|
||||||
|
test_url_with_count "https://qual-connexion.idnot.fr/" "Service IdNot" "200|301|302" 10
|
||||||
|
test_url_with_count "https://qual-connexion.idnot.fr/IdPOAuth2/authorize/idnot_idp_v1" "IdNot Authorization" "200|301|302" 10
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Résumé final des tests d'URLs
|
||||||
|
echo -e "${CYAN}=== RÉSUMÉ DES TESTS D'URLs ===${NC}"
|
||||||
|
echo -e "${BLUE}Total URLs testées: $TOTAL_URLS${NC}"
|
||||||
|
echo -e "${GREEN}URLs accessibles: $ACCESSIBLE_URLS${NC}"
|
||||||
|
echo -e "${RED}URLs échouées: $FAILED_URLS${NC}"
|
||||||
|
|
||||||
|
if [ $FAILED_URLS -eq 0 ]; then
|
||||||
|
echo -e "${GREEN}🎉 Toutes les URLs sont accessibles !${NC}"
|
||||||
|
elif [ $FAILED_URLS -lt $((TOTAL_URLS / 2)) ]; then
|
||||||
|
echo -e "${YELLOW}⚠️ Certaines URLs ne sont pas accessibles, mais la majorité fonctionne.${NC}"
|
||||||
|
else
|
||||||
|
echo -e "${RED}❌ Trop d'URLs ne sont pas accessibles. Vérifiez la configuration.${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
|
||||||
# Afficher le statut final
|
# Afficher le statut final
|
||||||
echo -e "${GREEN}🎉 All services started successfully!${NC}"
|
echo -e "${GREEN}🎉 All services started successfully!${NC}"
|
||||||
echo
|
echo
|
||||||
echo -e "${BLUE}Final status:${NC}"
|
echo -e "${BLUE}Final status:${NC}"
|
||||||
docker compose --env-file /home/debian/4NK_env/.env.master ps
|
docker compose --env-file /home/debian/4NK_env/.env.master -f /home/debian/4NK_env/lecoffre_node/docker-compose.yml ps
|
||||||
|
|
||||||
# Calculer le temps total
|
# Calculer le temps total
|
||||||
end_time=$(date +%s)
|
end_time=$(date +%s)
|
||||||
@ -336,7 +542,7 @@ echo
|
|||||||
echo -e "${GREEN}Total startup time: ${minutes}m ${seconds}s${NC}"
|
echo -e "${GREEN}Total startup time: ${minutes}m ${seconds}s${NC}"
|
||||||
echo
|
echo
|
||||||
echo -e "${BLUE}Useful commands:${NC}"
|
echo -e "${BLUE}Useful commands:${NC}"
|
||||||
echo -e " ${YELLOW}docker compose --env-file /home/debian/4NK_env/.env.master logs -f${NC} # Voir les logs"
|
echo -e " ${YELLOW}docker compose --env-file /home/debian/4NK_env/.env.master -f /home/debian/4NK_env/lecoffre_node/docker-compose.yml logs -f${NC} # Voir les logs"
|
||||||
echo -e " ${YELLOW}docker compose --env-file /home/debian/4NK_env/.env.master down${NC} # Arrêter les services"
|
echo -e " ${YELLOW}docker compose --env-file /home/debian/4NK_env/.env.master -f /home/debian/4NK_env/lecoffre_node/docker-compose.yml down${NC} # Arrêter les services"
|
||||||
echo -e " ${YELLOW}docker compose --env-file /home/debian/4NK_env/.env.master ps${NC} # Voir le statut"
|
echo -e " ${YELLOW}docker compose --env-file /home/debian/4NK_env/.env.master -f /home/debian/4NK_env/lecoffre_node/docker-compose.yml ps${NC} # Voir le statut"
|
||||||
echo
|
echo
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 06879e4fed871b589814a1fc424c87054950c202
|
Subproject commit 7b6f77cb89af34872a47ed7b8444d1cf1206b053
|
Loading…
x
Reference in New Issue
Block a user