Académique Documents
Professionnel Documents
Culture Documents
WORKSHOP
30/04/2011
TUTORIEL DU WORKSHOP N°1
KHECHINE KHALED
ESSAIT
30/04/2011
2 WORKSHOP
Notre but est de créer une application web qui permet gérer une bibliothèque. La première phase du
projet c’est la Conception. Voici le modèle conceptuel de données :
Spécifier la répertoire où vous voulez enregistrer le script et valider par ok ; Power AMC va ensuite
s’occuper du reste
/*==============================================================*/
/* Nom de SGBD : MySQL 5.0 */
/* Date de création : 01/05/2011 00:30:10 */
/*==============================================================*/
/*==============================================================*/
/* Table : AUTEUR */
/*==============================================================*/
create table AUTEUR
(
REF_AUTEUR int not null,
NOM_AUTEUR char(20),
PREN_AUTEUR char(20),
BIOGRAPHIE char(20),
primary key (REF_AUTEUR)
);
/*==============================================================*/
/* Table : ECRIRE */
/*==============================================================*/
create table ECRIRE
(
REF_AUTEUR int not null,
ISBN int not null,
primary key (REF_AUTEUR, ISBN)
);
/*==============================================================*/
/* Table : EDITEUR */
/*==============================================================*/
create table EDITEUR
(
CODE_EDITEUR int not null,
RAISON_SOCIALE char(20),
primary key (CODE_EDITEUR)
);
/*==============================================================*/
/* Table : EXEMPLAIRE */
/*==============================================================*/
create table EXEMPLAIRE
(
ISBN int not null,
NUM_EXEMPL int not null,
CODE_EDITEUR int not null,
PRIX_EXEMPL float(8,2),
DATE_AQUISITION date,
primary key (ISBN, NUM_EXEMPL)
);
/*==============================================================*/
/* Table : THEME */
/*==============================================================*/
7 WORKSHOP
/*==============================================================*/
/* Table : TITRE */
/*==============================================================*/
create table TITRE
(
ISBN int not null,
CODE_THEME int not null,
NOM_TITRE char(50),
RESUME_TITRE char(100),
DATE_PUBLICATION date,
DUREE_MAX_EMP int,
primary key (ISBN)
);
Double click sur l’icone du WampServer afin de le lancer ensuite on va vérifier que ce dernier à lancer
les services ou non, s’il est en ligne alors pas de soucis, sinon on doit cliquer sur « put online »
Maintenant on va créer notre base de données, il nous suffit de donner un nom à notre base de
données et de cliquer sur « Créer », on va la donner comme nom : « workshop »
Après la création de la base on va créer les table en introduisant le script SQL déjà générer, pour ce
fait cliquez sur l’onglet SQL :
11 WORKSHOP
Vous pouvez visualiser le contenu de ces tables en cliquant sur leur nom :
Ensuite on va choisir les frameworks qu’on va les utiliser ; pour notre cas on va utiliser un seul
framework (Java Server Faces) alors cocher le et cliquer sur finish :
L’étape qu’on va faire par la suite c’est l’ajout d’un fichier de configuration pour les page JSF ; pour ce
fait un clic droit sur « Web Page » New/other
On va choisir Java Server Faces/JSF Faces Configuration et cliquer sur Next par la suite :
17 WORKSHOP
Maintenant on va modifier le fichier web.xml afin que la première page interrogé par l’utilisateur de
l’application soit la page d’authentification, un double clic sur web.xml pour ouvrir le fichier :
<h:form id="loginForm">
<table border="0">
<tr>
<td>
<h:outputText value="login"/>
</td>
<td>
<h:inputText id="login" rendered="true" value="#{userBean.login}"/>
</td>
</tr>
<tr>
<td>
<h:outputText value="password"/>
</td>
<td>
<h:inputSecret id="password" rendered="true" value="#{userBean.password}"/>
</td>
</tr>
</table>
<blockquote>
<h:commandButton id="submit" action="#{userBean.verifier()}" value="connecter"/>
</blockquote>
</h:form>
</h:body>
</html>
25 WORKSHOP
</html>
Par la suite on va passer à la création d’une JavaBean classe. Pour ce fait on va créer un nouveau java
package
26 WORKSHOP
Dans le nouveau package on va créer une nouvelle classe Jsf Managed Bean :
27 WORKSHOP
Maintenant faites cocher l’option « Add data to the configuration file » ensuite cliquer sur finish
29 WORKSHOP
Cocher tout :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.workshop.jsfbean;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
/**
*
* @author Khaled
*/
public class UserBean {
private String login;
private String password;
/** Creates a new instance of UserBean */
public UserBean() {
}
public UserBean(String login, String password) {
this.login = login;
this.password = password;
}
}
34 WORKSHOP
En cliquant sur le bouton « connecter » la page index va s’afficher dans le cas de coordonnées
valides et un message de validation va s’afficher :
On va retourner à notre projet maintenant pour générer les entités Java à partir de la base de
données. On va utiliser pour ce fait l’API « JPA » (java persistence annotation)
NB : pour plus d’info concernant cet API vous pouvez googler « JPA » :p
Après un simple clic sur « Entity Classes from Database » l’interface ci-dessous va s’afficher :
37 WORKSHOP
L’étape suivante consiste à établir la relation avec la base de données, pour ça on va choisir dans la
liste déroulante du champ « data source » l’option « New data source »
38 WORKSHOP
L’étape suivante consiste à choisir le driver qui doit être adéquat à le SGBD utilisé; pour notre cas on
va choisir « MySQL (connector/J driver »
39 WORKSHOP
La seule chose à modifier dans cette interface c’est le champ « Database » ; on va modifier « mysql »
par le nom de notre base de données « workshop» déjà crée
Cliquer sur « Test Connection » pour vérifier que la connection est établie ensuite sur Next et enfin
sur Finish
41 WORKSHOP
Maintenant notre connexion est bien établie il ne reste que de valider en cliquant sur «ok »
L’API JPA est un API ORM (object-relational mapping) ; c’est ce qu’on est en train de faire
maintenant, JPA va nous mapper les différents tables de la base de données :
42 WORKSHOP
Ensuite il ne reste que de valider avec un autre Next car on ne va rien modifier :
Maintenant on va utiliser le Framework JSF une autre fois, mais dans ce stade on ne va rien saisir
comme code car le JSF 2.0 fournit une génération automatique des pages JSF qui font les opérations
CRUD (Create/Read/Update/Destroy).
Ensuite choisir JSF Pages From Entity Classes ensuite il suffit de cliquer sur Next ;
Notre IDE va nous générer par la suite les pages xhtml de CRUD automatiquement ainsi une
Template et un fichier de style en cascade (jsfcrud.css) :
48 WORKSHOP
Il ne reste maintenant que d’ajouter une ligne de code dans le fichier « authentification.xhtml » créé
précédemment afin qu’il prend le même style d’affichage que les fichiers générés automatiquement ;
alors le code source de ce fichier va être comme suit :
</tr>
<tr>
<td>
<h:outputText value="password"/>
</td>
<td>
<h:inputSecret id="password" rendered="true" value="#{userBean.password}"/>
</td>
</tr>
</table>
<blockquote>
<h:commandButton id="submit" action="#{userBean.verifier()}" value="connecter"/>
</blockquote>
</h:form>
</h:body>
</html>
49 WORKSHOP
Maintenant il nous reste que de runner notre projet. Ci-dessous vous trouver quelques interfaces du
projet.
Page d’authentification :
Dans l’autre cas (cas de bien saisie) la page d’accueil s’affiche ; on trouve dedans les liens qui nous
permet de faire la gestion de la bibliothèque :