Plan de cours Jakarta EE
Plan de Cours JEE - Master Data Science
Enseignant : Houssem Lahiani | Durée : 12 semaines (1h30 + 45 min TP)
🏗️ Bloc 1 – Fondations Jakarta EE (Semaines 1 à 5)
Objectif : Comprendre les bases historiques et standards de Jakarta EE.
Semaine 1 – Introduction Jakarta EE & Servlets
Cours : Java SE vs Jakarta EE vs Spring. Historique (J2EE → Jakarta EE). Serveurs (WildFly, GlassFish). Architecture N-Tiers.
TP : Installer IDE + Maven. Créer un Servlet Hello World (GET/POST).
Semaine 2 – JSP et Servlets avancés
Cours : JSP (rôle, cycle de vie, JSTL). Comparaison avec Thymeleaf/React.
TP : Page JSP affichant une liste d’étudiants (mock data).
Semaine 3 – JPA / Hibernate (Persistance)
Cours : ORM, entités, relations, EntityManager. Hibernate comme implémentation JPA.
TP : CRUD simple avec Hibernate (SessionFactory).
Semaine 4 – CDI et EJB
Cours : CDI (injection, scopes, @Inject). EJB (Stateless, transactions). Comparaison avec Spring.
TP : Stateless Session Bean pour gérer un étudiant. Démo Spring équivalent.
Semaine 5 – Web Services : REST et SOAP
Cours : REST (JAX-RS, GET/POST). SOAP (WSDL, contrat). Comparaison.
TP : Service REST avec JAX-RS + démo WSDL public.
🌱 Bloc 2 – Spring Boot (Semaines 6 à 10)
Objectif : Passer au standard de l’industrie avec Spring Boot.
Semaine 6 – Introduction à Spring Boot
Cours : Philosophie (auto-configuration, starters, serveur embarqué). Différences avec Jakarta EE.
TP : Projet Spring Initializr + API REST Hello World.
Semaine 7 – API REST avec Spring Boot
Cours : @RestController, architecture (Controller, Service, Repository).
TP : CRUD Étudiant avec Spring Data JPA.
Semaine 8 – Persistance avancée
Cours : Spring Data JPA (repositories, requêtes dérivées, pagination).
TP : Recherche + pagination sur CRUD Étudiant.
Semaine 9 – Validation et gestion d’erreurs
Cours : Validation (@Valid, Bean Validation). Gestion des exceptions (@ControllerAdvice).
TP : Validation champs Étudiant (email, âge). Global Exception Handler.
Semaine 10 – Sécurité avec Spring Boot
Cours : Spring Security (authentification, autorisation). JWT pour sécuriser les API.
TP : Authentification JWT + endpoints sécurisés.
🚀 Bloc 3 – Modernisation & Pratiques avancées (Semaines 11 à 12)
Objectif : Employer les outils modernes en entreprise.
Semaine 11 – Tests & Documentation
Cours : JUnit 5, Mockito, tests unitaires/intégration. Swagger/OpenAPI.
TP : Tests unitaires service avec Mockito + doc Swagger pour CRUD Étudiant.
Semaine 12 – Microservices & Déploiement
Cours : Microservices (vs monolithique). Déploiement avec Docker. CI/CD (GitHub Actions).
TP : Conteneuriser Spring Boot avec Docker. Démo microservice Étudiants.
✅ Résultat
Syllabus respecté : JSP, Servlets, JPA, EJB, SOAP, JUnit/Mockito → ✔
Employabilité assurée : Spring Boot, REST, microservices, Docker, CI/CD → ✔
Progression : Du legacy Jakarta EE aux technos modernes, avec une courbe pédagogique claire.
📦 Liste des Outils Nécessaires
Voici les outils essentiels pour suivre le cours et réaliser les TP. Cliquez sur les liens pour télécharger.
1. Java Development Kit (JDK)
Utilité : Compiler et exécuter les programmes Java. Base pour Eclipse et IntelliJ.
Version : JDK 17 (LTS) – stable, supportée par Jakarta EE et Spring Boot.
Téléchargement : Eclipse Temurin 17
2. Eclipse IDE for Enterprise Java Developers
Utilité : IDE pour Jakarta EE (Servlets, JSP, JPA, EJB, SOAP).
Avantage : Support natif des serveurs (Tomcat, WildFly).
Téléchargement : Eclipse EE
3. IntelliJ IDEA Community (gratuit)
Utilité : IDE moderne pour Spring Boot, REST, JPA, microservices.
Avantage : Intégration avec Spring Boot, Maven, Gradle.
Téléchargement : IntelliJ IDEA Community
4. Apache Maven
Utilité : Build et gestion des dépendances (Jakarta EE, Spring Boot).
Téléchargement : Maven
⚠️ Souvent intégré dans Eclipse/IntelliJ, mais installation globale recommandée.
5. Serveurs d’applications
Outil | Utilité | Téléchargement |
---|---|---|
Apache Tomcat | Serveur léger pour Servlets/JSP | Tomcat |
WildFly | Serveur pour EJB, CDI, JAX-RS | WildFly |
6. Base de données
Outil | Utilité | Téléchargement |
---|---|---|
PostgreSQL | Base relationnelle pour JPA/Hibernate | PostgreSQL |
DBeaver | Client SQL graphique | DBeaver |
H2 Database | Base embarquée (Spring Boot) | Via Maven (pas d’installation) |
7. Outils pour API et Web Services
Outil | Utilité | Téléchargement |
---|---|---|
Postman | Tester API REST | Postman |
SoapUI | Tester services SOAP | SoapUI |
8. Tests et Documentation
Outil | Utilité | Téléchargement |
---|---|---|
JUnit 5 | Tests unitaires | Via Maven |
Mockito | Mocking pour tests | Via Maven |
Swagger/OpenAPI | Doc API REST | Via Spring Boot starter |
9. Déploiement et Conteneurisation
Outil | Utilité | Téléchargement |
---|---|---|
Docker Desktop | Conteneurisation Spring Boot | Docker Desktop |
Git | Gestion de version + CI/CD | Git |
Commentaires
Enregistrer un commentaire
Your comment will be reviewed by moderators