🎓 Projet BTS SIO (BAC+2) ☕ Java EE / MVC 📅 2023

SIO Club

Application web de gestion de club étudiant développée en Java EE pur — inscription, connexion, et gestion de groupes de travail, avec une architecture MVC stricte et un déploiement sur GlassFish.

5
Servlets
3
tables MySQL
2
DAOs (PreparedStatements)
1
pattern MVC strict

Contexte & objectif

Projet réalisé en BTS SIO — développement d'une application web de gestion de club étudiant en Java EE pur, sans framework comme Spring. L'objectif était de maîtriser l'architecture MVC côté serveur avec Servlets, JSP et une base de données MySQL, déployée sur un serveur GlassFish v5.

Flux utilisateur
Inscription Connexion Espace connecté Groupes Déconnexion

Architecture MVC

Model Java beans
Etudiant.java · Groupe.java
DAO accès BDD
EtudiantDao.java · GroupeDao.java
Controller Servlets
Connexion · Inscription · Connecte · Deconnexion
View JSP
index · connexion · inscription · connecte

Fonctionnalités implémentées

Inscription & Connexion
Formulaires HTML reliés à des Servlets, avec vérification des données en base MySQL via PreparedStatements.
Gestion de session HTTP
Pages protégées — les utilisateurs non connectés sont redirigés. Déconnexion avec invalidation de session.
Affichage des groupes
Consultation des groupes créés et rejoints par l'étudiant connecté, depuis la table de liaison membre.
Interface responsive
Mise en page Bootstrap 5.3.2 — adaptée mobile, tablette et desktop, avec composants natifs Bootstrap.

Base de données — club_sio

etudiant
id · nom · login · mot de passe
groupe
id · nom · admin (créateur)
membre
Relation many-to-many — étudiants ↔ groupes

Difficultés rencontrées

Configuration de l'environnement
Mise en place de NetBeans avec les bons plugins Java EE, configuration du serveur GlassFish v5 et du build Apache Ant pour le packaging WAR.
Gestion des interactions Servlet ↔ JSP
Compréhension du cycle requête/réponse HTTP, du passage d'attributs entre servlet et vue JSP via request.setAttribute et RequestDispatcher.
Fonctionnalités non finalisées
Création de groupe (bouton UI présent, servlet non connecté) et la gestion rejoindre / quitter un groupe restent à implémenter.

Stack technique

Backend
Java EEServletsJSP
Frontend
HTML5Bootstrap 5.3.2
Base de données & serveur
MySQL 8.0.27GlassFish v5
Outils
NetBeansApache Ant
Voir le code source
Code source disponible sur GitHub.
GitHub →
Projet précédent
Gestion Banque
Narththanan Sivanathan
Narththanan SIVANATHAN
Développeur Full Stack · Master 1

Copyright 2024 © SIVANATHAN Narththanan