PGI Coffee Shop
Réunir la gestion d’un commerce entier — clients, produits, stocks, commandes, réservations, fournisseurs — derrière une seule interface.
Une activité qui démarre gère tout dans des fichiers séparés, et rien ne se parle.
Le stock d’un côté, les commandes de l’autre, les clients ailleurs encore. Chaque opération quotidienne demandait d’ouvrir plusieurs documents, et personne n’avait de vue d’ensemble sur l’activité.
Le cahier des charges demandait un progiciel sur mesure : la gestion complète de huit entités, une interface utilisable sur mobile, des accès sécurisés, et un tableau de bord qui donne l’état de l’activité d’un coup d’œil.
Une application Laravel construite sur le modèle MVC : un modèle par entité, des vues en templates Blade, et des contrôleurs qui portent la logique. Les données vivent dans MySQL, l’interface s’appuie sur Bootstrap, et le tableau de bord trace ses graphiques avec Chart.js.
Trois décisions
-
01
Une architecture MVC, pas un script par page
Huit entités qui partagent les mêmes règles de validation et d’accès. Les séparer en modèles, vues et contrôleurs évitait de réécrire la même logique huit fois.
-
02
Les agrégats calculés par la base
Le tableau de bord résume des milliers de lignes. Faire le calcul en SQL plutôt qu’en PHP gardait la page rapide à mesure que les données s’accumulaient.
-
03
Validation côté serveur, systématiquement
Les contrôles du navigateur aident l’utilisateur, mais ne protègent rien. Chaque formulaire est revalidé côté serveur avant d’atteindre la base.
Chacune avec sa création, sa consultation, sa modification et sa suppression, derrière des formulaires validés et des droits d’accès par rôle.
Une application qui couvre le cycle complet : un responsable ouvre le tableau de bord, voit l’activité du jour, et traite commandes, stocks et réservations sans quitter l’outil.
Ce que j’en retiens : modéliser la base avant d’écrire la première ligne de code a fait gagner beaucoup plus de temps que ça n’en a coûté.
Projet suivant