# Configuration Réseau - Linux BenchTools

Serveur déployé sur : **10.0.0.50**

## 🌐 Accès aux services

| Service | URL | Status |
|---------|-----|--------|
| Dashboard | http://10.0.0.50:8087 | ✅ Accessible |
| Backend API | http://10.0.0.50:8007 | ✅ Accessible |
| API Docs | http://10.0.0.50:8007/docs | ✅ Accessible |
| Script bench.sh | http://10.0.0.50:8087/scripts/bench.sh | ✅ Accessible |

## 🔑 Token API

```
29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a
```

## 🚀 Commandes de benchmark

### Benchmark standard

```bash
curl -L -s https://gitea.maison43.duckdns.org/gilles/serv_benchmark/raw/branch/main/scripts/bench.sh | bash -s -- \
  --server http://10.0.0.50:8007/api/benchmark \
  --token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a"
```

### Benchmark rapide (recommandé pour tests)

```bash
curl -L -s https://gitea.maison43.duckdns.org/gilles/serv_benchmark/raw/branch/main/scripts/bench.sh | bash -s -- \
  --server http://10.0.0.50:8007/api/benchmark \
  --token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a" \
  --short
```

### Avec tests réseau (iperf3)

```bash
curl -L -s https://gitea.maison43.duckdns.org/gilles/serv_benchmark/raw/branch/main/scripts/bench.sh | bash -s -- \
  --server http://10.0.0.50:8007/api/benchmark \
  --token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a" \
  --iperf-server 10.0.0.50
```

### Avec nom personnalisé

```bash
curl -L -s https://gitea.maison43.duckdns.org/gilles/serv_benchmark/raw/branch/main/scripts/bench.sh | bash -s -- \
  --server http://10.0.0.50:8007/api/benchmark \
  --token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a" \
  --device "elitedesk-800g3"
```

## 📋 Exemples d'utilisation

### Tester sur le serveur local

```bash
curl -L -s https://gitea.maison43.duckdns.org/gilles/serv_benchmark/raw/branch/main/scripts/bench.sh | bash -s -- \
  --server http://10.0.0.50:8007/api/benchmark \
  --token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a" \
  --short
```

### Tester sur une machine distante

```bash
# SSH sur la machine
ssh user@192.168.1.100

# Exécuter le benchmark
curl -L -s https://gitea.maison43.duckdns.org/gilles/serv_benchmark/raw/branch/main/scripts/bench.sh | bash -s -- \
  --server http://10.0.0.50:8007/api/benchmark \
  --token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a" \
  --device "pc-bureau"
```

### Benchmark sur Raspberry Pi

```bash
# SSH sur le Pi
ssh pi@raspberrypi.local

# Benchmark court (recommandé pour RPi)
curl -L -s https://gitea.maison43.duckdns.org/gilles/serv_benchmark/raw/branch/main/scripts/bench.sh | bash -s -- \
  --server http://10.0.0.50:8007/api/benchmark \
  --token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a" \
  --device "raspberry-pi-4" \
  --short
```

## 🔧 Options avancées

### Ignorer certains tests

```bash
# Ignorer GPU et réseau
curl -L -s https://gitea.maison43.duckdns.org/gilles/serv_benchmark/raw/branch/main/scripts/bench.sh | bash -s -- \
  --server http://10.0.0.50:8007/api/benchmark \
  --token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a" \
  --skip-gpu \
  --skip-network
```

### Tests spécifiques

```bash
# Uniquement CPU et RAM
curl -s http://10.0.0.50:8087/scripts/bench.sh | bash -s -- \
  --server http://10.0.0.50:8007/api/benchmark \
  --token "29855796dacf5cfe75ff9b02d6adf3dd0f9c52db5b53e7abfb4c0df7ece1be0a" \
  --skip-disk \
  --skip-network \
  --skip-gpu
```

## 🏠 Configuration iperf3

Pour activer les tests réseau, lancez un serveur iperf3 :

```bash
# Sur le serveur de benchmarking (10.0.0.50)
docker run -d --name iperf3-server -p 5201:5201 \
  --network host \
  networkstatic/iperf3 -s

# Puis utilisez --iperf-server dans vos benchmarks
```

## 📊 Vérifier les résultats

1. **Via le Dashboard** : http://10.0.0.50:8087
2. **Via l'API** :
   ```bash
   # Liste des devices
   curl http://10.0.0.50:8007/api/devices | jq .

   # Stats globales
   curl http://10.0.0.50:8007/api/stats | jq .
   ```

## 🔒 Sécurité

### Firewall (recommandé)

```bash
# Autoriser uniquement le réseau local
sudo ufw allow from 10.0.1.0/24 to any port 8007
sudo ufw allow from 10.0.1.0/24 to any port 8087
```

### Changer le token

```bash
# Générer un nouveau token
NEW_TOKEN=$(openssl rand -hex 32)

# Modifier le .env
sed -i "s/API_TOKEN=.*/API_TOKEN=$NEW_TOKEN/" .env

# Redémarrer
docker compose restart backend
```

## 🐛 Dépannage

### Le script ne se télécharge pas

```bash
# Vérifier l'accessibilité
curl -I http://10.0.0.50:8087/scripts/bench.sh

# Devrait retourner HTTP 200
```

### Erreur 401 (Unauthorized)

Vérifiez que vous utilisez le bon token dans la commande.

### Erreur de connexion

```bash
# Vérifier que le backend est accessible
curl http://10.0.0.50:8007/api/health

# Vérifier les conteneurs
docker compose ps
```

## 📝 Notes

- Le token API est stocké dans `.env`
- Les données sont stockées dans `backend/data/data.db`
- Les documents uploadés sont dans `uploads/`
- Les logs sont accessibles via `docker compose logs -f`

---

**Serveur opérationnel sur 10.0.0.50** ✅
Dernière mise à jour : 7 décembre 2025
