Skip to main content
Planificateur

Planificateur

Pour :EnseignantAdministrateur local Niveaux :1er degré2nd degré

Planificateur scolaire (module school-planner) : génération assistée de l'emploi du temps. À partir des données de l'établissement (enseignants, classes, matières, salles, créneaux), le moteur d'optimisation propose une grille hebdomadaire qui respecte les contraintes pédagogiques. Le module est un micro-frontend intégré au dashboard sous /edt/planificateur.

Maintenu par Pass Technologie.

L'emploi du temps est réalisé par le chef d'établissement (ou un personnel de direction) : ce profil dispose du rôle « School Planner – Administration » sur sa structure.

Fonctionnalités

Cliquer sur une fonctionnalité pour atteindre son déroulé (Aperçu) ou sa section détaillée. Toutes sont vérifiées par des tests automatisés.

Transfert vers l'EDT

Le planning hebdomadaire produit par le solveur est répété sur une période puis écrit dans le module EDT. La boîte de transfert expose :

  • Recopier sur toute l'année scolaire (activé par défaut) : verrouille la période sur les dates de l'année scolaire issues de Vie Scolaire (repli sur une estimation 1ᵉʳ sept. → 4 juil. si aucune période n'est configurée). Désactivable pour saisir librement une période.
  • Semaine A/B (une semaine sur deux), filtre par classes, et option « écraser les cours saisis manuellement » (sinon ils sont préservés et les créneaux en conflit sont ignorés).
  • Aperçu : calcule la réalisation complète (nombre de cours/occurrences) sans rien écrire.

Le transfert est idempotent : un ré-export remplace exactement les cours précédemment écrits par le planificateur (suivi serveur des récurrences), sans créer de doublon ni toucher aux cours manuels.

Démonstration — emploi du temps à l'année (2026/2027)

Parcours chef d'établissement enregistré en test automatisé : optimisation, puis transfert de l'emploi du temps sur toute l'année scolaire 2026/2027 (aperçu de la réalisation puis écriture dans l'EDT).

Lire le statut d'un planning

Le moteur ne renvoie pas un score brut mais un statut en langage clair :

StatutSignification
IncompletDes cours ne sont pas encore placés — laissez tourner ou relancez l'optimisation
⚠️ Non réalisableUne contrainte bloquante est violée (ex. enseignant/salle/classe en double)
RéalisableAucune contrainte bloquante ; il reste des préférences à améliorer
OptimalToutes les contraintes respectées, aucune pénalité

Aperçu

Chaque étape ci-dessous correspond à une fonctionnalité vérifiée par des tests automatisés : le texte décrit l'étape, la capture la montre. Le parcours suit un chef d'établissement, de l'optimisation au pilotage du service des enseignants. Cliquer sur une capture l'agrandit ; les flèches ‹ › permettent de circuler entre toutes.

Optimiser et lire l'emploi du temps

1. Lancer l'optimisation. Le moteur place les cours en arrière-plan ; le suivi affiche le temps écoulé et un bouton permet d'arrêter à tout moment.

Optimisation en cours : suivi du temps écoulé et bouton « Arrêter »chef

2. Consulter la grille produite. L'emploi du temps optimisé s'affiche sous forme de grille hebdomadaire, colorée par matière et accompagnée d'un statut de réalisation.

Emploi du temps optimisé : grille hebdomadaire colorée par matière + statutchef

Scénarios, contraintes et comparaison

3. Gérer les scénarios. Chaque scénario liste ses contraintes (dures et douces) ; on les active ou désactive pour explorer plusieurs hypothèses.

Scénarios : liste, contraintes (dures/douces) du scénario sélectionnéchef

4. Optimiser un scénario. Le résultat est restitué avec un score traduit en langage clair plutôt qu'une valeur brute.

Optimisation d’un scénario : résultat et score traduit en clairchef

5. Comparer deux scénarios. Une vue côte à côte confronte les métriques et les contraintes pour trancher entre deux hypothèses.

Comparaison de deux scénarios côte à côte (métriques et contraintes)chef

Paramétrer l'établissement et piloter le service

6. Régler les contraintes pédagogiques. Un modèle d'établissement fixe les durées et autorise des surcharges par cas particulier.

Contraintes pédagogiques : modèle d’établissement (durées) et surchargeschef

7. Lire la configuration EDT. L'année scolaire, les périodes et la grille horaire proviennent de Vie Scolaire et servent de cadre à l'optimisation.

Configuration EDT : année scolaire, périodes et grille horaire (Vie Scolaire)chef

8. Piloter le service des enseignants. Les heures dues (ORS) sont confrontées aux heures affectées pour repérer les écarts (HSA, sous-service) par scénario.

Service enseignants : pilotage ORS / heures affectées, écart (HSA, sous-service) par scénariochef

Démonstration vidéo

Parcours complet enregistré pendant le test automatisé (établissement de démonstration) :

Architecture

Le module est servi comme remote Module Federation (rolldown-vite) chargé par le dashboard Next.js, qui fournit les bibliothèques React partagées. Le backend (Quarkus) expose l'API sous /school-planner/api/ et sert le bundle fédéré sous /school-planner/mf/. Le moteur d'optimisation s'appuie sur Timefold ; les scénarios et le suivi des récurrences EDT écrites (pour un ré-export idempotent) sont persistés côté serveur (PostgreSQL) par établissement. L'accès est protégé par les droits workflow school-planner.view / .manage / .admin (lecture / pilotage / configuration).

Les données métier sont lues server-to-server dans l'ENT avec la session de l'utilisateur : annuaire (enseignants, classes, matières), services Vie Scolaire (qualification des enseignants, grille horaire, année scolaire) et RBS (salles et réservations).

Détails techniques

Couverture des tests e2e et conformité au référentiel Open ENT NG : voir Détails techniques — Planificateur.