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.