Spaces:
Sleeping
Sleeping
| 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é |