data / README.md
Tracy André
updated
676811f

A newer version of the Gradio SDK is available: 6.2.0

Upgrade
metadata
title: Analyse Adventices Agricoles CRA
emoji: 🌾
colorFrom: green
colorTo: blue
sdk: gradio
sdk_version: 4.31.0
app_file: main.py
pinned: false
license: mit

🌾 Analyse des Adventices Agricoles - CRA Bretagne

Application Gradio pour analyser et prédire la pression des adventices dans les parcelles agricoles bretonnes, développée pour le hackathon CRA.

🏗️ Architecture du Projet

Structure des fichiers

data/
├── __init__.py                 # Package Python
├── main.py                     # Point d'entrée principal
├── config.py                   # Configuration et constantes
├── data_loader.py             # Chargement des données HuggingFace
├── analyzer.py                # Analyse des données et calcul des risques
├── visualizations.py          # Création des graphiques et visualisations
├── interface.py               # Interface utilisateur Gradio
├── app.py                     # [LEGACY] Ancien fichier monolithique
├── app_simple.py              # Version simplifiée
├── requirements.txt           # Dépendances Python
├── sample_data.csv           # Données d'exemple
└── results/                  # Résultats d'analyse
    ├── risk_analysis.csv
    └── risk_visualization.html

Modules

🔧 config.py

  • Configuration centrale (tokens, URLs, constantes)
  • Paramètres des graphiques et de l'interface
  • Messages et textes de l'application

📊 data_loader.py

  • Classe DataLoader pour le chargement des données
  • Gestion des fallbacks (repo HF → fichiers locaux)
  • Nettoyage et validation des données

🧮 analyzer.py

  • Classe AgricultureAnalyzer pour l'analyse des données
  • Calcul des statistiques et de l'IFT herbicides
  • Classification des risques par parcelle
  • Génération des recommandations

📈 visualizations.py

  • Classe AgricultureVisualizer pour les graphiques
  • Visualisations Plotly interactives
  • Graphiques de risques, cultures, distributions

🖥️ interface.py

  • Classe AgricultureInterface pour l'UI Gradio
  • Organisation en onglets
  • Gestion des interactions utilisateur

🚀 main.py

  • Point d'entrée principal
  • Orchestration des composants
  • Lancement de l'application

🎯 Objectifs

  • Prédire la pression adventice sur chaque parcelle pour les 3 prochaines campagnes
  • Identifier les parcelles à faible risque pour cultures sensibles (pois, haricot)
  • Analyser l'IFT herbicides et proposer des alternatives techniques

📊 Fonctionnalités

  • Analyse exploratoire des données agricoles
  • Calcul de l'IFT herbicides approximatif
  • Classification des parcelles par niveau de risque
  • Visualisations interactives
  • Recommandations pour cultures sensibles

🚀 Utilisation

Lancement avec la nouvelle architecture

python main.py

Lancement avec l'ancien fichier (rétrocompatibilité)

python app.py

🔄 Migration

L'ancienne version monolithique (app.py) reste disponible pour la rétrocompatibilité. La nouvelle architecture modulaire offre :

  • Meilleure maintenabilité : Code séparé par responsabilité
  • Réutilisabilité : Modules indépendants
  • Testabilité : Tests unitaires plus faciles
  • Extensibilité : Ajout de nouvelles fonctionnalités simplifié