Développement en équipe · 2025 — 2026
Application Web Ministage
Gestion et réservation de mini-stages inter-établissements
Conception d'une application web sécurisée avec Symfony communicant avec l'API ministage
Dans le cadre d'un projet BTS, j'ai participé au développement d'une application permettant aux élèves de réserver des sessions de mini-stages dans leur établissement ou dans un autre, tout en offrant un espace de gestion pour les professeurs et les responsables. Le projet met l'accent sur la sécurité, l'interopérabilité et la simplicité d'utilisation. L'architecture suit les conventions REST et les bonnes pratiques Symfony, avec une convention de nommage stricte sur les branches et pull requests.
Environnement Technique
Fonctionnalités principales
- Réservation de mini-stages en ligne
- Consultation des établissements disponibles
- Gestion des réservations par les enseignants
- Réservation dans un établissement
- Consommation d'une API sécurisée exposant les données
Sécurité & gestion des rôles
JWT · Voters Symfony · RBAC
Après authentification, l'utilisateur est redirigé vers une interface spécifique selon son rôle. Une vue dynamique est chargée automatiquement en fonction du rôle récupéré depuis l'API. Chaque rôle possède son interface dédiée, rendant l'application évolutive et facilitant l'ajout de nouveaux rôles ou fonctionnalités.
Fonctionnement technique
Flux d'authentification & redirection
Le front Symfony agit comme un client de l'API. Après la soumission du formulaire de connexion, le token JWT est stocké en session côté serveur et utilisé pour chaque appel API subséquent.
Authentification via API
Envoi des identifiants à l'endpoint /api/login
Stockage du token en session
JWT conservé côté serveur dans la session Symfony
Récupération du rôle
Appel à /api/user/{email} pour obtenir le rôle utilisateur
Redirection dynamique
Chargement du template Twig adapté au rôle
Sécurité
Authentification JWT
Tokens signés avec expiration configurable
Gestion des rôles
Accès contrôlé par rôle côté front Symfony
Session sécurisée
Token stocké en session serveur, jamais exposé au client
API protégée
Endpoints sécurisés par expressions Symfony / API Platform
Travail en mode projet
Méthode Agile / Scrum
Le projet a été développé suivant la méthode Agile et Scrum




