Dom 61d17968a0 feat: init projet supervision — monitoring systeme Windows
Interface web Flask securisee pour surveiller CPU, RAM, disques
et processus (JVM, Nginx, Amadea Web 8 x64).
Alertes email SMTP configurables, seuils reglables, compilation
PyInstaller en .exe, installation service Windows via NSSM.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 09:48:35 +01:00

Supervision — Monitoring Systeme Windows

Outil de surveillance systeme avec interface web securisee. Surveille CPU, RAM, disques et processus specifiques (JVM, Nginx, Amadea Web 8 x64). Envoie des alertes email lorsque les seuils configures sont depasses.


Fonctionnalites

  • Dashboard temps reel : CPU, RAM, disques, processus surveilles (rafraichissement auto)
  • Alertes email : envoi automatique quand un seuil est depasse, avec cooldown anti-spam
  • Configuration complete via l'interface :
    • Seuils d'alerte (CPU, RAM, disque)
    • Frequence de verification (en minutes)
    • Serveur SMTP + test d'envoi integre
    • Ajout/suppression de processus a surveiller
    • Port de l'application
    • Mot de passe administrateur
  • Securite : authentification par login/mot de passe, rate limiting anti-bruteforce, en-tetes HTTP securises
  • Historique des alertes consultable dans l'interface

Installation rapide (executable)

Pre-requis

  • Windows 10/11 ou Windows Server 2016+
  • Acces administrateur (pour le firewall et l'installation en service)

Etapes

  1. Dezipper supervision_portable.zip dans un dossier, par exemple :

    C:\supervision\
    
  2. Lancer l'executable :

    C:\supervision\supervision.exe
    
  3. Ouvrir le navigateur a l'adresse :

    http://localhost:5000
    
  4. Se connecter avec les identifiants par defaut :

    • Identifiant : admin
    • Mot de passe : admin
  5. Changer le mot de passe immediatement dans Configuration > Mot de passe administrateur

  6. Configurer le SMTP dans Configuration > Configuration SMTP, puis cliquer sur "Envoyer un email de test" pour valider

  7. Ajuster les seuils si necessaire (valeurs par defaut : CPU 90%, RAM 85%, Disque 90%)


Acces distant

Pour acceder a l'interface depuis une autre machine :

  1. Ouvrir le port dans le firewall Windows (PowerShell en administrateur) :

    New-NetFirewallRule -DisplayName "Supervision Monitoring" -Direction Inbound -LocalPort 5000 -Protocol TCP -Action Allow
    
  2. Acceder via : http://<adresse-ip-du-serveur>:5000

Recommandation : pour un acces depuis internet, placer l'application derriere un reverse proxy (IIS, Nginx) avec HTTPS.


Installation en tant que service Windows

Pour que Supervision demarre automatiquement avec Windows, utiliser NSSM :

  1. Telecharger NSSM et le placer dans le PATH

  2. Executer en administrateur :

    nssm install Supervision "C:\supervision\supervision.exe"
    nssm set Supervision AppDirectory "C:\supervision"
    nssm set Supervision Description "Monitoring systeme - Supervision"
    nssm set Supervision Start SERVICE_AUTO_START
    nssm start Supervision
    
  3. Gestion du service :

    nssm start Supervision
    nssm stop Supervision
    nssm restart Supervision
    nssm remove Supervision confirm
    

Installation depuis les sources (developpement)

Pre-requis

  • Python 3.10 ou superieur

Etapes

  1. Creer l'environnement virtuel et installer les dependances :

    cd C:\supervision
    python -m venv .venv
    .venv\Scripts\pip.exe install -r requirements.txt
    
  2. Lancer :

    .venv\Scripts\python.exe app.py
    

Compiler en executable

.venv\Scripts\pip.exe install pyinstaller
.venv\Scripts\pyinstaller.exe --name supervision --onedir --add-data "templates;templates" --add-data "static;static" --hidden-import flask --hidden-import flask_login --hidden-import flask_limiter --hidden-import psutil --noconfirm app.py

L'executable est genere dans dist\supervision\.


Structure des fichiers

supervision\
├── supervision.exe      # Executable principal
├── _internal\           # Dependances Python embarquees
├── templates\           # Pages HTML de l'interface
├── static\              # CSS
└── data\                # (cree au 1er lancement)
    ├── config.json      # Configuration (seuils, SMTP, processus)
    └── alerts.json      # Historique des alertes

Important

: ne pas supprimer le dossier _internal\, il est necessaire au fonctionnement.


Configuration par defaut

Parametre Valeur par defaut
Port 5000
Intervalle de check 1 minute
Cooldown entre alertes 30 minutes
Seuil CPU 90%
Seuil RAM 85%
Seuil Disque 90%

Processus surveilles par defaut

Nom Pattern de recherche Alerte si arrete
JVM java Oui
Nginx nginx Non (desactive)
Amadea Web 8 x64 amadea Oui

Tous les parametres sont modifiables depuis l'interface web.


Depannage

Probleme Solution
"Le port 5000 est deja utilise" Changer le port dans data\config.json ou fermer le programme qui occupe le port
Impossible de se connecter a distance Verifier la regle firewall (port 5000 TCP entrant)
Pas d'email recu Verifier la configuration SMTP et utiliser le bouton "Envoyer un email de test"
Mot de passe oublie Supprimer data\config.json et relancer (reinitialise a admin/admin)
L'executable ne se lance pas Verifier que le dossier _internal\ est present a cote de supervision.exe
Description
Monitoring systeme Windows — CPU, RAM, disques, processus. Interface web securisee + alertes email.
Readme 679 MiB
VersionRust Latest
2026-04-27 16:40:46 +02:00
Languages
Rust 42.2%
HTML 29.3%
Python 25%
Batchfile 2.4%
CSS 0.8%
Other 0.3%