Application complète de monitoring avec Flask, InfluxDB et Grafana.
- ✅ Interface SPA - Navigation fluide entre les pages
- ✅ Monitoring temps réel - Métriques système en direct
- ✅ Scan réseau - Détection automatique des appareils
- ✅ Stockage InfluxDB - Base de données chronologique
- ✅ Dashboards Grafana - Visualisations avancées
- ✅ API REST - Endpoints pour l'intégration
- 🔒 Sécurisation DevSecOps - Scan d’image Docker avec Grype
# Déployer l'application
./deploy.sh
# Arrêter l'application
docker-compose down
# Voir les logs
docker-compose logs -fmonitoring-app/
├── app.py # Application Flask principale
├── requirements.txt requirements-dev.txt # Dépendances Python & dépendance du test
├── Dockerfile # Configuration Docker
├── docker-compose.yml # Orchestration des services
├── deploy.sh # Script de déploiement automatisé
├── net_discovery_nmap.py # Module de détection réseau
├── test/ # Tests unitaires
│ └── test_net_discovery_nmap1.py
├── Makefile # Commandes automatiques (test, clean, lint)
├── grafana/ # Provisioning dashboards
└── influxdb/ # Données et configurationExécution des tests :
make test
pytest -v*✅ Les tests sont automatisés pour le module net_discovery_nmap (détection d’hôtes et scan réseau).
💡 Astuce DevOps
make clean #supprime les caches, fichiers temporaires et environnement virtuel
make reset # clean + recrée l’environnement virtuelL’image Docker est scannée avec Grype pour détecter les vulnérabilités :
grype myapp:v1| Niveau de sévérité | Nombre |
| ------------------ | ------ |
| 🔴 Critique | 0 |
| 🟠 Haute | 3 |
| 🟡 Moyenne | 4 |
| 🟢 Faible | 6 |
| ⚪ Négligeable | 44 |Correction du packages vulnérables *gunicorn, pour sécuriser l’image.
Backend : Flask (Python)
Base de données : InfluxDB
Visualisation : Grafana
Containerisation : Docker / Docker Compose
Sécurité : Grype (scan vulnérabilités)
Automatisation : Makefile, Bash, tests unitaires (pytest)