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 |
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.