Ajout du Readme
This commit is contained in:
135
README.md
Normal file
135
README.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# SuperVision
|
||||
|
||||
Outil de supervision système avec interface web, écrit en Rust. Surveille CPU, RAM, disques et processus en temps réel, avec alertes par email et suivi des utilisateurs Amadea.
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
- **Dashboard temps réel** — CPU, RAM, disques, uptime, statut par code couleur (ok / warning / critical)
|
||||
- **Surveillance de processus** — détection par pattern, alerte si processus arrêté, seuil mémoire configurable
|
||||
- **Alertes email (SMTP)** — envoi automatique avec cooldown configurable pour éviter le spam
|
||||
- **Suivi utilisateurs Amadea** — analyse des logs `awevents` et `isoft`, statuts actif/inactif/déconnecté, graphe d'activité horaire et hebdomadaire
|
||||
- **Interface de configuration** — seuils, SMTP, processus, port, mot de passe admin, tout modifiable via l'UI
|
||||
- **Service Windows** — installation en tant que service système avec démarrage automatique
|
||||
|
||||
## Prérequis
|
||||
|
||||
- [Rust](https://rustup.rs/) (édition 2021, Rust 1.75+)
|
||||
- [Visual Studio Build Tools](https://visualstudio.microsoft.com/fr/visual-cpp-build-tools/) avec la charge de travail **Développement Desktop en C++**
|
||||
|
||||
## Générer l'exécutable
|
||||
|
||||
```cmd
|
||||
cd SuperVisionRust
|
||||
cargo build --release
|
||||
```
|
||||
|
||||
L'exécutable est généré dans : `target\release\supervision.exe`
|
||||
|
||||
## Déploiement
|
||||
|
||||
Copier les éléments suivants dans un dossier de déploiement (ex: `C:\SuperVision\`) :
|
||||
|
||||
```
|
||||
supervision.exe
|
||||
static\
|
||||
templates\
|
||||
```
|
||||
|
||||
## Lancer l'application
|
||||
|
||||
### En mode console (test / debug)
|
||||
|
||||
```cmd
|
||||
supervision.exe
|
||||
```
|
||||
|
||||
L'interface web est accessible sur : **http://localhost:5000**
|
||||
|
||||
Identifiants par défaut : `admin` / `admin` — à changer immédiatement dans les paramètres.
|
||||
|
||||
### Changer le port
|
||||
|
||||
Dans les paramètres de l'interface web (`/settings`), ou en éditant `data\config.json` avant le premier lancement :
|
||||
|
||||
```json
|
||||
{
|
||||
"port": 5000
|
||||
}
|
||||
```
|
||||
|
||||
## Installation en tant que service Windows
|
||||
|
||||
L'invite de commande doit être lancée **en tant qu'administrateur**.
|
||||
|
||||
### Installer le service
|
||||
|
||||
```cmd
|
||||
supervision.exe install
|
||||
```
|
||||
|
||||
Le service est enregistré sous le nom `Supervision` avec un démarrage automatique.
|
||||
|
||||
### Démarrer / arrêter le service
|
||||
|
||||
```cmd
|
||||
sc start Supervision
|
||||
sc stop Supervision
|
||||
```
|
||||
|
||||
Ou via le Gestionnaire des services Windows (`services.msc`).
|
||||
|
||||
### Désinstaller le service
|
||||
|
||||
```cmd
|
||||
sc stop Supervision
|
||||
supervision.exe uninstall
|
||||
```
|
||||
|
||||
## Structure des données
|
||||
|
||||
Au premier lancement, un dossier `data\` est créé automatiquement dans le même répertoire que l'exécutable :
|
||||
|
||||
```
|
||||
data\
|
||||
config.json # Configuration complète (port, seuils, SMTP, admin...)
|
||||
alerts.json # Historique des alertes (500 entrées max)
|
||||
```
|
||||
|
||||
## Configuration SMTP
|
||||
|
||||
Dans l'interface web (`/settings`), section **SMTP** :
|
||||
|
||||
| Champ | Description |
|
||||
|-------|-------------|
|
||||
| Serveur | Adresse du serveur SMTP (ex: `smtp.office365.com`) |
|
||||
| Port | Généralement `587` (TLS) ou `465` (SSL) |
|
||||
| Utilisateur | Adresse email d'envoi |
|
||||
| Mot de passe | Mot de passe ou token d'application |
|
||||
| Destinataires | Emails séparés par des virgules |
|
||||
|
||||
Un bouton **Tester** permet de vérifier la configuration sans attendre une alerte réelle.
|
||||
|
||||
## Surveillance des utilisateurs Amadea
|
||||
|
||||
Renseigner le chemin des logs Amadea dans les paramètres (`/settings`) :
|
||||
|
||||
```
|
||||
C:\ProgramData\ISoft\Amadea Web 8 x64\data\logs
|
||||
```
|
||||
|
||||
SuperVision parse les fichiers `awevents_YY-MM-DD_*` et `isoft_YY-MM-DD_*` pour construire la liste des utilisateurs connectés et leur activité sur les dernières 24h.
|
||||
|
||||
Les seuils de statut (actif / inactif / déconnecté) sont configurables en minutes.
|
||||
|
||||
## Lancer les tests
|
||||
|
||||
```cmd
|
||||
cargo test
|
||||
```
|
||||
|
||||
## Sécurité
|
||||
|
||||
- Sessions HTTP sécurisées avec cookie de session
|
||||
- Mots de passe stockés avec bcrypt
|
||||
- En-têtes de sécurité HTTP automatiques (`X-Frame-Options`, `X-XSS-Protection`, `X-Content-Type-Options`)
|
||||
- Toutes les routes (sauf `/login`) nécessitent une authentification
|
||||
Reference in New Issue
Block a user