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 …