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

5.1 KiB

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

# 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

# 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

# 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

// 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

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

# 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

# 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