--- 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 ```bash python main.py ``` ### Lancement avec l'ancien fichier (rétrocompatibilité) ```bash 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é