Panneau d'optimisation
Vérifié contre le produit le .
Route de l’application : /planning, bouton « Placement optimisé »
Nouveau au lot 5
À quoi sert cet écran
Section intitulée « À quoi sert cet écran »Poser cinquante séances à la main coûte une journée ; le solveur Le moteur de calcul qui cherche, parmi des milliards de combinaisons, celle qui satisfait le mieux vos règles. le fait en une minute. Le panneau « Placement optimisé » lui confie une liste de cours, suit son calcul, puis présente le résultat comme ce qu’il est : une suggestion, ligne par ligne, modifiable, applicable en brouillon. Le panneau le dit lui-même — « le système propose, vous disposez. »
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.
C’est la deuxième permission de la grille. Sans elle, le bouton « Placement optimisé » n’existe pas dans la barre d’actions : il n’est ni grisé ni cadenassé, il est absent. Le reste de la grille fonctionne normalement.
Un planificateur la porte. C’est même le partage caractéristique du produit : un planificateur peut optimiser mais ne peut pas publier — voir Publication du planning.
Ce qu’on y voit
Section intitulée « Ce qu’on y voit »Le panneau est une fenêtre modale qui traverse trois étapes.
1. La sélection
Section intitulée « 1. La sélection »« Sélectionnez des cours : le moteur calcule la meilleure combinaison créneaux + salles. L’EDT existant est figé et les salles verrouillées sont respectées — le système propose, vous disposez. »
- Un champ « Rechercher un cours ou un enseignant… » filtre la liste.
- Chaque cours est une case à cocher, suivie de son enseignant et du nombre de séances restant à placer : « Algorithmique — TD · Hugo Martin · ×12 ».
- « Durée max du calcul » : 30, 60, 120 ou 300 secondes — 60 par défaut.
- « Calculer (5) » lance le calcul ; le bouton reste inactif tant qu’aucun cours n’est coché.
2. Le calcul en cours
Section intitulée « 2. Le calcul en cours »Une barre de progression et une ligne d’état :
- « Optimisation en cours — première solution en préparation… » tant qu’aucune solution complète n’existe ;
- puis « Optimisation en cours — meilleure solution actuelle : 74 %. »
Le pourcentage n’est pas un temps écoulé : c’est la qualité moyenne de la meilleure solution trouvée jusqu’ici. Il peut donc stagner longtemps puis sauter d’un coup, et il ne dit rien du temps restant.
Deux sorties, qui ne font pas la même chose :
| Bouton | Ce qu’il fait |
|---|---|
| « Arrêter et proposer » | interrompt le calcul et garde la meilleure solution trouvée — c’est le bouton à utiliser quand le résultat courant suffit |
| « Annuler le calcul » | abandonne : rien n’est proposé, rien n’est gardé |
3. La suggestion
Section intitulée « 3. La suggestion »- En tête, « Taux de satisfaction global : 82.4 / 100 » — la moyenne des scores des lignes. S’y ajoute « 2 placement(s) invalide(s) à ajuster » en rouge s’il en reste.
- « 3 séance(s) n’ont pas pu être placées par le moteur. » quand le solveur a rendu les armes sur une partie du lot.
- Puis une ligne par séance : le cours, la cellule visée (« Mardi 08:00–11:00 · sem. 4 »), la salle, et son score. Une ligne refusée porte le badge « Invalide » au lieu du score, une ligne retouchée à la main le badge « Ajusté ».
- Deux boutons par ligne : « Détail » déplie la checklist complète des contraintes — la même que celle du panneau de créneau, décrite sur Pastilles de contrainte et explicabilité — et « Ajuster » ouvre l’éditeur de ligne.
L’éditeur de ligne propose trois sélecteurs — « Semaine », « Créneau », « Salle » — puis « Appliquer l’ajustement ». Seules les salles valides sur la cellule choisie y sont proposées. « Revenir à la suggestion » annule la retouche.
En pied de panneau : « Autre combinaison », « Appliquer tout (12) », et l’annulation simple.
L’arbitrage : accepter, refuser, accepter en partie
Section intitulée « L’arbitrage : accepter, refuser, accepter en partie »Le résultat n’a aucun effet tant que rien n’est appliqué. Trois issues, toutes légitimes.
| Issue | Comment |
|---|---|
| Accepter | « Appliquer tout (12) » — les 12 séances sont créées en brouillon, rien n’est publié |
| Refuser | fermer le panneau, ou « Autre combinaison » pour relancer sur un autre point de départ |
| Accepter en partie | « Ajuster » les lignes qui ne conviennent pas, puis appliquer l’ensemble |
« Autre combinaison » relance le même périmètre avec un tirage différent. Le solveur explore alors une autre région de l’espace des solutions ; ce n’est pas une garantie d’obtenir mieux, ni même autre chose si l’espace est étroit.
Le bouton « Appliquer tout » reste inactif tant qu’une ligne est invalide. Ce n’est pas une précaution d’interface : une suggestion contenant une violation dure n’est jamais applicable, côté serveur non plus. Ajustez la ligne, ou relancez.
Ce que le solveur ne fait pas
Section intitulée « Ce que le solveur ne fait pas »C’est la section à lire avant la première utilisation. Les attentes irréalistes sur l’optimisation automatique sont la première source de déception.
- Il ne retouche pas l’existant. Tout ce qui est déjà placé est figé : le solveur remplit les trous, il ne réorganise pas la semaine. Un planning déjà mauvais reste mauvais.
- Il ne déverrouille pas une salle forcée. Un verrouillage manuel est un fait, pas une préférence.
- Il ne commence pas n’importe quand. Les débuts de séance restent ancrés sur les débuts de trame ; la fenêtre occupée va du début du créneau à la durée réelle du cours, mais un début à 08:20 n’est pas dans son espace de recherche. Le placement libre à la minute reste un geste manuel — voir Placement d'une séance.
- Il ne place pas forcément tout. Un lot peut revenir avec des séances non placées : c’est un résultat, pas une panne.
- Il ne publie rien. Le résultat appliqué arrive en brouillon, comme un placement manuel.
- Il n’étale pas une série sur plusieurs semaines. La contrainte de répartition des séances ne raisonne qu’à l’intérieur d’une semaine.
- Il ne décide pas. Les évaluations de contrainte Le verdict d'une règle sur un placement candidat : respectée ou non, ce que ça coûte, et la phrase en français qui le justifie. affichées ne viennent pas du moteur d’optimisation mais du scoreur du produit, qui ré-évalue chaque ligne après coup. Ce que vous lisez dans « Détail » est donc exactement ce que la grille dirait du même placement.
Les états d’un calcul
Section intitulée « Les états d’un calcul »Un calcul est un job de solve Une demande de calcul lancée sur un périmètre choisi, que l'on suit pendant qu'elle tourne et dont on applique — ou non — le résultat. qui vit côté serveur. Il passe par cinq états.
| État | Ce qui se passe | Ce que vous voyez |
|---|---|---|
en attente (queued) |
le job est accepté, le snapshot n’est pas encore parti | la barre de progression, sans pourcentage |
en cours (solving) |
le solveur travaille, la progression remonte | « Optimisation en cours — meilleure solution actuelle : 74 %. » |
terminé (completed) |
une solution existe et a été ré-évaluée | la suggestion, ligne par ligne |
échoué (failed) |
le moteur est injoignable, occupé, ou le job a été abandonné | « Le calcul a échoué : SOLVER_UNREACHABLE » |
annulé (cancelled) |
abandon demandé, ou arrêt trop précoce pour proposer quoi que ce soit | « Calcul annulé — aucune suggestion. » |
Un seul calcul actif par établissement. Une seconde demande répond « Un calcul est déjà en cours pour l’établissement. » — y compris si c’est un collègue qui l’a lancée.
Un job dont le serveur a perdu la trace est déclaré en échec au bout de trente minutes, pour que l’établissement ne reste pas bloqué.
Quand le planning bouge pendant le calcul
Section intitulée « Quand le planning bouge pendant le calcul »Un calcul de plusieurs minutes travaille sur une photographie du planning. Si quelqu’un modifie le planning pendant ce temps, la photographie vieillit — et le produit refuse d’écraser silencieusement le travail de cette personne. C’est le rôle de l’ époque de planification Un compteur qui avance à chaque modification de l'occupation d'une année, et qui permet de savoir si un calcul lancé il y a dix minutes porte encore sur la réalité. .
- Rien n’a bougé : la suggestion s’applique normalement.
- Quelque chose a bougé, mais ailleurs — d’autres salles, d’autres enseignants, d’autres groupes que ceux du calcul : la suggestion reste applicable telle quelle. C’est la mutation de planning La trace d'un changement d'occupation — un cours posé, déplacé, annulé — avec la salle, l'enseignant et les groupes qu'il a touchés. enregistrée à chaque changement qui permet cette distinction : elle dit ce qui a bougé, pas seulement que quelque chose a bougé.
- Quelque chose a bougé dans le périmètre du calcul : un bandeau annonce « Le planning a bougé pendant le calcul — la suggestion peut être périmée. » avec un bouton « Relancer ». Si vous appliquez malgré tout, le serveur refuse : « Le planning a bougé pendant le calcul : la suggestion est périmée. Relancez le calcul. »
Une publication ne périme jamais un calcul : elle change ce qui est visible, pas ce qui est occupé.
Ce qu’on peut y faire
Section intitulée « Ce qu’on peut y faire »| Action | Permission | Où c’est expliqué |
|---|---|---|
| Ouvrir le panneau et lancer un calcul | cette page | |
| Arrêter, annuler, relancer | cette page | |
| Ajuster une ligne de la suggestion | cette page | |
| Appliquer la suggestion en brouillon | cette page | |
| Publier ce qui a été appliqué | Publication du planning |
La marche à suivre complète — que sélectionner, comment lire un taux, quand relancer — est dans le guide du planificateur.
États particuliers
Section intitulée « États particuliers »| Ce que vous voyez | Ce que ça veut dire |
|---|---|
| Le bouton « Placement optimisé » est absent | vous n’avez pas |
| « Aucun cours ne correspond. » | la recherche de l’étape de sélection ne trouve rien |
| Un bloc gris à l’ouverture | l’état du job est en cours de lecture |
| « Optimisation en cours — première solution en préparation… » | le solveur cherche encore une première solution complète |
| « Le calcul a échoué : … » | moteur injoignable, moteur occupé, ou job abandonné par le serveur |
| « Calcul annulé — aucune suggestion. » | vous avez annulé, ou l’arrêt est arrivé trop tôt pour qu’une solution existe |
| « Taux de satisfaction global indisponible. » | aucune ligne de la suggestion n’a de score exploitable |
| « 3 séance(s) n’ont pas pu être placées par le moteur. » | le lot n’a pas trouvé de place pour tout : ce n’est pas une erreur |
| « 2 placement(s) invalide(s) à ajuster » | des lignes violent une contrainte dure ; « Appliquer tout » reste inactif |
| « Dépasse les heures d’ouverture (08:00 – 20:00) » sur une ligne | la fenêtre du cours sortirait de la plage d’ouverture |
| « Aucune salle compatible sur cette cellule. » dans l’éditeur | la cellule visée n’a aucune salle valide pour ce cours |
| « Le planning a bougé pendant le calcul — la suggestion peut être périmée. » | quelqu’un a modifié le périmètre du calcul |
| « Un calcul est déjà en cours pour l’établissement. » | un seul calcul actif à la fois, tous utilisateurs confondus |
| « Impossible de lancer le calcul. » / « Impossible d’appliquer la suggestion. » | échec non identifié à l’envoi ou à l’application |
| Le panneau se ferme après « Appliquer tout » | les séances ont été créées en brouillon : « 12 séance(s) créée(s) en brouillon. » |
Sur le hors-périmètre : le calcul porte sur l’année académique entière et n’applique pas la portée du rôle — un planificateur limité à un campus peut lancer un calcul qui touche l’autre. Voir le piège sur Grille de planning.
Écrans liés
Section intitulée « Écrans liés »- Grille de planning — la grille qui reçoit ce que le calcul propose.
- Heatmap et score de créneau — l’échelle de score dont ce panneau affiche la moyenne.
- Pastilles de contrainte et explicabilité — la checklist que « Détail » déplie.
- Placement d'une séance — le geste manuel, pour ce que le solveur ne couvre pas.
- Publication du planning — l’étape d’après, qui demande une autre permission.
- Contraintes — les poids que le moteur applique.
- Solveur, Job de solve et Époque de planification — les définitions courtes.