Ministages
Ministages 🎓
Contexte 📖
Le projet Ministages est une plateforme web hébergée par le rectorat, destinée à permettre à des collégiens d’effectuer de courtes immersions (quelques heures) dans les lycées. L’objectif : leur faire découvrir les filières proposées et les aider dans leur orientation.
Objectifs 🎯
- 🔒 Sécuriser et remettre en norme l’ancienne version (réalisée par un étudiant en 2015), vulnérable aux injections SQL et aux fuites de mots de passe.
- 🚀 Moderniser l’architecture et les bonnes pratiques.
- ⚙️ Mettre en place une nouvelle version avec Symfony et une base de données optimisée.
Rôle et responsabilités 🤝
Projet mené en mode projet avec toute la classe de l’option SLAM (15 élèves). Lors de la phase de découverte (1 semaine), nous nous étions répartis en 4 petits groupes pour analyser les différents rôles, puis nous avons collaboré ensemble sur l’ensemble des tâches.
Mon rôle principal :
- 🧩 Participation à l’analyse fonctionnelle et rédaction de User Stories
- 🏷️ Mise en place des conventions de nommage (variables, tables, entités)
- 🔧 Maintenance de l’ancienne version (tickets, labels, branches Git)
- 💾 Conception du schéma de base de données et des fixtures Symfony
Organisation & méthode 📋
- 🌐 Hébergement du code sur Framagit
- 🏷️ Gestion agile : tickets, labels, assignation
- 👥 Visites régulières du porteur de projet pour retours et ajustements
Réalisations ✅
- 🔒 Audit de sécurité et correction des failles (injections SQL, mots de passe en clair)
- 📝 Rédaction de User Stories pour l’analyse des besoins et des rôles
- 🛠️ Mise en place du dépôt Git, création de tickets et branches
- 🗂️ Modélisation d’une nouvelle base de données
- 🧪 Intégration de fixtures pour générer des jeux de données de test
- 🔌 Développement des fonctionnalités back-end sur Symfony telles que :
- ajouter des offres de ministages
- réserver un créneau dans un ministage
- gestion des rôles et droits d’accès
Environnement technique ⚙️
- Ancienne version : PHP 7.4, SQL
- Nouvelle version : PHP 8.3, SQL
- Framework : Symfony 7
- Outils : Git, Framagit, Composer, Doctrine
- Méthodologie : Git, tickets & labels
Apports et enseignements 🌟
Ce projet a été extrêmement formateur :
- 👥 Travail en groupe important (15 élèves)
- 🔄 Maîtrise du cycle de vie d’un projet agile
- 🛡️ Mise en pratique de la sécurité applicative
- 📐 Conception de schémas relationnels et gestion de fixtures
- 🤝 Renforcement des compétences Symfony et Git