Site de gestion des stages
Contexte du projet
Ce projet d'envergure a été réalisé dans le cadre d'une SAE (Situation d'Apprentissage et d'Évaluation) en BUT Informatique. L'objectif était de développer un site web complet de gestion des stages répondant aux besoins spécifiques d'un client réel : un enseignant de l'IUT. Cette SAE nous a plongés dans une situation professionnelle authentique avec un vrai cahier des charges et des deadlines à respecter.
Nous étions cinq étudiants à travailler sur ce projet en suivant la méthode agile Scrum. Mon principal rôle était celui de développeur backend, mais j'ai également endossé le rôle de ScrumMaster pendant plusieurs sprints. En tant que ScrumMaster, j'étais responsable de l'animation des cérémonies Scrum (daily meetings, sprint planning, rétrospectives), de la résolution des conflits et de veiller au respect de la méthodologie agile.
Le projet a nécessité la conception d'une architecture complète : modélisation de la base de données MySQL, développement backend en PHP orienté objet avec architecture MVC, et création d'interfaces frontend responsives. La gestion de version via Git était essentielle pour coordonner le travail de l'équipe.
Compétences développées
- Développement web full-stack : maîtrise de PHP, HTML, CSS, JavaScript et SQL pour créer une application complète
- Architecture MVC : structuration du code avec séparation claire des responsabilités (Modèle, Vue, Contrôleur)
- Gestion de base de données : conception du schéma relationnel, requêtes SQL complexes, optimisation
- Programmation orientée objet : création de classes PHP pour gérer les entités (Stage, Convention, Étudiant, Entreprise)
- Méthodes agiles Scrum : participation active aux sprints, daily meetings, rétrospectives, et animation en tant que ScrumMaster
- Travail collaboratif : utilisation de Git en équipe, gestion des branches, résolution de conflits, revue de code
- Gestion de projet : planification des tâches, respect des deadlines, communication avec le client
- Analyse des besoins : échanges réguliers avec le client pour comprendre et affiner les exigences
Fonctionnalités développées
- Gestion des stages : ajout, modification, suppression et consultation des offres de stage
- Génération de conventions : création automatisée de documents PDF pré-remplis
- Gestion des utilisateurs : système d'authentification avec différents rôles (étudiant, enseignant, administrateur)
- Suivi des candidatures : historique des demandes et statuts des stages
- Recherche et filtres : moteur de recherche multi-critères pour trouver des stages
- Interface responsive : adaptation automatique à tous les types d'écrans
Défis relevés
- Gestion du temps : respect des deadlines malgré la complexité du projet et les autres cours
- Coordination d'équipe : synchronisation du travail de 5 personnes avec des niveaux d'expérience différents
- Adaptation aux besoins changeants : flexibilité face aux nouvelles demandes du client en cours de projet
- Qualité du code : maintien d'une base de code propre et maintenable malgré les contributions multiples
Voici un lien vers le site (la BDD était hébergée par un membre du groupe sur son espace personnel privé à l'IUT, elle n'existe plus à l'heure actuelle donc il y aura des erreurs)
Technologies utilisées
Rôles dans le projet
- Développeur backend principal
- ScrumMaster (plusieurs sprints)
Apprentissages clés
Ce projet m'a permis de découvrir le développement web professionnel dans un contexte agile. J'ai appris l'importance de la communication avec le client, de la planification rigoureuse et du travail d'équipe. L'expérience de ScrumMaster m'a également apporté une compréhension approfondie des méthodologies agiles et du management d'équipe.