Aller au contenu

Cadrage — Projet intégrateur « DASES-Provider »

Nom de travail : SkillBridge Contexte : démonstration technique ciblée pour la candidature « Développeur confirmé : data, IA et logiciel » chez Prof en Poche (Pau) Version : v0 — document de cadrage initial Statut : cadrage validé — fondation en cours Équipe (trio) : Jeremy (décideur / validation) · Claude (stratégie, architecture, sparring) · Claude Code (implémentation) Méthode : cadrage avant code (BMAD), docs as code, déploiement souverain


1. Intention

Ce projet est une preuve de compétence destinée à court-circuiter le filtre CV (Bac+5 et 36 mois d'expérience affichés comme « indispensables ») en démontrant, par un livrable concret et fidèle à leur écosystème, la capacité à tenir le poste.

Le poste couvre trois domaines : intégration des outils du dataspace dans les produits, déploiement de services d'IA (clustering, recommandation), et développement de briques open-source. Le projet vise à toucher les trois en un seul fil rouge, en se positionnant exactement dans le rôle que Prof en Poche joue déjà au sein de Prometheus-X : celui de « Data & AI provider » du Data Space for Education & Skills (DASES), notamment sur le use case DAPO-X.

2. Le domaine métier (rappel)

Les traces d'apprentissage sont éparpillées dans des formats incompatibles (xAPI, SCORM, IMS Caliper, cmi5, propriétaires) et cloisonnées par organisation. Prometheus-X construit un dataspace décentralisé et human-centric (sous Gaia-X, conforme RGPD/AI Act) où la donnée circule de façon souveraine et consentie. Finalités débloquées : portabilité des données de l'apprenant, personnalisation, analytics de compétences, entraînement d'IA sur données mutualisées.

Ce projet matérialise une tranche verticale de cette vision : de la trace brute jusqu'à la recommandation personnalisée.

3. Objectifs

Objectifs de démonstration (mappés à l'offre)

Domaine de l'offre Ce que le projet démontre
Use case leader / intégration dataspace Déploiement et connexion du PDC et du LRC ; simulation d'un PLRS
Data & AI provider Service exposant un jeu de données via API + clustering + recommandation
Building block open-source Service packagé, documenté, déployé comme brique réutilisable

Objectifs personnels

  • Démontrer Python en première ligne (l'indispensable de l'offre) et amorcer la montée en compétences AI Engineer.
  • Combler le gap MongoDB en déployant le PDC réel.
  • Produire un livrable réutilisable comme actif d'agence (MindAgency) au-delà de cette candidature.

4. Scénario fil rouge

Persona : « Léa », élève utilisant une application de maths façon Mathia.

  1. Léa réalise des exercices ; l'appli génère des traces brutes (exercice tenté, réussi/échoué, temps passé).
  2. Les traces sont normalisées au format xAPI (profil DASES) par le LRC.
  3. Elles sont déposées dans son PLRS (coffre de données personnel — simulé au niveau 1).
  4. Léa consent à partager ses données (anonymisées) avec un service ; l'échange transite par le PDC.
  5. Le Service Data & IA ingère ces traces, les enrichit avec des compétences du référentiel ESCO/ROME, regroupe les ressources par compétence (clustering) et recommande les prochaines ressources adaptées.
  6. Les recommandations sont renvoyées et affichées.

5. Périmètre par niveaux d'ambition

Le niveau 1 est le livrable garanti. On pousse vers le niveau 2 si le temps le permet. Le niveau 3 est hors scope POC (à évoquer en entretien comme « la suite »).

Élément Niveau 1 (socle) Niveau 2 (visé) Niveau 3 (hors scope)
LRC (conversion xAPI) Déployé et utilisé en réel idem idem
Service Data & IA Construit (enrichissement + reco + clustering) idem + affiné idem
PDC (connecteur) Déployé et présenté, échange simulé Échange réel entre 2 connecteurs, catalogue + contrat minimal Catalogue + Contract + Consent complets
PLRS Simulé (stockage simple) Simulé enrichi Intégration réelle (Cozy Cloud)
Front de démo Minimal Minimal soigné

6. Architecture cible

Réutilisation maximale des briques réelles, construction de la pièce manquante.

  • Réutilisé (open-source Prometheus-X) :
  • dataspace-connector (PDC) — TypeScript, MongoDB, Docker, licence MIT. Dépend de composants centraux (Catalogue, Contract, Consent) pour un échange complet.
  • learning-records-converter (LRC) — Python/FastAPI, Docker, licence GPL-3.0. Endpoints /convert, /validate.
  • Construit par nous — le Service Data & IA :
  • Ingestion de traces xAPI → enrichissement compétences (ESCO/ROME) via embeddings → clustering → recommandation.
  • Exposition via API (FastAPI) compatible avec une logique de « data/AI provider ».
  • Flux : Application éducative → LRC (xAPI) → PLRS → PDC (échange consenti) → Service Data & IA → recommandations.

7. Stack technique (fidèle à eux + indispensables de l'offre)

  • Service IA : Python 3.12, FastAPI, sentence-transformers (embeddings, modèle multilingue local), scikit-learn (clustering), modèle sérialisé en pickle/joblib.
  • Briques réutilisées : Node.js / TypeScript + MongoDB (PDC) ; Python / FastAPI (LRC).
  • Données & formats : xAPI (profils DASES), référentiel ESCO/ROME.
  • Infra : Docker / Docker Compose, déploiement Coolify sur VPS Hetzner (souverain).
  • Front de démo : Streamlit (rapide, tout-Python, cohérent avec le syllabus AI Engineer) — option : petit front Angular/Ionic en bonus pour coller à leur stack front, non prioritaire.
  • Qualité : tests (pytest), CI/CD, documentation versionnée + ADRs.

8. Sources de données

  • Traces d'apprentissage : jeu de données xAPI synthétique généré (scénario maths primaire façon Mathia), couvrant des activités variées (exercices, réussites, échecs, temps).
  • Référentiel de compétences : ESCO (référentiel européen, open data) et/ou ROME (France Travail) pour aligner le vocabulaire « skills » de Prometheus-X.
  • Catalogue de ressources : petit corpus de ressources éducatives à recommander (titre, niveau, compétences associées).

9. Livrables

  • Repo Git propre (monorepo ou multi-repo à trancher), README clair.
  • Service Data & IA déployé avec API documentée (Swagger).
  • PDC et LRC déployés (selon niveau atteint).
  • Front de démo accessible en ligne.
  • Documentation déployée façon AlpiMonitor : objectifs, architecture (C4), ADRs, guide de démarrage.
  • Un court écrit « ce que ça démontre » utilisable en entretien.

10. Risques & points d'attention

Risque Impact Mitigation
Dépendances du PDC (Catalogue/Contract/Consent) Échange réel complexe à monter Échange simulé au niveau 1 ; minimal au niveau 2
LRC « work in progress » (18 commits, pas de release) Débogage possible Tester tôt ; fallback : s'inspirer du format de sortie sans dépendre du service
Licence GPL-3.0 du LRC vs MIT du PDC Contrainte si produit commercial OK pour un POC ; à tracer dans un ADR si réutilisation produit
Gap data/ML personnel (Python data récent) Courbe d'apprentissage Rester sur de l'IA appliquée (embeddings + clustering), pas de deep learning lourd
Effet tunnel / scope creep Retard Niveau 1 livrable d'abord, jalons courts

11. Découpage en lots (jalons)

  • Lot 0 — Spike de faisabilité.(fait) PDC et LRC validés comme déployables.
  • Lot 1 — Données & enrichissement. Générer le jeu xAPI synthétique ; intégrer ESCO/ROME ; enrichissement des traces par compétences.
  • Lot 2 — Service IA. Embeddings + clustering + recommandation ; API FastAPI ; tests.
  • Lot 3 — Interopérabilité. Déployer le LRC réel ; brancher la conversion en amont du service.
  • Lot 4 — Dataspace. Déployer le PDC ; échange simulé (niveau 1) puis réel (niveau 2).
  • Lot 5 — Démo & doc. Front de démo ; documentation déployée ; déploiement final Coolify/Hetzner.

12. Critères de réussite (Definition of Done)

  • Le fil rouge fonctionne de bout en bout (au moins au niveau 1) et est déployé en ligne.
  • L'API du Service Data & IA est documentée et testée.
  • La documentation explique clairement le « pourquoi » métier et l'architecture.
  • Le projet est présentable en 5 minutes en entretien, avec un lien live.

13. Décisions tranchées

  • [x] Nom définitif du projet : SkillBridge (repo skill-bridge)
  • [x] Délai cible : niveau 1 visé en ~2 semaines (sprint cadré, façon AlpiMonitor)
  • [x] Modèle d'embeddings : sentence-transformers multilingue, exécution locale
  • [x] Référentiel de compétences : ESCO (primaire) ; mapping ROME en secondaire, plus tard
  • [x] Front de démo : Streamlit (seul, niveau 1) ; bonus Angular/Ionic non prioritaire
  • [x] Organisation du code : repo unique pour notre code ; PDC et LRC intégrés via Docker (non copiés dans le repo)
  • [x] Niveau d'ambition : niveau 1 garanti d'abord, niveau 2 visé en bonus

Stack Python actée : Python 3.12 · uv (gestion d'env et de deps) · ruff (lint/format) · pytest (tests).


Document de cadrage v0 — à affiner en trio avant le démarrage du Lot 1.