--- title: Feedback Scoring App emoji: 🔐 colorFrom: blue colorTo: purple sdk: docker app_port: 7860 tags: - streamlit - annotation - feedback - secure pinned: false short_description: Secure code feedback annotation with multi-annotator support --- # Feedback Scoring Tool - Production Version Application Streamlit sécurisée pour l'annotation et le scoring de feedbacks de code par plusieurs annotateurs. Version prête pour le déploiement en production avec authentification, dispatch et persistance cloud. ## Fonctionnalités ### Annotation - 📊 **Interface de scoring intuitive** : Notation de 1 à 5 pour chaque feedback - 📈 **Statistiques en temps réel** : Suivi de votre progression et distribution des scores - 💬 **Commentaires** : Ajoutez des notes sur chaque annotation - 📥 **Import flexible** : Support des fichiers JSONL locaux et datasets HuggingFace ### Sécurité et Collaboration - 🔐 **Authentification** : Accès protégé par mot de passe - 👥 **Multi-annotateurs** : Système de dispatch automatique par portion - 🎯 **Isolation** : Chaque annotateur ne voit que sa portion du dataset - 📋 **Traçabilité** : Toutes les annotations sont identifiées par annotateur ### Persistance - ☁️ **Sauvegarde cloud** : Stockage permanent sur HuggingFace Dataset privé - 💾 **Auto-sauvegarde** : Progression sauvegardée automatiquement en local - 🔄 **Reprise de session** : Continuez où vous en étiez, même après redémarrage - 📤 **Export JSONL** : Téléchargez vos annotations à tout moment ## Configuration pour Production Cette application nécessite une configuration avant déploiement. Voir **[CONFIGURATION.md](CONFIGURATION.md)** pour le guide complet. ### Configuration rapide 1. **Créer un dataset HF privé** pour stocker les annotations 2. **Configurer les secrets** dans Settings du Space : - `APP_PASSWORD` : Mot de passe d'accès - `HF_TOKEN` : Token avec droits d'écriture - `HF_DATASET_REPO` : Nom du dataset de stockage 3. **Configurer les annotateurs** dans `data/annotators.json` 4. **Pousser sur HF Spaces** 📖 **Documentation complète** : [CONFIGURATION.md](CONFIGURATION.md) ## Utilisation (Annotateurs) ### Workflow 1. **Connexion** : Entrez le mot de passe fourni 2. **Identification** : Sélectionnez votre identifiant 3. **Chargement** : L'app charge automatiquement votre portion 4. **Annotation** : Scorez les feedbacks (1-5) avec commentaires 5. **Sauvegarde** : Cliquez sur "☁️ Sauvegarder sur HF" régulièrement 6. **Reprise** : Vous pouvez fermer et reprendre plus tard ### Format du dataset ```json { "anchor": "code source", "positive": "feedback positif", "language": "python" } ``` ## Architecture ``` backend/ ├── auth.py # Authentification ├── annotator_config.py # Configuration annotateurs ├── hf_storage.py # Sauvegarde HuggingFace ├── data_loader.py # Chargement datasets ├── persistence.py # Sauvegarde locale ├── export.py # Export JSONL └── statistics.py # Métriques frontend/ ├── components.py # Composants UI ├── styles.py # Styles CSS └── help_page.py # Page d'aide data/ ├── annotators.json # Config annotateurs └── [sessions locales] # Sauvegardes temporaires ``` ## Développement ### Local ```bash pip install -r requirements.txt # Définir les variables d'environnement export APP_PASSWORD="dev" export HF_TOKEN="hf_xxxxx" export HF_DATASET_REPO="username/annotations" streamlit run app.py ``` ### Docker ```bash docker build -t feedback-scoring-app . docker run -p 7860:7860 \ -e APP_PASSWORD="dev" \ -e HF_TOKEN="hf_xxxxx" \ -e HF_DATASET_REPO="username/annotations" \ feedback-scoring-app ``` ## Intégration avec FFGen Cette application s'intègre avec le pipeline [FFGen](https://github.com/YOUR_USERNAME/FFGen) : 1. **Préparation** : Utilisez `create_annotation_study.py` pour créer les subsets 2. **Annotation** : Utilisez cette app pour distribuer et collecter les scores 3. **Analyse** : Utilisez `analyze_agreement.py` pour calculer l'accord 4. **Fusion** : Utilisez `merge_scores.py` pour créer le dataset final ## Sécurité - ✅ Authentification par mot de passe - ✅ Dataset de stockage privé - ✅ Isolation des annotateurs - ✅ Traçabilité complète - ✅ Pas de données sensibles en clair dans le code ## Support - 📖 Documentation : [CONFIGURATION.md](CONFIGURATION.md) - 🐛 Issues : [GitHub Issues](https://github.com/YOUR_USERNAME/feedbacks-scoring-app/issues) - 📧 Contact : your.email@example.com ## Licence Ce projet est open source.