Skip to content

Entités Utilisateurs

User

Table : users
Description : Représente un utilisateur dans le système (étudiant, enseignant, admin, etc.)

Champ Type Description Champ BigQuery
id number Identifiant unique (hérité de BaseEntity) -
firstname string Prénom de l'utilisateur (max 200 caractères) profile.firstName
lastname string Nom de famille de l'utilisateur (max 200 caractères, non sélectionné par défaut) profile.lastName
fullname string Nom complet généré automatiquement (prénom + nom) -
resetPasswordOngoing boolean Indique si une réinitialisation de mot de passe est en cours (défaut: false) -
birthdate Date Date de naissance de l'utilisateur profile.birthDate
zipcode string Code postal de l'utilisateur (max 200 caractères) profile.codePostal
phoneNumber string Numéro de téléphone (max 200 caractères) phoneNumber
foreign boolean Indique si l'utilisateur est étranger (défaut: false) profile.foreign
gender enum Genre de l'utilisateur profile.gender (mappé)
flaggedForModeration string Raison du signalement pour modération (V1, max 200 caractères) profile.flaggedForModeration
newsletter boolean Abonnement à la newsletter (défaut: false) profile.newsletter
update_newsletter Date Date de dernière mise à jour de la newsletter profile.update_newsletter
roles enum[] Rôles de l'utilisateur (tableau) profile.role (mappé)
savedData jsonb Données sauvegardées de la V1 (non sélectionné par défaut) Voir détails ci-dessous
picture string URL de la photo de profil (max 1000 caractères) profile.picture
status string \| null Visibilité de l'éclaireur : null si l'user n'est pas éclaireur. caché par défaut à la création, visible quand l'EE a photo + parcours pour l'année en cours, peut repasser caché via le cron annuel du 1er août si aucun parcours depuis 2 ans. profile.status
passageEclaireurAt Date Date de passage au statut éclaireur profile.passageEclaireurAt
isGuideAccepted boolean Indique si le guide a été accepté (défaut: false) -
isProfileComplete boolean \| null Profil éclaireur complet : null = pas éclaireur, false = éclaireur profil incomplet, true = éclaireur avec photo + parcours année en cours. Reset annuel au 1er août. isProfileComplete
isElasticVerified boolean Indique si l'utilisateur est vérifié dans Elasticsearch (défaut: false) -
mvls enum Statut MVLS de l'utilisateur -
hasSeenMvlsPopup boolean Indique si l'utilisateur a vu la popup MVLS (défaut: false) -
hasSeenMvlsPrioPopup boolean Indique si l'utilisateur a vu la popup MVLS prioritaire (défaut: false) -

Valeurs possibles pour gender (GenderEnum) :

  • male : Masculin
  • female : Féminin
  • other : Autre
  • no_answer : Sans réponse

Valeurs possibles pour roles (UserRoleEnum[]) :

  • admin : Administrateur
  • user : Utilisateur standard
  • lyceen : Lycéen
  • eclaireur : Éclaireur
  • sso-registered : Enregistré via SSO
  • pedagogie : Pédagogie
  • worker : Worker

Valeurs possibles pour mvls (UserMvlsEnum) :

  • mvls : A commencé l'inscription MVLS ou a été rajouté à la main
  • refused : Refusé
  • banned : Banni

Valeurs possibles pour status (UserStatusEnum) — uniquement pour les éclaireurs :

  • caché : par défaut à la création ; l’EE n’apparaît pas dans la recherche
  • visible : l’EE a complété son inscription (photo + parcours pour l’année en cours) ; seuls les éclaireurs visible sont affichés aux lycéens
  • inactif : non utilisé automatiquement — réservé à un usage manuel

Transitions automatiques : - cachévisible : à la fin de l’inscription éclaireur (photo + parcours validés) - visiblecaché : cron annuel du 1er août (hideInactiveEclaireursForNewSchoolYear) si aucun parcours-éclaireur sur les 2 dernières années scolaires ; isElasticVerified repasse à false pour désindexation

Champs savedData (JSON) :

  • stateOfMind : stateOfMind
  • activitesBacPro : activitesBacPro
  • currentClasseId : currentClasseId
  • savedParcoursLyceenData : Données de parcours lycéen sauvegardées
  • savedParcoursEclaireurData : Données de parcours éclaireur sauvegardées

Relations :

  • tags : Tags créés par l'utilisateur
  • parcoursLyceens : Parcours lycéen de l'utilisateur
  • parcoursEclaireurs : Parcours éclaireur de l'utilisateur
  • mvlsEclaireurs : MVLS éclaireur de l'utilisateur
  • mvlsLyceens : MVLS lycéen de l'utilisateur
  • userJwt : Informations d'authentification
  • comments : Commentaires postés par l'utilisateur
  • medias : Médias créés par l'utilisateur
  • chatChannels : Canaux de chat de l'utilisateur
  • userImpacts : Impacts utilisateur (avis sur pistes/articles)

UserJwt

Table : user-jwt
Description : Informations d'authentification et de sécurité des utilisateurs

Champ Type Description Champ BigQuery
id number Identifiant unique (hérité de BaseEntity) -
username string Nom d'utilisateur unique (max 255 caractères) username
ssoId string Identifiant SSO pour liaison avec l'app A1C (max 4055 caractères) ssoId
password string Mot de passe hashé (non sélectionné par défaut, max 255 caractères) services.password.bcrypt
activated boolean Indique si le compte est activé (défaut: false) emails[0].verified
activationToken string Token d'activation (non sélectionné par défaut, max 255 caractères) -
lastLogin Date Date de dernière connexion lastLogin
oldId string Identifiant de l'ancienne base de données (max 200 caractères) _id
referredBy string Référent de l'utilisateur -
lastDayOfActivity Date Dernier jour d'activité lastDayOfActivity
forgetPasswordToken string Token de réinitialisation de mot de passe (non sélectionné par défaut, max 255 caractères) -

Etablissement

Table : etablissements
Description : Représente un établissement scolaire en France

Champ Type Description Champ BigQuery
id number Identifiant unique (hérité de BaseEntity) -
old_id string Identifiant de l'ancienne base de données (max 255 caractères) _id
nom string Nom de l'établissement (max 255 caractères) nom (lycées) / name (supérieur)
typeEtablissement enum[] Types d'établissement (tableau) typeEtablissement (lycées) / ['superieur'] (supérieur)
ville string Ville de l'établissement (max 127 caractères) ville (lycées) / commune (supérieur)
academie string Académie de l'établissement (max 127 caractères) academie
departementCode string Code du département (max 8 caractères) departementCode (lycées) / departement (supérieur, extrait)
codePostal string Code postal (max 32 caractères) codePostal (lycées) / cp (supérieur)
adresse string Adresse complète (max 255 caractères) adresse
isPrioritaire boolean Indique si l'établissement est prioritaire isPrioritaire (lycées) / null (supérieur)
codeUai string Code établissement UAI (max 32 caractères) uai_ips (lycées) / code_uai (supérieur)
universiteDeRattachement string Université de rattachement (max 255 caractères) null (lycées) / universite (supérieur)
idEtablissementOnisep string Identifiant établissement Onisep (max 127 caractères) null (lycées) / idEtablissementOnisep (supérieur)
isDenied boolean Indique si l'établissement est refusé -
isPartenaire boolean Indique si l'établissement est partenaire -

Valeurs possibles pour typeEtablissement (TypeEtablissementEnum[]) :

  • lycee : Lycée
  • superieur : Supérieur

Relations :

  • parcoursLyceens : Parcours lycéens de cet établissement
  • parcoursEclaireurs : Parcours éclaireurs de cet établissement
  • formations : Formations proposées par cet établissement

Formation

Table : formations
Description : Représente une formation proposée par un établissement

Champ Type Description Champ BigQuery
id number Identifiant unique (hérité de BaseEntity) -
nom string Nom de la formation (max 255 caractères) -
idFormationOnisep string ID formation Onisep (max 32 caractères) -
typeFormation enum[] Types de formation (tableau) -
old_id string Identifiant de l'ancienne base de données (max 255 caractères) -

Valeurs possibles pour typeFormation (TypeFormationEnum[]) :

  • Bachelor Universitaire de Technologie (BUT) : BUT
  • Brevet de Technicien Supérieur (BTS) : BTS
  • Certificat de Spécialisation (CS) : CS
  • Classe Préparatoire aux Grandes Ecoles (CPGE) : CPGE
  • Diplôme d'Etudes Universitaires Scientifiques et Techniques (DEUST) : DEUST
  • Ecole post-bac : École post-bac
  • Formation Complémentaire d'Initiative Locale (FCIL) : FCIL
  • Insertion : Insertion
  • Licence : Licence
  • Autre : Autre

Relations :

  • etablissement : Établissement proposant cette formation

ContactsEquipePedagogique

Table : contacts-equipe-pedagogique
Description : Contacts de l'équipe pédagogique

Champ Type Description Champ BigQuery
id number Identifiant unique (hérité de BaseEntity) -
email string Adresse email (max 200 caractères) -

UserImpact

Table : user-impact
Description : Représente les avis/impacts des utilisateurs sur les pistes et articles

Champ Type Description Champ BigQuery
id number Identifiant unique (hérité de BaseEntity) -
popupType enum Type de popup pour laquelle l'avis a été donné -
comprisPiste string Avis sur la compréhension de la piste -
suivrePiste string Avis sur le suivi de la piste -
connaitrePiste string Connaissance de cette formation -
conseilsUtiles string Avis sur l'utilité des conseils -
mieuxPrepares string Avis sur la préparation -
informationsUtiles string Avis sur l'utilité des informations -
ouDemander string Avis sur où demander -
accordClassement string Accord avec le classement -
pisteId number ID de la piste associée (si applicable) -
articleId number ID de l'article associé (si applicable) -

Valeurs possibles pour popupType (PopupType) :

  • avis_piste : Avis sur une piste
  • avis_article_orientation : Avis sur un article d'orientation
  • avis_article_vie : Avis sur un article de vie étudiante
  • avis_reco_pistes : Avis sur les recommandations de pistes

Relations :

  • user : Utilisateur associé
  • piste : Piste associée (si applicable)
  • article : Article associé (si applicable)