Plan de cours Jakarta EE

Plan de Cours JEE - Master Data Science

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

OutilUtilitéTéléchargement
Apache TomcatServeur léger pour Servlets/JSPTomcat
WildFlyServeur pour EJB, CDI, JAX-RSWildFly

6. Base de données

OutilUtilitéTéléchargement
PostgreSQLBase relationnelle pour JPA/HibernatePostgreSQL
DBeaverClient SQL graphiqueDBeaver
H2 DatabaseBase embarquée (Spring Boot)Via Maven (pas d’installation)

7. Outils pour API et Web Services

OutilUtilitéTéléchargement
PostmanTester API RESTPostman
SoapUITester services SOAPSoapUI

8. Tests et Documentation

OutilUtilitéTéléchargement
JUnit 5Tests unitairesVia Maven
MockitoMocking pour testsVia Maven
Swagger/OpenAPIDoc API RESTVia Spring Boot starter

9. Déploiement et Conteneurisation

OutilUtilitéTéléchargement
Docker DesktopConteneurisation Spring BootDocker Desktop
GitGestion de version + CI/CDGit

Commentaires

Posts les plus consultés de ce blog

Premier tutoriel avec Arduino et Proteus ISIS

Ionic 2 : Envoie d'une image vers un serveur web à l'aide de PHP et Angular 2

Privacy Policy: SmartClass Manager App