Un planning de quai qui respecte les règles du terrain
Deux quais, des créneaux de 30 minutes, une journée qui commence à 8 h et s'arrête à 16 h, une pause déjeuner entre 12 h et 13 h. Simple à raconter, facile à casser.
Le problème
Le planning n'est pas une grille libre : il y a des règles dures (horaires, pause, capacité) et des règles molles (enchaînement, priorité). Si le calcul est mélangé à l'interface, chaque changement de règle devient une régression.
Ce que j'ai fait
J'ai isolé le cœur métier : aucune dépendance externe, aucun framework, uniquement de la logique testable. Les règles sont écrites en tests d'abord (pytest), puis implémentées. L'interface reste une couche mince au-dessus.
Résultat
Les règles du quai sont vérifiables une par une, et une nouvelle contrainte s'ajoute sans toucher au reste.
Ce que je ferais différemment
Prévoir dès le début les cas d'exception : transporteur en retard, créneau annulé à la dernière minute, deux véhicules pour une même réservation. Les règles « normales » sont faciles ; ce sont les exceptions qui font la valeur d'un planning.
Stack
- Python (stdlib)
- pytest
- HTML/CSS
- Architecture en couches
Le prochain système
Quand une décision de cette page est réutilisable, elle finit dans les notes techniques.