Page : /compte/jeune/dashboard/v2/ressources
Comment sont choisies les ressources affichées
Les ressources affichées sont les 5 mieux scorées parmi toutes les ressources, le score étant calculé en fonction des sous-besoins pro déclarés par le jeune pendant le funnel d'inscription (v2).
Flux complet
Inscription → jeune.besoins[pro].subs = ["cv_lm", "confidence_interview", ...]
↓
GET /ressource_jeune?sousBesoins=cv_lm,confidence_interview
↓
Toutes les ressources + coefficient = SUM(poids) pour les sous-besoins sélectionnés
ORDER BY coefficient DESC
↓
Merge avec user_ressource_progress → ajoute statut par ressource
↓
.slice(0, 5) côté frontend
Coefficient
Pour chaque ressource, coefficient = SUM(poids dans ressource_jeune_sous_besoin WHERE slug IN user's subs).
- Une ressource taggée à 2 sous-besoins que l'user a sélectionnés accumule les deux poids.
- Une ressource sans lien avec les sous-besoins de l'user a
coefficient = 0(apparaît en dernier). - Si l'user n'a aucun sous-besoin pro, toutes les ressources ont
coefficient = 0(ordre stable par id).
Modèle de données
| Table | Rôle |
|---|---|
besoin |
Besoins de haut niveau : pro, study, lost |
sous_besoin |
Sous-besoins spécifiques, reliés à un besoin (ex : cv_lm, confidence_interview) |
ressource_jeune |
Contenu (PDF, vidéo, outil IA) |
ressource_jeune_sous_besoin |
Jointure ressource ↔ sous-besoin, avec poids par lien |
user_ressource_jeune_progress |
Progression par jeune par ressource : non_demarre | en_cours | termine |
Règles d'affichage
- Les ressources les mieux scorées (voir sélection ci-dessus) sont affichées en premier, groupées par
stepOrdre/stepNomsous un numéro d'étape (sans titre ni sous-titre affiché à côté du numéro). - Toutes les autres ressources (non retenues dans la sélection) sont affichées à la suite, à plat.
- Par ressource : icône (
emoji, reflète le type PDF/Vidéo/Outil IA), nom, statut. La durée n'est pas affichée. - Pas de jauge de progression affichée pour le moment.
- Statut par défaut :
non_demarresi aucune entrée dansuser_ressource_jeune_progress.
Titre de la page
- Besoin
pro→ "Insertion professionnelle" - Besoin
study→ "Réussite des études" - Besoin
lost(ou autre) → "Ressources à consulter", avec un sous-titre plus court ("Voici le parcours que nous te conseillons", sans mention d'objectif).
Mise à jour du statut
Au clic sur une ressource, si elle est non_demarre :
- Le statut passe localement à
en_cours(optimistic update). PUT /ressource_jeune/:id/progresspersiste le changement en base.
Limitation actuelle
La page n'affiche que les ressources du besoin pro. Les besoins study et lost ont leurs propres sous-besoins dans le référentiel mais n'ont pas encore de ressources ni de page dédiée.