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

Compétences

Créé le : 02/09/2024

Retour aux projets