Aller au contenu

Vue filtrée pour Administrateur Planificateur Gestionnaire de patrimoine Enseignant Étudiant Tout afficher

Pastilles de contrainte et explicabilité

Vérifié contre le produit le .

Route de l’application : /planning, panneau « Détail du créneau »

C’est l’écran de l’ explicabilité L'engagement du produit à toujours dire pourquoi il propose ou refuse quelque chose, en français, et pas seulement à l'afficher. : il transforme un chiffre en raisons. Un score de 78 ne dit rien tant qu’on ne sait pas d’où viennent les 22 points perdus — ce panneau les rend, contrainte par contrainte, en français, avec le nombre de points que chacune coûte.

Un lecteur qui sort de cette page doit être capable d’expliquer un score à quelqu’un d’autre.

Permission requise : Modifier le planning planning.edit .

La portent Administrateur, Planificateur — plus, le cas échéant, les rôles personnalisés de votre établissement qui la contiennent.

Sans cette permission, l'entrée n'existe pas dans le menu. Elle n'y figure ni grisée ni cadenassée : la navigation est filtrée sur les droits résolus, pas désactivée. Une section absente n'est donc pas une panne — et au tout premier affichage, le menu peut être plus court une fraction de seconde, le temps que les permissions arrivent.

Une permission peut être limitée à certains campus ou formations. Dans ce cas l'écran s'ouvre, mais les ressources hors périmètre en sont absentes — voir Portée.

Le panneau suit la permission de la grille : qui voit le planning voit l’explication. Le réglage des poids, lui, se fait ailleurs et demande Gérer les contraintes constraint.manage — voir Contraintes.

Une cellule ne porte jamais de texte : elle porte des signes, et chacun a un motif en plus de sa couleur. Deux d’entre eux annoncent une contrainte dure Une règle qui ne se négocie pas : tant qu'elle est violée, le placement est impossible — une salle déjà prise, un enseignant absent. violée — le créneau est alors impossible, pas seulement mauvais.

Signe sur la cellule Ce qu’il signale
Un nombre, en haut à droite le score du meilleur placement possible sur ce créneau
Une icône d’interdiction, en bas à gauche, sur fond hachuré au moins une contrainte dure est violée : le créneau est impossible
Une icône d’horloge barrée, même fond hachuré la fenêtre du cours sortirait des heures d’ouverture — le créneau n’a même pas été évalué
Une icône de calendrier, sur un semis de points la plage est déjà occupée par quelque chose d’affiché à l’écran

Le survol donne la raison en une ligne ; le clic ouvre le détail complet. Les deux ne disent pas la même chose : le survol donne la raison dominante, le détail donne toutes les raisons.

Le panneau « Détail du créneau » s’ouvre de deux façons :

  • en mode détection, par un clic sur n’importe quelle cellule — possible ou exclue ;
  • à tout moment, par un clic sur une séance déjà placée.

Dans le second cas, le panneau porte le badge « Séance placée », plus « Salle verrouillée » si la salle a été forcée à la main. L’évaluation lue est exactement la même que pour un candidat : les séances du cours lui-même sont ignorées, donc une séance ne se refuse jamais à elle-même.

L’en-tête : le libellé du cours et son groupe, puis la ligne de synthèse « Mardi 08:00–11:00 · score 72.5/100 » — ou « créneau exclu » à la place du score. Pour un cours récurrent s’y ajoute « Détail pour la semaine 3 — la cellule agrège la pire semaine. » : le panneau parle d’une semaine, la cellule parlait de la pire.

Le choix de salle : une bascule « Auto (meilleure) » / « Forcer ».

  • Auto affiche « Salle proposée : B-204 — Amphithéâtre Nord » et suit toujours la meilleure salle valide du créneau.
  • Forcer ouvre un sélecteur de toutes les salles : les valides avec leur score (« B-204 — Amphithéâtre Nord — score 92 »), les autres non sélectionnables avec leur motif (« A-101 — Salle TP — exclue : Capacité insuffisante »). Une salle simplement pénalisée reste choisissable : le produit informe, il n’interdit que l’impossible.

Les alternatives, sous le choix de salle : jusqu’à trois autres salles valides, chacune avec son écart expliqué« A-101 — Salle 12 — score 90 (−2 : Temps de trajet entre bâtiments) ». Un clic sur une alternative la force.

La checklist, enfin, dans un ordre qui n’est pas alphabétique mais celui de l’attention :

  1. les contraintes dures violées, s’il y en a ;
  2. « Contraintes satisfaites (N) », repliable — et repliée par défaut dès que quelque chose ne va pas ;
  3. « Pénalités », la plus coûteuse en premier.

Chaque ligne porte une icône d’état, le nom de la contrainte, sa justification en français, et un chiffre aligné à droite : +15.6 pour une part acquise, −15 pour des points perdus, le badge « Exclu » pour une violation. Les trois états sont annoncés aux lecteurs d’écran par « Satisfaite : », « Pénalisée : », « Violée : » — l’icône n’est jamais le seul porteur du sens.

En pied de checklist, l’arithmétique complète : « 100 − 27.5 de pénalités = 72.5/100 ».

Voici la lecture d’un créneau noté 72,5, avec les poids par défaut du catalogue. Les huit contraintes souples actives pèsent au total 32 points de poids ; chacune reçoit donc une part de 100 × poids ÷ 32, et les huit parts font exactement 100.

Contrainte Poids Part en jeu État Justification affichée Chiffre
Trous dans l’EDT du groupe 6 18,75 pénalisée à 0,8 « Crée un trou de 120 min dans la journée du groupe L1 A. » −15
Temps de trajet entre bâtiments 4 12,5 pénalisée à 0,5 « Enchaînement Bâtiment A → Bâtiment C : ≈ 12 min de trajet. » −6.3
Capacité juste 2 6,25 pénalisée à 1 « Capacité juste : 29 étudiants pour 30 places. » −6.3
Salle surdimensionnée 5 15,625 satisfaite +15.6
Préférences enseignant 5 15,625 satisfaite +15.6
Trous dans l’EDT de l’enseignant 4 12,5 satisfaite +12.5
Créneau tôt ou tardif 3 9,375 satisfaite +9.4
Répartition des séances 3 9,375 satisfaite +9.4

Somme des malus : 15 + 6,25 + 6,25 = 27,5. Score : 100 − 27,5 = 72,5.

Ce que cette lecture apprend et qu’un chiffre seul ne dit pas : le créneau ne perd pas ses points sur la salle, il les perd sur le trou de deux heures qu’il crée dans la journée du groupe. Déplacer la séance d’un créneau vers le matin coûterait probablement moins que de chercher une meilleure salle.

Dure ou souple : la distinction qui décide de tout

Section intitulée « Dure ou souple : la distinction qui décide de tout »

Une contrainte dure oppose un veto ; une contrainte souple Une préférence que l'on cherche à respecter sans y être obligé : la violer coûte des points, elle n'interdit rien. fait payer. Tout se lit à partir de là.

Contrainte dure Contrainte souple
Ce qu’elle fait rend le créneau impossible rend le créneau moins bon
Poids aucun — elle n’est pas négociable de 0 à 10, réglable par établissement
Dans la checklist badge « Exclu », aucun chiffre part en jeu, malus, justification
Sur la grille hachures + icône d’interdiction couleur + score
Combien 8 au catalogue 8 au catalogue

Le catalogue est décrit en entier sur Contraintes. Deux points de sémantique méritent d’être ici, parce qu’ils changent la lecture du panneau :

  • Sur un créneau exclu, les contraintes souples n’apparaissent pas du tout. Le panneau le dit : « Créneau exclu : les contraintes souples ne sont pas évaluées. » Elles ne sont pas satisfaites, elles n’ont jamais été calculées. Les afficher comme satisfaites serait un mensonge.
  • Toutes les contraintes dures sont évaluées, même une fois l’exclusion acquise. C’est délibéré : le panneau peut ainsi porter toutes les raisons d’un refus, pas la première rencontrée.

Quand aucune salle ne convient, le panneau ne choisit pas une salle au hasard : il agrège les violations dures de toutes les salles candidates et les liste, la plus bloquante d’abord. Chaque ligne porte son nom, sa justification, et le nombre de salles qu’elle bloque : « Bloque 14 salle(s) candidate(s) ».

C’est le bon endroit pour comprendre qu’un créneau refusé par « capacité insuffisante » sur 14 salles n’est pas le même problème qu’un créneau refusé par « salle occupée » sur 2.

Action Permission Où c’est expliqué
Ouvrir le détail d’une cellule ou d’une séance Modifier le planning planning.edit cette page
Changer la salle proposée — « Auto » / « Forcer » Modifier le planning planning.edit Placement d'une séance
Poser la séance — « Placer ici » Modifier le planning planning.edit Placement d'une séance
Revenir au classement — « Voir alternatives » Modifier le planning planning.edit Heatmap et score de créneau
Suivre « Ajuster les pondérations » Gérer les contraintes constraint.manage Contraintes

Le lien « Ajuster les pondérations », en pied de panneau, est visible de tous : il mène à l’écran des contraintes, qui lui demande sa propre permission. Sans Gérer les contraintes constraint.manage , l’entrée « Contraintes » n’est pas dans le menu et l’écran renvoie à l’accueil.

Ce que vous voyez Ce que ça veut dire
« Chargement du détail… », avec des blocs gris le détail par salle ou le profil de contraintes arrive encore
« Impossible de charger le détail du créneau. » l’une des deux requêtes a échoué : ni checklist, ni choix de salle
« créneau exclu » à la place du score au moins une contrainte dure est violée sur toutes les salles
« Créneau exclu : les contraintes souples ne sont pas évaluées. » le calcul s’est arrêté aux contraintes dures : les souples n’existent pas pour ce créneau
« Détail pour la semaine 3 — la cellule agrège la pire semaine. » cours récurrent : le panneau parle d’une semaine, la cellule parlait de la série
Le panneau se ferme tout seul vous avez changé de semaine ou de cours de référence : la cible qu’il décrivait n’existe plus
Aucune section « Pénalités » rien n’est pénalisé — le score vaut 100
Aucune alternative de salle il n’y a pas d’autre salle valide, ou bien, en récurrence, aucune n’est tenable toutes les semaines
« Salle verrouillée » la salle a été forcée à la main : ni l’attribution automatique ni le solveur n’y toucheront

Sur l’ouverture instantanée : survoler une cellule précharge son détail. Un panneau ouvert après un survol s’affiche donc sans état de chargement visible ; ouvert au clavier ou après un changement de semaine, il montre ses blocs gris une fraction de seconde.

Documentation technique source (3)