2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-07 15:53:47 +01:00
2025-12-07 14:16:58 +01:00
2025-12-07 13:52:48 +01:00
2025-12-07 13:52:48 +01:00
2025-12-07 13:52:48 +01:00
2025-12-07 14:16:58 +01:00
2025-12-07 14:16:58 +01:00
2025-12-07 14:16:58 +01:00
2025-12-07 14:16:58 +01:00
2025-12-07 14:16:58 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
3
2025-12-07 15:16:57 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
2025-12-08 05:42:52 +01:00
v1
2025-12-07 14:47:10 +01:00
2025-12-08 05:42:52 +01:00

Linux BenchTools

Application self-hosted de benchmarking et d'inventaire matériel pour machines Linux.

🎯 Objectifs

Linux BenchTools permet de :

  • 📊 Recenser vos machines (physiques, VM, SBC type Raspberry Pi)
  • 🔍 Collecter automatiquement les informations matérielles (CPU, RAM, GPU, stockage, réseau)
  • Exécuter des benchmarks standardisés (CPU, mémoire, disque, réseau, GPU)
  • 📈 Calculer des scores comparables entre machines
  • 🏆 Afficher un classement dans un dashboard web
  • 📝 Gérer la documentation (notices PDF, factures, liens constructeurs)

🚀 Installation rapide

# Cloner le dépôt
git clone https://gitea.maison43.duckdns.org/gilles/linux-benchtools.git
cd linux-benchtools

# Lancer l'installation automatique
./install.sh

# Ou avec Docker directement
docker compose up -d

L'application sera accessible sur :

📦 Prérequis

  • Docker + Docker Compose
  • Système Linux (Debian/Ubuntu recommandé)

🔧 Utilisation

1. Exécuter un benchmark sur une machine

Sur la machine à benchmarker, exécutez :

curl -s https://gitea.maison43.duckdns.org/gilles/linux-benchtools/raw/branch/main/scripts/bench.sh \
  | bash -s -- \
    --server http://<IP_SERVEUR>:8007/api/benchmark \
    --token "VOTRE_TOKEN_API" \
    --device "nom-machine"

Le token API est généré automatiquement lors de l'installation et disponible dans le fichier .env.

2. Consulter le dashboard

Ouvrez votre navigateur sur http://<IP_SERVEUR>:8087 pour :

  • Voir le classement des machines par score global
  • Consulter les détails matériels de chaque machine
  • Visualiser l'historique des benchmarks
  • Uploader des documents (PDF, images)
  • Ajouter des liens constructeurs

📚 Documentation

🏗️ Architecture

┌─────────────────┐
│  Machine Linux  │
│   (bench.sh)    │
└────────┬────────┘
         │ POST JSON
         ↓
┌─────────────────┐      ┌──────────────┐
│  Backend API    │◄─────┤   Frontend   │
│  FastAPI + SQL  │      │  HTML/CSS/JS │
└─────────────────┘      └──────────────┘

🛠️ Stack technique

  • Backend : Python 3.11+, FastAPI, SQLAlchemy, SQLite
  • Frontend : HTML5, CSS3, JavaScript (Vanilla)
  • Script client : Bash
  • Outils benchmark : sysbench, fio, iperf3, glmark2
  • Déploiement : Docker, docker-compose

📊 Scores calculés

Pour chaque machine, l'application calcule :

  • Score CPU (sysbench) : événements/seconde
  • Score Mémoire (sysbench) : throughput MiB/s
  • Score Disque (fio) : read/write MB/s, IOPS
  • Score Réseau (iperf3) : débit up/down, latence
  • Score GPU (glmark2) : score graphique (optionnel)
  • Score Global : moyenne pondérée (CPU 30%, Mem 20%, Disk 25%, Net 15%, GPU 10%)

🎨 Interface

Dashboard avec style Monokai dark :

  • Vue d'ensemble du parc machines
  • Classement par score global
  • Détail complet de chaque machine
  • Historique des benchmarks
  • Gestion des documents

🔐 Sécurité

  • Authentification par token Bearer pour l'API
  • Token généré automatiquement à l'installation
  • Accès local (LAN) par défaut
  • Intégration possible avec reverse proxy existant

🤝 Contribution

Projet personnel self-hosted. Les suggestions et améliorations sont les bienvenues.

📝 License

Usage personnel - Gilles @ maison43

🗓️ Roadmap

  • Phase 1 : MVP (backend + frontend + bench.sh)
  • Phase 2 : Améliorations UX (filtres, tri)
  • Phase 3 : Graphiques d'historique (Chart.js)
  • Phase 4 : Détection de régressions + alertes
  • Phase 5 : Intégrations (Home Assistant, Prometheus)

Voir roadmap détaillée.


Linux BenchTools - Benchmarking simplifié pour votre infrastructure Linux

Description
No description provided
Readme 2.8 MiB
Languages
HTML 42.8%
Python 22.3%
JavaScript 18.6%
Shell 12%
CSS 4.3%