Skip to content

MVLS — Mentorat Vers le Sup'

Programme qui met en relation des lycéens de Terminale (Générale et Technologique) avec des étudiants bénévoles (éclaireurs) sur 9 mois à distance.

Passage annuel de niveau

Voir ici pour le fonctionnement du passage de niveaux

Qui est considéré comme inscrit

  • LY (lycéen) inscrit : MvlsLyceen.charte === true
  • EE (éclaireur) inscrit : MvlsEclaireur.charte === true

charte passe à true à la soumission finale du questionnaire (partial = false). C'est ce qui déclenche l'envoi à dema1n via RabbitMQ (USER_CREATED sur user___mvls). Les sauvegardes intermédiaires (changement d'étape dans le questionnaire) n'envoient pas à dema1n.

Toute mise à jour ultérieure de parcours lycéen ne déclenche un renvoi vers dema1n que si charte === true est déjà posé.

users.mvls ≠ inscrit MVLS : le champ users.mvls = 'mvls' est positionné dès le début du questionnaire MVLS, avant la soumission finale. Il ne suffit pas à qualifier un lycéen d'inscrit — seul MvlsLyceen.charte === true fait foi. Ne pas utiliser users.mvls comme critère d'inscription dans la logique métier.

Éligibilité

Lycéens

  • En Terminale Générale ou Technologique
  • ET établissement partenaire (accès public) OU boursier / établissement prioritaire (accès prioritaire)
  • ET pas blacklisté (etablissement.isDenied === true sur l'un de ses établissements)
  • ET dans les dates d'ouverture configurées dans MvlsOptions (prio ou autre)

Éclaireurs

  • Au moins un parcours éclaireur
  • Dans les dates d'ouverture éclaireur (MvlsOptions)

Statuts lycéen

Stocké dans MvlsLyceen.statut (string, alimenté par dema1n via RabbitMQ).

EN_ATTENTE_PARENT      → validation parentale requise (lycéen < 18 ans)
EN_ATTENTE_ACTIVATION  → email envoyé au lycéen, attente d'activation
APTE                   → compte activé, en attente de mise en relation par dema1n
MATCHE                 → binôme trouvé et actif
NON_DISPONIBLE         → binôme interrompu
HORS_PROGRAMME / SORTI → hors programme

Le statut initial à la soumission est EN_ATTENTE_PARENT si < 18 ans, sinon EN_ATTENTE_ACTIVATION.

Le statut MATCHE a un impact sur le passage de niveau automatique — voir ci-dessous.

Flux d'inscription

Lycéen

Questionnaire (partial saves)
  → soumission finale (charte=true) → USER_CREATED envoyé à dema1n
  → EN_ATTENTE_PARENT ou EN_ATTENTE_ACTIVATION
  → email parent / lycéen → activation token
  → APTE → (dema1n) → MATCHE

Éclaireur

Questionnaire (partial saves)
  → soumission finale (charte=true) → USER_CREATED envoyé à dema1n
  → APTE → (dema1n) → MATCHE

Intégration dema1n (RabbitMQ)

Routing key sortante : user___mvls

Événement Déclencheur
USER_CREATED Soumission finale du formulaire LY ou EE
USER_UPDATED Mise à jour de profil ou de parcours (seulement si charte === true)

Les binômes et suivis arrivent de dema1n via RabbitMQ — voir docs/rabbitmq/.

Impact sur le passage de niveau (users.niveau)

Le statut MVLS détermine à quelle date le lycéen passe de En transition à Post-bac :

Condition Date de passage
charte = true ET statut = 'MATCHE' 10 janvier
Tous les autres lycéens en transition 1er décembre

La condition est évaluée via une sous-requête sur mvls-lyceens (charte = true AND statut = 'MATCHE' AND deletedAt IS NULL). Le champ users.mvls n'est pas utilisé pour ce calcul.