Intranet scolaire
Remplacer un empilement de tableurs partagés par une source de vérité unique, pour trois profils qui n'ont ni les mêmes droits ni les mêmes urgences.
Contexte
Un établissement scolaire gérait classes, absences et communication interne dans des fichiers partagés et des chaînes de mails. Personne ne savait quelle version faisait foi, et le secrétariat consolidait à la main chaque semaine.
Problème
Direction, enseignants et secrétariat ont des droits, des vues et des rythmes différents. Le modèle de permissions devait être juste avant d'écrire la première interface, sinon chaque nouvelle vue se transformait en cas particulier.
Solution technique
Domaine modélisé en Eloquent, autorisation centralisée dans des Policies par rôle, API Laravel consommée par un front Nuxt. Les écrans denses — listes d'élèves, saisie d'absences — passent par des composants Vue réutilisables plutôt que par des pages ad hoc, ce qui rend le déploiement par modules possible.
- Une Policy par ressource, testée avant l'interface
- Saisie optimiste côté client, réconciliation côté serveur
- Journal d'audit sur les données sensibles
Résultat
Première brique en production auprès du secrétariat : la consolidation qui prenait une matinée par semaine se fait au fil de l'eau. Les modules suivants (communication, bulletins) suivent le même socle d'autorisation.