SUGU AI - Plateforme d'aide a la decision agricole au Senegal : recommandation de culture, diagnostic de maladies foliaires par CNN, prevision de prix et score de financement. Projet tutore M1 IABD, ESP Dakar.
# 🌾 SUGU AI — aide à la décision agricole au Sénégal
Projet tutoré M1 IABD (ESP Dakar). Une plateforme, **quatre modules** qui couvrent
le cycle du producteur — *quoi cultiver → est-ce sain → quand vendre → suis-je finançable* :
| Module | RĂ´le | Endpoint | Technique |
|---|---|---|---|
| **M1 — Cultures** | Recommande la culture adaptée au sol / à la zone | `GET /predict/crop` | RandomForest (scikit-learn) |
| **M2 — Maladies** | Diagnostique une maladie foliaire depuis une photo | `POST /predict/disease` | CNN MobileNetV2 (transfer learning) |
| **M3 — Prix** | Prévoit le prix et recommande *vendre / attendre* | `GET /predict/price` | Prophet / LSTM |
| **M4 — Finance** | Score d'éligibilité au financement, explicable | `GET /predict/finance` | Barème à règles (aucune dépendance) |
Les quatre modules sont servis par **une seule app FastAPI** (`src/api.py`), qui sert
aussi le dashboard React buildé (`web/dist`) sur le même port.
Deux clients consomment cette API : le **dashboard web** (`web/`) et une **application
mobile** React Native / Expo (`mobile/` — voir `mobile/README.md`).
## Livrables
| Document | Fichier |
|---|---|
| **Rapport de projet** (complet) | `deliverables/rapport/rapport_projet_tutore.pdf` |
| **Article scientifique** (format IEEE) | `deliverables/rapport/rapport_sugu_ieee.pdf` |
| **Présentation de soutenance** | `deliverables/presentation/SUGU_AI_Soutenance.pptx` |
| **Guide de reprise du projet** | `docs/ONBOARDING.md` |
Les sources LaTeX (`.tex`) des deux documents sont versionnées à côté des PDF.
## Setup
⚠️ **Python 3.12 obligatoire** : TensorFlow n'est pas compatible 3.13+.
```powershell
uv venv --python 3.12 .venv
uv pip install --python .venv -r pyproject.toml
uv pip install --python .venv httpx pytest pytest-asyncio respx # deps de dev (tests)
```
Vérifier que tout marche (les tests doivent passer) :
```powershell
.venv\Scripts\python -m pytest -q
```
Token Kaggle (M1 + M2, téléchargement des datasets) : kaggle.com → Set …