Master of Computer Science - Dept. of Computer Science - University of Grenoble I - France
Master 1 d'Informatique - UFR IMA - Université Grenoble I - France


Projet IBD (Intergiciel et Bases de Données) -

Travail demandé

 

·         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 4 : Caddie du client

·         Etape 5 : Utilisation de procédures stockées

·         Etape 6 : Sécurité

·         Etape 7 : JSP

·         Etape 8 : Présentation


Etape 0 : Tester l'ébauche de l'application de Théâtre

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.

Etape 1 : Compléter les interactions fournies

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.

Etape 2 : Fournir de nouvelles interactions

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

Etape 3 : Lien entre les interactions

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

Etape 4 : Caddie du client

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.

Etape 5 : Procédures stockées

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.

Etape 6 : Sécurité

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 .

Etape 7 : JSP

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.

Etape 8 : Présentation

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