Application d'alerte contre les inondations
# đ§ïž Flood Alert Douala
SystĂšme intelligent d'alerte contre les inondations pour la ville de Douala (Cameroun) â **sans capteurs physiques**, basĂ© uniquement sur des APIs publiques (mĂ©tĂ©o, hydrologie, marĂ©e, topographie) et un modĂšle de Machine Learning entraĂźnĂ© sur l'historique rĂ©el des inondations de la ville.
L'application combine **deux approches complémentaires** :
- un **calcul prévisionnel** par rÚgles pondérées, 100% explicable ;
- un **modĂšle de Machine Learning** (Random Forest) entraĂźnĂ© sur 37 Ă©vĂ©nements historiques documentĂ©s (1984â2026).
---
## đ Structure du projet
```
flood_app/
âââ app.py # Backend Flask â routes API (orchestration uniquement)
âââ config.py # Configuration centralisĂ©e (clĂ©s API, seuils, chemins)
âââ services.py # Appels aux APIs externes (mĂ©tĂ©o, marĂ©e, fleuve, terrain, gĂ©ocodage)
âââ moteur_calcul.py # Moteur de risque â calcul prĂ©visionnel (rĂšgles pondĂ©rĂ©es)
âââ moteur_ml.py # Moteur de risque â Machine Learning (RandomForest)
âââ quartiers.py # RĂ©fĂ©rentiel des 35 quartiers de Douala
âââ base_donnees.py # Persistance SQLite (historique des alertes)
âââ frontend.py # Interface utilisateur Streamlit
âââ requirements.txt # DĂ©pendances Python
âââ .env # ClĂ©s API (â ïž ne jamais committer)
âââ .gitignore
âââ data/
âââ quartiers_douala.csv # 35 quartiers : coordonnĂ©es + risque historique
âââ historique_ml_flat.csv # 37 Ă©vĂ©nements historiques (entraĂźnement ML)
âââ flood.db # Base SQLite (créée au premier lancement)
âââ model_risque.joblib # ModĂšle ML entraĂźnĂ© (créé au premier lancement)
```
---
## âïž Installation
```bash
# 1. Créer un environnement virtuel (recommandé)
python3 -m venv venv
source venv/bin/activate # Windows : venv\Scripts\activate
# 2. Installer les dépendances
pip install -r requirements.txt
```
### Configuration de âŠ