ajout du suivi utilisateur

This commit is contained in:
oussi
2026-04-02 12:18:53 +02:00
parent 8887d97f90
commit b3e91bb0e3

View File

@@ -9,12 +9,15 @@ Envoie des alertes email lorsque les seuils configures sont depasses.
## Fonctionnalites
- **Dashboard temps reel** : CPU, RAM, disques, processus surveilles (rafraichissement auto)
- **Suivi des utilisateurs Amadea** : statut en temps reel (Actif / Inactif / Deconnecte), derniere action, nombre d'actions sur 24h, graphique d'activite horaire
- **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
- Chemin du dossier de logs Amadea
- Seuils de statut utilisateurs (actif / inactif)
- Port de l'application
- Mot de passe administrateur
- **Securite** : authentification par login/mot de passe, rate limiting anti-bruteforce, en-tetes HTTP securises
@@ -138,10 +141,24 @@ supervision\
├── templates\ # Pages HTML de l'interface
├── static\ # CSS
└── data\ # (cree au 1er lancement)
├── config.json # Configuration (seuils, SMTP, processus)
├── config.json # Configuration (seuils, SMTP, processus, logs Amadea)
└── alerts.json # Historique des alertes
```
### Structure des sources (developpement)
```
supervision\
├── app.py # Application Flask, routes
├── monitor.py # Surveillance CPU/RAM/disques/processus
├── user_monitor.py # Suivi utilisateurs Amadea (parsing logs)
├── alerter.py # Envoi d'alertes email
├── config_manager.py # Persistance configuration JSON
├── templates\ # Pages HTML Jinja2
├── static\ # CSS
└── tests\ # Tests unitaires (pytest)
```
> **Important** : ne pas supprimer le dossier `_internal\`, il est necessaire au fonctionnement.
---
@@ -156,6 +173,9 @@ supervision\
| Seuil CPU | 90% |
| Seuil RAM | 85% |
| Seuil Disque | 90% |
| Chemin logs Amadea | `C:\ProgramData\ISoft\Amadea Web 8 x64\data\logs` |
| Statut Actif si | derniere action < 5 minutes |
| Statut Inactif si | derniere action < 30 minutes |
### Processus surveilles par defaut
@@ -169,6 +189,35 @@ Tous les parametres sont modifiables depuis l'interface web.
---
## Suivi des utilisateurs Amadea
L'onglet **Utilisateurs** affiche en temps reel les utilisateurs connectes a Amadea Web 8 x64.
### Fichiers de logs lus
| Fichier | Role |
|---------|------|
| `awevents_JJ-MM-AA_N.txt` | Source principale : actions utilisateurs, deconnexions explicites |
| `isoft_JJ-MM-AA_N.txt` | Complement : evenements de session |
Seuls les fichiers du jour courant sont lus (les fichiers des jours precedents zipes sont ignores pour le tableau temps reel). Le graphique "7 derniers jours" utilise les fichiers `.txt` non zipes s'ils sont disponibles.
### Regles de statut
| Statut | Condition |
|--------|-----------|
| **ACTIF** | Derniere action < 5 min (configurable) |
| **INACTIF** | Derniere action entre 5 et 30 min (configurable) |
| **DECONNECTE** | Derniere action > 30 min ou deconnexion explicite detectee |
### Configuration du chemin des logs
Dans **Configuration > Chemin des logs Amadea**, renseignez le chemin complet du dossier contenant les fichiers `awevents_*.txt` et `isoft_*.txt`.
Valeur par defaut : `C:\ProgramData\ISoft\Amadea Web 8 x64\data\logs`
---
## Depannage
| Probleme | Solution |
@@ -178,3 +227,5 @@ Tous les parametres sont modifiables depuis l'interface web.
| 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` |
| Onglet Utilisateurs vide ou erreur | Verifier le chemin des logs dans Configuration et s'assurer que le service Amadea tourne |
| Tous les utilisateurs affiches DECONNECTE | Normal si aucune activite recente — verifier que les fichiers `awevents_*.txt` du jour sont bien presents dans le dossier configure |