Applications web M1 Miage 2011-2012

De $1

Introduction

Il s'agit ici d'un cours qui se poursuit en M2 NTDP. Normalement vous avez du avoir des cours d'introduction aux technologies web pendant lesquels vous vous êtes familiarisés avec HTML, CSS, PHP et peut-être au développement d'applications web en Java. Ce cours va plus loin même s'il commence au tout début, c'est-à-dire avec l'étude du protocole HTTP. Mais vous verrez que rapidement on va aborder des concepts moins "basiques" que ceux que vous avez vus précédemment.

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...

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 : Servlets 2.x et 3.0, descripteurs web.xml et annotations

TP2 : Etude des servlets, descripteur web.xml, context listeners, etc

Pour le moment, étude de ce qui se passe côté serveur. Ne vous inquiétez pas, nous verrons par la suite la partie "métier" (accès aux données, traitements, BD, etc) et la partie client ("pages html/ajax/ frameworks MVC) mais pour le moment, étudions quelques exemples de servlets + essayons de faire un petit projet.

Cours 3 : Pages JSP "modernes", Java Standard Tag Library (JSTL), langage d'expressions Expression Langage (EL), principe de l'architecture en couches

Les pages JSPs ont longtemps cohabité avec des Servlets, les pages JSP faisant office de "vues" là où les Servlets faisaient office de "contrôleurs HTTP". Les pages JSPs sont aujourd'hui remplacées avantageusement par divers frameworks, mais avant d'aborder l'étude de tels outils, voyons un peu comment on architecture un application web java en Model View Control d'une manière simple, à l'aide de JSPs et de Servlets. Au passage, voyons également comment apprendre à utiliser des pages JSPs sans faire d'horreurs (la tentation est grande !).

  • Support de cours : JSPs.pptx
  • Support de cours en anglais sur JSTL/EL (EL à partir du transparent 31, JSTL à partir du 61), le reste n'est pas pertinent : jsp2.pdf
  • Support de cours utile pour le TP : un tutorial sur JAXB, la bibliothèque Java (standard, inclue dans le JDK) qui sert à sérialiser/déserialiser des objets Java vers XML ou JSON (format d'objets JavaScript que l'on manipulera dans quelques semaines) : http://www.vogella.de/articles/JAXB/article.html

TP3 : Etude d'une application mêlant architecture en couches, servlets, jsps, et persistence en XML

Cours 4 : étude de JPA première partie, utilisation d'une base de données et de techniques de mapping relationel/objet, stateless session beans

TP4 : application similaire au TP précédent mais utilisant JPA, stateless session beans, une base de données

Cours 5 : relations avec entity beans

TP5 : ajout de relations au TP précédent

Cours 6 : JavaScript/jQuery/Ajax

  • Cours JavaScript.zip : cours JavaScript de Michel Buffa (transparents HTML5 à ouvrir une fois l'archive sur votre machine, je ne les ai pas mis en ligne car c'est un cours sur lequel je travaille en ce moment). Ce cours couvre actuellement les bases de JavaScript, une grosse partie sur la programmation orientée objet (sans les Prototypes), JavaScript dans le navigateur web (BOM, DOM, évènements, AJAX). Revenez régulièrement voir si le cours a été complété.
  • Transparents powerpoint sur jQuery : jquery.ppt et aussi la présentation interactive de John Resig, auteur de jQuery :  http://ejohn.org/blog/spring-2010-jquery-talks/ , la première "introduction to jQuery" est très bien pour un premier contact avec cette librairie.
  • N'oubliez pas d'aller faire un tour sur la page : Ressources JQuery que j'ai préparée à votre attention et qui contient de nombreuses ressources intéressantes au sujet de cette librairie (tutorials, transparents, livres, etc). Je recommande à 200% d'imprimer ou d'avoir sous la main les "jQuery chart sheets", des images qui résument en un coup d'oeil toute la librairie. 
  • La page officielle avec la doc de jQuery (exemples interactifs) :  http://api.jquery.com/
  • Les APIs JavaScript du DOM et du BOM ont énormément évolué avec HTML5, allez voir le tutorial HTML présenté récemment par un de vos enseignants à la conférence WWW 2012 : HTML5 Tutorial for WWW2012

TP6 : prise en main de jQuery

Mini projet