Professional Documents
Culture Documents
fr
RAPPORT DE STAGE
TYPE DE STAGE : Stage Technique I2 AUTEUR:
Arnaud LIMOUZIN
DATES
Aucune
Niveau I
Niveau II
Niveau III
TITRE DU STAGE
Rcriture en JSF de lapplication web Panneaux dAffichage prcdemment crite en JSP
Aurlie Schrder
Je tiens remercier tout particulirement et tmoigner toute ma reconnaissance aux personnes suivantes, pour lexprience enrichissante et pleine dintrt quelles mont fait vivre durant ces quatre mois au sein de lUniversit de Genve :
Monsieur Pierre-Yves Burgi pour son accueil et la confiance quil ma accords ds mon arrive lUniversit.
Madame Aurlie Schrder, ma tutrice, pour mavoir intgr rapidement au sein de luniversit et mavoir accord toute sa confiance ; pour le temps quelle ma consacr tout au long de cette priode, sachant rpondre toutes mes interrogations ; sans oublier sa participation au cheminement de ce rapport.
Mademoiselle Arielle Moro et Messieurs Yvan Schmied, Florent Glck, Cdric Bontron, Georges Lavoisier, ainsi que lensemble du personnel de lUniversit pour leur accueil sympathique et leur coopration professionnelle tout au long de ces quatre mois.
LIMOUZIN Arnaud
Page 2
LIMOUZIN Arnaud
Page 3
SUJET
Rcriture en JSF de linterface web Panneaux dAffichage prcdemment crite en JSP/Servlet, portant sur la gestion de messages diffuser sur des crans gants. Par ailleurs, il faut intgrer de nouvelles fonctionnalits telles que la possibilit de prvisualiser des messages et la validation de ceux-ci travers un workflow. Lamlioration de lergonomie fait aussi partie des tches demandes.
RESULTATS
Aprs quatre mois de remise en forme de lapplication, celle-ci est fonctionnelle et pourra tre bientt mise en production. Toutes les fonctionnalits exiges ont t intgres et le rendu de lapplication a t considrablement amlior. Le dveloppement sest effectu sur Netbeans 6.1 et des librairies telles que MyFaces (Apache) et Richfaces (JBoss) ont tendu les possibilits offertes par le framework JSF. Cette dernire librairie offre beaucoup de nouveaux composants utiliser mais le peu de documentations disponibles pour lemployer impose de passer du temps pour la maitriser correctement. Ma responsable de stage a pris connaissance du programme et de sa structure, et est maintenant capable de poursuivre le dveloppement ou la correction de bugs dtects ultrieurement.
LIMOUZIN Arnaud
Page 4
LUniversit en chiffre
En 2007, lUNIGE c'est : 7 facults, 1 cole et 1 institut (Sciences, Mdecine, Lettres, Sciences conomique et sociales, Droit, Thologie, Psychologie et sciences de lducation, ) 3 instituts rattachs l'Universit 8 centres et instituts interfacultaires 3 ples de recherches nationaux 13'364 tudiants dont 10'509 en tudes de base 5'200 collaborateurs dont 2'516 femmes (48.4%) 213 programmes de formation continue pour 8322 tudiants 3'359 diplmes dlivrs dont 916 Bachelors, 428 Masters et 255 doctorats
Missions
L'Universit a trois missions principales, dfinies dans la Loi sur l'Universit: Lenseignement LUniversit offre des cursus de formation de base, approfondie et continue, organiss selon le principe du systme europen des crdits (European Credit Transfer and Accumulation System ECTS). 30 crdits ECTS sont normalement acquis aprs un semestre dtudes. La formation de base est compose de deux cursus dtudes: le baccalaurat universitaire (bachelor) qui quivaut 180 crdits ECTS et la matrise universitaire (master) qui quivaut, selon les cas, 90 ou 120 crdits ECTS. La recherche Le but principal de la recherche est de promouvoir la connaissance fondamentale. Lorsqu'un domaine de recherche est porteur de dveloppement de savoir-faire, l'institution s'engage galement dans la recherche applique. L'Universit de Genve est prsente dans la plupart des secteurs de pointe et s'est engage depuis quelques annes dans des domaines pluri- et interdisciplinaires. Le service la cit L'Universit de Genve offre des prestations de service la communaut en matire de formation continue, de conseils-expertises et de recherche. Elle assure notamment des prestations de service l'intention des entreprises publiques et prives, principalement sous forme d'tudes, d'analyses et de recherches commandites. L'institution intervient aussi en matire de transfert de technologies afin de transformer les inventions de ses chercheurs en produits utiles pour la socit.
LIMOUZIN Arnaud
Page 5
La recherche
En 2006, lhebdomadaire Newsweek plaait lUniversit de Genve au 3e rang europen de son classement des meilleures universits gnralistes, aprs Cambridge et Oxford. Les secteurs phares de la recherche lUNIGE sont: les sciences de la vie (biologie molculaire, bioinformatique, etc.), la physique des particules lmentaires, l'astrophysique, les sciences sociales et conomiques, la chimie, la biochimie et la biophysique. LUNIGE est aussi la maison-mre de trois ples de recherche nationaux en gntique (Frontiers in Genetics), en sciences des matriaux (MaNEP) et dans ltude des motions (Affectives Sciences). Elle est le partenaire privilgi de l'Institut de hautes tudes internationales et du dveloppement (IHEID), qui a pour vocation danalyser les enjeux du monde contemporain avec indpendance.
Au plan national, lUNIGE obtient les meilleurs rsultats depuis plusieurs annes entre toutes les hautes coles universitaires suisses auprs du Fonds national de la recherche scientifique. Au niveau international, lUNIGE a doubl le nombre de ses publications dans les revues scientifiques durant les vingt dernires annes. En matire de biologie molculaire, limpact des recherches menes Genve situe lUniversit au deuxime rang mondial, directement derrire Princeton. La physique genevoise occupe pour sa part le sixime rang mondial. La communaut universitaire genevoise bnficie en outre des avantages lis une universit de longue tradition avec un accs de riches bibliothques et dextraordinaires documents d'archives comme les archives Piaget. De plus, elle profite dun esprit d'innovation dont tmoignent des chercheurs de pointe comme Michel Mayor, avec la dcouverte des plantes extrasolaires, Denis Duboule avec la gntique, Nicolas Gisin avec la tlportation quantique. Grce l'excellent niveau de leurs travaux, les chercheurs de l'UNIGE sont des partenaires convoits par l'industrie comme en tmoignent les nombreux projets de recherche collaborative avec des partenaires industriels suisses et internationaux.
LIMOUZIN Arnaud
Page 6
Le budget ordinaire correspond au budget de fonctionnement permettant linstitution dassurer ses prestations de base denseignement et de recherche. Le FNS soutient des projets spcifiques de recherche au sein des universits suisses sur concours. Enfin, lUniversit entretient des liens avec les milieux conomiques et industriels pour lesquels elle ralise des mandats de recherche, des tudes et des expertises.
Contexte international
Considre comme la plus petite des grandes capitales, Genve, qui accueille une trentaine d'organisations internationales dont l'ONU, l'OMC, l'OMS ou l'OIT et plus de 300 organisations non-gouvernementales et missions permanentes d'Etats trangers, jouit d'une vocation internationale. Cet environnement multiculturel se reflte l'Universit de Genve qui accueille environ un tiers d'tudiants de nationalit trangre et mne une politique trs active en matire de relations internationales. Elle participe notamment de nombreux accords, rseaux et programmes bi- ou multilatraux tels qu'Erasmus ou Socrates. Ces partenariats prennent des formes diverses tels que des changes d'tudiants ou d'enseignants, des recherches et formations communes, une prsence dans le cadre de manifestations internationales, etc. En outre, les tudiants de l'Universit de Genve bnficient des liens troits entretenus avec l'Institut des hautes tudes internationales et du dveloppement (IHEID) et l'Institut cumnique de Bossey.
Logements
Avec un taux de logements vacants infrieur deux pour mille, le march immobilier genevois est traditionnellement tendu. Les loyers sont donc coteux et la recherche d'un logement souvent problmatique. En dpit des efforts long et moyen terme de l'Universit, les diverses rsidences universitaires peinent satisfaire toutes les demandes des tudiant-e-s. Devant cette situation difficile, l'Universit a lanc, l'instar des annes prcdentes, une campagne de sensibilisation auprs de la population genevoise. Son objectif : trouver suffisamment de logements chez les particuliers et proposer aux tudiant-e-s de prendre directement contact avec ces personnes.
LIMOUZIN Arnaud
Page 7
LIMOUZIN Arnaud
Page 8
Chaque structure a nomm un certain nombre de rdacteurs qui utilisent une interface web pour envoyer ses messages sur les crans. Cette interface offre diverses fonctionnalits suivant le profil de l'utilisateur (rdacteur ou administrateur) afin de pouvoir modifier les messages, y compris ceux en cours de diffusion, de grer les utilisateurs, les messages, les images etc ...
LIMOUZIN Arnaud
Page 9
Sujet
Ce stage a pour but de rcrire en JSF linterface web Panneaux dAffichage prcdemment crite en JSP/Servlet, portant sur la gestion de messages diffuser sur des crans gants. Par ailleurs, il faut intgrer de nouvelles fonctionnalits telles que la possibilit de prvisualiser les messages et la validation de ceux-ci travers un workflow. Lamlioration de lergonomie est aussi un point non ngligeable lors du dveloppement.
Le stagiaire travaillera au sein de l'quipe NTICE (Nouvelles Technologies de lInformation, de la Communication, et de lEnseignement). Le stagiaire devra prendre contact avec l'interface existante et son environnement : serveur Tomcat, serveur MySql, environnement de test et de production sur virtual hosts, code en JAVA et JSP. Ensuite, si ce n'est pas dj acquis, il devra apprendre les JSF et faire une sorte de mini-pilote qui simule les fonctionnalits principales actuelles pour dmontrer sa matrise de la technologie. Une fois le pilote ralis, il devra rcrire l'interface web en JSF tout en tenant compte du nouveau cahier des charges qui intgre le workflow, savoir : Envoi de message automatique avec le lien vers le message aux validateurs Rponse automatique au rdacteur pour informer si le message est valid ou non Permettre aux validateurs de visualiser les messages dposs par les rdacteurs
Description des rles des personnes accdant lapplication panneaux daffichage : Utilisateur : peut crire un message, effectu une recherche ou modifier un message. Administrateur : Utilisateur + gestion des utilisateurs et administration des messages. Validateur : Utilisateur + validation des messages (workflow) Super Administrateur : Utilisateur + Administrateur + Validateur
Environnement technique
Utilisation de Apache 2, Tomcat 1.6, Mysql 5 et phpmyadmin Dveloppement sur NetBeans 6.1 Version de Java : 1.6 Utilisation du framework JSF (Java Server Faces). A cette fin, il a t dcid dutiliser les librairies suivantes : MyFaces dApache et Richfaces de JBoss. API Javamail pour lenvoi de mail Utilisation de VMWare
LIMOUZIN Arnaud
Page 10
Planning dorganisation
Dans un premier temps, le stagiaire doit prendre connaissance de l'interface existante et de son environnement : serveur Tomcat, serveur MySql, environnement de test et de production sur virtual hosts, code en JAVA et JSP. Il sera ncessaire de comprendre le fonctionnement de lapplication afin de pouvoir le reproduire. Lorsque ceci aura t ralis, il devra apprendre lutilisation du framework JSF (Java Server Faces) et faire des choix sur son implmentation (choix de MyFaces et Richfaces). Tout en tudiant JSF, le stagiaire devra crire un prototype avec un formulaire identique celui de l'application (sauf pour lergonomie) qui simule les fonctionnalits principales actuelles pour dmontrer sa matrise de la technologie. Les tches voques ci-dessus seront effectues ( priori) durant le premier mois. Dans un second temps, il faudra rcrire lapplication entire en JSF aprs avoir analyser la manire dintgrer le workflow dfini en annexe (figure 1). Il sera aussi possible de prvisualiser son message avant enregistrement et aprs pour consultation. Cette fonctionnalit gnre une image quasiment identique ce que crera loutil TV Builder sur les crans gants.
Responsabilits
Le stagiaire aura la responsabilit des choix des librairies Java utilises (ex : Richfaces) et devra justifier ceux-ci auprs de la personne responsable du stage. Il lui est laisser son apprciation les choix vis--vis de la nouvelle ergonomie. A la fin du stage, une brve documentation des parties de lapplication juges compliques devra tre fournie afin de faciliter la comprhension du lecteur. Il est bien entendu vident que lapplication doit tre maintenable et pour cela, une explication orale dtaille du fonctionnement et des subtilits sera prvoir.
LIMOUZIN Arnaud
Page 11
Figure A Le logiciel PSNext Partageant la mme pice avec trois autres personnes, jai bnfici dune bonne ambiance de travail et jai pu compter ponctuellement sur leur aide lorsque jen avais besoin tant sur le plan humain que technologique. Dans un autre domaine, jai t surpris de constater que pour connecter mon ordinateur au rseau de lUniversit, on ma attribu une adresse IP publique. Ceci avait lavantage de me permettre daccder mon serveur sur ma machine fixe depuis lextrieur avec mon ordinateur portable. Jai pleinement apprci ces quatre mois lUniversit de Genve o jai pu travailler sur un projet intressant et rencontrer des personnes sympathiques et accessibles.
LIMOUZIN Arnaud
Page 12
Figure B Cycle de vie dune requte JSF Reconstitute Component Tree: Cette premire phase permet au serveur de recrer l'arborescence des composants qui composent la page. Cette arborescence est stocke dans un objet de type FacesContext et sera utilise tout au long du traitement de la requte. Apply Request Values: Dans cette tape, les valeurs des donnes sont extraites de la requte HTTP pour chaque composant et sont stockes dans leur composant respectif dans le FacesContext. Process validations: Une fois les donnes extraites et converties, il est possible de procder leur validation en appliquant les validateurs enregistrs auprs de chaque composant. Dans le cas dune erreur de conversion, l'tape suivante est directement Render Responder pour permettre de rafficher la page avec les valeurs saisies et afficher les erreurs Update Model Values: Cette tape permet de stocker dans les composants du FacesContext leur valeur locale valide respective. De mme, en cas derreur de conversion, ltape suivante est Render Response pour les raisons voques prcdemment. Invoke Application: Dans cette tape, le ou les vnements mis dans la page sont traits. Cette phase doit permettre de dterminer quelle sera la page rsultat qui sera renvoye dans la rponse en utilisant les rgles de navigation dfinie dans l'application. L'arborescence des composants de cette page est cre. Render Response: Cette tape se charge de crer le rendu de la page de la rponse. LIMOUZIN Arnaud Page 14
LIMOUZIN Arnaud
Page 15
LIMOUZIN Arnaud
Page 16
LIMOUZIN Arnaud
Page 17
LIMOUZIN Arnaud
Page 18
LIMOUZIN Arnaud
Page 19
Problmes rencontrs
Au cours du dveloppement de lapplication panneaux daffichage , jai rencontr divers problmes plus ou moins importants qui parfois se sont rvls surprenants, impossibles rsoudre ou totalement indpendants de notre volont. Voici une liste non exhaustive des difficults sur lesquelles je me suis heurtes. Pour pouvoir dvelopper en Java EE 5 avec NetBeans en utilisant Tomcat, il faut absolument Tomcat 1.6 ce qui confirme le choix dutiliser cette version plutt quune autre antrieure. Le rpertoire de Tomcat nomm root qui contient la page daccueil lors de laccs au serveur (http://localhost:8080/) a t supprim probablement par NetBeans ce qui mempchait daccder au manager via cet url. Cette erreur ne sest produite quune seule fois et je ne suis donc pas sr de la cause. Jai rencontr quelques problmes de compatibilit entre Richfaces et Tomahawk. Etant donn que ce bug est li aux librairies, le seul moyen de rsoudre ce problme ou plutt de le contourner est de rcrire dune autre faon le code. Les composants Richfaces peuvent tre trs capricieux certaines fois. Lexemple des menus droulants implments dans le pilote est parlant. Ceux-ci fonctionnaient bien sparment et ds quils ont t intgrs au pilote, ils avaient un comportement anormal (du un problme sur les vnements Ajax) alors que le code de ces composants tait inchang. Ce nest quavec laide dune astuce que ce problme fut rsolu. En tant que dbutant en JSF, le choix du scope nest pas forcement vident au dbut et plusieurs fois mes beans taient en request et non en session ce qui provoquait des pertes de donnes. La documentation et l'aide sur Richfaces sont dures trouver : part le forum de JBoss et developpez.net, il y a trs peu dendroit o trouver des renseignements sur la manire dutiliser tel ou tel composant. Par consquent, un temps considrable est pass rechercher de la documentation ou le moyen de rsoudre un problme. Du fait de lutilisation de Richfaces et donc dAjax, les vnements ont des priorits et par exemple, une action Ajax va tre traite avant une action JSF normale. Cet exemple peut sembler simple mais lorsquon multiplie les actions raliser cela devient un vritable casse-tte pour dterminer le bon ordre surtout si ces actions sont dpendantes les unes des autres.
LIMOUZIN Arnaud
Page 20
Architecture de lapplication
Pour implmenter lapplication Panneaux dAffichage tout en respectant le modle MVC (Modle, Vue, Contrleur) et en obissant aux rgles dfinies par JSF, il est ncessaire de mener une rflexion complte sur larchitecture adopter. Mon principal problme tait de diffrencier les Managed Beans du contrleur et les Entity Beans de la couche entit. Cela donnait des Beans qui nappartenaient aucune des deux catgories. Pour mieux comprendre et viter ce problme, Il faut voir les Entity Beans comme des classes qui reprsentent des objets de la base de donnes. Ainsi, on va trouver dans la couche entit un UserBean et un MessageBean dont les attributs ean seront accessibles par des getters et setters. Dans ces beans, aucun ou peu de traitement de donnes est effectu.
LIMOUZIN Arnaud
Page 21
Base de donnes
Suite au changement de version de lapplication et au rajout de nouvelles fonctionnalits, lancienne base de donnes est devenue obsolte. Des champs tels que isValidate pour un message taient ncessaires pour rpondre au cahier des charges. En se basant sur lexistant, les tables ont t repenses afin de les simplifier et leur ajouter les attributs qui savraient essentiels pour la suite du dveloppement. Figure D schma des relations entre les tables de la base de donnes
LIMOUZIN Arnaud
Page 22
Les attributs de rle et de domaine de la table user ont aussi une grande importance dans le droulement de lapplication. En effet, le rle dterminera les pages accessibles par lutilisateur. Un validateur par exemple ne pourra pas consulter la liste des utilisateurs de linterface pour une facult donne, page rserv aux administrateurs. Enfin le domaine, permet dassocier une facult chaque utilisateur. Lors de la recherche de message, ce champ va permettre de nafficher que les utilisateurs appartenant la mme facult.
Workflow
Lobjectif principal de ce stage tait lintgration dun workflow dans linterface web de gestion des messages diffuss sur crans gants. Par dfinition, un workflow dcrit le circuit de validation, les tches accomplir entre les diffrents acteurs d'un processus, les dlais, les modes de validation, et fournit chacun des acteurs les informations ncessaires pour la ralisation de sa tche. Il faut donc pouvoir suivre lvolution dun message jusqu sa validation ou son refus. Aprs une tude sur la manire dimplmenter ce workflow et aprs concertation avec les autres personnes impliques par cette fonctionnalit (ceux qui soccuperont de la validation des messages), nous nous sommes accords sur le processus de validation reprsente par le diagramme dactivit la page suivante. A cause de la grande taille de limage, les commentaires trop petits ont t placs en lgende de limage. Le workflow requiert la mise en place de beaucoup de fonctionnalits avant de pouvoir en tester lefficacit. Par consquent, seules quelques tapes du processus ont t testes pendant le stage et le fonctionnement global du workflow na t test que rcemment. Ce dernier test sest droul sans problme et a prouv la bonne marche du processus de validation. Lessentiel de la gestion des tapes de validation dun message repose sur les quatre boolens vus prcdemment pour la base de donnes. Ainsi chaque action va modifier les champs de visibilit et va faire avancer le message dans le cycle de validation du worklow. Suivons maintenant les tapes ralises par un message au cours de son processus de validation. LIMOUZIN Arnaud Page 23
Figure E diagramme dactivit du workflow Aprs cration du message, le validateur de la facult auquel est li lauteur va recevoir une notification de nouveau message par mail. Aprs stre connect lapplication, le validateur vrifie si le message est correct. Dans ce cas, il le valide ou effectue une lgre modification en cas derreur dorthographe par exemple. Un message qui ne peut tre valid mme aprs correction sera tout simplement supprim et lauteur averti de cette action. En cas de refus, lauteur est averti de la possibilit de modifier son message et peut corriger son message. Cette modification sera signale au validateur qui pourra alors choisir de valider son message ou non. Et la boucle est boucle. LIMOUZIN Arnaud Page 24
LIMOUZIN Arnaud
Page 25
Scurit
Etant donne que linterface web Panneaux dAffichage est destine un large public (<200 personnes), la notion de scurit est importante. Dans un premier temps mes recherches mont amenes des solutions non adapt lapplication. Ce nest que mi-aot que jai trouv une solution qui me convenait parfaitement. Elle consiste tablir un filtre de servlet qui va imposer une nouvelle tape dans le cycle de vie JSF. Ainsi, en cas de tentative daccs direct par url sans authentification pralable, la personne est redirige vers la page de connexion. Laccs direct aux fichiers avec lextension .jsp est aussi interdit et lve une erreur HTTP 403. Dans la suite de lintgration de la scurit, les messages derreur tels que HTTP 403 (accs interdit ou session expire), 404 (page non existante) et 500 (erreur lie du serveur) ont t personnaliss. Pour raliser sa fonction, le filtre de servlet vrifie dans un premier temps sil connat la page de destination. Si oui, il vrifie la prsence dune session puis du mail mmoris lors de la connexion lapplication. Dans le cas, o le mail est absent cela signifie que la personne nest pas ou plus connecte et sil est prsent on vrifie si lutilisateur a les droits suffisants pour charger la page demande.
LIMOUZIN Arnaud
Page 26
La page de connexion se rvle trs simple : un champ pour le login et un pour le password. Lorsque lun des champs est vide, que lemail nest pas valide (@unige.ch) ou que le mot de passe et le login ne correspondent pas, une erreur est gnre et affiche lcran. La fonctionnalit de rappel de mot de passe permet en prcisant son mail de recevoir cette adresse un second mot de passe qui remplacera temporairement lancien et permettra de le changer facilement.
Pour crer un message et lenregistrer, il faut remplir plusieurs informations obligatoires. La premire tape est le choix de la facult que lon dtermine via trois menus droulants. Le contenu du deuxime menu est dpendant du choix fait dans le premier et il en est de mme pour le troisime et le second.
LIMOUZIN Arnaud
Page 27
Scnario 3 : prvisualisation dun message La fonctionnalit de prvisualisation est prsente sur deux pages de lapplication : celle ddition et celle de validation des messages. Les deux sont identiques mis part des informations supplmentaires pour le validateur dont les btiments de destination, les dates de diffusion, lauteur et la dernire personne ayant effectue une modification sur le message. Il est possible de prvisualiser un message en cliquant sur le bouton Aperu ou en cliquant sur licne ci-contre. Aprs avoir effectu cette action, une popup (modalpanel) souvrira et une image reprsentant lapparence du message sur les crans gants apparaitra. Pour quitter ce mode, il suffit de fermer la popup en cliquant sur la croix en haut droite.
LIMOUZIN Arnaud
Page 28
Scnario 5 : recherche dun message et fonctions associes Retrouver un message afin de le modifier est parfois trs utile. Cette fonction permet de lister les messages dont la date de diffusion nest pas dpasse et dont lauteur appartient la mme facult que la personne connecte. Aprs avoir slectionn un auteur, la liste des messages qui lui est associe apparait. Si le nombre de message est suprieur trois, un scroller permet datteindre les messages suivants. La premire remarque est licne associe chaque message :
Celles-ci reprsentent ltat du message soit respectivement en attente de validation, visible et non visible. Ensuite, le corps du message avec le titre, le texte et la prsence dune image est prsent.
Enfin, si vous avez slectionn votre nom dans la liste, la possibilit de supprimer le message vous est offerte en cliquant sur licne reprsentant une poubelle. Une confirmation de la suppression est alors ncessaire pour viter une mauvaise manipulation. Le but de la recherche est souvent de modifier un message existant et pour cela, vous devrez cliquez sur le numro associ au message, la page ddition des messages souvrant en consquence. Le contenu et les caractristiques du message slectionn seront affichs dans les sections correspondantes et peuvent tre modifis facilement.
LIMOUZIN Arnaud
Page 29
Scnario 8 : Gestion des utilisateurs Ouvrir cette interface web un grand nombre de personnes impose de grer ces dernires. Les super-administrateurs, validateurs et administrateurs sont dfinis lavance. Par consquent, ce sont les personnes nappartenant pas ces catgories qui sont viss. Une fois sur la page concerne (laccs est rserv aux administrateurs), deux actions sont possibles : Ajouter un utilisateur en prcisant son mail, son prnom, son nom et sa facult. Consulter la liste des personnes appartenant une facult donne. Toutefois, seuls les utilisateurs et validateurs sont visibles. Il est possible dexporter les adresses mails de cette liste via un document texte gnr dynamiquement ou tout simplement de supprimer un utilisateur aprs confirmation de cette action.
LIMOUZIN Arnaud
Page 30
Scnario 9 : changer le mot de passe Les utilisateurs prfrent utiliser un mot de passe qui leur est propre. Pour cela, lutilitaire de changement de mot de passe est trs utile et tout en respectant la confidentialit des informations, il oblige lutilisateur respect un certain degr de complexit pour le nouveau mot de passe. Lors de loubli de son mot de passe, la personne concerne pourra renouveler celui-ci grce un code de connexion temporaire et cette fonctionnalit.
La vrification avant le changement du mot de passe impose plusieurs tapes : Le nouveau mot de passe doit tre identique au nouveau mot de passe bis Le nouveau mot de passe doit tre diffrent de lancien Le mot de passe actuel doit tre celui stock dans la basse de donne (pour plus de scurit, celui-ci est crypt) Le nouveau mot de passe doit possder un minimum de huit caractres dont une lettre et un chiffre.
Aprs validation, un message averti lutilisateur de la russite ou de lchec du changement en dtaillant lerreur dans le deuxime cas.
LIMOUZIN Arnaud
Page 31
LIMOUZIN Arnaud
Page 32
LIMOUZIN Arnaud
Page 36
Figure 10 Page pour les questions frquentes (FAQ) en dveloppement LIMOUZIN Arnaud Page 37
Figure 12 Liste des utilisateurs dune facult gnre dans un document txt
LIMOUZIN Arnaud
Page 38
LIMOUZIN Arnaud
Page 39
LIMOUZIN Arnaud
Page 41
LIMOUZIN Arnaud
Page 44
LIMOUZIN Arnaud
Page 45
Editeur : Eyrolles Auteur : A. Goncalves Nb de pages : 330 pages Langue : Franais Ouvrage qui traite de la plateforme J2EE dans sa nouvelle version Java EE5. Core JavaServer Faces (Second Edition) Editeur(s) : Prentice Hall Auteur(s) : D. Geary, C. Horstmann Nb de pages : 752 pages Langue : Anglais Livre ddi lutilisation des JSF et une rfrence pour dbuter.
CV
En dernire page : CV ayant servi la recherche de stage
LIMOUZIN Arnaud
Page 46