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/stepNom sous 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_demarre si aucune entrée dans user_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 :

  1. Le statut passe localement à en_cours (optimistic update).
  2. PUT /ressource_jeune/:id/progress persiste 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.