Pastilles de contrainte et explicabilité
Vérifié contre le produit le .
Route de l’application : /planning, panneau « Détail du créneau »
À quoi sert cet écran
Section intitulée « À quoi sert cet écran »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.
Qui y a accès
Section intitulée « Qui y a accès »Permission requise : .
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 — voir Contraintes.
Ce qu’on y voit
Section intitulée « Ce qu’on y voit »Les pastilles portées par la grille
Section intitulée « Les pastilles portées par la grille »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.
Ouvrir le détail
Section intitulée « Ouvrir le détail »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.
Ce que le panneau contient
Section intitulée « Ce que le panneau contient »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 :
- les contraintes dures violées, s’il y en a ;
- « Contraintes satisfaites (N) », repliable — et repliée par défaut dès que quelque chose ne va pas ;
- « 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 ».
Un score réel, décomposé
Section intitulée « Un score réel, décomposé »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.
Sur un créneau entièrement exclu
Section intitulée « Sur un créneau entièrement exclu »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.
Ce qu’on peut y faire
Section intitulée « Ce qu’on peut y faire »| Action | Permission | Où c’est expliqué |
|---|---|---|
| Ouvrir le détail d’une cellule ou d’une séance | cette page | |
| Changer la salle proposée — « Auto » / « Forcer » | Placement d'une séance | |
| Poser la séance — « Placer ici » | Placement d'une séance | |
| Revenir au classement — « Voir alternatives » | Heatmap et score de créneau | |
| Suivre « Ajuster les pondérations » | 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 , l’entrée « Contraintes » n’est pas dans le menu et l’écran renvoie à l’accueil.
États particuliers
Section intitulée « États particuliers »| 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.
Écrans liés
Section intitulée « Écrans liés »- Grille de planning — la grille qui porte ces pastilles.
- Heatmap et score de créneau — d’où viennent les couleurs et les chiffres que ce panneau décompose.
- Placement d'une séance — ce qu’on fait du créneau une fois qu’on l’a compris.
- Panneau d'optimisation — la même checklist, dépliée sous chaque ligne d’une suggestion.
- Publication du planning — ce qu’il advient des séances une fois qu’elles sont posées.
- Contraintes — le catalogue des 16 contraintes, leurs poids et leurs seuils.
- Synthèse de planning — la même explicabilité, agrégée sur un périmètre entier.
- Explicabilité, Contrainte dure et Contrainte souple — les définitions courtes.