Files
serv_benchmark/frontend/index.html
gilles soulier c6a8e8e83d feat: Complete MVP implementation of Linux BenchTools
 Features:
- Backend FastAPI complete (25 Python files)
  - 5 SQLAlchemy models (Device, HardwareSnapshot, Benchmark, Link, Document)
  - Pydantic schemas for validation
  - 4 API routers (benchmark, devices, links, docs)
  - Authentication with Bearer token
  - Automatic score calculation
  - File upload support

- Frontend web interface (13 files)
  - 4 HTML pages (Dashboard, Devices, Device Detail, Settings)
  - 7 JavaScript modules
  - Monokai dark theme CSS
  - Responsive design
  - Complete CRUD operations

- Client benchmark script (500+ lines Bash)
  - Hardware auto-detection
  - CPU, RAM, Disk, Network benchmarks
  - JSON payload generation
  - Robust error handling

- Docker deployment
  - Optimized Dockerfile
  - docker-compose with 2 services
  - Persistent volumes
  - Environment variables

- Documentation & Installation
  - Automated install.sh script
  - README, QUICKSTART, DEPLOYMENT guides
  - Complete API documentation
  - Project structure documentation

📊 Stats:
- ~60 files created
- ~5000 lines of code
- Full MVP feature set implemented

🚀 Ready for production deployment!

🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-07 14:46:10 +01:00

87 lines
2.7 KiB
HTML

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Linux BenchTools - Dashboard</title>
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="css/components.css">
</head>
<body>
<!-- Header -->
<header class="header">
<div class="container">
<h1>🚀 Linux BenchTools</h1>
<p>Dashboard de benchmarking pour votre infrastructure Linux</p>
<!-- Navigation -->
<nav class="nav">
<a href="index.html" class="nav-link active">Dashboard</a>
<a href="devices.html" class="nav-link">Devices</a>
<a href="settings.html" class="nav-link">Settings</a>
</nav>
</div>
</header>
<!-- Main Content -->
<main class="container">
<!-- Stats Grid -->
<section class="stats-grid" id="statsGrid">
<div class="stat-card">
<div class="stat-label">Total Devices</div>
<div class="stat-value" id="totalDevices">--</div>
</div>
<div class="stat-card">
<div class="stat-label">Total Benchmarks</div>
<div class="stat-value" id="totalBenchmarks">--</div>
</div>
<div class="stat-card">
<div class="stat-label">Score Moyen</div>
<div class="stat-value" id="avgScore">--</div>
</div>
<div class="stat-card">
<div class="stat-label">Dernier Bench</div>
<div class="stat-value" style="font-size: 1rem;" id="lastBench">--</div>
</div>
</section>
<!-- Quick Bench Script -->
<section class="card">
<div class="card-header">⚡ Quick Bench Script</div>
<div class="card-body">
<p style="margin-bottom: 1rem; color: var(--text-secondary);">
Copiez cette commande et exécutez-la sur une machine Linux pour lancer un benchmark :
</p>
<div class="code-block">
<button class="copy-btn" onclick="copyBenchCommand()">Copier</button>
<code id="benchCommand">curl -s http://VOTRE_SERVEUR/scripts/bench.sh | bash -s -- --server http://VOTRE_SERVEUR:8007/api/benchmark --token YOUR_TOKEN</code>
</div>
</div>
</section>
<!-- Top Devices -->
<section class="card">
<div class="card-header">🏆 Top Devices par Score Global</div>
<div class="card-body">
<div id="devicesTable">
<div class="loading">Chargement des devices</div>
</div>
</div>
</section>
</main>
<!-- Footer -->
<footer class="footer">
<p>&copy; 2025 Linux BenchTools - Self-hosted benchmarking tool</p>
</footer>
<!-- Scripts -->
<script src="js/utils.js"></script>
<script src="js/api.js"></script>
<script src="js/dashboard.js"></script>
</body>
</html>