PGSH
La planification des stages d'une faculté de médecine
Chaque année, la faculté envoie des milliers d'étudiants en médecine et en pharmacie en stage hospitalier. Tout ça vivait dans un fichier MS Access. PGSH l'a remplacé : hôpitaux et services, groupes d'étudiants, plan de rotation annuel, présences et notes, le tout sur les serveurs de la faculté.
Ce que j'ai construit
- Une API .NET 9 en clean architecture et CQRS (MediatR, FluentValidation, EF Core sur PostgreSQL). Chaque endpoint reste fermé tant qu'une permission ne l'ouvre pas.
- Un moteur de planification qui refuse de mettre un groupe dans deux services en même temps, respecte la capacité de chaque service et suit le calendrier de chaque promotion.
- Cinq VM sur ESXi. Caddy est la seule porte d'entrée, en HTTPS, et transmet le trafic aux conteneurs de l'API, à Keycloak et à PostgreSQL 17.
- Une VM d'exploitation avec Prometheus, Grafana, Loki, Tempo et OpenTelemetry, k6 pour les tests de charge, et des sauvegardes chiffrées lancées par un timer systemd.