Master of Computer Science - Dept. of Computer Science
- University of Grenoble I - France
Master 1 d'Informatique - UFR IMA - Universit� Grenoble I - France
� Etape 0 : Tester l'�bauche de l'application
� Etape 1 : Compl�ter les interactions fournies
� Etape 2 : Fournir de nouvelles interactions
� Etape 3 : Lien entre les interactions
� Etape 5 : Utilisation de proc�dures stock�es
1. Tester l'�bauche de la partie Web de l'application de Th��tre.
o Installer puis d�marrer la partie Web de l'application de Th��tre.
o Lancer un navigateur Web pour acc�der � l'URL de la page principale de l'application de Th��tre.
o A partir de la page principale, cliquer sur les diff�rents liens accessibles � partir de cette page et voir le r�sultat obtenu.
o Le lien "Programme" permet d'effectuer une requ�te d'affichage du programme de la saison.
o
Le
lien "Administration - Acc�s restreint" suivi du lien "Nouvelle
repr�sentation" permet d'effectuer une requ�te d'ajout d'une nouvelle
repr�sentation.
2. Tester l'�bauche de la partie BD de l'application de Th��tre.
o Partie BD : d�finir le sch�ma de la base de donn�es et la peupler.
o
Observer
la structure de la partie BD : les diff�rents paquetages et classes Java.
o Ecrire une application Java pour tester la partie BD.
1.
Examiner
les programmes des servlets ProgrammeServlet
et NouvelleRepresentationServlet.
2.
Compl�ter
les programmes des servlets donn�es pour que ceux-ci effectuent les op�rations
requises (i.e. affichage du programme et ajout d'une repr�sentation) en
garantissant la coh�rence et la persistance des donn�es sur la BD.
(avec les
requ�tes associ�es pour les acc�s � la base de donn�es)
1.
Ecrire
une nouvelle servlet qui permet de consulter la liste de toutes les
repr�sentations d'un spectacle donn� par son num�ro. Int�grer cette servlet �
l'application et la tester.
2.
Ecrire
une nouvelle servlet qui permet de consulter l'ensemble des places disponibles
pour une repr�sentation donn�e, chaque place �tant d�crite par le num�ro du
rang et le num�ro de place dans le rang. Int�grer cette servlet � l'application
et la tester.
3.
Ecrire
une nouvelle servlet qui permet de r�server une place dans une zone donn�e,
pour une repr�sentation donn�e par son num�ro et le num�ro du spectacle
associ�. Si la r�servation a pu se faire, le r�sultat affich� est le num�ro de
rang et le num�ro de place dans le rang, et le prix de la place. Sinon, un
message explicatif est fourni � l'utilisateur. Int�grer cette servlet �
l'application et la tester.
1.
Permettre,
� partir de la r�ponse retourn�e par la servlet ProgrammeServlet,
de s�lectionner un spectacle dans la liste pour lequel l'ensemble des
repr�sentations sera affich�e (int�gration des questions Etape 1-3 et Etape
2-1).
2.
Permettre,
� partir de la r�ponse retourn�e par la servlet de consultation de la liste de
toutes les repr�sentations d'un spectacle, de s�lectionner une repr�sentation
dans la liste pour laquelle l'ensemble des places disponibles sera affich�
(int�gration des questions Etape 2-1 et Etape 2-2).
3.
Permettre,
� partir de la r�ponse retourn�e par la servlet de consultation de la liste de
toutes les repr�sentations d'un spectacle, de s�lectionner une repr�sentation
dans la liste pour laquelle une r�servation sera faite (int�gration des
questions Etape 2-1 et Etape 2-3).
1.
Ajouter
� l'application la structure de donn�es de caddie qui permet � l'utilisateur de
stocker les repr�sentations qu'il a pr�-s�lectionn�es
durant sa visite du site Web.
Indications : la pr�-s�lection de repr�sentation ne r�serve pas de billets pour
cette repr�sentation. La r�servation des places (c'est-�-dire la vente des
billets) n'est effectu�e qu'au moment de la validation du caddie.
Proposer, en particulier, des op�rations :
o
d'ajout
d'un �l�ment au caddie,
o
de
suppression d'un �l�ment du caddie,
o
de
consultation du contenu du caddie et
o
de
validation du caddie, i.e. r�servation de l'ensemble des repr�sentations
contenues dans le caddie.
2.
Pour
la mise en place du caddie, plusieurs aspects doivent �tre consid�r�s :
o
La
dur�e de vie du caddie. La structure de donn�es de caddie associ�e � un client
peut avoir une dur�e de vie correspondant � la dur�e de vie de la session du
client en question, ou une dur�e de vie de plusieurs jours allant au-del� de la
session du client.
o
La
volatilit�/persistance du caddie. La structure de donn�es de caddie peut �tre
soit stock�e sur un support volatile tel que la m�moire (e.g.
dans un objet Java utilis� par les servlets de l'application Web), soit stock�e
sur un support persistant tel que le disque (e.g.
dans une base de donn�es).
Proposer
le choix entre diff�rentes gestions possibles du caddie d'un client, i.e. un
caddie de la dur�e de vie de la session du client vs. un
caddie d'une dur�e de vie de plusieurs jours, un caddie volatile vs. un caddie persistant.
3.
Etendre
les servlets propos�es pr�c�demment pour y adjoindre la gestion du caddie.
1.
Programmer
une proc�dure stock�e qui r�alise la r�servation de places pour une
repr�sentation. Cette proc�dure est param�tr�e par : le spectacle, la date de
la repr�sentation, le nombre de places et la zone dans laquelle les places
doivent se trouver. Le param�tre r�sultat est la liste des places r�serv�es
(exactement n, et donn�es par leur rang et num�ro dans le rang). Modifier en
cons�quence le code de votre application.
1.
Faire
en sorte que l'utilisateur qui tente d'acc�der � la page d'administration du
site Web (/admin/admin.html) soit au pr�alable
authentifi� avec un nom d'utilisateur et un mot de
passe valides.
Voir, par exemple, les documentations sur l'authentification via Apache Tomcat ici
et l�.
1.
Proposer
une nouvelle version des interactions de l'application de Th��tre pour que
celles-ci ne soient plus bas�es sur des servlets mais sur des JSP.
1.
Proposer
une am�lioration de la pr�sentation des documents Web retourn�s comme r�ponse
des servlets, comme par exemple l'utilisation d'un style de pages Web, la
structuration des pages Web en frames, l'uniformisation de la font utilis�e
dans l'ensemble des documents Web, etc.
Page maintained by S. Bouchenak, Sara.Bouchenak@imag.fr
Last
modification: 14/03/2011