feedbacks-scoring / README.md
Matis Codjia
Scoring app
1d8c2e0
---
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.