IWEY API

IWEY API — Concepts académiques

Programme, filière, niveau, classe, cohorte et cours (indépendants des programmes)

Concepts académiques IWEY

Ce document définit le vocabulaire métier et les relations entre département, programme (cursus / formation), niveau, période académique, classe, cohorte et cours.

Il sert de référence commune pour le front, l’API et le schéma PostgreSQL academic_structure / pedagogy.

Glossaire

Terme Définition
Département Grand domaine d’étude (ex. Informatique & Numérique, Commerce). Contient les programmes et offre les cours.
Filière Domaine disciplinaire d’une formation (ex. Commerce international). Rattachée au département.
Programme / cursus / formation Parcours d’une durée déterminée dans une filière, menant à un diplôme, via un ou plusieurs niveaux d’étude.
Niveau d’étude Étape du cursus (ex. Master 1, Master 2, Licence 1). Réalisée sur une ou plusieurs périodes académiques.
Période académique Découpage temporel d’un niveau (ex. Semestre 1, Semestre 2).
Année académique Cadre calendaire institutionnel (ex. 2024-2025).
Cohorte Regroupement d’étudiants suivant un programme sur une année académique.
Classe Regroupement d’étudiants d’un niveau (dans une filière / programme) pour une année académique, avec capacité.
Cours Unité pédagogique offerte par un département, indépendamment des programmes.
Inscription au cours Affectation d’étudiants à un cours (individuelle, par cohorte ou par classe), avec notification email.

Exemple de référence

Le programme Master en Commerce international permet d’obtenir un diplôme de Master, suite à la validation de deux niveaux d’étude (Master 1, Master 2) dans la filière Commerce international.

Département : Commerce
└── Programme : Master Commerce international (durée 2 ans, diplôme Master)
    ├── Niveau : Master 1 (M1)
    │   ├── Semestre 1
    │   └── Semestre 2
    └── Niveau : Master 2 (M2)
        ├── Semestre 1
        └── Semestre 2

Les cours (ex. « Négociation internationale ») sont rattachés au département Commerce, pas au programme. Les étudiants du Master y sont inscrits ensuite (individuellement, par classe ou par cohorte).

Hiérarchie institutionnelle

Institution
└── Site
    └── Département          ← grand domaine d’étude
        ├── Programmes       ← cursus / formations (diplôme)
        └── Cours            ← offerts par le département (indépendants des programmes)

Département

  • Représente un grand domaine d’étude.
  • Hiérarchise les programmes.
  • Offre les cours : un cours n’appartient pas à un programme, il appartient à un département.

Programme (cursus / formation)

Un programme est :

  1. Une formation d’une durée déterminée.
  2. Située dans une filière donnée.
  3. Destinée à l’obtention d’un diplôme.
  4. Structurée en niveaux d’étude (années / périodes de formation).

Attributs métier typiques :

Champ Exemple
Nom Master Commerce international
Description Parcours M1–M2 en commerce et négociation internationale
Type de diplôme Master
Durée 2 ans
ECTS totaux 120
Intitulé du diplôme Master Commerce international
Statut Active / Brouillon / Archivée
Nombre de niveaux 2

Niveau d’étude

  • Étape du cursus (Licence 1, Master 1…).
  • Réalisé en une ou plusieurs périodes académiques (semestres).
  • Le catalogue global des niveaux (LMD, training) est partagé ; chaque programme sélectionne / ordonne les niveaux qui le composent.

Période académique (semestre)

  • Découpe un niveau dans le temps (dates, ECTS, UE).
  • Contient des unités d’enseignement (UE) et des matières.

Classes et cohortes

Les deux concepts sont des regroupements d’étudiants rattachés à un programme (ou filière) sur une période / année académique. Ils répondent à des usages UI distincts.

Cohorte

Groupe d’étudiants suivant une formation (programme) sur une année académique.

Champ UI Description
Nom Cohorte L1 Informatique
Description Première année licence informatique
Formation Licence Informatique (programme)
Année académique 2024-2025
Statut Active / Archivée

Classe

Affectation d’un groupe à un niveau d’étude et une année académique (avec capacité).

Champ UI Description
Nom de la classe L1 Informatique — Groupe A
Spécialité / filière Informatique
Niveau d’étude Licence 1
Année académique 2024-2025
Capacité max. 40
Statut Active

Différence opérationnelle

Cohorte Classe
Grain Programme + année Programme/filière + niveau + année
Capacité Optionnelle Explicite (35/40)
Usage typique Promotion / année d’entrée Groupe pédagogique par niveau

Un étudiant peut appartenir à une cohorte et à une classe.

Cours (indépendants des programmes)

Les cours sont offerts par les départements, indépendamment des programmes d’étude.

Conséquences :

  • Créer un cours ne nécessite pas de choisir un programme.
  • Un même cours peut accueillir des étudiants de plusieurs programmes.
  • Le lien programme ↔ cours se fait par inscription, pas par composition du cursus.
  • Le contenu LMS d’un cours (sections, activités, ressources) reste dans le module pedagogy.
Département Informatique
├── Cours : Algorithmique avancée     ← offert par le département
├── Cours : Bases de données
└── Programme : Licence Informatique  ← cursus (niveaux M1/L1…), distinct

Inscription des étudiants à un cours

Un étudiant (ou un ensemble d’étudiants) est inscrit à un cours de trois manières :

Mode Description
Individuel Un ou plusieurs étudiants ciblés par identifiant
Par cohorte Tous les membres actifs d’une cohorte
Par classe Tous les membres actifs d’une classe

Notification email

À chaque inscription réussie, l’étudiant reçoit un email de notification contenant :

  • confirmation d’inscription au cours ;
  • nom du cours et du département ;
  • lien d’accès (front) ;
  • informations pratiques (enseignant référent, dates si disponibles).

Le canal email réutilise le module de communication / SMTP déjà en place (CP_EMAIL_*, FRONTEND_URL).

Correspondance schéma SQL actuel

Concept Table / schéma Remarque
Département academic_structure.department Présent
Programme academic_structure.program Présent (à enrichir : description, diplôme, statut…)
Niveau (catalogue) academic_structure.level Présent
Année académique academic_structure.academic_year Présent
Cohorte academic_structure.cohort Présent (à enrichir : description, statut)
Classe academic_structure.school_class Présent
Affectation classe academic_structure.class_student Présent
Cours pedagogy.course Présent — ajouter department_id ; ne pas lier à program_id
Semestre / UE / matières À créer (cursus du programme)
Inscription cours pedagogy.course_participation À étendre (cible individuel / cohorte / classe + email)

Spécification API REST

La conception détaillée (endpoints, DTO, permissions, DDL) est documentée dans :

/academic-structure-api — source : docs/academic-structure-api.md

Ce que ce n’est pas

Concept Ne pas confondre avec
Programme / cursus Un cours LMS (pedagogy.course)
Niveau d’étude Une section de cours (chapitre Moodle-like)
Classe scolaire Une classe virtuelle (visioconférence)
Cohorte Un groupe de travail dans un cours

Voir aussi

  • Schéma base de données (tables, colonnes, ER) : /database-schema
  • Spécification API REST : /academic-structure-api
  • Architecture technique : /architecture
  • Swagger : /docs
  • Sécurité : /security-backend