Prise en main — du clone à la vitrine en 5 minutes¶
Ce tutoriel guide pas à pas le passage d'un repo cloné à la vitrine Streamlit qui tourne en local. Aucun choix à faire — suis les commandes, tu verras le résultat.
Pré-requis¶
- Python 3.12 disponible.
uvinstallé (gestionnaire d'environnement Python).- ~3 GB d'espace disque libre (pour torch + sentence-transformers + cache modèle).
Étape 1 — Cloner et synchroniser¶
git clone https://github.com/sodigitaljeremy/skill-bridge.git
cd skill-bridge
make sync
make sync installe toutes les dépendances de prod et de dev (incluant
fastapi, streamlit, scikit-learn, sentence-transformers, torch CPU, et la
chaîne mkdocs). Premier lancement : compte ~3 minutes.
Étape 2 — Générer le dataset¶
make dataset
Crée data/generated/ avec :
| Fichier | Contenu | Usage |
|---|---|---|
traces.jsonl |
5800 statements xAPI | Source pour enriched.jsonl |
enriched.jsonl |
5800 traces enrichies par compétences | Entrée de l'API |
learners.jsonl |
100 apprenants + vérité-terrain (archetype, ability) | Vitrine (validation cluster ↔ archétype) |
Sortie console attendue :
OK — 100 apprenants (100 dans learners.jsonl), 5800 traces xAPI, 5800 traces enrichies...
=== Stats ===
Verbes : completed=1135, failed=2013, passed=2652
Archetypes : calc_specialist=26, geo_specialist=23, reasoning_specialist=22, struggling=29
Domaine Total Min Méd Max
--------------------------------------------------
calcul_avance 978 5 10 17
...
Étape 3 — Lancer la démo¶
make demo
Ceci :
- Démarre l'API FastAPI sur
http://localhost:8000. Au premier lancement, l'API télécharge le modèlesentence-transformers/paraphrase-multilingual-MiniLM-L12-v2(~470 MB) — compter ~30 s. Logs dans/tmp/skill-bridge-api.log. - Attend que
/healthréponde 200. - Démarre la vitrine Streamlit sur
http://localhost:8501en mode headless (pas de prompt email, pas d'ouverture auto du navigateur).
Ouvre http://localhost:8501 dans ton navigateur.
Étape 4 — Explorer¶
Trois écrans dans la nav latérale :
- Vue d'ensemble : pitch, fil rouge, encart interopérabilité (CSV brut → xAPI via LRC), mapping ESCO.
- Apprenant : Léa par défaut. Profil de maîtrise par domaine, cluster assigné, top-5 recommandations expliquées.
- Clustering : sélection de
kpar silhouette, 4 clusters découverts, heatmap des centroïdes (visu principale), projection PCA 2D (illustrative), et table cluster ↔ archétype avec pureté observée.
L'API Swagger est joignable sur http://localhost:8000/docs.
Étape 5 — Arrêter¶
Ctrl+C dans le terminal make demo arrête proprement les deux processus.
Et après ?¶
- How-to — régénérer le dataset pour changer la seed, le nombre d'apprenants, etc.
- How-to — ingérer via le LRC pour démontrer le chemin d'interopérabilité réel.
- Reference — API HTTP pour appeler l'API depuis ton propre code.