4NK_node/archive/docs/CONFIGURATION_DEV3.md
Nicolas Cantu b935cbab20 Réorganisation complète : tests, documentation et nettoyage
- Réorganisation des tests par catégorie (unit, integration, connectivity, external)
- Création de scripts d'exécution automatisés pour les tests
- Création de guides techniques complets (ARCHITECTURE.md, API.md)
- Transfert des informations depuis specs/ vers docs/
- Nettoyage et archivage des fichiers obsolètes
- Documentation complète des tests avec exemples
- Scripts de maintenance et nettoyage automatique
- Structure professionnelle prête pour l'évolution
2025-08-25 14:13:26 +02:00

219 lines
5.1 KiB
Markdown

# Configuration du Relais dev3.4nkweb.com
## 📋 Informations du Relais
- **Nom** : dev3-relay
- **URL** : dev3.4nkweb.com
- **Port** : 443 (HTTPS/WSS)
- **Chemin WebSocket** : `/ws/`
- **URL complète** : `wss://dev3.4nkweb.com:443/ws/`
- **Version** : Ancienne version (sans synchronisation)
- **SSL/TLS** : Activé (Let's Encrypt)
## 🔧 Configuration Actuelle
### Fichier de configuration externe
```toml
# external_nodes.conf
[relays]
dev3-relay = "dev3.4nkweb.com:443"
```
### Configuration spéciale requise
Le relais dev3.4nkweb.com nécessite une configuration spéciale car :
1. **WSS au lieu de WS** : Utilise WebSocket Secure sur le port 443
2. **Chemin spécifique** : `/ws/` au lieu de la racine
3. **Limitations de message** : Messages limités en taille
4. **Ancienne version** : Ne supporte pas la synchronisation entre relais
## 🧪 Tests de Connectivité
### Test de base
```bash
# Test de connectivité HTTPS
curl -v https://dev3.4nkweb.com:443
# Test de connectivité WebSocket
curl -v -H "Connection: Upgrade" \
-H "Upgrade: websocket" \
-H "Sec-WebSocket-Key: test" \
-H "Sec-WebSocket-Version: 13" \
https://dev3.4nkweb.com:443/ws/
```
### Test avec Python
```bash
# Test simple
python3 test_dev3_simple.py
# Test complet
python3 test_dev3_connectivity.py
```
## 📊 Résultats des Tests
### ✅ Connectivité
- **HTTPS** : ✅ Accessible
- **WSS** : ✅ Accessible sur `/ws/`
- **SSL** : ✅ Certificat Let's Encrypt valide
### ⚠️ Limitations
- **Taille des messages** : Limitée (erreur "message too big")
- **Synchronisation** : Non supportée (ancienne version)
- **Handshake** : Format ancien uniquement
### 🔧 Compatibilité
- **Ancienne version** : ✅ Compatible
- **Nouvelle version** : ❌ Messages trop gros
- **Synchronisation** : ❌ Non supportée
## 🚀 Utilisation
### Connexion WebSocket
```javascript
// Connexion JavaScript
const ws = new WebSocket('wss://dev3.4nkweb.com:443/ws/');
ws.onopen = function() {
console.log('Connecté à dev3.4nkweb.com');
// Handshake simple (ancienne version)
const handshake = {
type: 'handshake',
client_id: 'test-client',
version: '0.9.0'
};
ws.send(JSON.stringify(handshake));
};
```
### Connexion Python
```python
import asyncio
import websockets
import json
import ssl
async def connect_to_dev3():
uri = "wss://dev3.4nkweb.com:443/ws/"
# Configuration SSL
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
async with websockets.connect(uri, ssl=ssl_context) as websocket:
# Handshake simple
handshake = {
"type": "handshake",
"client_id": "python-client",
"version": "0.9.0"
}
await websocket.send(json.dumps(handshake))
# Écouter les réponses
async for message in websocket:
data = json.loads(message)
print(f"Message reçu: {data}")
asyncio.run(connect_to_dev3())
```
## 🔒 Sécurité
### Certificat SSL
- **Émetteur** : Let's Encrypt
- **Validité** : 17 août 2025 - 15 novembre 2025
- **Domaine** : dev3.4nkweb.com
- **Protocole** : TLSv1.3
### Recommandations
- ✅ Utiliser WSS pour les connexions
- ✅ Vérifier le certificat SSL
- ⚠️ Limiter la taille des messages
- ⚠️ Gérer les timeouts
## 📈 Monitoring
### Scripts de monitoring
```bash
# Test de connectivité
./add_external_node.sh test dev3-relay
# Monitoring en continu
while true; do
python3 test_dev3_simple.py
sleep 300 # Test toutes les 5 minutes
done
```
### Métriques à surveiller
- **Connectivité** : WSS accessible
- **Latence** : Temps de réponse
- **Erreurs** : Messages trop gros
- **Disponibilité** : Uptime du service
## 🔄 Mise à Jour
### Pour la synchronisation
Le relais dev3.4nkweb.com nécessite une mise à jour pour supporter :
1. **Messages plus gros** : Supprimer la limitation de taille
2. **Synchronisation** : Implémenter le protocole de sync
3. **Nouveau format** : Support des messages `Sync`
### Plan de migration
```bash
# 1. Tester la compatibilité
python3 test_dev3_connectivity.py
# 2. Mettre à jour le relais (si possible)
# Contact: admin@4nkweb.com
# 3. Tester la nouvelle version
python3 test_websocket_messages.py
# 4. Activer la synchronisation
docker-compose restart sdk_relay_1 sdk_relay_2 sdk_relay_3
```
## 📝 Notes
- Le relais dev3.4nkweb.com est fonctionnel mais limité
- Utiliser des messages courts pour éviter les erreurs
- La synchronisation n'est pas encore supportée
- Surveiller les logs pour détecter les problèmes
- Considérer une mise à jour pour la compatibilité complète
## 🆘 Dépannage
### Problèmes courants
1. **"message too big"**
- Solution : Réduire la taille des messages
- Alternative : Utiliser des messages simples
2. **Timeout de connexion**
- Vérifier la connectivité réseau
- Tester avec curl en premier
3. **Erreur SSL**
- Vérifier le certificat
- Utiliser `ssl_context.verify_mode = ssl.CERT_NONE` pour les tests
4. **Pas de réponse**
- Le relais peut être en maintenance
- Vérifier l'uptime du service