Entités Parcours
ParcoursLyceen
Table : parcours-lyceens
Description : Informations spécifiques aux lycéens pour un utilisateur donné
| Champ | Type | Description | Champ BigQuery |
|---|---|---|---|
id |
number |
Identifiant unique (hérité de BaseEntity) | - |
departement |
string |
Département (max 255 caractères) | profile.departement |
filiere |
string |
Filière suivie (max 255 caractères) | profile.lyceeStudies[0].filiere |
niveau |
string |
Niveau d'études déclaré via le questionnaire (max 255 caractères). Distinct de users.niveau (calculé) — voir docs/metier/niveau.md |
profile.lyceeStudies[0].niveau |
boostAlternanceApprentissage |
string |
Obsolète — plus collecté par le questionnaire lycéen (INSP-662) ; données historiques possibles (max 200 caractères) | profile.boostAlternanceApprentissage |
boostBudget |
string |
Budget / financement des études (échelle questionnaire, max 200 caractères) | profile.boostBudget |
boostConnaisPersonne |
string |
Obsolète — plus collecté par le questionnaire lycéen (INSP-662) ; données historiques possibles (max 200 caractères) | profile.boostConnaisPersonne |
boostPartir |
string |
Obsolète — plus collecté par le questionnaire lycéen (INSP-662) ; données historiques possibles (max 200 caractères) | profile.boostPartir |
encadrement |
string |
Type d'encadrement (max 200 caractères) | profile.encadrement |
seLancerDansEtudesSup |
string |
Niveau d'inquiétude pour les études supérieures (max 50 caractères) : tresFort, fort, moyen, faible |
- |
souhaiteAccompagnement |
string |
Souhaite bénéficier d'un accompagnement (max 10 caractères) : true / false |
- |
environnement |
jsonb |
Données d'environnement | profile.environnement |
isBoursierSecondaire |
string |
Est boursier du secondaire (max 200 caractères) | profile.isBoursierSecondaire |
spes |
jsonb |
Spécialités | profile.lyceeStudies[0].filiereTechno |
surveyResult |
jsonb |
Résultats d'enquête | algoInput |
algoResult |
jsonb |
Résultats d'algorithme | algoResults |
matieres |
jsonb |
Matières | profile.matieres |
moyenne |
jsonb |
Moyennes | profile.moyenne |
moyennePremiere |
jsonb |
Moyennes de première | profile.moyennePremiere |
lyceeStudies |
jsonb |
Études au lycée | profile.lyceeStudies |
options_terminale |
jsonb |
Options de terminale | profile.options_terminale |
spe_abandonnee_premiere |
jsonb |
Spécialité abandonnée en première | profile.spe_abandonnee_premiere |
spes_premiere |
jsonb |
Spécialités de première | profile.spes_premiere |
spes_terminale |
jsonb |
Spécialités de terminale | profile.spes_terminale |
domains |
jsonb |
Domaines | profile.domains |
etablissementNom |
string |
Nom de l'établissement si saisi manuellement (max 200 caractères) | profile.lycee (si lyceeId \= 'autre') |
etablissementId |
number |
ID de l'établissement associé | Mappé via profile.lyceeId |
Relations :
user: Utilisateur associéetablissement: Établissement associé
ParcoursEclaireur
Table : parcours-eclaireurs
Description : Informations spécifiques aux éclaireurs pour un utilisateur donné
| Champ | Type | Description | Champ BigQuery |
|---|---|---|---|
id |
number |
Identifiant unique (hérité de BaseEntity) | - |
annee |
string |
Année scolaire de cette entrée (max 32 caractères) | profile.studies[].year / profile.annee |
occupation |
string |
Occupation si pas d'études (max 127 caractères) | profile.occupation |
typeFormation |
string |
Type de formation suivie (max 127 caractères) | profile.typeFormation |
formation |
string |
ID ou intitulé de la formation (max 200 caractères) | profile.studies[].formation / profile.formation |
eclaireurQuestions |
jsonb |
Questions de l'éclaireur | profile.eclaireurQuestions |
sourceOfFinanceStudies |
string |
Source de financement des études (max 200 caractères) | profile.sourceOfFinanceStudies |
willReviewCV |
string |
Révisera le CV (max 200 caractères) | profile.willReviewCV |
studiedAbroad |
string |
A étudié à l'étranger (max 200 caractères) | profile.studiedAbroad |
voieEtude |
enum |
Voie d'étude suivie | Mappé via profile.lyceeStudies[0].filiere |
pisteEtude |
string |
Piste d'étude suivie (max 200 caractères) | profile.pisteEtude / profile.pisteIds[] (mappé) |
etablissementNom |
string |
Nom de l'établissement si saisi manuellement (max 200 caractères) | profile.studies[].etablissement / profile.etablissementNom |
etablissementVille |
string |
Ville de l'établissement si saisi manuellement (max 200 caractères) | - |
etablissementPays |
string |
Pays de l'établissement si saisi manuellement (max 200 caractères) | - |
departement |
string |
Département de l'étude (max 200 caractères) | profile.studies[].departement / profile.departement |
formationYear |
number |
Année dans la formation | profile.studies[].formationYear / profile.formationYear |
option |
string |
Option de formation (max 200 caractères) | profile.studies[].option |
optionMentionCmi |
string |
Mention CMI de l'option, si l'option est CMI (max 200 caractères) | - |
skippingYear |
boolean |
Année de césure | profile.studies[].skippingYear |
skippingYearOccupation |
jsonb |
Activités pendant la césure | profile.studies[].skippingYearOccupation + skippingYearOther |
doubleDiplome |
boolean |
Double diplôme | - |
etablissementId |
number |
ID de l'établissement associé | Mappé via profile.studies[].etablissementId / profile.etablissementId |
Valeurs possibles pour voieEtude (VoieEtudeEnum) :
Général (réforme 2021): Général (réforme 2021)Général S: Général SGénéral ES: Général ESGénéral L: Général LTechnologique: TechnologiqueProfessionnelle: ProfessionnelleAutre diplôme: Autre diplôme
Relations :
user: Utilisateur associéetablissement: Établissement associépiste: Piste associée (propriété virtuelle)
Index sur userId et withDeleted
Les deux tables ont un index partiel sur userId (idx_pl_user_active, idx_pe_user_active, migration 1755875084570-add-indexes), limité à "deletedAt" IS NULL. PostgreSQL ne l'utilise que si la requête porte cette condition : TypeORM l'ajoute automatiquement aux jointures, sauf avec withDeleted: true, qui s'applique aussi aux relations jointes. Ne pas utiliser withDeleted sur une requête qui joint des parcours, sinon la jointure parcourt toute la table (cause de la lenteur de la fiche éclaireur, corrigée dans UserService.findEclaireurById).