AgriGuide est une plateforme SaaS complète d'aide à la décision pour les agriculteurs, coopératives et conseillers agronomiques en France. Elle combine données satellitaires (Copernicus Sentinel-2), géomatique officielle (Cadastre, IGN LiDAR HD, RPG), modèles de Deep Learning / Machine Learning, et un écosystème d'agents IA autonomes (LangGraph, Mistral AI, Qdrant).
- 🗺️ Conseiller Parcellaire & Agro-Écologique (
/agriculture) :- Détection parcellaire automatique (Cadastre API Carto & Registre Parcellaire Graphique WFS).
- Analyse physico-chimique du sol (SoilGrids ISRIC) et historique climatique (Open-Meteo).
- Végétation & vigueur par satellite Sentinel-2 (NDVI, NDWI, NDMI).
- Modélisation du terrain en 3D interactif (Three.js + LiDAR HD IGN) et carte Mapbox GL JS.
- Recommandation culturale multicritère (RandomForest + TempCNN BreizhCrops) et modulation d'azote VRA (format ISOBUS / CSV).
- Estimateur de séquestration carbone et revenus de crédits carbone.
- 💬 Assistant Agronomique RAG & Chat Flottant :
- Chatbot conversationnel contextualisé à la parcelle sélectionnée et au profil connecté.
- RAG hybride basé sur le corpus documentaire technique (ARVALIS, Terres Inovia, ITB, HAL).
- ⚖️ Agent Réglementation & PAC (
/regulation) :- RAG juridique sur le Code Rural, les normes BCAE, éco-régimes et arrêtés ministériels.
- Moteur de synchronisation et de recherche des subventions et aides financières en temps réel (Tavily).
- 📈 Bourse Agricole & Vente à Terme (
/trading) :- Cotations des marchés de matières premières agricoles (Euronext / MATIF) en direct et séries historiques.
- Simulateur de décision commerciale pour agriculteurs (Vendre, Stocker au hangar ou Patienter).
- Alertes de marché et signaux de couverture contre la volatilité des cours.
- 🔬 Scanner & Diagnostic Phytosanitaire par Vision IA (
/diagnostic) :- Reconnaissance automatique de plus de 40 pathologies végétales, maladies fongiques et insectes ravageurs via Vision IA (Mistral Pixtral).
- Détection des auxiliaires bénéfiques (coccinelles, syrphes) et recommandations de biocontrôle.
- 🐛 Agent Détection d'Insectes & Cartes d'Alerte (
backend/agent_insects) :- Détection des ravageurs par traitement d'images et génération de cartes d'alerte territorialisées avec LangGraph.
- ♻️ Valorisation des Déchets & Coproduits (
backend/waste_agents) :- Base de connaissances et marketplace de valorisation des résidus de récolte (méthanisation, compostage, paillage).
- 🌦️ Dashboard Météo Agricole & Pulvérisation (
/weather) :- Fenêtres météo optimales de traitement, cumul pluviométrique et alertes gel/canicule.
- 🛡️ Agent Risk Analyst & Risque Climatique Paramétrique (
/risk• Port8010) :- Évaluation du risque de sécheresse basée sur le papier scientifique de référence Belhsen et al. (2026, JRACR).
- Calcul de l'anomalie pluviométrique
$SPI_{3m}$ (loi Gamma) et du bilan hydrique$SPEI_{3m}$ (loi Pearson III). - Détection du stress végétatif
$NDVI_{\text{decay}}$ par imagerie Sentinel-2 et score composite$100 \times \Phi(-\text{CompositeIndex})$ . - Générateur de rapport d'expertise HTML 8 sections autonome avec graphiques vectoriels SVG natifs et recommandation d'assurance paramétrique.
- Optimisation d'assolement multi-cultures sous contraintes par programmation linéaire (solveur HiGHS) et calcul de l'indice de concentration Herfindahl-Hirschman (
$HHI$ ).
- 📊 Étude Économique & Business Plan (
/business) :- Modélisation technico-économique, marges brutes, rentabilité prévisionnelle basée sur les séries FAOSTAT.
L'Agent Risk Analyst (backend/agent_risk, Port 8010) isole explicitement les modèles d'évaluation de risque pour garantir une rigueur académique irréprochable (PFE, soutenances et audits actuariels).
Belhsen, Y., Ouhdouch, R., & Said, K. (2026).
Drought Risk Mapping and Parametric Insurance in Agriculture: A Machine Learning-Based Framework.
Journal of Risk Analysis and Crisis Response, 16(2), 217–253.
DOI : 10.54560/jracr.v16i2.726
Le moteur climatique évalue le risque composite de sécheresse d'une parcelle à partir de trois grandeurs hydro-météorologiques et satellitaires :
-
Standardized Precipitation Index (
$SPI_{3m}$ ) : Ajustement du cumul pluviométrique sur 3 mois glissants via la fonction de distribution de probabilité Gamma$\Gamma(\alpha, \beta)$ :$$f(x) = \frac{1}{\beta^\alpha \Gamma(\alpha)} x^{\alpha-1} e^{-x/\beta} \quad \text{pour } x > 0$$ Gestion rigoureuse du cas limite$q_0 = P(x=0) = 100%$ (zéro précipitation) avec retour à l'indice plancher$SPI = -2.5$ sans erreur de division par zéro (NaN). -
Standardized Precipitation-Evapotranspiration Index (
$SPEI_{3m}$ ) : Ajustement du bilan hydrique$D = P - ET_0$ (où$ET_0$ est calculé par le modèle de Hargreaves) via la distribution Pearson Type III à 3 paramètres (asymétrie$\gamma$ , position$\mu$ , échelle$\sigma$ ). -
Sentinel-2 Canopy Vegetation Decay (
$NDVI_{\text{decay}}$ ) : Mesure du décrochage relatif de la canopée végétale par rapport à la ligne de base historique de la parcelle :$$NDVI_{\text{decay}} = \max\left(0, \frac{NDVI_{\text{baseline}} - NDVI_{\text{actuel}}}{NDVI_{\text{baseline}}}\right)$$ -
Synthèse de l'Indice Composite & Score de Risque (0 à 100) :
$$\text{CompositeIndex} = 0.45 \cdot SPI_{3m} + 0.40 \cdot SPEI_{3m} - 0.15 \cdot NDVI_{\text{decay}}$$ $$\text{RiskScore} = 100 \times \Phi(-\text{CompositeIndex})$$ Où$\Phi$ est la fonction de répartition de la loi normale centrée réduite$\mathcal{N}(0,1)$ .
-
Niveaux de Risque :
FAIBLE(<30),MODÉRÉ(30-50),ÉLEVÉ(50-75),CRITIQUE($\ge$75). -
Primes Indicatives & Seuils : Calcul automatique des seuils d'indemnisation
$s_{\text{trigger}}$ (ex:$SPEI < -1.5$ ) et d'épuisement$s_{\text{exhaustion}}$ ($SPEI = -2.5$ ). -
Export HTML Autonome (8 Sections) : Génération d'un document complet responsive prêt pour l'impression (
@media print) avec graphiques SVG natifs (courbes$SPI$ /$SPEI$ et décrochage$NDVI$ ).
Afin de respecter les principes d'honnêteté scientifique :
- Module Scientifique (Evidence-Based) : Seul le Risque Climatique Paramétrique (SPI / SPEI / NDVI) s'appuie directement sur le framework publié par Belhsen et al. (2026).
-
Modules Heuristiques Internes (V1) : Les modèles d'assolement (HiGHS
linprog+ Indice$HHI$ ), d'incompatibilité agronomique et de scénarios financiers sont des heuristiques d'ingénierie interne (V1). Leurs disclaimers le mentionnent explicitement dans l'API et dans l'interface UI.
Le backend est architecturé en micro-services spécialisés FastAPI interconnectés :
| Service | Port | Description |
|---|---|---|
| Business Agent | 8000 |
Scénarios économiques, rentabilité, historique FAOSTAT |
| Auth Service | 8001 |
Authentification JWT, gestion des rôles (farmer / acheteur) et profils |
| Agriculture Agent | 8002 |
Cadastre, RPG, SoilGrids, Sentinel-2, Relief 3D, Diagnostic Vision |
| Monitoring Agent | 8003 |
Surveillance quotidienne, suivi d'exploitation et alertes |
| Waste Agent | 8004 |
Valorisation des coproduits et déchets agricoles |
| Regulation Agent | 8005 |
RAG Réglementaire PAC, BCAE, subventions et aides en direct |
| Weather Agent | 8006 |
Données météorologiques haute précision et fenêtres de traitement |
| Trading Agent | 8007 |
Cotations Euronext/MATIF, signaux de vente et stratégies de marché |
| Orchestrator | 8008 |
Agent superviseur LangGraph pour le routage et handoffs multi-agents |
| Insects Agent | 8009 |
Détection d'insectes, sévérité et cartographie des alertes |
| Risk Analyst Agent | 8010 |
Évaluation des risques climatiques (Belhsen et al., 2026), assolement HiGHS & rapports HTML |
- Docker Desktop
- Python 3.11+
- Node.js 20+
À la racine du projet :
# Windows PowerShell
Copy-Item .env.example .env
# Linux / macOS
cp .env.example .envOuvrez .env et renseignez votre clé MISTRAL_API_KEY (compte gratuit sur console.mistral.ai).
Optionnellement, renseignez SENTINEL_HUB_CLIENT_ID / SENTINEL_HUB_CLIENT_SECRET, VITE_MAPBOX_TOKEN, et WEB_SEARCH_API_KEY (Tavily).
docker compose up -d db(Le schéma database/schema.sql est initialisé automatiquement au premier lancement).
Utilisez le virtualenv partagé du projet :
# Windows
.\scripts\setup_venv.ps1# Linux / macOS
./scripts/setup_venv.shLancez l'ensemble des agents et la base de données en une seule commande :
python scripts/run_backend.py --with-dbPour vérifier la santé des services : rendez-vous sur http://localhost:8002/health, http://localhost:8005/health, etc.
Dans un nouveau terminal :
cd frontend
npm install
npm run devOuvrez votre navigateur sur http://localhost:8080 (ou l'URL locale affichée par Vite).
AgriGuide_Project/
├── backend/
│ ├── agent_agriculture/ # Cadastre, RPG, sol, satellite, 3D LiDAR, Diagnostic Vision
│ ├── agent_business/ # Modèles financiers, scénarios, FAOSTAT
│ ├── agent_insects/ # Détection d'insectes & cartographie des alertes (LangGraph)
│ ├── agent_monitoring/ # Suivi d'exploitation et alertes
│ ├── agent_regulation/ # RAG réglementaire PAC, subventions & aides
│ ├── agent_trading/ # Bourse Euronext/MATIF & stratégie de commercialisation
│ ├── agent_weather/ # Météorologie & fenêtres de pulvérisation
│ ├── auth/ # Authentification, JWT, profils agriculteurs
│ ├── orchestrator/ # Superviseur & coordination LangGraph
│ ├── waste_agents/ # Valorisation des coproduits & marketplace déchets
│ └── shared/ # Modèles et clients partagés
├── database/
│ ├── schema.sql # Schéma PostgreSQL + PostGIS
│ └── migrations/ # Scripts de migration incrémentaux
├── frontend/ # Application React 19 / TanStack Router & Start / TailwindCSS
├── scripts/ # Scripts d'automatisation (run_backend.py, setup, etc.)
└── docker-compose.yml # Stack PostgreSQL PostGIS
- Erreur 429 Mistral (Rate Limit) :
Assurez-vous que votre modèle est configuré sur un modèle compatible avec votre plan dans
.env:MISTRAL_MODEL=open-mistral-7b
- Base de données / migrations :
Si vous devez réinitialiser la base de données locale à neuf :
docker compose down -v docker compose up -d db
- Dépendances Frontend :
En cas de problème avec des modules graphiques (Three.js, Mapbox, Leaflet) :
cd frontend && npm install