Applications web, M1 Miage 2010-2011

De $1

Version de 13:49, 28 Nov 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Cours 1: Introduction et protocole HTTP

Petit rappel historique sur l'histoire de l'internet, du web, l'apparition du web 2.0, la suite...

A regarder et à lire à la maison, on reviendra dessus dans d'autres séances...

  • Vidéo "histoire de l'internet de 1957 à nos jours", n'oubliez pas d'activer les sous-titres (petite flèche vers le haut, en bas à droite du lecteur) :
  • Le web et son futur par Fabien Gandon.  Cette présentation est détaillée dans l'article suivant :Les débuts du web sous l'oeil du W3C.
  • Du Web aux wikis : une histoire des outils collaboratif (par Michel Buffa) : pour bien comprendre l'évolution du web vers le web 2.0 ou le "web social" que l'on connait aujourd'hui, cet article retrace les premiers pas de l'internet, la naissance du web et son évolution  vers un web servant non pas à relier des documents entre eux, mais des personnes, des objets, etc.
  • Principales caractéristiques du web 2.0 : cette vidéo détaille en réalité ce qu'a décrit Tim O'Reilly (l'inventeur du terme "web 2.0") dans son article fondateur de 2006 :

     
  • Cette vidéo est également très "parlante" pour montrer cette évolution :

Au coeur du web le protocole HTTP

Le but de ce cours est d'offrir un panorama des différentes technologies qui seront traitées dans le cours. Mais aussi de bien comprendre le fonctionnement du protocole HTTP.

TP 1: protocole HTTP, écriture d'un serveur web (TP noté, à rendre)

Cours 2 : introduction à java EE 6, principes, étude des Servlets et containers web

Pour info : le développement java EE n'est pas en concurrence directe avec PHP et les langages de script pour le web comme Python ou Ruby. Les applications tournent sur des serveurs dédiés, et ciblent plus les applications industrielles. Il est plus difficile d'héberger des applications web java que des applications PHP. En général on utilise des serveurs dédiés. Néanmoins, on peut se faire héberger  pour pas cher ou gratuitement par des sites comme eatj.comjavaservlethosting.com et Google Appengine.

Nous étudieront deux parties distinctes du développement en java : la partie "serveur" et la partie "interface utilisateur". La première se compose de "controlleurs web" (servlets ou web services ou dérivés...), de couches métiers (traitement, accès aux données, etc), la seconde peut être très "basique" (pages HTML ou JSP), ou faire appel à des framleworks implémentant le schéma MVC (JSF + facelets, Spring MVC, etc). Là-dessus, différentes approches viennent compliquer la donne côté client (Ajax, HTML5, etc).

Dans ce cours, nous commençons par voir les principes de l'architecture Java EE, et étudions les servlets, qui en sont une des briques de base.

Supports de cours :

TP 2 : Servlets

Ce TP traitera des servlets. Avant toute chose vous devrez installer un environnement de développement : un JDK récent (1.6_23 ou supérieur), et un outil de développement : soit Netbeans, soit Eclipse. 

Je recommande néanmoins Netbeans 6.9.1 version Entreprise, téléchargeable à cette adresse : http://netbeans.org/downloads/index.html, prenez la version de 319Mo. Lors de l'installation. Netbeans est très bien pour sa simplicité d'installation (on installe et c'est fini) et son adaptabilité à JEE6, mais il est un peu plus lourd qu'Eclipse en terme de ressources mémoire.

Ceux qui préfèrent travailler avec Eclipse devront avoir une version récente d'Eclipse (Ganymède ou Galliléo) avec le support pour le développement d'applis web avec Glassfish 3.1 (pas tomcat qui n'est plus maintenu et incompatible Java EE 6)

Cours 3 : les pages JSPs

Support de cours : déjà, étudier les projets "exemples" qui sont livrés avec netbeans. A partir du menu "file/new project" allez dans la partie "examples" ou "samples" et ouvrez les deux projets sur les JSPs et sur JSTL/EL :

Snap1.jpg

Exécutez-les, regardez les exemples, sachez les retrouver pour vous en inspirer. N'oubliez pas que la bonne manière de faire des JSPs c'est à l'aide de JSTL/EL, pas d'écrire du java dans la page jsp !

Les autres supports sont ceux qui ont été présentés dans le cours (et oubliez la partie "java dans jsp"), ainsi que le tutorial officiel Java EE 6 :

TP 3 : Etude d'une application ayant une architecture en couches, JSP, Servlets, JSTL, EL, DAO

Dans ce TP vous allez étudier et compléter une petite application implémentant une architecture en couches : une couche présentation (JSPs), une couche controlleur web (servlets), une couche métier (classes java), en particulier pour la couche d'accès aux données (DAO, sous la forme d'une classe "gestionnaire" ou "handler" en anglais) et aussi une couche "modèles" qui est en fait composée de classes correspondants aux modèles des données que l'on va manipuler. Pour le moment on utilisera pas de bases de données (ce sera l'objet d'un prochain cours).

TP4 : Etude d'une application plus complète utilisant du templating JSP, une base de données et un outil de mapping relationnel/objet

Dans ce TP vous allez étudier et apporter quelques modifications à un application qui est un site de e-commerce. Le TP présente l'application qui est plus complexe que celles étudiées jusqu'à présent, à la fois dans la partie "web" et dans sa partie "métier". Par ailleurs une base de données est utilisée via un mécanisme de mapping relationnel/objet, qui sera étudié dans le prochain cours.

TP5 : Ecriture d'une application web utilisant une base de données et un outil de mapping relationnel/objet + JPA 2

TP6 : Gestion des relations avec JPA2