Topic outline

  • Plan du Cours

    Responsable du Module : Pr. Youssef Saadi

    Mon espace personnel   https://sites.google.com/view/ysaadi/

    ***************************************************

    Planification: ************************************

    Début de cours: 02/06/2020

    Fin du cours : 10/07/2020

    ***************************************************

    Les éléments du cours:

    ***************************************************

    chapitre 0: Introduction à JEE           

    chapitre 1: Les Servlets               

    chapitre 2: Les pages JSP

    chapitre 3: La technologie JSF          

    chapitre 4: Les services web (SOAP, REST)     

    chapitre 5: CDI, WebSocket, BeanValidation, ...                

    chapitre 6: Les EJBs

    chapitre 7: Spring Framework

    chapitre 8: SpringBoot et les microservices


    ***************************************

    Notes Importantes:

    • Les étudiants du Master MID pourront trouver l'explication du cours ainsi que des démonstrations pratiques sur ma chaîne YouTube
    • Mon espace personnel   https://sites.google.com/view/ysaadi/teaching/master-mid contiendra les supports de cours et TD de l'année précédente (2018-2019).
      Ces supports seront mises à jour dans cette plateforme d'enseignement à distance (moodle) qui est à consulter régulièrement.  
    • La liste des mini-projets à réaliser est fournie dans le fichier ci-dessous




  • Introduction à JEE

    JEE est conçu pour supporter les applications d’entreprises (applications bancaires, de finance, des assurances,  projet de l'état, les application e-gov, e-santé, …)  qui offrent des services aux clients, aux employés, aux partenaires et aux différents contributeurs de l’entreprise.

    Ce genre d’applications sont complexes, et peuvent accéder à de variétés de sources de données et être distribuées à diverses types de clients.

    Pour mieux contrôler et gérer ses applications, la logique métier qui supporte cette variétés d’utilisateurs a été confié au middle tiers (une couche de milieu).

    Le middle tiers représente un environnement restreint à l’entreprise. Il a accès au services de l’entreprise et souvent ce tiers est exécuté sur un serveur physique dédié.

    Une applications JEE définit un model multi tiers qui délivre la mise en échelle, l’accessibilité et la gestion dont l’entreprise a besoin aux niveau de cette application.


    •  Chapitre 0: Introduction à JEE File Uploaded 31/03/20, 19:36
  • Les Servlets

    Un ou une servlet est une classe Java qui permet de créer dynamiquement des données au sein d'un serveur HTTP. Ces données sont le plus généralement présentées au format HTML, mais elles peuvent également l'être au format XML ou tout autre format destiné aux navigateurs web. 

  • Java Server Page

    Le JavaServer Pages ou JSP est une technique basée sur Java qui permet aux développeurs de créer dynamiquement du code HTMLXML ou tout autre type de page web.

  • Java Server Faces

    JavaServer Faces1 (abrégé en JSF) est un framework Java, pour le développement d'applications Web.

    À l'inverse des autres frameworks MVC traditionnels à base d'actions, JSF est basé sur la notion de composants, comparable à celle de Swing ou SWT, où l'état d'un composant est enregistré lors du rendu de la page, pour être ensuite restauré au retour de la requête.

    JSF est agnostique à la technologie de présentation. Il utilise Facelets (en) par défaut depuis la version 2.0, mais peut être utilisé avec d'autres technologies, comme JSP 


  • TP1-Servlets-JSP-Filters-MVC

    Le but de ce TP est de réaliser une application CRUD (create ; read ; update ; delete) de gestion des livres. 
  • Les services web et JAX-RS

    • Ce cours est à consulter dans la semaine du ........ à  ....................

    • Un service est un travail réalisé par un fournisseur pour le compte d’un consommateur
    • Un service web est un programme informatique permettant la communication et l’échange de données entre applications et systèmes hétérogènes dans des environnements distribués 
    • Ensemble de fonctionnalités métier exposées sur internet/intranet par et pour des applications / machines – Communication inter applications

    Lien youtube pour le cours web service SOAP: 


    Lien youtube pour le cours web service REST:


  • Enterprise Java Bean (EJB)

    • Ce cours est à consulter dans la semaine du  .............  à ...................

    Les EJB (Entreprise Java Bean) sont un des éléments très importants de la plate-forme Java EE pour le développement d'applications distribuées.La plate-forme Java EE propose de mettre en oeuvre les couches métiers et persistance avec les EJB. La version 3 des EJB vise donc à simplifier le développement et la mise en oeuvre des EJB qui sont fréquemment jugés trop complexes et trop lourds à mettre en oeuvre.

    Cette nouvelle version majeure des EJB (3.x) propose une simplification de leur développement tout en conservant une compatibilité avec sa précédente version. Elle apporte de très nombreuses fonctionnalités dans le but de simplifier la mise en oeuvre des EJB.

    Cette simplification est rendue possible notamment par :

    • l'utilisation des annotations
    • la mise en oeuvre de valeurs par défaut qui répondent à la plupart des besoins (configuration par exception)
    • le descripteur de déploiement est facultatif
    • l'utilisation de POJO et de JPA pour les beans de type entity
    • l'injection de dépendances côté serveur mais aussi côté client (l'interface Home qui gérait le cycle de vie est abandonnée) qui remplace l'utilisation directe de JNDI
    • ...

    Lien youtube:



  • TP2

    A rendre avant ...........

  • Le framework Spring

    • Ce cours est à consulter dans la semaine du  ..............  à ................

    Spring est un framework très riche permettant de structurer, d’améliorer et de simplifier l’écriture d’application Java EE.
    Spring est un framework libre, un conteneur dit « léger », c’est à dire une infrastructure similaire à un serveur d’application Java EE.

    Avantages :

    – Les applications Spring sont faiblement couplées grâce à l’injection de dépendance.
    – Spring fournit des modèles pour JDBC, Hibernate, JPA, etc. Donc, il n’y a pas besoin d’écrire trop de code.
    – Le test des applications est devenu plus facile en utilisant L’injection de dépendance.
    – Spring est léger en raison de sa mise en œuvre POJO.
    – Spring propose une très bonne intégration avec des frameworks open source(Struts, Jsf, Hibernate, etc…).

    Inconvénients :
    – les livrables peuvent avoir une taille importante à cause de nombreuses librairies requises par Spring et ses dépendances.


    Lien Youtube:


    • SpringBoot et les microservices

      • Ce cours est à consulter dans la semaine du  ............ à ........... juin  

      Spring Boot est un projet ou un micro framework qui a notamment pour but de faciliter la configuration d’un projet Spring et de réduire le temps alloué au démarrage d’un projet.

      Pour arriver à remplir cet objectif, Spring Boot se base sur plusieurs éléments :

      • Un site web (https://start.spring.io/) qui vous permet de générer rapidement la structure de votre projet en y incluant toutes les dépendances Maven nécessaires à votre application. Cette génération est aussi disponible via le plugin Eclipse STS.
      • L’auto-configuration, qui applique une configuration par défaut au démarrage de votre application pour toutes dépendances présentes dans celle-ci.
      • En plus de ces premiers éléments qui facilitent la configuration d’un projet, Spring Boot offre d’autres avantages notamment en termes de déploiement applicatif. Habituellement, le déploiement d’une application Spring nécessite la génération d’un fichier .war qui doit être déployé  sur un serveur comme un Apache Tomcat. Spring Boot simplifie ce mécanisme en offrant la possibilité d’intégrer directement  un serveur Tomcat dans votre exécutable. Au lancement de celui-ci, un Tomcat embarqué sera démarré afin de faire tourner votre application.

      Lien1-youtube:


      Lien2-youtube:


      Lien3-youtube:




    • Examen

      Date d'examen :.......... ................ à partir de .... H