← Projets
Application métier · réservation

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.

2quais gérés
30 mingranularité
TDDtests avant le code

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
—
Suite

Le prochain système

Quand une décision de cette page est réutilisable, elle finit dans les notes techniques.