
|
Applications web, M1 Miage 2010-2011
De $1
Table des matières- 1. Cours 1: Introduction et protocole HTTP
- 1.1. Petit rappel historique sur l'histoire de l'internet, du web, l'apparition du web 2.0, la suite...
- 1.2. Au coeur du web le protocole HTTP
- 1.3. TP 1: protocole HTTP, écriture d'un serveur web (TP noté, à rendre)
- 2. Cours 2 : introduction à java EE 6, principes, étude des Servlets et containers web
- 2.1. TP 2 : Servlets
- 2.2. Cours 3 : les pages JSPs
- 2.3. TP 3 : Etude d'une application ayant une architecture en couches, JSP, Servlets, JSTL, EL, DAO
- 2.4. TP4 : Etude d'une application plus complète utilisant du templating JSP, une base de données et un outil de mapping relationnel/objet
- 2.5. TP5 : Ecriture d'une application web utilisant une base de données et un outil de mapping relationnel/objet + JPA 2
- 2.6. TP6 : Gestion des relations avec JPA2
- 2.7. Cours et TP7 : framework javascripts, étude de Dojo
- 2.8. Cours et TP8 : étude du framework javascript jQuery
- 3. Projet final à rendre
- 1. Cours 1: Introduction et protocole HTTP1
- 1.1. Petit rappel historique sur l'histoire de l'internet, du web, l'apparition du web 2.0, la suite...
2
- 1.2. Au coeur du web le protocole HTTP3
- 1.3. TP 1: protocole HTTP, écriture d'un serveur web (TP noté, à rendre)4
- 2. Cours 2 : introduction à java EE 6, principes, étude des Servlets et containers web5
- 2.1. TP 2 : Servlets6
- 2.2. Cours 3 : les pages JSPs7
- 2.3. TP 3 : Etude d'une application ayant une architecture en couches, JSP, Servlets, JSTL, EL, DAO8
- 2.4. TP4 : Etude d'une application plus complète utilisant du templating JSP, une base de données et un outil de mapping relationnel/objet9
- 2.5. TP5 : Ecriture d'une application web utilisant une base de données et un outil de mapping relationnel/objet + JPA 210
- 2.6. TP6 : Gestion des relations avec JPA211
- 2.7. Cours et TP7 : framework javascripts, étude de Dojo 12
- 2.8. Cours et TP8 : étude du framework javascript jQuery13
- 3. Projet final à rendre14
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...
15
A regarder et à lire à la maison, on reviendra dessus dans d'autres séances...
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.com24, javaservlethosting.com25 et Google Appengine26.
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.html30, 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 :

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
Cours et TP7 : framework javascripts, étude de Dojo
NE PAS FAIRE CE TP LE JEUDI 14/4 ! Finir le TP6 ou faire le TP8 en priorité. Ceux qui ont commencé Dojo peuvent continuer, néanmoins.
Cours et TP8 : étude du framework javascript jQuery
Projet final à rendre
Modalités de rendu :
Projet à rendre et à montrer lors de la séance de TP du jeudi 19 Mai.
Notes de bas de page1 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#Cours_1.3a_Introduction_et_protocole_HTTP 2 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#Petit_rappel_historique_sur_l'histoire_de_l'internet.2c_du_web.2c_l'apparition_du_web_2.0.2c_la_suite... 3 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#Au_coeur_du_web_le_protocole_HTTP 4 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#TP_1.3a_protocole_HTTP.2c_.c3.a9criture_d'un_serveur_web_(TP_not.c3.a9.2c_.c3.a0_rendre) 5 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#Cours_2_.3a_introduction_.c3.a0_java_EE_6.2c_principes.2c_.c3.a9tude_des_Servlets_et_containers_web 6 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#TP_2_.3a_Servlets 7 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#Cours_3.c2.a0.3a_les_pages_JSPs 8 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#TP.c2.a03_.3a_Etude_d'une_application_ayant_une_architecture_en_couches.2c_JSP.2c_Servlets.2c_JSTL.2c_EL.2c.c2.a0DAO 9 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#TP4.c2.a0.3a_Etude_d'une_application_plus_compl.c3.a8te_utilisant_du_templating_JSP.2c_une_base_de_donn.c3.a9es_et_un_outil_de_mapping_relationnel.2fobjet 10 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#TP5_.3a_Ecriture_d'une_application_web_utilisant_une_base_de_donn.c3.a9es_et_un_outil_de_mapping_relationnel.2fobjet_.2b_JPA.c2.a02 11 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#TP6_.3a_Gestion_des_relations_avec_JPA2 12 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#Cours_et_TP7_.3a_framework_javascripts.2c_.c3.a9tude_de_Dojo 13 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#Cours_et_TP8.c2.a0.3a_.c3.a9tude_du_framework_javascript_jQuery 14 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011#Projet_final_.c3.a0_rendre 15 http://miageprojet2.unice.fr/../../../../Programme_des_enseignements/Applications_Web# 16 http://www-sop.inria.fr/acacia/personnel/Fabien.Gandon/lecture/saint_louis_2007_02/seminar/ 17 http://interstices.info/jcms/c_41560/les-debuts-du-web-sous-l-il-du-w3c 18 http://www.w3.org/2004/Talks/w3c10-Overview/ 19 http://interstices.info/jcms/c_37151/du-web-aux-wikis-une-histoire-des-outils-collaboratifs?portal=j_97&printView=true 20 http://www.internetactu.net/2006/04/21/quest-ce-que-le-web-20-modeles-de-conception-et-daffaires-pour-la-prochaine-generation-de-logiciels/ 21 ../../../../@api/deki/files/69/=cours1.pdf 22 http://miageprojet2.unice.fr/Programme_des_enseignements/Applications_Web/TP1_Applications_web_M1_Miage_2010-2011_%3a_%c3%a9tude_du_protocole_HTTP 23 http://miageprojet2.unice.fr/../../../../Programme_des_enseignements/Applications_Web# 24 http://eatj.com/ 25 http://javaservlethosting.com/ 26 http://code.google.com/appengine/ 27 http://miageprojet2.unice.fr/@api/deki/files/77/=cours2_(3).pdf 28 http://java.sun.com/products/servlet/2.2/javadoc/index.html 29 http://download.oracle.com/javaee/6/tutorial/doc/ 30 http://netbeans.org/downloads/index.html 31 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011/TP2_%3a_Etude_des_servlets 32 http://miageprojet2.unice.fr/@api/deki/files/1351/=jsp2.pdf 33 http://download.oracle.com/javaee/6/tutorial/doc/ 34 http://miageprojet2.unice.fr/Programme_des_enseignements/Applications_Web/TP3_%3a_Jsp_%2f%2f_JSTL_%2f%2f_EL_%2f%2f_Servlets_et_architecture_en_couches 35 http://miageprojet2.unice.fr/Programme_des_enseignements/Applications_Web/Etude_d'un_vrai_projet%2c_templating_avec_JSP 36 http://miageprojet2.unice.fr/Programme_des_enseignements/Applications_Web/TP7_Applications_web_%3a_utilisation_d'une_base_de_donn%c3%a9es 37 http://miageprojet2.unice.fr/@api/deki/files/1349/=IntroAuxEntityPart2.ppt 38 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011/Gestion_des_relations_avec_JPA 39 http://miageprojet2.unice.fr/@api/deki/files/761/=Dojo_MBuffa_CarolMcDonald2010.ppt 40 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Cours_web_2.0_2009/Frameworks_javascript%2f%2fAjax 41 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Cours_web_2.0_2009/Frameworks_javascript%2f%2fAjax/TP_Dojo_1.3.2 42 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Option_web_2.0_Master_1_informatique_2011/Ressources_JQuery 43 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Option_web_2.0_Master_1_informatique_2011/TP_jQuery 44 http://miageprojet2.unice.fr/Intranet_de_Michel_Buffa/Applications_web%2c_M1_Miage_2010-2011/Projets_application_web_M1_Miage_2010-2011
|