Le solveur Le moteur de calcul qui cherche, parmi des milliards de combinaisons, celle qui satisfait le mieux vos règles. doit répondre :
Fenêtre de terminal
curlhttp://localhost:8082/q/health/ready
Compte : demo@delacroix.example. Le bloc 5 a besoin d’un second compte sansplanning.solve — sur le socle A, créez-en un ou jouez ce bloc sur le socle B avec bob.
État de départ : les cinq cours DEMO-MULTI-* n’ont aucune séance placée. C’est le
lot que le scénario fait placer.
le panneau « Placement multi-cours optimisé » s’ouvre, avec son avertissement : « L’EDT existant est figé et les salles verrouillées sont respectées — le système propose, vous disposez. »
1.3
Taper « DEMO-MULTI » dans « Rechercher un cours ou un enseignant… »
les cinq cours apparaissent, chacun avec son enseignant et son nombre de séances
La progression n’est pas un pourcentage de temps. C’est la qualité moyenne de la meilleure
solution trouvée ; elle ne dit rien du temps restant.
Le solveur ne retouche pas l’existant. Tout ce qui est déjà placé est figé — il remplit les
trous, il ne réorganise pas la semaine. Un lot qui revient avec des séances non placées est un
résultat, pas une panne.
Une publication ne périme pas un calcul. Seules les mutations d’occupation le font :
placement, déplacement, annulation, réservation, indisponibilité.
Les pièges transverses — environnement, authentification, fraîcheur des données — sont
rassemblés sur Les pièges connus.
Orchestration, suivi, application, époque de planification
STORY-032
—
Panneau de placement optimisé, ajustement, autre combinaison
STORY-035
V16
Checklist de contraintes réutilisée
STORY-028
V13
Permission planning.solve
STORY-004
—
Couvert par les tests automatisés : apps/api/src/solve/solve.e2e.spec.ts et
apps/api/scripts/seeding/solve-chain.e2e.spec.ts. Le cycle de vie d’un calcul, l’unicité par
établissement, la péremption et l’application y sont couverts ; le suivi de progression et
l’arbitrage à l’écran ne le sont pas.