Valeurs usuelles — jeune, bénévole, binôme

Document de référence indicatif, aligné sur l’usage dans le code backend (back/src/binomes). Les chaînes exactes sont sensibles à la casse (souvent MAJUSCULES avec underscores pour les statuts pipeline).

Pour quand un champ est renseigné et où il est modifiable (inscription, profil espace perso, BO, système), voir les colonnes dédiées dans schema-tables-entities-comparison.md (tables jeune, benevole, user, binome) — données issues de back/scripts/schema-champs-contexte.mjs.


jeune.status — pipeline vivier / inscription

Valeur Rôle typique
EN_ATTENTE_ACTIVATION Compte créé, activation (mail / validation) en attente. Tant que le mail n’est pas validé, un middleware redirige toute navigation vers /inscription/jeune/fin.
INSCRIT Inscription terminée et mail validé ; hors source mentorat (besoin ≠ lost et pas LP). La progression mentorat est portée séparément par status_onboarding.
EN_COURS_ONBOARDING Accès onboarding mentorat : lost ou LP + majeur à l’activation, ou clic « Commence l’aventure » depuis /onboarding/jeune/commencer-mentorat (encart dashboard). Aussi rattrapage post-MEP (toggle inscription_jeune_v2) : jeunes APTE dont l'onboarding n'est pas TERMINE ; aussi produit dès qu'un passage en APTE est demandé sans onboarding terminé (CD inclus).
EN_ATTENTE_ACTIVATION Compte créé, activation (mail / validation) en attente. Tant que le mail n’est pas validé, un middleware redirige toute navigation vers /inscription/jeune/fin.
EN_ATTENTE_PARENT Validation parent / représentant requise (funnel legacy / MVLS). Funnel v2 : plus utilisé à l’inscription. Post-MEP : bouton Gestion (hors MVLS) vers EN_ATTENTE_ACTIVATION + mail, ou INSCRIT si déjà activé.
EN_COURS_ONBOARDING Jeune majeur au besoin lost après activation mail (funnel v2) ; valeur historique encore acceptée et normalisée à la reprise du parcours mentorat
HORS_PROGRAMME Profil hors périmètre du programme. Funnel v2 : posé à la finalisation si le jeune n’étudie pas en France (schoolDepartment = 00 - À l'étranger) et n’a pas la nationalité française (etudiantEtranger).
APTE Éligible au matching (vivier « prêt »)
MATCHE Au moins un binôme en cours dans une phase active
NON_DISPONIBLE Pause / refus temporaire de matching (souvent avec raison_non_dispo)
SORTI Sorti du programme (exclu des comptages « actifs » dans plusieurs requêtes)
PASSAGE_MENTOR Profil mentoré désactivé : le jeune est passé mentor sur le même compte. Visible en BO, jamais sélectionnable.

Les comptages BO (JeuneService.countJeunes) utilisent notamment : EN_ATTENTE_ACTIVATION, EN_ATTENTE_PARENT, INSCRIT, EN_COURS_ONBOARDING, HORS_PROGRAMME, APTE, MATCHE, NON_DISPONIBLE.

Matching (manuel, de masse, vivier findMatchable, MI) : un jeune APTE est matchable. PASSAGE_MENTOR est exclu du vivier, comme SORTI et HORS_PROGRAMME. La liste BO exclut par défaut INSCRIT, NON_DISPONIBLE, SORTI et PASSAGE_MENTOR.

Avec le funnel v2 actif, l'activation du mail (UsersService.postActivate) pose jeune.status=EN_COURS_ONBOARDING si le besoin est lost ou si le jeune vient d'une LP (sourceMentoratLp) et qu'il est majeur, sinon INSCRIT. Le funnel legacy conserve son comportement EN_COURS_INSCRIPTION. Le rattrapage des jeunes déjà APTE sans onboarding terminé (hors MVLS) repose EN_COURS_ONBOARDING via le bouton de la page Gestion — voir profil-update-post-mep.md.

besoin / sous_besoin — référentiel inscription (voir referentiel.md)

besoin.slug sous_besoin.slug Libellé
pro not_sure Je ne suis pas sûr de ce que je cherche (secteur, métier, type d'entreprise)
pro cv_lm Mon CV et ma lettre de motivation ne sont pas à jour
pro no_help Je n'ai personne pour relire / m'aider
pro confidence_interview Je manque de confiance pour les entretiens
pro valorize Je ne sais pas comment valoriser mes compétences dans mes candidatures et entretiens
pro no_response Je ne comprends pas pourquoi on ne répond pas à mes candidatures
pro dont_know Je ne sais pas vraiment
study organisation Je n'arrive pas à m'organiser/gérer mon temps de travail
study battery Je manque de motivation pour travailler régulièrement
study revision Je ne sais pas comment réviser régulièrement
study exams J'ai besoin d'aide pour préparer mes examens ou partiels
study stress Je stresse beaucoup pour mes évaluations
study dont_know_study Je ne sais pas vraiment

lost n'a pas de sous-besoin. Données seedées depuis back/migrations/fixtures/sous-besoins.json ; page front /inscription/jeune/besoins (front/static/model/BesoinsJeuneV2.js, export BLOCAGES).

Origine et progression de l'onboarding mentorat

Champ Valeurs Rôle
source_mentorat_lp true, false ou null Marque l'arrivée depuis une landing page mentorat. Dérivé de draft.origin ∈ MENTORAT_ORIGINS (lp_mentorat, lp_mentorat_stage, lp_mentorat_boursier, lp_mentorat_mob_locale) à la finalisation — le CTA attendu est /inscription/jeune?kb=<origin> (tracking kb standard, alias lp_mentorat dans TrackedKnownByLists.js), pas un paramètre dédié.
source_mentorat_besoin true, false ou null Marque la sélection du besoin lost; le marqueur du draft est recalculé si le besoin change.
source_mentorat_dashboard true ou null Facultatif. Le mentoré a cliqué sur l’encart mentorat depuis le dashboard. Marqueur uniquement : il ne déclenche pas à lui seul EN_COURS_ONBOARDING. Posé avec status et status_onboarding au clic « Commence l’aventure ».
status_onboarding NON_COMMENCE, EN_COURS, TERMINE ou null Progression mentorat indépendante de jeune.status; null hors mentorat.
has_dismissed_onboarding_mentorat_popup true, false ou null Flag one-shot : le jeune a fermé (croix) la pop-up dashboard « Tu n’as pas terminé ton inscription au mentorat ». Défaut false. La pop-up s’affiche si status ∈ {INSCRIT, EN_COURS_ONBOARDING}, status_onboarding=EN_COURS et ce flag n’est pas true.

Un jeune majeur issu de l'une des deux sources entre en onboarding. Un mineur issu de ces sources reste INSCRIT après activation. À la finalisation v2, jeune.minor est calculé depuis la date de naissance (true si une date est connue et l’âge < 18 ans). Un mineur suit le même funnel qu’un majeur (pas de coordonnées de représentant légal) : le compte est créé en EN_ATTENTE_ACTIVATION, puis passe en INSCRIT à l’activation mail — pas APTE, pas d’onboarding mentorat. Toute finalisation lost ou LP + majeur initialise status_onboarding=NON_COMMENCE. Les dashboards redirigent alors vers /onboarding/jeune/etape-1 ; le démarrage passe à EN_COURS, et la validation de la charte à TERMINE. Un majeur INSCRIT (hors lost/LP) voit l’encart « Je découvre » : le clic n’écrit rien. « Commence l’aventure » pose explicitement source_mentorat_dashboard=true, status=EN_COURS_ONBOARDING et status_onboarding=NON_COMMENCE — source_mentorat_dashboard n’est pas un déclencheur d’éligibilité (contrairement à lost / LP). L’arrivée sur l’étape 1 ne fait que passer status_onboarding à EN_COURS. Si le jeune quitte ce parcours en cours, la pop-up de reprise s’affiche une seule fois au dashboard jusqu’à fermeture (has_dismissed_onboarding_mentorat_popup=true).

user.origin (varchar, nullable) capture le canal/campagne d'origine de l'inscription (query param kb, capturé par middleware/queryparams.js, alias résolu via front/static/model/TrackedKnownByLists.js). Volontairement séparé de knownBy : knownBy est un libellé marketing éditable librement en BO (reporting), origin est un slug technique stable qui peut piloter de la logique métier (ex. lp_mentorat → onboarding mentorat) sans dépendre d'un texte traduisible. Porté par User (pas Jeune/Benevole) car pertinent pour les deux profils.

jeune.to_be_deleted (booléen) marque les jeunes destinés à une suppression définitive. Le tag est posé à la demande via POST /jeunes/tag-to-be-deleted (superadmin, ex. purge des anciens EN_COURS_INSCRIPTION) plutôt que par migration one-shot, car le funnel v1 reste actif tant que le toggle v2 est off et continue de produire des EN_COURS_INSCRIPTION non taggués. La suppression effective (jeune + tables filles, sans notifier A1Connect) se déclenche à part, par lots, via POST /jeunes/purge-to-be-deleted (superadmin) — JeuneService.purgeJeunesToBeDeleted.

jeune.date_passage_mentor

Datetime nullable. Date et heure où le jeune a commencé son inscription mentor (passage mentoré → mentor, INSP-740). Écrite par POST /jeunes/passage-mentor. Le back-office l’affiche sur la fiche jeune et dans l’encart mentor « a été mentoré ». Pas de valeur miroir sur benevole. Un jeune PASSAGE_MENTOR est hors vivier de matching, comme SORTI et HORS_PROGRAMME.


benevole.status — vivier mentor

Valeur Rôle typique
EN_ATTENTE_ACTIVATION Activation compte en attente
EN_ATTENTE_FORMATION En attente de formation mentor (contrôleur bénévoles)
APTE Éligible au matching
MATCHE Au moins un accompagnement actif (souvent avec règles multibinome)
NON_DISPONIBLE Indisponible (avec raison_non_dispo, non_dispo_until, etc.)
SORTI Sorti du vivier (filtré hors listes « actives »)
PASSAGE_MENTOR Inscription mentor à compléter après un passage mentoré → mentor. Visible en BO, jamais sélectionnable. Puis EN_ATTENTE_FORMATION.

Le matching instantané autorise typiquement APTE, ou MATCHE si multibinome et nombre de binômes actifs inférieur à 2.


binome.status — cycle de vie du binôme

Valeur Rôle typique
EN_ATTENTE Binôme créé, en attente de confirmation / montage
EN_ATTENTE_JEUNE En attente de réponse ou d’action du jeune
ACTIF Accompagnement en cours
INACTIF Binôme inactif (sans être terminé — suivi, pause)
AMBIGU Situation à clarifier (BO / médiation)
BAD Qualité ou situation problématique (comptage BO)
REFUSE Proposition refusée par une des parties
ANNULE Annulation
TERMINE Parcours d’accompagnement terminé normalement

Les tableaux de bord (countBinomes) agrègent : ACTIF, INACTIF, BAD, AMBIGU, TERMINE, EN_ATTENTE, EN_ATTENTE_JEUNE, ANNULE (les REFUSE peuvent être exclus des totaux selon la requête).


state — jeune, bénévole, binôme (pilotage opérationnel)

Champ distinct de status : état « opérationnel » pour relances, files BO, matching.

Valeur Usage principal
Autonome Valeur par défaut ; condition usuelle pour proposer du matching (jeune et bénévole).
En cours Mention côté bénévole dans certains flux de mise à jour.
A traiter Binôme à traiter par l’équipe (file BO).
A annuler Binôme marqué pour annulation.

Les règles métier vérifient souvent state === 'Autonome' pour l’algo de matching et l’instant matching.


jeune.schoolCursus — cursus scolaire

Remplace le champ obsolète jeune.type.

Valeur
BTS
DUT
Licence à l'université
Ecole Post-bac
CPGE
Master à l'université
Grandes écoles
Médecine
Doctorat
Autre
BUT/DUT
IFSI
PASS
Master
Licence

Si Autre, la précision libre est stockée dans jeune.cursusAutre.


jeune.school_class — niveau d'études actuel (mentoré)

Réponse à la question « Quel est ton niveau d'études actuel ? » dans l'onboarding mentoré (/onboarding/jeune/niveau-actuel). Obligatoire pour les mentorés ; null hors parcours mentorat.

La valeur stockée est le label de l'option sélectionnée dans le panel onboarding (pas un identifiant interne). Les options actuelles :

Valeur
Bac+1
Bac+2
Bac+3
Bac+4
Bac+5
Au-delà
autre

Le contenu exact du panel est servi par l'API onboarding — en cas d'écart, la base fait foi. La pré-sélection à la reprise de l'onboarding est insensible à la casse.


jeune.mood — Etat d'esprit (mentoré)

Réponse à la question « Quel est ton état d'esprit par rapport à ton objectif ? » dans l'onboarding mentoré (/onboarding/jeune/etat-esprit). Les options actuelles :

Valeur
notgood
bad
neutral
good
happy

jeune.soutien_proches — Niveau soutien proche (mentoré)

Réponse à la question « Te sens-tu soutenu(e) ? » dans l'onboarding mentoré (/onboarding/jeune/soutien). Les options actuelles :

Valeur
peux_conseiller
peux_pas_conseiller
isolé

user.gender — Genre

Réponse à la question « Tu te définis comme... » dans l'onboarding mentoré (/onboarding/jeune/genre). Les options actuelles :

Valeur
female
male
others
abstain

Affirmation (jeune)

Les affirmations sont des questions de type : « Te reconnais-tu dans l'affirmation suivante ? »; concernent ces champs: sp_activite_remuneree, sp_besoins_mensuels, sp_famille_monoparentale, sp_isolement_etudiant, sp_isolement_familial. Et correspondent dans l'onboarding mentoré à /onboarding/jeune/activite-remuneree, /onboarding/jeune/besoins-mensuels, /onboarding/jeune/orphelin, /onboarding/jeune/isolement-etudiant, /onboarding/jeune/isolement-familial. Les options actuelles :

Valeur
Oui
Non
Skip

STEM (jeune)

Le flag stem est calculé par JeunesService.checkStem : étudiante (gender = female uniquement — pas others ni abstain), programme PP, et au moins une filière dans la liste STEM. La région d’études n’entre plus en compte. Le flag jeune.EL est distinct.

Champ Type Rôle
stem booléen Jeune concerné par le dispositif / la campagne STEM (affichage BO, actions groupées). Le matching de ces jeunes est ouvert à tous les admins.
stem_appel_1, stem_appel_2 horodatage Dates des appels de relance STEM.
stem_sms_1, stem_sms_2 horodatage Dates des SMS STEM.
stem_not_interested booléen Jeune explicitement non intéressé.
stem_interested booléen Jeune intéressé.
stem_no_response booléen Pas de réponse au dispositif STEM.

Les cases sont éditées côté BO (pages/bo/jeunes/_id/index.vue) ; les infos sont aussi envoyées via l’API stemInfos (front/services/jeunes.js).


BAM (jeune)

Champ Rôle
bam Flag « BAM validé » (souvent cohérent avec la présence de dates de participation).
register_bam_date Inscription à l’atelier BAM.
planned_bam_date Date prévue.
participation_bam_date Participation effective.

Le BO peut dériver l’affichage « BAM validé » à partir de participationBamDate.


instant_matching_reservation.etat

Enum dans InstantMatchingReservation.entity.ts :

proposé → sélectionné → autre selectionné → matché → refusé → desactivation


suivistatus.status (étape de parcours)

Pour une ligne suivistatus (binôme × étape), les valeurs usuelles incluent notamment ACTIF, INACTIF, AMBIGU (voir suivistatus.service.ts : passages automatiques selon les messages / inactivité).

statusJeune / statusBenevole décrivent la vue côté jeune et côté mentor pour la même étape.


Dernière mise à jour : alignée sur le code dans back/src/binomes (services jeunes, benevoles, binomes, instant-matching, suivistatus). En cas d’écart avec la prod, la base ou les migrations font foi.