# 🚀 Guide de DĂ©ploiement sur Hugging Face Spaces ## 📋 PrĂ©requis 1. **Compte Hugging Face** : CrĂ©ez un compte sur [huggingface.co](https://huggingface.co) 2. **Token d'accĂšs** : GĂ©nĂ©rez un token sur [huggingface.co/settings/tokens](https://huggingface.co/settings/tokens) 3. **Dataset HackathonCRA/2024** : Assurez-vous d'avoir accĂšs au dataset ## 🔧 Étapes de DĂ©ploiement ### 1. CrĂ©er un nouveau Space 1. Allez sur [huggingface.co/new-space](https://huggingface.co/new-space) 2. Remplissez les informations : - **Space name** : `analyse-adventices-cra` (ou votre nom prĂ©fĂ©rĂ©) - **License** : MIT - **SDK** : Gradio - **Hardware** : CPU basic (gratuit) ### 2. Configurer les fichiers Votre projet contient maintenant tous les fichiers nĂ©cessaires : ``` 📁 Votre projet/ ├── 📄 app.py # Application Gradio modifiĂ©e pour HF ├── 📄 requirements.txt # DĂ©pendances avec datasets et huggingface_hub ├── 📄 README.md # MĂ©tadonnĂ©es HF (dĂ©jĂ  configurĂ©) ├── 📄 Dockerfile # Configuration Docker (optionnel) └── 📄 sample_data.csv # DonnĂ©es de fallback ``` ### 3. Uploader les fichiers **Option A : Interface Web** 1. Cliquez sur "Files and versions" dans votre Space 2. Uploadez tous les fichiers un par un **Option B : Git (RecommandĂ©)** ```bash # Cloner votre space git clone https://huggingface.co/spaces/VOTRE_USERNAME/VOTRE_SPACE_NAME # Copier vos fichiers cp app.py requirements.txt README.md sample_data.csv VOTRE_SPACE_NAME/ # Pousser les changements cd VOTRE_SPACE_NAME git add . git commit -m "Ajout de l'application d'analyse des adventices" git push ``` ### 4. Configurer les variables d'environnement 1. Dans votre Space, allez dans **Settings** 2. Ajoutez la variable d'environnement : - **Name** : `HF_TOKEN` - **Value** : Votre token Hugging Face - ✅ Cochez "Secret" pour la sĂ©curitĂ© ### 5. VĂ©rifier le dataset Assurez-vous que : - Le dataset `HackathonCRA/2024` existe - Vous avez les permissions pour y accĂ©der - Le token a les bonnes permissions ## đŸ—ïž Structure du Code ModifiĂ© ### Chargement des donnĂ©es ```python # Configuration HF intĂ©grĂ©e hf_token = os.environ.get("HF_TOKEN") dataset_id = "HackathonCRA/2024" # MĂ©thode de fallback robuste def load_data(self): try: # 1. Essayer depuis Hugging Face dataset = load_dataset(dataset_id, use_auth_token=hf_token) self.df = dataset['train'].to_pandas() except: # 2. Fallback vers fichiers locaux # 3. GĂ©nĂ©ration de donnĂ©es d'exemple si nĂ©cessaire ``` ### Configuration Gradio ```python # OptimisĂ© pour HF Spaces demo.launch( server_name="0.0.0.0", server_port=7860, share=False ) ``` ## 🔍 Debugging ### ProblĂšmes courants 1. **Dataset non trouvĂ©** - VĂ©rifiez que `HackathonCRA/2024` existe - Confirmez les permissions d'accĂšs - L'app utilisera des donnĂ©es d'exemple en fallback 2. **Token invalide** - RĂ©gĂ©nĂ©rez votre token HF - VĂ©rifiez qu'il est bien configurĂ© comme secret 3. **Erreurs de dĂ©pendances** - Les dĂ©pendances sont dans `requirements.txt` - HF Spaces installe automatiquement ### Logs utiles ```python # Ces messages apparaĂźtront dans les logs HF print(f"đŸ€— Tentative de chargement depuis Hugging Face: {dataset_id}") print(f"✅ DonnĂ©es chargĂ©es depuis Hugging Face") print(f"⚠ Erreur lors du chargement depuis Hugging Face") ``` ## 🎯 FonctionnalitĂ©s Votre app fonctionnera avec : - ✅ **Chargement automatique** depuis le dataset HF - ✅ **Fallback robuste** vers donnĂ©es locales/exemple - ✅ **Interface Gradio complĂšte** avec tous les onglets - ✅ **Visualisations interactives** Plotly - ✅ **Analyse des risques** par parcelle - ✅ **Recommandations** pour cultures sensibles ## 🚀 RĂ©sultat Final Une fois dĂ©ployĂ©, votre Space sera accessible Ă  l'adresse : `https://huggingface.co/spaces/VOTRE_USERNAME/VOTRE_SPACE_NAME` L'application se lancera automatiquement et tentera de charger les donnĂ©es depuis `HackathonCRA/2024` ! --- **Bon dĂ©ploiement ! đŸŒŸâœš** Voici comment lancer votre application en local pour tester avant le dĂ©ploiement : ## 🔧 Lancement en Local ### 1. **Installation des dĂ©pendances** ```bash # Dans votre dossier de projet cd /Users/tracyandre/code/hackathon/data # Installer les dĂ©pendances pip install -r requirements.txt ``` ### 2. **Configuration des variables d'environnement (optionnel)** ```bash # CrĂ©er un fichier .env (optionnel, pour tester avec le vrai dataset HF) echo "HF_TOKEN=votre_token_hugging_face" > .env # Ou exporter directement dans le terminal export HF_TOKEN=votre_token_hugging_face ``` ### 3. **Lancer l'application** ```bash ``` ### 4. **AccĂ©der Ă  l'interface** Ouvrez votre navigateur et allez Ă  : **http://localhost:7860** ## 🎯 Comportement en Local Votre app va essayer de charger les donnĂ©es dans cet ordre : 1. **Dataset HF** `HackathonCRA/2024` (si `HF_TOKEN` configurĂ©) 2. **Fichiers locaux** (sample_data.csv, etc.) 3. **DonnĂ©es d'exemple** gĂ©nĂ©rĂ©es automatiquement ## 🔍 Messages de Debug Vous verrez dans la console : ``` đŸ€— Tentative de chargement depuis Hugging Face: HackathonCRA/2024 ✅ DonnĂ©es chargĂ©es depuis Hugging Face: HackathonCRA/2024 # OU ⚠ Erreur lors du chargement depuis Hugging Face: [erreur] 🔄 Basculement vers les fichiers locaux... ✅ DonnĂ©es chargĂ©es depuis: sample_data.csv # OU ⚠ Aucun fichier de donnĂ©es trouvĂ©, gĂ©nĂ©ration de donnĂ©es d'exemple ``` ## 🚀 Test Rapide (sans token HF) Si vous voulez juste tester l'interface rapidement : ```bash # L'app fonctionnera avec les donnĂ©es d'exemple gĂ©nĂ©rĂ©es python app.py ``` L'application sera accessible sur **http://localhost:7860** avec toutes les fonctionnalitĂ©s ! đŸŒŸâœš