feat: portage complet en Rust (axum + sysinfo + tera)

Remplacement du backend Python/Flask par un binaire Rust natif.
Stack : axum (web), sysinfo (metriques), lettre (SMTP), tera (templates), argon2 (auth).
Binaire Windows 6.3 Mo sans dependance runtime.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-04-13 15:55:36 +02:00
parent 61d17968a0
commit 545ae921e5
12 changed files with 4029 additions and 60 deletions

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Supervision - Tableau de bord{% endblock %}
{% block title %}Supervision - Tableau de bord{% endblock title %}
{% block content %}
<div class="d-flex justify-content-between align-items-center mb-3">
@@ -11,7 +11,7 @@
</h4>
<div class="d-flex align-items-center gap-2">
<span id="last-update" class="text-muted small"></span>
<form method="POST" action="{{ url_for('toggle_monitoring') }}" class="d-inline">
<form method="POST" action="/api/monitoring/toggle" class="d-inline">
{% if metrics and metrics.monitoring_active %}
<button type="submit" class="btn btn-sm btn-outline-warning">
<i class="bi bi-pause-circle"></i> Pause
@@ -86,7 +86,7 @@
</div>
</div>
</div>
<!-- Placeholder pour les disques - sera rempli par JS aussi -->
<!-- Disques -->
{% for disk in metrics.disks %}
<div class="col-md-4 mb-3">
<div class="card metric-card" id="card-disk-{{ loop.index0 }}">
@@ -154,7 +154,7 @@
{% endif %}
</td>
<td>{{ proc.total_cpu_percent }}%</td>
<td><small>{{ proc.pids | join(', ') }}</small></td>
<td><small>{{ proc.pids | join(sep=", ") }}</small></td>
</tr>
{% endfor %}
</tbody>
@@ -170,7 +170,7 @@
<div class="card">
<div class="card-header d-flex justify-content-between">
<h6 class="mb-0"><i class="bi bi-bell"></i> Alertes recentes</h6>
<a href="{{ url_for('alerts') }}" class="btn btn-sm btn-outline-primary">Voir tout</a>
<a href="/alerts" class="btn btn-sm btn-outline-primary">Voir tout</a>
</div>
<div class="card-body p-0">
<table class="table table-sm mb-0" id="recent-alerts">
@@ -187,7 +187,7 @@
</div>
{% endif %}
{% endblock %}
{% endblock content %}
{% block scripts %}
<script>
@@ -237,16 +237,7 @@ function refreshMetrics() {
.catch(() => {});
}
function loadRecentAlerts() {
fetch('/api/metrics')
.then(r => r.json())
.then(() => {
// Charger les alertes separement via la page
})
.catch(() => {});
}
// Rafraichir toutes les 30 secondes
setInterval(refreshMetrics, 30000);
</script>
{% endblock %}
{% endblock scripts %}