Vous êtes sur la page 1sur 30

lockafilm©

Louer vos films en toute sécurité !

Projet IN56 - Location de DVD

ALAUZET Pierre
PALUMBO Michael

Département Génie Informatique


Filière Ingénierie des Logiciels et de la Connaissance

Enseignants : Nathanaël COTTIN


Sommaire
Tables des figures ........................................................................................................................................... II
Introduction ...................................................................................................................................................... 1
I. Technologies utilisées.............................................................................................................................. 2

1. Lockafilm et l'utilisation des technologies J2EE ......................................................... 2

2. L'accès administrateur avec les Java Server Faces (JSF) .......................................... 3

3. La base de donnée avec MySQL ......................................................................................... 3

4. Le serveur avec Apache TomCat ....................................................................................... 3

5. L’IDE NetBeans ........................................................................................................................ 4


II. Dossier de spécifications ........................................................................................................................ 5

1. Description générale ............................................................................................................ 5

2. Besoins fonctionnels ............................................................................................................. 5


a. Diagrammes de cas d'utilisations ........................................................................................................................5
b. Diagrammes de séquences .......................................................................................................................................7

3. Spécification des objets : diagramme de classes...................................................... 10

4. Spécification de la base de donnée ............................................................................... 11


a. Modèle Conceptuel de Données .......................................................................................................................... 11
b. Modèle Logique Relationnel................................................................................................................................. 13
III. Description de lockafilm....................................................................................................................... 14

1. Description générale ......................................................................................................... 14

2. Description des fonctionnalités ..................................................................................... 15


a. L’interface visiteur.................................................................................................................................................... 15
b. L’interface client........................................................................................................................................................ 18
c. L’interface administrateur ................................................................................................................................... 21

3. Navigation .............................................................................................................................. 24

4. Exemple de code .................................................................................................................. 25


a. Connexion à la base de données ......................................................................................................................... 25
b. Récupération des données .................................................................................................................................... 25
Conclusion ....................................................................................................................................................... 27

I|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Tables des figures

Figure 1 : diagramme de cas d'utilisation n°1 - Les actions du visiteur et du client ............................ 6
Figure 2 : diagramme de cas d'utilisation n°2 - le travail de l'administrateur........................................ 7
Figure 3 : diagramme de séquence n°1 - un client souhaite louer un film ............................................... 8
Figure 4 : un administrateur importe un nouveau film dans le système .................................................. 9
Figure 5 : diagramme de classes de lockafilm ................................................................................................... 10
Figure 6 : Modèle Conceptuel de Données de lockafilm ................................................................................ 11
Figure 7 : Partie du MCD initial de lockafilm ..................................................................................................... 12
Figure 8 : Modèle Logique Relationnel ................................................................................................................ 13
Figure 9 : Diagramme de navigabilité .................................................................................................................. 24

II | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Introduction

Dans le cadre de l'UV IN56, il nous a été confié la réalisation d'un site web avec les
technologies J2EE. Ce projet ayant pour thématique la location de DVD par internet. Le choix des
technologies utilisé est quand à lui libre, tant que les standards J2EE sont respectés.

Nous avons nommé notre site web de location de films par internet lockafilm. Ce
développement propose toutes les fonctions basiques que puisse proposer un site de location de
DVD : affichage d’une vidéothèque classée par genres, inscription et connexion d’utilisateurs,
location de films, visualisation de son compte et de ses locations actuelles, avertissement sur les
tarifs, les dépassements de temps de location, etc.

De plus, nous avons décidé de pousser plus loin notre développement afin d’incorporer
quelques fonctionnalités additionnelles, mais indispensable, telle que l’accès à un panneau
d’administration pour les membres y étant autorisé ou l’on peut notamment gérer les films, les
locations et les clients ou encore l’achat de crédit.

Notre projet se base essentiellement sur le langage Java dans sa variante web, les JSP.
Nous utilisons également des Java Server Faces (JSF) pour la partie administrateur. Du côté de la
base de données, nous avons choisie une base de données MySQL.

Dans ce rapport, nous allons tout d’abord présenter et expliquer les technologies utilisés
pour le développement de lockafilm. Nous traiterons ensuite de sa conception dans un dossier
complet et alimenté de diagramme UML, MDC et MLD. Nous terminerons par une description
détaillée du projet avec un parcours des fonctionnalités, un schéma de navigation et des
explications sur l’implémentation de notre base de données.

1|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


I. Technologies utilisées

1. Lockafilm et l'utilisation des technologies J2EE

Java Enterprise Edition, ou Java EE (anciennement J2EE),


est une spécification pour la technologie Java de Sun plus
particulièrement destinée aux applications d’entreprise. Dans ce
but, toute implémentation de cette spécification contient un
ensemble d’extensions au framework Java standard (JSE, Java
Standard Edition) afin de faciliter la création d’applications
réparties.

Bien conscient de l’existence de multiple outils et aides


pour l’implémentation d’une solution J2EE, nous avons tout de même choisi de n’intégrer aucun
Framework, ni du côté base de donnée, ni du côté des JSP. Ce choix a été justifié par une volonté
de comprendre les bases et les fondements d’une application J2EE, de la connexion à la base de
donnée jusqu’à l’affichage et l’édition des données de la base jusqu’à l’application, et vice et
versa.

Nous avons donc conçu nous même nos classes que nous avons mis en relation avec les
données de notre base de donnée. Nos pages JSP, quant à elle, font le lien entre les données et le
client.

Le JavaServer Pages ou JSP est une technologie basée sur Java qui permet aux
développeurs de générer dynamiquement du code HTML, XML ou tout autre type de page web.
La technologie permet au code Java et à certaines actions prédéfinies d'être ajoutés dans un
contenu statique. Depuis la version 2.0 des spécifications, la syntaxe JSP est complètement XML.
La syntaxe du JSP ajoute des balises XML, appelées actions JSP, qui peuvent être utilisées pour
appeler des fonctions. De plus, la technologie permet la création de bibliothèques de balises JSP
(taglib) qui agissent comme des extensions au HTML ou au XML. Les bibliothèques de balises
offrent une méthode indépendante de la plate-forme pour étendre les fonctionnalités d'un
serveur HTTP.

2|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


2. L'accès administrateur avec les Java Server Faces (JSF)

Java Server Faces (abrégé en JSF) est un Framework Java, pour le


développement d'applications Web. A l'inverse des autres Frameworks
MVC traditionnels à base d'actions, JSF est basé sur la notion de
composants, comparable à celle de Swing ou SWT, où l'état d'un
composant est enregistré lors du rendu de la page, pour être ensuite
restauré au retour de la requête.

Dans le but de proposer un accès et un rafraichissement dynamique


des pages de l’administration du site, nous avons choisi de les implémenter à l’aide des JSF. Nous
proposons à l’administrateur de voir, créer, éditer et supprimer des données de l’application.

3. La base de donnée avec MySQL

MySQL est un système de gestion de base de données (SGDB). Il fait


partie des logiciels de gestion de base de données les plus utilisés au
monde. MySQL est un serveur de bases de données relationnelles SQL
développé dans un souci de performances élevées en lecture, ce qui signifie
qu'il est davantage orienté vers le service de données déjà en place que vers celui de mises à
jour fréquentes et fortement sécurisées. Il est multi-thread et multi-utilisateurs.

Nous avons choisi MySQL pour sa gratuité, son appartenance au monde du logiciel libre
et pour sa simplicité. Il nous permet de stocker nos données relatives à l’application. Nous
utilisons les outils annexes proposés par MySQL pour administrer et gérer notre base de
manière indépendante et extérieure au site internet. MySQL Administrator nous permet de
créer la base, la sauvegarder et la restaurer. MySQL Query Browser met à disposition tout les
outils nécessaires au CRUD (Create, Read, Update & Delete).

4. Le serveur avec Apache TomCat

Apache Tomcat est un conteneur libre de servlet Java 2


Enterprise Edition. Tomcat implémente les spécifications des
servlets et des JSP de Sun Microsystems. Il inclut des outils pour la
configuration et la gestion. Comme Tomcat inclut un serveur HTTP
interne, il est aussi considéré comme un serveur HTTP. Tomcat est
un serveur Web qui gère les servlets et les JSP. C'est le compilateur Jasper qui compile les pages
JSP pour en faire des servlets. Le moteur de servlet Tomcat est souvent employé en combinaison
avec un serveur Web Apache ou d'autres serveurs Web.

Afin de coller au plus près de nos choix de départ de gratuité et de logiciel libre, nous
avons décidé de prendre la solution développée par Apache. Nous avons testé GlassFish, mais

3|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


après quelques problèmes de configuration et des bugs constatés, nous nous sommes
finalement orientés vers TomCat qui nous a convaincu dès le début par sa simplicité
d’utilisation.

5. L’IDE NetBeans

NetBeans est un environnement de développement intégré


(IDE) pour Java, placé en open source par Sun en juin 2000 sous
licence CDDL et GPLv2 (Common Development and Distribution
License). Il comprend toutes les caractéristiques d'un IDE moderne
(éditeur en couleur, projets multi-langage, refactoring, éditeur
graphique d'interfaces et de pages web).

Ce choix d’IDE s’est justifié par l’utilisation des technologies J2EE. En effet, alors
qu’Eclipse convaint parfois plus que Netbeans dans le développement de projets Java, il reste
tout de même l’IDE incontournable et incontesté des solutions J2EE.

4|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


II. Dossier de spécifications

1. Description générale

Ce projet propose de réaliser un outil de location de DVD en ligne (accessible via HTTP).
Les acteurs visiteur, client et visiteur vont jouer un rôle dans ce système.

Nous aurons besoin d'une base de données pour stocker les informations relatives au site
internet, tel que les informations des clients, les films, les locations, etc.

Nous aurons donc besoin d'un peu moins qu'une dizaine de tables dans la base de
données. Des classes seront crées dans le système dans le but de faire la relation entre les
données de la base et le site internet.

2. Besoins fonctionnels

a. Diagrammes de cas d'utilisations

Nous allons traiter 2 cas d'utilisations :

les actions possibles du client et du visiteur


le travail du conseiller

Pour chacun de ces cas d'utilisation, nous commenterons brievement leur interêt et leur

5|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Cas d'utilisation n°1: les actions possibles du visiteur et du client

Ce cas d'utilisation explique ce que le visiteur est capable de faire sur le site lockafilm.
L'héritage du visiteur au client montre que le client est autorisé à faire les mêmes actions que le
visiteur, mais en possède quelques une supplémentaires.

Figure 1 : diagramme de cas d'utilisation n°1 - Les actions du visiteur et du client

6|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Cas d'utilisation n°2: le travail de l'administrateur
L'administrateur, quant à lui, peut accéder à une partie du site qui lui est toute réservée. Il peut
Gérer toute la structure de données du système, et notamment vérifier les informations des
clients et de leurs locations, et ajouter ou modifier des films du système.

Figure 2 : diagramme de cas d'utilisation n°2 - le travail de l'administrateur

b. Diagrammes de séquences

Nous allons présenter deux diagrammes de séquences :

 Diagramme de séquence n°1 : un client souhaite louer un film


 Diagramme de séquence n°2 : un administrateur importe un nouveau film

7|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Diagramme de séquence n°1: un client souhaite louer un film

Le client, qui souhaite louer un film, nécessite tout d'abord de s'authentifier. En passant par l'interface, il recherche à travers les
films que lui propose le site, décide d'en choisir un et de le louer. Pour cela, il devra déjà recharger son compte pour pouvoir payer.

Figure 3 : diagramme de séquence n°1 - un client souhaite louer un film

8|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Diagramme de séquence n°2: un administrateur importe un nouveau film dans le système

L'administrateur, comme expliquer auparavant, est en mesure d'accéder aux données du système. Ici, on s'intéresse au cas du
l'enregistrement d'un nouveau film dans la base de données de site lockafilm.

Figure 4 : un administrateur importe un nouveau film dans le système

9|Page P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


3. Spécification des objets : diagramme de classes

Le diagramme de classe de lockafilm vous est présenté ci-dessous. Dans notre système,
un client peut louer un ou plusieurs films, faisant chacun partie d'une catégorie. Chaque film est
tourné par 1 réalisateur et 0, 1 ou plusieurs acteurs jouent dedans.

La classe principale du système est le DatabaseManager qui s'occupe de créer une


connexion vers la base de données et la fermer lorsque toutes les requêtes sont arrêtées.
Chacune des classes possèdes toutes les fonctions de récupération, édition et suppression des
données de la base au site web et vice et versa. Elles passent par le DatabaseManager à chaque
exécution d'une méthode faisant appel à la récupération ou a l'envoi de données.

Figure 5 : diagramme de classes de lockafilm

10 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


4. Spécification de la base de donnée

a. Modèle Conceptuel de Données

Figure 6 : Modèle Conceptuel de Données de lockafilm

11 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Le modèle conceptuel de lockafilm reste simple mais tout à fait valable. Nous avons
décidé de n’attribuer qu’un réalisateur par film, ce qui explique qu’il soit directement lié à la
table Client. Par contre, un film peut avoir plusieurs acteurs, ce qui nous créera une table
supplémentaire dans le MLD (Modèle Conceptuel de Données).

Nous avons choisi de simplifier la partie de la location entre un client et un film. Une
première conception nous avait amené à créer une fiche de location, une table d'exemplaires des
films ainsi que de proposer plusieurs types de locations (DVD, VHS, BlueRay, etc.). Voici une
partie de notre MCD initial :

Figure 7 : Partie du MCD initial de lockafilm

12 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


b. Modèle Logique Relationnel

Le MLR nous amène enfin à la base de données qui a été créée pour le site web lockafilm.
Nous utilisons 7 tables interconnectées. Le film est créé grâce aux tables FILM, REALISATEUR et
ACTEUR. On stocke les locations de films des clients grâce à la table LOUER.

Figure 8 : Modèle Logique Relationnel

13 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


III. Description de lockafilm

1. Description générale

Lockafilm est un site internet de location de films


en ligne. Il permet notamment au client enregistré sur le
site de visualiser la vidéothèque du système et de choisir à
travers celle-ci des films qui pourraient l’intéresser et qu’il
souhaiterait louer. Lorsque le client confirme une location,
lockafilm envoie le film par courrier postale dans les 24
heures. Le client aura alors 15 jours pour visualiser le film
et le retourner à l’entreprise.

Ce site internet ressemble de très près à ses concurrents, avec notamment une
vidéothèque classée par genres, qui affiche pour chaque film la jaquette, une description
détaillée et quelques informations sur les acteurs, le réalisateur, la durée, etc.

Malgré cela, nous avons pensé et organiser notre site de façon à faire apparaître quelques
fonctionnalités non indispensable mais très utile. Lockafilm propose donc de multiples
fonctionnalités :

 Visualisation de la vidéothèque
 Enregistrement et authentification de membres
 Location de films en fonction du crédit disponible
 Mise à jour du crédit après chaque film loué
 Affichage des films en cours de location avec date de retour prévu
 Visualiser son crédit et en acheter
 Marquer les films loués comme rendu
 Recherche de films par critères (genre de film)
 Affichage du nombre d’exemplaire disponible
 Affichage des dernières nouveautés
 Visualiser et modifier ses informations personnelles
 Affichage des dates de fin de location
 Rappels sur les retards de films à rendre
 Décompte de crédit supplémentaire par jour de retard de remise de film
 Panneau d'administration

Les fonctionnalités marquées en gras correspondent aux fonctionnalités


supplémentaires qui ont été implémentées dans le système lockafilm. Les autres sont celles
requises par le sujet de départ.

14 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


2. Description des fonctionnalités

a. L’interface visiteur

Page d'accueil

La page d'accueil permet au visiteur d'être mis dans l'ambiance du site lockafilm. Dès le
début, nous lui proposons quelques fonctionnalités intuitives que sont le panneau nouveautés
(à droite - généré en Javascript qui prend les 6 derniers films introduits dans la base de
données) ou il peut parcourir les nouvelles affiches et être redirigé directement sur la page du
film sur lequel il aura cliqué. On lui propose également un bref aperçu du nombre de films
actuellement disponible sur la barre du haut.

15 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Vidéothèque

Lorsque le visiteur clique sur vidéothèque, il accède directement à la liste de films


disponibles. Nous lui donnons la possibilité de les afficher par genre. Quelques informations
supplémentaires mais très utiles lui apportent plus de précisions sur le film : on lui indique le
nombre de copies actuellement disponibles ainsi que le prix. De plus, nous noterons l'effort
qu'il a été fait sur cette page afin d'afficher une liste d'acteurs pour chaque film.

16 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Inscription

La page d'inscription permet à un nouveau membre de pouvoir s'inscrire. En plus de


cela, nous avons fait l'effort de vérifier dynamiquement que chaque champ soit valide, que
le pseudo soit disponible et que la saisie anti-spam retourne le bon résultat grâce à une
fonction Javascript.

Espace membre

17 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Le visiteur se dirige vers la page Espace Membre dans le cas ou il est déjà inscris et qu'il
veut s'identifier. On génère la boite d'identification à l'aide d'une fonction Javascript.

b. L’interface client

Mon Compte

Mon compte permet au client de visualiser ses informations : ses films actuellement
loués, son actuel crédit ainsi que ses informations personnelles. Il peut ici voir si certaines

18 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


de ses locations sont en retard dans les délais de remise des films, rendre des films loués ou
encore recharger du crédit sur son compte.

N'oublions pas la barre supérieure qui a changée : elle permet maintenant d'apporter au
client un bref résumé sur le nombre de films qu'il loue et sur les crédits qu'il lui reste.

Vidéothèque

La vidéothèque est la même que dans la partie visiteur, hormis le fait qu'il peut ici
effectuer des actions tel que louer, rendre ou acheter du crédit.

Louer et rendre un film

Lorsque le client clique sur Rendre ou Louer un film, nous lui affichons une page qui
résume son choix, le redirigeant sur sa page d'accueil au bout de 10 secondes (balise méta).

L'exemple ci-dessous est une page de confirmation du rendu d'un film. Nous pouvons
voir que le client a rendu son film en retard, de 15 jours. Nous avons prévu de lui décompter 2
crédits de plus par jour de retard dans la remise d'un film.

19 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Fonctions additionnelles

Le client est notifié durant sa navigation sur le site s'il n'a pas rendu un film dans les
temps par une petite boite d'information affichée durant 7 secondes sur la partie supérieure
gauche de son écran (Javasript) :

20 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Nous avons simulé le rechargement du crédit du client. A terme, cette page serait
complétée avec les informations relatives au paiement de celui-ci :

La barre d'information supérieure change lorsque le client atteint un crédit inférieur a 20


unités :

c. L’interface administrateur

Dans le but de proposer un accès et un rafraichissement dynamique des pages de


l’administration du site, nous avons choisi de les implémenter à l’aide des JSF. Cette partie
respecte entièrement le concept du CRUD (Create, Read, Update & Delete).

L’interface administrateur doit être utile, intuitive et viable. Elle doit permette une vue
complète du système de données, c'est-à-dire les tables et leurs informations. De plus, elle va
donner la possibilité à l’administrateur de créer, éditer et supprimer des données de
l’application. En effet, il a accès à chaque table de la base, sur lesquelles il peut faire l’opération
qu’il souhaite.

Un administrateur est avant tout un utilisateur du système. Lorsqu'il se logue, il dispose


des même fonctionnalités qu'un client, avec de plus une partie administration dont le lien
apparait sur la barre supérieure, dans la partie de droite. Il accède à la page d'administration ci-
dessous :

21 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Cette liste représente une vue des tables de la base de données du système. Avec ce
système, l'administrateur dispose d'un contrôle total : il peut voir les informations des tables, les
éditer, les supprimer ou en créer de nouvelles.

Visualisation d'informations :

Voici une vue de la table Realisateur :

Lorsque que l'on veut accéder plus en détail aux informations de chaque tuple, le bouton
Show nous permet de voir toutes les relations de notre tuple avec les autres tables. Prenons

22 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


l'exemple d'un client, ou le but est ici de visualiser quels sont les films qu'il a loué (pour afficher
ce résultat, on part de la table Client pour arriver à la table Film en passant par la table Louer :

Créer ou éditer des données :

Nous permettons également la création ou l'édition de tuple. Basé sur le même modèle de
relation entres les tables, vu précédement, nous sommes capable de proposer à l'administrateur
de créer ou éditer ses données directement en fonction des autres tables. Voici l'exemple de la
création d'un réalisateur, ou l'on peut d'hors et déjà séléctionner les films (affichés par noms)
qu'il a réalisé :

23 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


3. Navigation

Nous allons proposer ici un diagramme de navigabilité afin de montrer le processus de navigation entre nos pages JSP :

S'enregistrer
index.jsp registration.jsp credit.jsp

S'authentifier Acheter du crédit


Voir films
logout.jsp

Redirection Redirection
videoLibrary.js login.jsp homepage.jsp
p
Si authentifié

Rendre film
Louer film Accéder au
panneau
Rendre film admin
Louer film

rentValidation.jsp unrentValidation.jsp admin.jsp

Redirection automatique Partie administration….

Figure 9 : Diagramme de navigabilité


24 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO
4. Exemple de code

a. Connexion à la base de données

Cette partie est très intéressante car elle montre comment nous avons appris à nous connecter à
la base de données :

public static void initializeDataBase()


{
msg = "[OK] : Connexion à la BDD MySQL";
// Connexion a la BDD Oracle
try
{
// Parametres
String driverName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/lockafilm";
String username = "root";
String password = "admin";
// Chargement du JDBC Driver
Class.forName(driverName);
// Connexion a la database
DatabaseManager.DBConnection = DriverManager.getConnection(url, username, password);
// DatabaseManager.DBConnection.setAutoCommit(false);
}
catch (ClassNotFoundException e)
{
msg = "***** Error<config>03 : driver introuvable > " + e.getMessage();
}
catch (SQLException e)
{
msg = "***** Error<config>04 : erreur SQL > " + e.getMessage();
}
catch (Exception e)
{
msg = "***** Error<config>05 : connexion a Oracle impossible > " + e.getMessage();
}
System.out.println(msg);
}

b. Récupération des données

Nous avons utilisés des PrepareStatements et des ResultSet afin de récuperer nos
données. Les PrepareStatements sont plus propres que les Statements car ils permettent de
préparer nos requêtes sans avoir à les exécuter quand cela n'est pas nécessaire.

25 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


private PreparedStatement pstmtGetMovies = null;
private ResultSet rsetGetMovies = null;
public void prepareStatement()
{
try
{
// Requête pour récupérer la liste des clients
pstmtGetMovies = DatabaseManager.getDBConnection().prepareStatement(
"select NUM_FILM" +
", NUM_REALISATEUR" +
", NUMERO_GENRE" +
", TITRE_FILM" +
", DATE_SORTIE_FILM" +
", RESUME_FILM" +
", CHEMIN_JAQUETTE_FILM" +
", DUREE_FILM" +
", NB_EXEMPLAIRE_FILM" +
", COUT_FILM" +
" from FILM" +
" order by TITRE_FILM ASC ;");
}
catch (SQLException ex)
{
System.out.println("***** Error<exp>03 : erreur SQL lors de la préparation des requêtes
SQL > " + ex.getMessage());
}
catch (Exception e)
{
System.out.println("***** Error<exp>04 : autres erreurs lors de la préparation des
requêtes SQL > " + e.getMessage());
}
}
public ResultSet getMovies()
{
try
{
rsetGetMovies = pstmtGetMovies.executeQuery();
}
catch (SQLException ex)
{
System.out.println("***** Error<exp>03 : erreur SQL lors de la préparation des requêtes
SQL > " + ex.getMessage());
}
catch (Exception e)
{
System.out.println("***** Error<exp>04 : autres erreurs lors de la préparation des
requêtes SQL > " + e.getMessage());
}
return rsetGetMovies;
}

26 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO


Conclusion

Ce projet de construction d'un site internet à l'aide des technologies J2EE a été très
formateur et nous a immergés dans le monde du web par Sun ! Il nous a permis d’avoir une
première expérience avec le J2EE, et de découvrir ce domaine.

Nous pensons avoir aboutis à une solution fiable, utile et ergonomique qu'est lockafilm.
Nous pensons avoir amené un site internet de qualité autant au niveau de l'interface que des
fonctionnalités apportées. Nous avons respecté les requêtes de départ, que nous avons étoffé
avec nos propres idées.

Grâce à une partie administrateur complète, on peut en effet facilement interagir avec la
base de données en ajoutant et modifiant l’ensemble des informations. L’interface que nous
avons proposée colle au besoin des utilisateurs des sites actuels.

Certes, nous n'avons utilisés aucun Framework comme Struts ou Hibernate, mais nous
avons appris nous même à créer nos classes relatives avec nos tables et a jouer avec leurs
données. Ayant compris le principe général des JSP et d'un projet J2EE, nous pourrons
dorénavant utiliser ces Framework sans être perdu. De plus, la partie administrateur nous a
introduits à l'utilisation des JSF.

27 | P a g e P2009 - IN56 - Pierre ALAUZET, Michael PALUMBO