# Avertissement légal
⚠️ N'utilisez ce code que sur des sites que vous possédez ou pour lesquels vous avez une autorisation explicite.
Le stress testing non autorisé peut être considéré comme une attaque par déni de service.
# Compilation
```
go build -o stress-test main.go
```
# Utilisation
## Aide
```
./stress-test -help
Usage of ./stress-test:
-csv string
Output CSV file (default "stress_test_results.csv")
-d int
Test duration in seconds
-html string
Output HTML report (default "stress_test_report.html")
-json string
Output JSON file (default "stress_test_results.json")
-r int
Total number of requests to make
-ru int
Ramp-up time in seconds
-t int
Number of threads (goroutines) (default 10)
-url string
Target URL to test
-ws int
Window size for time series in seconds (default 5)
```
## Test basique avec export
```
./stress-test -url https://mon.site.intranet -t 50 -d 60 -ru 10
```
## Avec fenêtre de temps personnalisée (10 secondes)
```
./stress-test -url https://mon.site.intranet -t 100 -d 120 -ws 10
```
## Avec tous les exports personnalisés
```
./stress-test -url https://mon.site.intranet -t 100 -d 300 -ru 30 \
-csv results.csv -json results.json -html report.html
```
## Basé sur le nombre de requêtes
```
./stress-test -url https://mon.site.intranet -t 50 -r 10000 -ws 5
```
# Exemple d'utilisation
```bash
./stress-test -url https://mon.site.intranet -t 100 -d 600 -ru 60
Starting stress test on https://mon.site.intranet
Threads: 100, Duration: 600s, Ramp-up: 60s
------------------------------------------------------------
```
Execution du test....
```
============================================================
STRESS TEST RESULTS
============================================================
Total Duration: 606.10 seconds
Total Requests: 335949
Successful Requests: 335949
Failed Requests: 0
Error Rate: 0.00%
Requests per second: 554.28
Latency Metrics:
Average: 81.00 ms
Median: 76.00 ms
P95: 134.00 ms
P99: 166.00 ms
Min: 0.00 ms
Max: 403.00 ms
------------------------------------------------------------
Exporting results...
✅ CSV exported to: stress_test_results.csv
✅ JSON exported to: stress_test_results.json
✅ HTML report generated: stress_test_report.html
```
## stress_test_report.html
Récupérer le fichier html et lire avec un navigateur
ℹ️ Le html utilise [Chart.js](https://cdn.jsdelivr.net/npm/chart.js), si besoin, récupérer le script localement et modifier le fichier html en remplacant la ligne:
```
```
Par
```
```

## Vue de l'état de l'application cible pendant le stress
