WattWatcher BF est une application web Flask qui centralise et analyse les coupures d’électricité au Burkina Faso. Elle utilise PostgreSQL, Pandas et Scikit-learn pour le suivi régional, les signalements, les alertes et recommandations, à partir de données réelles SONABEL, médias et utilisateurs.
# WattWatcher BF
Application web de suivi des coupures d'électricité et de gestion énergétique au Burkina Faso.
**Sujet 21** : Application de suivi des coupures d'électricité et de gestion énergétique
**Filière** : Génie logiciel — Licence 3 Analyse de données
**Date** : Juillet 2026
---
## 📋 Description
WattWatcher BF est une application web Flask qui centralise les informations sur les coupures d'électricité au Burkina Faso, les stocke dans PostgreSQL, les analyse avec Pandas/Scikit-learn et les présente dans un tableau de bord interactif. Le système propose un suivi par région, des signalements communautaires, des alertes simulées et des recommandations énergétiques.
### Caractéristiques principales
- ✅ **Collecte multi-sources** : Scraping web, APIs météo/solaire, signalements utilisateurs
- ✅ **Données 100% réelles** : 330 coupures réelles collectées depuis SONABEL et médias burkinabé
- ✅ **Tableau de bord interactif** : KPIs, graphiques, carte géographique
- ✅ **Machine Learning** : Modèle Random Forest pour prédiction de durée
- ✅ **Alertes et recommandations** : Système d'abonnements et conseils énergétiques
- ✅ **Tests automatisés** : 39/39 tests passés (100%)
---
## 🚀 Installation rapide
### Pré-requis
- Python 3.10 ou 3.11
- Docker et Docker Compose
- Git
- Tesseract OCR (optionnel pour OCR)
### Étapes d'installation
```powershell
# Cloner le dépôt
git clone
github.com
cd WattWatcher-BF
# Créer l'environnement virtuel
python -m venv .venv
.\.venv\Scripts\activate
# Installer les dépendances
pip install -r requirements.txt
# Configurer les variables d'environnement
copy .env.example .env
# Éditez .env si nécessaire
# Démarrer PostgreSQL avec Docker
docker compose up -d
```
### Charger les données réelles
```powershell
# Charger uniquement les données réelles disponibles
.\.venv\Scripts\python.exe ingestion\load_to_postgres.py --csv data\final\dataset_coupures_reelles_combine.csv --replace-coupures
`` …