Emma Zhao

BTS SIO · épreuve PAPPE

PharmaCantine

La cantine d’entreprise en quelques clics : menus de la semaine, réservations et statistiques.

Type
Application web
Année
2026
Équipe
Projet individuel
Rôle
Conception, développement full-stack, déploiement
Stack
PHP 8.2 / Laravel 12 / Blade / Tailwind CSS 4 / MariaDB / SQL Events / Docker

a. Le contexte

Dans la même entreprise fictive GSB, la cantine était gérée sans outil : pas de suivi des réservations, et des cuisiniers qui devaient deviner les quantités.

L'application permet aux employés de réserver leur repas (déjeuner ou dîner), aux cuisiniers de composer les menus, et aux administrateurs de suivre la fréquentation.

b. Ce que j’ai fait

  1. 01Gestion des droits par Laravel Gates (employe, cuisinier, admin) et redirection selon le rôle après connexion
  2. 02CRUD des plats avec filtres, composition des menus quotidiens par service
  3. 03Tableau de bord : fréquentation, taux d’annulation, plat le plus populaire
  4. 04Middleware de journalisation de toutes les actions, consultables via un log viewer
  5. 05Environnement Docker (PHP-FPM + MariaDB) versionné

c. Les points techniques

La base de données travaille seule

Deux événements SQL quotidiens archivent les anciens menus et clôturent les réservations passées, même si personne n'utilise l'application.

Règles métier garanties

Un seul menu actif par date et par service. Annuler un menu annule toutes ses réservations dans une transaction, avec rollback en cas d'erreur.

Sessions et comptes

Session régénérée à chaque connexion, protection CSRF, et un compte désactivé est refusé même avec le bon mot de passe.