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 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
INSCRIT Inscription terminée et mail validé ; la progression mentorat est portée séparément par status_onboarding
EN_COURS_ONBOARDING Valeur historique encore acceptée et normalisée à la reprise du parcours ; elle n'est plus produite par le funnel v2
EN_ATTENTE_PARENT Validation parent / représentant requise
HORS_PROGRAMME Profil hors périmètre du programme
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)

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

Avec le funnel v2 actif, l'activation du mail (UsersService.postActivate) pose systématiquement jeune.status=INSCRIT. Le funnel legacy conserve son comportement EN_COURS_INSCRIPTION.

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 === 'lp_mentorat' à la finalisation — le CTA attendu est /inscription/jeune?kb=lp_mentorat (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.
status_onboarding NON_COMMENCE, EN_COURS, TERMINE ou null Progression mentorat indépendante de jeune.status; null hors mentorat.

Un jeune majeur issu de l'une des deux sources est mentoré. Un mineur issu de ces sources ne l'est pas. Toute finalisation avec mentorat=true 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.

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.


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 »)

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.


STEM (jeune)

Champ Type Rôle
stem booléen Jeune concerné par le dispositif / la campagne STEM (affichage BO, actions groupées).
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.