rapport de pfe smail et amira

Upload: rafik-van-buuren

Post on 18-Jul-2015

7.281 views

Category:

Documents


12 download

TRANSCRIPT

DdicaceToutes les lettres ne sauraient trouver les mots quil faut. . . Tous les mots ne sauraient exprimer la gratitude, lamour, le respect, la reconnaissance. . . Aussi, cest tout simplement que je ddie ce projet de n dtude....

A mes chers parents : Slimen et ZohraAutant de phrases et dexpressions aussi loquentes soient-elles ne sauraient exprimer ma gratitude et ma reconnaissance. Vous avez su minculquer le sens de la responsabilit, de loptimisme et de la conance en soi face aux difcults de la vie. Vos conseils ont toujours guid mes pas vers la russite. Votre patience sans n, votre comprhension et votre encouragement sont pour moi le soutien indispensable que vous avez toujours su mapporter. Je vous dois ce que je suis aujourdhui et ce que je serai demain et je ferai toujours de mon mieux pour rester votre ert et ne jamais vous dcevoir. Que Dieu ,le tout puissant, vous prserve, vous accorde sant, bonheur, quitude de lesprit et vous protge de tout mal.

A mes adorables soeurs : Wided et Oumeyma mon cher frre : OussamaMerci dtre toujours mes cts, par votre prsence, par votre amour dvou et votre tendresse, pour donner du got et du sens ma vie. En tmoignage de mon amour et de ma grande affection, je vous prie de trouver dans ce travail lexpression de mon estime et mon sincre attachement. Je prie Dieu, le tout puissant, pour quil vous donne bonheur et prosprit.

A mes chers grands parents : Mhamed, Saida et FatmaQue ce modeste travail, soit lexpression des voeux que vous navez cess de formuler dans vos prires. Que Dieu vous prserve sant et longue vie.

i

A la mmoire de mon cher grand pre : AbdoullahQui a t toujours dans mon esprit et dans mon coeur, je te ddie aujourdhui ma russite. Que Dieu, le misricordieux, taccueille dans son ternel paradis.

A tous les membres des familles : Chelbi et khemira A mes oncles, mes tantes ainsi que mes cousins et mes cousinesPuisse ce travail tmoigner de ma profonde affection et de ma sincre estime

A ma chre amie : Fatma ZahraJe ne pourrais jamais exprimer le respect et lamour que jai pour vous. Vos encouragements et votre soutien mont toujours t dun grand secours. Puisse Dieu, le tout puissant vous combler de sant et de bonheur.

A mes adorables amies : Sahar et OlfaVVotre amiti est un honneur et une ert pour moi. Je vous remercie davoir embelli ma vie par de prcieux moments de bonheur. Jespre du fond de mon coeur que vous trouverez dans ce travail lexpression de mon amour et de mon estime les plus sincres. Que Dieu, le tout puissant claire votre vie de sant, de bonheur et de succs.

A ma chre amie :FedraJe vous ddie ce travail en hommage votre affection amicale et votre encouragement motivant. Que Dieu, le tout puissant claire votre vie de sant, de bonheur et de succs.

A ma chre professeur : Mme Salma Ben SlemaVotre conance et encouragement taient le ambeau qui a clair mes moments de dsespoir. Je tiens travers cette modeste ddicace vous exprimer toute mon affection et respect. Puisse Dieu, tout puissant vous procurer sant et jouissance.

A mon cher ami : IssamTon aide et ton encouragement mont donn lespoir et la persvrance dachever ce travail. Que Dieu le tout glorieux te donne sant, joie et russite.

ii

A mes chers amis : Noura, Manel, Elyes, HoussemVotre prcieuse collaboration et votre soutien amical mont t source dinspiration et dencouragement. Puisse Dieu vous donner le bonheur et la prosprit.

A mes chers amis : Fatma, Amel, Ines , Khawla , Chayma , Soukaina Marwa, Neila, Ahmed, HoussemJe vous remercie pour les moments inoubliables que nous avons partags ensemble et pour le plaisir dont jai jouis avec vous. Succs et joie sont mes sincres voeux pour vous.

A tous mes amis de la 3me annes Licence Fondamentale Informatique et MultimdiaCest une grande ert et honneur pour moi dtre parmi vous.

A tous mes enseignants et toutes mes enseignantesIl vous revient le mrite de mavoir prodigu un enseignement protable et une formation complte. Veuillez accepter mes remerciements les plus sincres.

Aux honorables femmes de mnage de lInstitut Suprieur dInformatique et Multimdia de GabsAvec toute mon affection pour votre aimable sourire qui nous accueille chaque jour et tout mon estime et respect pour le sacrice que vous faites pour vivre en dignit et honneur.

A tous ceux dont loubli du nom nest pas celui du coeur. . . Amira

iii

Soyons reconnaissants aux personnes qui nous donnentdu bonheur ; elles sont les charmants jardiniers par quinos mes sont euries.[Marcel Proust] Je ddie ce projet de n dtude . . ..

A mes chers parents : Hamadi et FatihaTous les mots du monde ne sauraient exprimer limmense amour que je vous porte, ni la profonde gratitude que je vous tmoigne pour tous les efforts et les sacrices que vous navez jamais cess de consentir pour mon instruction et mon bien-tre. Cest travers vos encouragements que jai opt pour la russite dans mes tudes, et cest travers vos critiques que je me suis ralise. Jespre avoir rpondu aux espoirs que vous avez fonds en moi. Je vous rends hommage par ce modeste travail en guise de ma reconnaissance ternelle et de mon inni amour. Vous rsumez si bien le mot parents quil serait superu dy ajouter quelque chose. Que Dieu tout puissant vous garde et vous procure sant, bonheur et longue vie pour que vous demeuriez le ambeau illuminant le chemin de vos enfants.

A mes chres soeurs : Amira, Mariem, Asma mon cher frre : MohamedJe ne peux exprimer travers ses lignes tous mes sentiments damour et de tendresse envers vous. Puisse lamour et la fraternit nous unissent jamais. Je vous souhaite la russite dans votre vie, avec tout le bonheur quil faut pour vous combler.

A mes chers grands parents : Abdessalem et MnAucune ddicace ne saurait exprimer tout ce que je ressens pour vous. Je vous remercie pour tout le soutien exemplaire et lamour exceptionnel que vous me portez depuis mon enfance et jespre que votre bndiction maccompagnera toujours.

A la mmoire de mes chers grands parents : Mohamed, HabibaLe destin ne nous a pas laiss le temps pour jouir ce bonheur ensemble et de texprimer tout mon respect. Puisse Dieu tout puissant vous accorder sa clmence, sa misricorde et vous accueillir dans son saint paradis.

iv

A tous les membres des familles : Ben Hammouda et El Bach A mes oncles, mes tantes ainsi que mes cousins et mes cousinesVeillez percevoir travers ce travail, lexpression de ma profonde affection et norme respect. Avec tout lamour que je vous porte, je vous souhaite beaucoup de bonheur dans votre vie.

A ma chre professeurs : Monia Al Abed, Olfa Daasi, Souhir Ftrich, Sahar Dridi et Hajri ImenVeuillez accepter lexpression de ma profonde gratitude pour votre soutien, encouragements, et affection. Jespre que vous retrouvez dans la ddicace de ce travail, le tmoignage de mes sentiments sincres et de mes voeux de sant et de bonheur.

A mes chres amies : Nesrine, Raja , Aicha, Tasnim , Manel, Chiraz et TakwaPermettez-moi de vous tmoigner tout le respect que vous mritez ainsi que ma profonde affection. Merci pour votre soutien et votre encouragement. Puisse ce travail tre le tmoignage de mes sentiments sincres. Je vous souhaite le bonheur et la sant.

A mes chers ami : Anis et JalelJe tiens travers cette modeste ddicace vous exprimer toute mon affection et respect. Puisse Dieu, tout puissant vous procurer sant et jouissance.

A mon cher ami : IssamTon aide et ton encouragement mont donn lespoir et la persvrance dachever ce travail. Que Dieu le tout glorieux te donne sant, joie et russite.

A mes chers amis : Aymen, Emna, Abla, Islem, Heyfa, Chyama, Hajer, Nesrine, Besma, Salah, Sami, Samah, Sana, Slim, Ahmed, Marwa, Raaa, Imen, Limem et OuaisQui font partie de ces personnes rares par leur gentillesse, leur tendresse et leurs grands coeurs. Quils trouvent ici, le tmoignage de tout mon amour et toute ma reconnaissance pour leur inlassable soutien. Je vous souhaite une vie pleine de russite, de sant et de bonheur. v

A mes chers amis : Yesmine, Chayma, Ahmed, Amira, Souka, Houssem, Islah, Saffa, Sinda, Marwa, Nourhene, Nesrine, khawla, Nada, Aicha, Heifa, Abdallah, Amor, Chiraz, Nawras, Mootez, Ines, Jihed, Manel, Elyes, Abdessalem, Sami, AbderazakMerci pour votre amour, votre amiti. Vous tiez toujours l pour me soutenir, maider et mcouter. Que Dieu vous protge et vous procure joie et bonheur et que notre amiti reste jamais.

A tous les membres du Club DADAJe vous remercie pour les moments inoubliables que nous avons partags ensemble et pour le plaisir dont jai jouis avec vous. Succs et joie sont mes sincres voeux pour vous.

A tous mes amis de la 3me annes Licence Fondamentale Informatique et MultimdiaMerci pour les bons moments quon a pass ensemble, pour votre amiti et pour votre soutien.

A tous mes enseignants et toutes mes enseignantesIl vous revient le mrite de mavoir prodigu un enseignement protable et une formation complte. Veuillez accepter mes remerciements les plus sincres.

A tous ceux dont loubli du nom nest pas celui du coeur. . . SMAiL

vi

Remerciement"Vois comme cette petite chandelle rpand au loin sa lumire ! Ainsi rayonne une bonne action dans un monde malveillant." [William Shakespeare]

Aprs nos sincres reconnaissances Allah le tout glorieux, nous tenons exprimer nos vifs remerciement :

A nos encadreurs : Monsieur Heni Saber et Monsieur Khila AnisNous tmoignons toute notre reconnaissance vous pour vos conseils prcieux, votre aide et votre entier encadrement.

A Mme Daassi OlfaVotre comptence, votre dynamique, votre rigueur et vos qualits humaines et professionnelles ont suscit en nous une grande admiration et un profond respect. Nous voudrons tre dignes de la conance que vous nous avez accorde et vous prions, chre Mme, de trouver ici le tmoignage de notre sincre reconnaissance et profonde gratitude.

A Mme Hajri ImenNos sincres remerciements pour votre extrme courtoisie, votre aide. Vous tes bien veillant, aimable et vous nous avez soutenus tout au long de la ralisation de notre projet. Nous vous remercions pour votre gentillesse, votre disponibilit et les conseils que vous nous avez prodigus. Vous tes un honneur lenseignement, nous vous respectons normment.

A Mme Dridi SaharNous vous reconnaissons la gentillesse et la spontanit avec lesquelles vous avez bien voulu supporter ce travail. Vous vous y tes grandement impliqus par vos remarques et suggestions, mais aussi par vos encouragements dans les moments cls de son laboration. vii

A Monsieur Tmar Hedi , Monsieur Khemakhem Mohamed Ali et Mme Bettahar FathiyaVous avez eu lamabilit de discuter avec nous certains points cls de notre projet, vos remarques pertinentes contribueront sans doute au perfectionnement du prsent travail. Nous avons toujours admir vos qualits humaines et professionnelles ainsi que votre comptence et votre disponibilitchaque fois que vous tiez sollicits Veuillez accepter, chers professeurs lassurance de notre estime et profond respect.

A Monsieur Chhata Amor ( Chef dagence STB Msaken) et Mme Ammoudi Hazar (Second Chef dagence STB Sousse)Nous tions trs touchs par la gentillesse avec la quelle vous nous avez reus et nous sommes reconnaissants pour laide prcieux que vous nous avez apport.

A Monsieur Slim Ben Hazem (Chef Service Informatique), Monsieur Hedi Chkir (Second Chef Service Informatique), Monsieur Dhaker Ben Ahmed (Chef Service Commercial ) ainsi que toutes les personnes dvoues au fonctionnement de lHtel Movenpick Resort & Marine Spa SousseNous vous exprimons notre sincre reconnaissance et gratitude pour votre accueil chaleureux, votre prcieuse collaboration et la conance que vous avez tmoigne lgard de notre travail.

Aux membres de juryNous vous sommes trs reconnaissants de lhonneur que vous nous faites en acceptant de juger ce travail. Veuillez accepter lassurance de notre estime et profond respect. A lInstitut Suprieur dInformatique et Multimdia de Gabs A tous ceux qui ont contribu de prs ou de loin llaboration de ce travail.

viii

Table des matires1 2 Introduction gnrale Prsentation gnrale 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Prsentation du centre de formation Polytechnique . . . . . . . 2.3 Prsentation de lhtel Movenpick Resort & Marine Spa Sousse . 2.4 Prsentation de la gestion htelire . . . . . . . . . . . . . . . . 2.5 Domaine dtude . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 3 3 3 4 4 4 5 5 5 5 6 6 7 7 8 8 9 10 10 10 11 11 11 11

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

3

Analyse de besoins 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Etude de lexistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Analyse de lexistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Critique de lexistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Description de besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Prsentation de la technologie JEE . . . . . . . . . . . . . . . . . . . . . 3.3.2 Prsentation de larchitecture MVC . . . . . . . . . . . . . . . . . . . . 3.3.2.1 Structure et caractristiques . . . . . . . . . . . . . . . . . . . 3.3.2.2 Diffrence entre larchitecture trois tiers et larchitecture MVC 3.3.2.3 Avantages de larchitecture MVC . . . . . . . . . . . . . . . . 3.3.3 Prsentation de la visite virtuelle interactive . . . . . . . . . . . . . . . . 3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

4

Conception 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Intrt de la modlisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Le langage UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ix

TABLE DES MATIRES

4.4

4.5

4.6 5

4.3.1 Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vues statiques du systme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Diagramme de cas dutilisation . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1.2 Diagramme de cas dutilisation "Internaute" . . . . . . . . . . . . . 4.4.1.2.1 Documentation des cas dutilisation . . . . . . . . . . . . 4.4.1.3 Diagramme de cas dutilisation "Administrateur" : . . . . . . . . . . 4.4.1.3.1 Documentation des cas dutilisation . . . . . . . . . . . . 4.4.1.4 Diagramme de cas dutilisation " Employ de service de rception " . 4.4.1.4.1 Documentation des cas dutilisation . . . . . . . . . . . . 4.4.1.5 Diagramme de cas dutilisation " Employ de service de consommation " : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1.5.1 Documentation des cas dutilisations . . . . . . . . . . . . 4.4.2 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2.2 Diagramme de classes de lapplication de rservation htelire . . . Vues dynamiques du systme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Diagrammes de squences . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1.1 Cas dutilisation : Authentication Administrateur . . . . . . . . . . 4.5.1.2 Cas dutilisation : Gestion Client . . . . . . . . . . . . . . . . . . . 4.5.1.3 Cas dutilisation : Effectuer Rservation (Internaute) . . . . . . . . . 4.5.2 Diagrammes dactivits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.2.1 Cas dutilisation : Effectuer Rservation normale (Internaute) . . . . 4.5.2.2 Cas dutilisation : Effectuer Rservation rapide (Internaute) . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 12 12 12 12 13 14 15 17 17 19 19 20 21 21 22 23 23 24 25 27 27 28 29 30 31 31 31 31 31 32 32 32 32 32

Implmentation 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Environnement technique . . . . . . . . . . . . . . . . . . . 5.2.1 Environnement matriel . . . . . . . . . . . . . . . 5.2.2 Environnement logiciel . . . . . . . . . . . . . . . . 5.2.3 Etude des outils logiciels . . . . . . . . . . . . . . . 5.2.3.1 Serveur de donnes : WampServer . . . . 5.2.3.2 Serveur web : Apache-Tomcat 7.0.10 . . . 5.2.3.2.1 Prsentation et fonctionnalits . 5.2.3.2.2 Spcicits de la version 7.0.10 .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

x

TABLE DES MATIRES

5.3

Environnement de dveloppement intgr : Eclipse Helios . . . . . . Les frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3.4.1 Dnition dun framework . . . . . . . . . . . . . . . . . 5.2.3.4.2 Le framework Hibernate-distribution : . . . . . . . . . . . 5.2.3.4.3 Le framework Struts 1 . . . . . . . . . . . . . . . . . . . . 5.2.3.4.4 Le framework Spring . . . . . . . . . . . . . . . . . . . . 5.2.3.5 Bibliothque des tests unitaires : JUnit . . . . . . . . . . . . . . . . 5.2.3.6 Pilote de connexion la base de donnes : Mysql-connector . . . . . 5.2.3.7 Editeur de page web : Macromedia Dreamweaver 8 . . . . . . . . . 5.2.3.8 Logiciel de traitement dimage Photoshop CS3 . . . . . . . . . . . 5.2.3.9 Gnrateur des photos panoramiques : Autodesk Stitcher Unlimited 2009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3.10 Gnrateur de la visite virtuelle : Kolor Panotour Pro 1.5 . . . . . . Etapes de ralisation de lapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Ralisation de la visite virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Ralisation de lapplication de rservation htelire . . . . . . . . . . . . . . . 5.3.2.1 Construction de la couche modle . . . . . . . . . . . . . . . . . . 5.3.2.1.1 Gnration des classes mtiers partir du diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2.1.2 Gnration des classes DAO et DAOHBM . . . . . . . . . 5.3.2.1.3 Mapping Objet Relationnel . . . . . . . . . . . . . . . . . 5.3.2.1.4 Gnration des classes JavaBeans . . . . . . . . . . . . . 5.3.2.2 Test unitaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2.2.1 Rle du test unitaire . . . . . . . . . . . . . . . . . . . . . 5.3.2.2.2 Technique du test unitaire . . . . . . . . . . . . . . . . . . 5.3.2.2.3 Exemple dune classe test . . . . . . . . . . . . . . . . . . 5.3.2.3 Implmentation de la couche vue . . . . . . . . . . . . . . . . . . . 5.3.2.3.1 Dnition dune page JSP . . . . . . . . . . . . . . . . . . 5.3.2.3.2 Conguration du chier MessageRessources.Properties . . 5.3.2.3.3 Exemples dune page JSP . . . . . . . . . . . . . . . . . 5.3.2.4 Implmentation de la couche contrle . . . . . . . . . . . . . . . . . 5.3.2.4.1 Logique du fonctionnement . . . . . . . . . . . . . . . . . 5.3.2.4.2 Conguration de Struts.xml.cong . . . . . . . . . . . . . 5.3.2.4.3 Conguration de Validation.xml . . . . . . . . . . . . . . 5.3.2.4.4 Conguration de web.xml . . . . . . . . . . . . . . . . . . 5.3.2.5 Extraits des interfaces de lapplication . . . . . . . . . . . . . . . .

5.2.3.3 5.2.3.4

33 33 33 33 34 34 35 35 35 35 36 36 36 36 36 37 37 38 38 39 40 40 40 40 40 41 41 41 41 41 42 43 43 43

xi

TABLE DES MATIRES

5.4 6 7

Interface Administrateur : "Afchage de toutes les rservations" . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2.5.2 Interface Administrateur : "Ajout dune rservation" . . . 5.3.2.5.3 Interface Administrateur : "Modication dune rservation" 5.3.2.5.4 Interface Administrateur : "Suppression dune rservation" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2.5.5 Interface Administrateur : "Recherche dune rservation" . 5.3.2.5.6 Interface Administrateur : "Impression de la liste des rservations" . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2.5.7 Interface Administrateur : "Dtails dune rservation" . . . 5.3.2.5.8 Interface Employ de Consommation : "Afchage de toutes les consommations" . . . . . . . . . . . . . . . . . . . . . 5.3.2.5.9 Interface Employ de Rception : "Afchage de tous les clients de type Personne" . . . . . . . . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.3.2.5.1

43 44 45 47 49 50 51 52 53 53 54 56 56 57 58 59 59 60 60 61 61 62 63 63

Conclusion gnrale Annexes 7.1 Annexe 1 . 7.2 Annexe 2 . 7.3 Annexe 3 . 7.4 Annexe 4 . 7.5 Annexe 5 . 7.6 Annexe 6 . 7.7 Annexe 7 . 7.8 Annexe 8 . 7.9 Annexe 9 . 7.10 Annexe 10 . 7.11 Annexe 11 . 7.12 Annexe 12 .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

xii

Table des gures3.1 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 Le Patron MVC [13]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagramme de cas dutilisation "internaute" . . . . . . . . . . . . . . . Diagramme de cas dutilisation "administrateur" . . . . . . . . . . . . Diagramme de cas dutilisation " Employ de service de rception " . . Diagramme de cas dutilisation " Employ de service de consommation" Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . Diagramme de squence "Authentication Administrateur" . . . . . . Diagramme de squence "Ajout Client" . . . . . . . . . . . . . . . . . Diagramme de squence " Supprimer Client" . . . . . . . . . . . . . . Diagramme de squence "Effectuer Rservation (par linternaute)" . . . Diagramme dactivits Effectuer Rservation normale (par linternaute) Diagramme dactivits Effectuer Rservation rapide (par linternaute) . Architecture dHibernate [20]. . . . . . . . . . . . . . . . . . . . . . . Fonctionnement global de Struts[21]. . . . . . . . . . . . . . . . . . . Afchage de toutes les rservations . . . . . . . . . . . . . . . . . . . . Ajout dune rservation . . . . . . . . . . . . . . . . . . . . . . . . . . Modication dune rservation (Formulaire de slection de rservation) Modication dune rservation (Formulaire de modication) . . . . . . Modication dune rservation (Page de conrmation de modication) . Suppression dune rservation (Formulaire de slection de rservation) . Suppression dune rservation (Formulaire de Suppression) . . . . . . . Suppression dune rservation (Page de conrmation de Suppression) . Recherche dune rservation (Formulaire de slection de rservation) . . Impression de la liste des rservations . . . . . . . . . . . . . . . . . . Dtails dune rservation . . . . . . . . . . . . . . . . . . . . . . . . . Afchage de toutes les consommations . . . . . . . . . . . . . . . . . . Afchage de tous les clients de type Personne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 13 16 18 20 22 24 25 26 27 28 29 34 42 43 44 45 46 46 47 48 48 49 50 51 52 53

xiii

Chapitre 1 Introduction gnrale"Avec la popularit sans cesse croissante de lInternet, il y a tout lieu de penser que les hteliers devront investir davantage dans les TIC ou dans de nouveaux outils capables dapporter de linformation supplmentaire leur clientle" [Willia Menvielle] Vu la progression successive des nouvelles technologies de linformation et de communication au sein du monde rel, la vie conomique sera plus difcile pour la majorit des entreprises pour tre comptitives et pour acclrer leur ractivits. Elles doivent maitriser leur environnement et valoriser leur patrimoine informationnel. Dans ce contexte, la plupart des oprateurs publics et privs du secteur touristique et bien spciquement les htels ont investi de manire importante dans les programmes de dveloppement technologique et logiciel. Ces derniers bien quils reprsentent un cot de ralisation et de mise en oeuvre assez important, ils permettent de rduire les dpenses de production et damliorer la rentabilit de lhtel. En effet, lobjectif majeur des dirigeants de ces htels est de grer efcacement leur entreprise, dvelopper les ventes, rationaliser les offres et fournir des services dune qualit comptitive. A cet objectif sajoute la ncessit dadopter des moyens efcaces dinteraction et de communication avec la clientle. Do le besoin dun systme de gestion efcace qui permet la fois de grer la structure interne de lhtel tout en organisant son systme dinformation et dtablir un canal de communication et dchange avec son environnement clientle. Une telle stratgie de gestion de donnes base sur la coopration et le partage des informations et de prise de dcision peut tre assure par des plateformes telles que le J2EE. Quant linteractivit et lattraction de la clientle peut samliorer avec lintgration dune visite virtuelle de lhtel qui assure la promotion des services offerts. 1

CHAPITRE 1. INTRODUCTION GNRALE

Dans ce cadre, le sujet intitul "Conception et ralisation dune application web de rservation htelire" a t propos an de dvelopper une application permettant de grer les diffrentes tches de la rservation htelire et assurant limplication du client dans une partie de ces tches. Ce rapport du projet de n dtudes comporte quatre chapitres dans lesquels on a dtaill les tapes suivies pour laborer notre projet : Le premier chapitre prsente le cadre du projet, en donnant une ide synthtique sur le milieu professionnel de sa ralisation ainsi que le secteur de gestion htelire auquel notre application est destine. Le deuxime chapitre est consacr ltude dtaille des besoins des htels une application web de gestion de rservation et met laccent sur les apports positifs de lintgration dune visite virtuelle dans cette application. Le troisime chapitre dtaille la modlisation de lapplication avec le langage UML tout en mettant en vidence les diffrentes notions de ce langage. Le quatrime chapitre prsente les diffrents aspects techniques utiliss au cours du projet, avec quelques interfaces explicatives de lapplication.

2

Chapitre 2 Prsentation gnrale" Le commencement est beaucoup plus que la moiti de lobjectif " [Aristote]

2.1

Introduction

Dans ce chapitre, on prsente le centre au sein duquel on a ralis notre projet, lhtel auquel une partie de notre application est destine ainsi que le secteur de rservation htelire vis par notre application.

2.2

Prsentation du centre de formation Polytechnique

Le centre de formation Polytechnique prsente le cadre professionnel de la ralisation de notre projet de n dtudes. Il sagit dun tablissement de formation polyvalente dans diffrents sections dinformatique et dlectronique. Le cadre administratif comporte : Un directeur gnrale qui prend en charge la gestion du centre et lorganisation des emplois du temps Une secrtaire qui a comme mission laccueil et la xation des rendez-vous du directeur Les formateurs qui assurent lenseignement et le suivi des apprentis

2.3

Prsentation de lhtel Movenpick Resort & Marine Spa Sousse

Mvenpick Hotels & Resorts est une socit de gestion dhtels implante dans 26 pays, avec plus de 90 htels existants ou en construction et comptant plus de 12000 employs. La chane est prsente sur les marchs principaux en Europe, au Proche- et Moyen-Orient, en Afrique et en Asie. Il est dtenu par Mvenpick Holding (66,7 %) et le Groupe Kingdom (33,3 %). Lhtel Movenpick Resort &

3

CHAPITRE 2. PRSENTATION GNRALE

Marine Spa Sousse est un htel de la chaine Mvenpick Hotels & Resorts dot de cinq toiles de luxe. Il est ouvert depuis le 1er avril 2010 et il compte de 583 chambres et 35 suites[9].

2.4

Prsentation de la gestion htelire

La gestion htelire est un secteur conomique promoteur et actif lchelle mondiale qui se caractrise essentiellement par lvolutivit et la uctuation permanente. Ce secteur est fortement soumis aux exigences concurrentielles dont la perspective majeure est dtendre la base clientle et amliorer la rputation de lhtel. A ces exigences sajoute la proccupation des dirigeants de promouvoir leur moyens de marketing et de publicit an de garantir une communication efcace avec lenvironnement socio-conomique de leur entreprise.

2.5

Domaine dtude

Dans le cadre de notre projet, on sintresse la gestion de rservation qui prsente une parmi les tches importantes et basiques de la gestion htelire. Alors, une telle importance fonctionnelle gnre plusieurs exigences et normes respecter qui se rsument essentiellement dans : la prcision des informations, la performance des services, la scurit des oprations, la restauration des donnes, lextensibilit et exibilit du systme de gestion ainsi que la facilit de son utilisation et de sa maintenance. De mme, le succs et le dveloppement du secteur de rservation htelire dpend en grande partie de linteractivit et la communication avec les clients.

2.6

Conclusion

Aprs la prsentation du cadre professionnel et fonctionnel du projet, on dtaille dans le chapitre suivant ltude analytique des besoins.

4

Chapitre 3 Analyse de besoins"Tout besoin non satisfait est une innovation en puissance" [ Marjoline de RAMECOURT Franois-Marie PONS]

3.1

Introduction

Lanalyse du systme informatique est indispensable pour sa ralisation. Elle nous donne une vision sur le futur systme travers ltude du systme actuel et des diffrents besoins du client.

3.2

Etude de lexistant

Il sagit dune tude valuative des systmes de rservation existants qui a aid laborer la conception du futur systme

3.2.1

Analyse de lexistant

Notre application concerne le service de rservation htelire que ce soit assur par les employs laide du systme informatique de lhtel ou effectu par le client en ligne via le site web ofciel de cet htel. Prenons alors cette classication : rservation locale et rservation en ligne. En ce qui concerne la rservation locale, une tude analytique faite sur les systmes informatiques de rservation installs au sein de certains htels montre que ces systmes se basent essentiellement sur loutil de gestion Excel qui se limite la mmoire centrale de lordinateur de lemploy responsable. Alors que la rservation en ligne est assure par les sites ofciels des htels, souvent dvelopps avec le langage PHP, et qui font appels des sites externes de centrales de rservation lorsquune opration de rservation est dclenche.

5

CHAPITRE 3. ANALYSE DE BESOINS

3.2.2

Critique de lexistant

Notre tude porte sur les applications de rservation disponibles en local ou en ligne via les sites ofciels des htels. Rservation locale : Les limites de loutil Excel sont lorigine des insufsances des applications utilises actuellement. Ces limites peuvent se rsumer en ces points : Labsence de la prise en charge des bases de donnes relationnelles ; La dcentralisation des donnes ce qui engendre des problmes de scurit et des difcults de mises jours lors des travaux collaboratifs ; La restriction sur la taille des chiers, ce qui pose un problme quand la volumtrie des donnes des htels ne fait que saccrotre ; La dfaillance lors du traitement des requtes complexes[10, 11]. Rservation en ligne : Linconvnient majeur des sites web hteliers qui recourent des sites de rservation externes est la complexit de la tche de rservation vu la multitude des tapes de navigation. Une telle complexit peut toucher la qualit de ce service et dvaloriser lattraction du site vu que le client cherche la simplicit et lefcacit temporelle [8]. En outre, certaines dfaillances notes dans ces sites ont comme origine lutilisation de la technologie PHP qui prsente les limites suivantes : La taille de donnes supportes est limite. Ceci soppose lvolutivit et lextensibilit exiges dans le domaine de rservation htelire ; La technologie PHP gnre des systmes un tiers o tous les codes et les scripts sont condenss au mme niveau. Un problme de difcult de maintenance et de dtection des anomalies fonctionnelles se pose dans ce cas ; Enn, la qualit de prsentation des sites hteliers pourraient encore tre enrichis dans le but damliorer linteractivit avec le client.

3.2.3

Description de besoins

Les htels ont besoin dune nouvelle application qui incorpore les fonctionnalits de base assures par les applications existantes tout en remdiant aux dfaillances techniques et en amliorant la performance du service de rservation.

6

CHAPITRE 3. ANALYSE DE BESOINS

En effet, ce service exige la scurit des oprations assure par lauthentication des utilisateurs du systme. Cette authentication permet, en plus de la restriction daccs aux agents ayant lautorisation, la spcication des fonctionnalits prsenter sur linterface de lapplication. Cela prserve la spcialisation des tches de lapplication selon la responsabilit de lemploy. En outre, les donnes doivent tre stockes dune faon centralise an de permettre dy accder facilement partir des diffrents services en collaboration avec le service de rservation. De mme, les fonctionnalits de lapplication doivent tre accessibles par internet et intgrer ses outils dans le site de lhtel an dliminer la navigation externe vers les sites de rservation et rduire alors la complexit de cette opration. Le systme de rservation doit tre capable de rcuprer les donnes relatives la requte lance que ce soit par lemploy ou ladministrateur via le systme local ou par le client via le site. Ainsi, elle doit permettre dimprimer les listes des donnes rcupres par les utilisateurs dans un format et une structure bien dnie. Pour amliorer lattraction du site de lhtel et enrichir ses services, lintgration des TIC savre primordiale pour favoriser chez le client lapprciation de la qualit de linformation publie.

3.33.3.1

SolutionPrsentation de la technologie JEE

Ladoption de la technologie JEE dans notre projet a deux objectifs principaux : Dvelopper une application de rservation htelire scurise, extensible, maintenable satisfaisant les besoins situs au pralable et remdiant aux dfaillances de lexistant ; Valoriser les buts pdagogiques du projet de n dtudes et acqurir de nouvelles techniques de travail. JEE est un standard approche multi-niveaux pour produire des applications dentreprise scurises, volutives et indpendantes de la plateforme. Ce standard dnit les services fournir par les serveurs dapplication certis JEE. Ces serveurs vont fournir aussi les conteneurs JEE dans lesquels les composants JEE vont sexcuter. Multiples sont les caractristiques de la technologie JEE, parmi lesquelles on peut citer principalement : La portabilit : qui signie la capacit de fonctionner plus ou moins facilement dans diffrents environnements dexcution ; 7

CHAPITRE 3. ANALYSE DE BESOINS

La performance et lvolutivit : cest--dire quun systme JEE peut voluer par le remplacement de certains de ses lments sans en provoquer la perturbation du fonctionnement ; Lextensibilit : dont le sens est la capacit dun systme JEE faire face des charges dutilisation variables . Ainsi, JEE est considre comme une solution complte pour la ralisation des applications dentreprise, qui supporte diffrents types de dveloppement tout en respectant lefcacit et les dlais dimplmentation. En outre, lorganisation du code et la bonne structuration des transactions sont classes parmi les exigences prioritaires de cette technologie [8].

3.3.23.3.2.1

Prsentation de larchitecture MVCStructure et caractristiques

La stratgie quon a suivie est de sparer les diffrentes couches de notre application pour gagner en lisibilit, en maintenabilit et facilit de dveloppement collectif, ceci explique notre choix du patron MVC (Modle-Vue-Contrleur ). MVC est une mthode de conception qui organise les applications logicielles. Ce paradigme divise lapplication en un modle de donnes, une vue qui reprsente la prsentation ou linterface utilisateur et un contrleur qui soccupe de la logique de contrle, la gestion des vnements et la synchronisation.. Cette mthode a t mise au point en 1979 par Trygve Reenskaug, qui travaillait alors sur Smalltalk dans les laboratoires de recherche Xerox PARC[12]. La sparation des proccupations assure par MVC implique des rles complmentaires des chaque niveau du patron : Le modle : reprsente les donnes de lapplication. Il dnit aussi linteraction avec la base de donnes et le traitement de ces donnes ; La vue : reprsente linterface utilisateur. Elle neffectue aucun traitement et se contente simplement dafcher les donnes que lui fournit le modle. Il peut tout fait y avoir plusieurs vues qui prsentent les donnes dun mme modle ; Le contrleur : gre linterface entre le modle et le client. Il va interprter la requte de ce dernier pour lui envoyer la vue correspondante. Il effectue la synchronisation entre le modle et les vues.

8

CHAPITRE 3. ANALYSE DE BESOINS

La gure ci dessous montre le modle MVC ainsi que les diffrentes interactions entre ses diffrentes couches :

F IGURE 3.1 Le Patron MVC [13]. Le traitement dune requte par le modle MVC suit le cheminement suivant : 1. Lutilisateur manipule linterface homme/machine. Un vnement est envoy. Cet vnement est rcupr par le contrleur ; 2. Le contrleur effectue laction demande par lutilisateur en appelant les mthodes ncessaires sur le modle ; 3. Le contrleur informe la vue dun changement dtat du modle ; 4. La vue interroge le modle an de connatre son tat ; 5. Lutilisateur voit le rsultat de son action[21]. 3.3.2.2 Diffrence entre larchitecture trois tiers et larchitecture MVC

Larchitecture trois tiers est un modle en couches, cest--dire, que chaque couche communique seulement avec ses couches adjacentes (suprieures et infrieures) et le ux de contrle traverse le systme de haut en bas. Les couches suprieures contrlent les couches infrieures, cest--dire, que les couches suprieures sont toujours sources dinteraction (clients) alors que les couches infrieures ne font que rpondre des requtes (serveurs). Dans le modle MVC, il est gnralement admis que la vue puisse consulter directement le modle (lecture) sans passer par le contrleur. Il permet de gnrer des vnements lors dune modication du 9

CHAPITRE 3. ANALYSE DE BESOINS

modle et dindiquer la vue quil faut se mettre jour. Par contre, elle doit ncessairement passer par le contrleur pour effectuer une modication (criture). Ici, le ux de contrle est invers par rapport au modle en couche, le contrleur peut alors envoyer des requtes toutes les vues de manire ce quelles se mettent jour[14]. 3.3.2.3 Avantages de larchitecture MVC

On peut rsumer les avantages du modle MVC en deux points principaux : Lindpendance des couches qui facilite leur modication et maintenance ; La synchronisation des vues : avec ce design pattern, toutes les vues qui montrent la mme chose sont synchronises.

3.3.3

Prsentation de la visite virtuelle interactive

Lobjectif de lintgration de la visite virtuelle dans le site ofciel de lhtel est damliorer linteractivit avec le client et enrichir lattraction et le potentiel promotionnel du site. Il sagit dun ensemble dimages panoramiques 360 prsentant variantes parties de lhtel sous diffrents points de vue. La visite virtuelle intgre dans notre application peut tre considre comme une version volue de visite car elle se caractrise par : Le panorama sphrique qui permet de voir un lieu dans son espace horizontal mais aussi vertical. Il donne lutilisateur la sensation de visiter le lieu dans sa globalit ; Linteractivit donnant lutilisateur la libert de choisir la direction de navigation, deffectuer des zooms pour augmenter limpression dimmersion chez lui ; Le guide de navigation qui explique le mode dutilisation et la fonctionnalit des diffrents outils de navigation ; Lintgration de diffrents points de vue relis les uns par rapport aux autres par des hot-spots (des points chauds). Ainsi, le spectateur a limpression de se dplacer dune image lautre ; Lintgration du son dambiance qui accompagne la navigation de lutilisateur pour lui offrir plus de divertissement[15].

3.4

Conclusion

Dans ce chapitre on a prsent les systmes de rservation actuels et leurs diffrentes failles. On a prsent aussi la solution pour avoir un systme plus robuste, plus exible et plus ergonomique. On dtaille dans le troisime chapitre les vues conceptuelles de notre systme. 10

Chapitre 4 Conception" De lirrel rsulte limpuissance ; ce que nous ne pouvons concevoir, nous ne pouvons le matriser. " [Wilhelm Reich]

4.1

Introduction

Dans ce chapitre nous prsentons la conception avec les diagrammes UML. On va prsenter les vues statiques et dynamiques travers les diagrammes de Cas dutilisation, de classes, de squence et dactivits.

4.2

Intrt de la modlisation

Pour faire face la complexit croissante des systmes dinformation, de nouvelles mthodes et outils ont t crs. La principale avance des quinze dernires annes rside dans la programmation oriente objet (P.O.O). Face ce nouveau mode de programmation, les mthodes de modlisation classiques telle que MERISE ont rapidement montr certaines limites et ont d sadapter (MERISE/2). Et comme le projet est bas sur des nouvelles technologies, on a choisi dutiliser UML/2 pour la modlisation.

4.34.3.1

Le langage UMLPrsentation

UML se dnit comme un langage de modlisation graphique et textuel destin comprendre et dcrire des besoins, spcier et documenter des systmes , esquisser des architectures logicielles, 11

CHAPITRE 4. CONCEPTION

concevoir des solutions et communiquer des points de vue. Ce langage unie la fois les notations et les concepts orients objet. Il combine galement les notations ncessaires avec diffrentes activits dun processus de dveloppement et offre, par ce biais, le moyen dtablir le suivi des dcisions prises, depuis la spcication jusquau codage[2].

4.3.2

Avantages

Le langage UML se distingue par plusieurs avantages dont on peut citer : Il est riche : vu quil couvre toutes les phases dun cycle de dveloppement ; Il est ouvert : vu qu il est indpendant du domaine dapplication et des langages dimplmentation ; Il sagit dun langage formel et normalis : ce qui favorise le gain de prcision et garantie la stabilit ; Il prsente un support de communication performant : ce qui facilite la comprhension de reprsentations abstraites complexes ; Il se caractrise par la polyvalence et la souplesse ce qui le rend un langage universel [16].

4.4

Vues statiques du systme

Le but de la conceptualisation est de comprendre et structurer les besoins du client. Il ne faut alors pas chercher lexhaustivit, mais clarier, ltrer et organiser les besoins. Une fois identis et structurs, ces besoins dnissent le contour du systme modliser en prcisant le but atteindre. De mme, ils prsentent les lments de traabilit dans un processus intgrant UML.

4.4.14.4.1.1

Diagramme de cas dutilisationDnition

Les cas dutilisation (Use Cases) permettent de structurer les besoins des utilisateurs et les objectifs dun systme. Ils identient les utilisateurs (acteurs) et leur interaction avec le systme. Ils servent ainsi de base la traabilit des exigences de ce systme dans un processus de dveloppement intgrant UML. Un cas dutilisation reprsente une unit discrte dinteraction entre un utilisateur humain ou machine et un systme [16].

12

CHAPITRE 4. CONCEPTION

4.4.1.2

Diagramme de cas dutilisation "Internaute"

On a prsent dans ce diagramme lacteur Internaute et ses interactions avec le systme de rservation quon va concevoir. Le diagramme est suivi dune documentation de quelques cas dutilisation.

F IGURE 4.1 Diagramme de cas dutilisation "internaute"

13

CHAPITRE 4. CONCEPTION

4.4.1.2.1

Documentation des cas dutilisation

Cas dutilisation : Authentication Titre : Internaute. Type : Essentiel. Acteur : Internaute. Rsum : Linternaute doit sauthentier laide dun nom dutilisateur et un mot de passe. Pr conditions : Linternaute doit avoir fait dj au moins une rservation ; Linternaute doit possder un nom dutilisateur et un mot de passe . Scnario nominale : Linternaute saisit son nom dutilisateur et son mot de passe qui seront vris par le systme. Si le nom dutilisateur et le mot de passe sont valids, il peut effectuer son travail (consulter la rservation effectue, modier les paramtres ou annuler cette rservation). Scnario dexception : Authentication choue : Si le nom dutilisateur et le mot de passe ne sont pas valids par le systme, un message derreur safche et linternaute est redirig vers la page daccueil. Cas dutilisation : Effectuer rservation Titre : Effectuer rservation. Type : Essentiel. Acteur : Internaute. Rsum : Linternaute peut consulter, modier, ajouter, supprimer ou consulter ses rservations. Pr conditions : Linternaute doit avoir accs aux donnes quil dsire modier. Scnario nominale : pour effectuer une rservation, linternaute doit : slectionner une chambre, remplir les renseignements requis et puis conrmer sa demande. Une fois la rservation est effectue, linternaute peut avoir accs aux donnes de cette rservation par lintermdiaire dune authentication assure par les paramtres login et mot de passe qui lui sont fournis. Accdant la liste de ses rservations, linternaute peut : Consulter ses choix ; Choisir le bouton modier : il remplit les champs et enregistre ; Choisir le bouton supprimer : il annule la rservation effectue mais pas encore conrme. Scnario dexception : Suppression interdite : Si la rservation est dj conrme (cest--dire linternaute a dj pass son sjour lhtel), elle ne peut pas tre supprime. Si un internaute essaie de supprimer une rservation conrme, un message derreur safche et il est redirig vers la liste de ses rservations.

14

CHAPITRE 4. CONCEPTION

4.4.1.3

Diagramme de cas dutilisation "Administrateur" :

On a prsent dans ce diagramme lacteur Administrateur et ses interactions avec le systme de rservation quon va concevoir. Le diagramme est suivi dune documentation de quelques cas dutilisation.

15

CHAPITRE 4. CONCEPTION

F IGURE 4.2 Diagramme de cas dutilisation "administrateur" 16

CHAPITRE 4. CONCEPTION

4.4.1.3.1

Documentation des cas dutilisation

Cas dutilisation : Authentication Titre : Authentication. Type : Essentiel. Acteur : Administrateur. Rsum : Ladministrateur doit sauthentier laide dun nom dutilisateur et un mot de passe. Pr conditions : Ladministrateur doit possder un nom dutilisateur et un mot de passe. Scnario Nominale : Ladministrateur saisit son nom dutilisateur et son mot de passe qui seront vris par le systme. Si le nom dutilisateur et le mot de passe sont valids, une interface apparait o il peut effectuer son travail. Scnario dexception : Authentication choue Si le nom dutilisateur et le mot de passe ne sont pas reconnus par le systme, un message derreur safche et ladministrateur est redirig vers la page dauthentication. Cas dutilisation : Gestion client Titre : Gestion client. Type : Essentiel. Acteur : Administrateur. Rsum : Ladministrateur peut ajouter, supprimer ou modier les clients ou des informations lies ces derniers. Pr conditions : Ladministrateur doit avoir accs aux donnes quil dsire modier. Scnario Nominale : travers son rle, ladministrateur accde la fentre de gestion client, il choisit ou cherche le client laide de loutil de recherche et enn il modie ou supprime les informations et enregistre. Scnario dexception : Client non trouv Si la requte de recherche de client lance par ladministrateur ne donne aucun rsultat, un message derreur safche et ladministrateur est redirig vers la page principale de gestion de client. 4.4.1.4 Diagramme de cas dutilisation " Employ de service de rception "

On a prsent dans ce diagramme lacteur Employ de service de rception et ses interactions avec le systme de rservation quon va concevoir. Le diagramme est suivi dune documentation de quelques cas dutilisation.

17

CHAPITRE 4. CONCEPTION

F IGURE 4.3 Diagramme de cas dutilisation " Employ de service de rception " 18

CHAPITRE 4. CONCEPTION

4.4.1.4.1

Documentation des cas dutilisation

Cas dutilisation : Authentication Titre : Authentication Type : Essentiel. Acteur : Employ de service de rception Rsum : Lemploy doit sauthentier laide dun nom dutilisateur et un mot de passe. Pr conditions : Lemploy doit possder un nom dutilisateur et un mot de passe. Scnario Nominale : Lemploy saisit son nom dutilisateur et son mot de passe qui seront vris par le systme. Si le nom dutilisateur et le mot de passe sont valids, une interface apparait o il peut effectuer son travail. Scnario dexception : Authentication choue Si le nom dutilisateur et le mot de passe ne sont pas valids par le systme , un message derreur safche et lemploy est redirig vers la page dauthentication. Cas dutilisation : Gestion facture Titre : Gestion facture Type : Essentiel. Acteur : Employ de service de rception. Rsum : Lemploy de service de rception peut modier, ajouter ou supprimer des factures. Pr conditions : Lemploy de service de rception doit avoir accs aux donnes quil dsire modier. Scnario Nominale : travers son rle, lemploy de service de rception accde la fentre de gestion facture, il choisit ou cherche la facture laide de loutil de recherche et enn il modie, supprime ou ajoute des factures et enregistre. Scnario dexception : Facture non trouve Si la requte de recherche de facture lance par lemploy ne donne aucun rsultat, un message derreur safche et lemploy est redirig vers la page principale de gestion de facture. 4.4.1.5 Diagramme de cas dutilisation " Employ de service de consommation " :

On a prsent dans ce diagramme lacteur Employ de service de consommation et ses interactions avec le systme de rservation quon va concevoir. Le diagramme est suivi dune documentation de quelques cas dutilisation.

19

CHAPITRE 4. CONCEPTION

F IGURE 4.4 Diagramme de cas dutilisation " Employ de service de consommation" 4.4.1.5.1 Documentation des cas dutilisations

Cas dutilisation : Authentication Titre : Authentication. Type : Essentiel. Acteur : Employ de service de consommation. Rsum : Lemploy doit sauthentier laide dun nom dutilisateur et un mot de passe. Pr conditions : Lemploy doit possder un nom dutilisateur et un mot de passe. Scnario Nominale : Lemploy saisit son nom dutilisateur et son mot de passe qui seront vris par le systme. Si le nom dutilisateur et le mot de passe sont valids , une interface apparait o il peut effectuer son travail. Scnario dexception : Authentication choue Si le nom dutilisateur et le mot de passe ne sont pas reconnus par le systme, un message derreur safche et lemploy est redirig vers la page dauthentication.

20

CHAPITRE 4. CONCEPTION

Cas dutilisation : Gestion de consommation Titre : Gestion de consommation Type : Essentiel. Acteur : Employ de service de consommation. Rsum : Lemploy de service de rception peut modier, ajouter ou supprimer des consommations. Pr conditions : Lemploy de service de consommation doit avoir accs aux donnes quil dsire modier. Scnario Nominale : travers son rle, lemploy de service de rception accde la fentre de gestion consommation. A travers longlet consommation, il choisit ou cherche la consommation laide de loutil de recherche et enn il consulte, modie, supprime ou ajoute des informations aux consommations. De mme, sil choisit longlet type consommation il peut consulter, modier, supprimer ou ajouter les types de consommation et enregistrer.

4.4.24.4.2.1

Diagramme de classesDnition

Le diagramme de classes est le point central dans un dveloppement orient objet il exprime la structure statique du systme en termes de classes et de relations entre ces classes. Lintrt du diagramme de classes est de modliser les entits du systme dinformation. Le diagramme de classe permet de reprsenter lensemble des informations nalises qui sont gres par le domaine. Ces informations sont structures, cest--dire quelles sont regroupes dans des classes. Le diagramme met en vidence dventuelles relations entre ces classes[16].

21

CHAPITRE 4. CONCEPTION

4.4.2.2

Diagramme de classes de lapplication de rservation htelire

F IGURE 4.5 Diagramme de classes 22

CHAPITRE 4. CONCEPTION

4.5

Vues dynamiques du systme

Les cas dutilisation sont centrs sur les besoins des utilisateurs. Ils aident ainsi construire un systme efcace. Mais, ces cas dutilisation ne fournissent pas pour autant la bonne manire de faire le systme, ni la forme de larchitecture logicielle : ils dterminent ce quun systme doit faire, non comment il doit le faire. La vue de cas dutilisation est une description fonctionnelle des besoins, structure par rapport des acteurs. Le passage lapproche objet seffectue en associant une collaboration chaque cas dutilisation. Cette collaboration dcrit les objets du domaine, les connexions entre ces objets et les messages changs entre eux. Chaque scnario instance du cas dutilisation ralis par la collaboration se reprsente par une interaction entre les objets dcrits dans le contexte de la collaboration.

4.5.1

Diagrammes de squences

Les diagrammes de squences permettent de reprsenter des collaborations entre objets selon un point de vue temporel, on y met laccent sur la chronologie des envois de messages. Ainsi, la reprsentation se concentre sur lexpression des interactions. Ces diagramme peuvent servir illustrer un cas dutilisation et sont considrs parmi les vues dynamiques les plus importants dUML. Nous dtaillons ce type de diagramme par la suite en prsentant les diagrammes de squence de certains cas dutilisation[16].

23

CHAPITRE 4. CONCEPTION

4.5.1.1

Cas dutilisation : Authentication Administrateur

F IGURE 4.6 Diagramme de squence "Authentication Administrateur"

24

CHAPITRE 4. CONCEPTION

4.5.1.2

Cas dutilisation : Gestion Client

F IGURE 4.7 Diagramme de squence "Ajout Client"

25

CHAPITRE 4. CONCEPTION

F IGURE 4.8 Diagramme de squence " Supprimer Client"

26

CHAPITRE 4. CONCEPTION

4.5.1.3

Cas dutilisation : Effectuer Rservation (Internaute)

F IGURE 4.9 Diagramme de squence "Effectuer Rservation (par linternaute)"

4.5.2

Diagrammes dactivits

Les diagrammes dactivits permettent de reprsenter graphiquement le comportement dune mthode ou le droulement dun cas dutilisation. Dans le contexte de ce diagramme, une activit reprsente une excution dun mcanisme ou un droulement dtapes squentielles. Alors que le passage dune activit vers une autre est matrialis par une transition[16].

27

CHAPITRE 4. CONCEPTION

4.5.2.1

Cas dutilisation : Effectuer Rservation normale (Internaute)

F IGURE 4.10 Diagramme dactivits Effectuer Rservation normale (par linternaute) 28

CHAPITRE 4. CONCEPTION

4.5.2.2

Cas dutilisation : Effectuer Rservation rapide (Internaute)

F IGURE 4.11 Diagramme dactivits Effectuer Rservation rapide (par linternaute) 29

CHAPITRE 4. CONCEPTION

4.6

Conclusion

Dans ce chapitre on a prsent la conception de notre application de rservation htelire et ses diffrentes fonctionnalits travers les vues statiques et dynamiques du systme.

30

Chapitre 5 Implmentation5.1 Introduction

Dans ce chapitre on prsente les tapes de ralisation de notre projet travers la description de lenvironnement technique et le suivi lenchainement de lapplication.

5.2

Environnement technique

Lenvironnement technique englobe les outils matriels et les plates-formes logicielles qui ont contribu limplmentation de lapplication de rservation htelire.

5.2.1

Environnement matriel

Il se compose des quipements suivants : Ordinateur portable TOSHIBA Stellite Processeur Intel (R) Core (TM) Duo CPU P7450 (2.13GHz) Ordinateur portable Dell Latitude E6510 Processeur Intel(R) Core (TM) i7 CPU M620 (2.67 GHz) Appareil photo Sony Cyber Shot

5.2.2

Environnement logiciel

Les outils logiciels utiliss lors du dveloppement de notre application sont les suivants : Systmes dexploitation : Windows Vista, Windows 7 Serveur de donnes : WampServer Version 2.1 Serveur web : Apache-Tomcat 7.0.10 Java : JDK 1.6 31

CHAPITRE 5. IMPLMENTATION

Environnement de dveloppement intgr : Eclipse Helios Frameworks : Hibernate-distribution 3.6.1.Final , Struts 1, Spring 3.1.0, Bibliothque des tests unitaires : JUnit Pilote de connexion la base de donnes : Mysql-connector-5.1.15 Gnrateurs des interfaces graphiques : Macromedia Dreamweaver 8, Photoshop CS3 Traitement des photos panoramique : Photoshop 7.0 Assembleur des photos et gnrateur des panoramas : Autodesk Stitcher Unlimited 2009 Gnrateur de la visite virtuelle : Kolor Panotour Pro 1.5

5.2.3

Etude des outils logiciels

Cette partie est consacre la prsentation des outils logiciels utiliss dans la ralisation de notre projet ainsi que la mise en vidence de leurs spcicits fonctionnelles. 5.2.3.1 Serveur de donnes : WampServer

WampServer est une plate-forme de dveloppement Web sous Windows. Il permet de dvelopper des applications Web dynamiques laide du serveur Apache2, du langage de scripts PHP et dune base de donnes MySQL. Il possde galement PHPMyAdmin pour grer plus facilement les bases de donnes[17]. 5.2.3.2 5.2.3.2.1 Serveur web : Apache-Tomcat 7.0.10 Prsentation et fonctionnalits

Apache Tomcat est un conteneur libre de servlet Java 2 Enterprise Edition. Issu du projet Jakarta, Tomcat est dsormais un projet principal de la fondation Apache. Tomcat implmente les spcications des servlets et des JSP de Sun Microsystems. Il inclut des outils pour la conguration et la gestion, mais peut galement tre congur en ditant des chiers de conguration XML. Comme Tomcat inclut un serveur HTTP interne, il est aussi considr comme un serveur HTTP. Tomcat est souvent utilis en association avec un autre serveur web, en gnral Apache. Apache soccupe de toutes les pages web traditionnelles et Tomcat uniquement des pages dune application web Java[18]. 5.2.3.2.2 Spcicits de la version 7.0.10

Apache-Tomcat 7.0.10 prsente les caractristiques suivantes : Implmente les spcications Servlet 3.0, JSP 2.2 et EL 2.2 ; Supporte le Java 6 ; 32

CHAPITRE 5. IMPLMENTATION

Assure la dtection et la prvention des fuites de mmoire ; Fonctionne en mode hberg simpli[15]. 5.2.3.3 Environnement de dveloppement intgr : Eclipse Helios

Eclipse IDE est un environnement de dveloppement intgr libre. Le terme Eclipse dsigne galement le projet correspondant, lanc par IBM. Il est extensible, universel et polyvalent et permet potentiellement de crer des projets de dveloppement mettant en oeuvre nimporte quel langage de programmation. Eclipse IDE est principalement crit en Java laide de la bibliothque graphique SWT, dIBM[19]. 5.2.3.4 5.2.3.4.1 Les frameworks Dnition dun framework

Un framework est un kit de composants logiciels structurels qui servent crer les fondations ainsi que les grandes lignes de tout ou partie dun logiciel. En programmation oriente objet, un framework est typiquement compos de classes mres qui seront drives et tendues par hritage en fonction des besoins spciques chaque logiciel qui utilise le framework[3]. 5.2.3.4.2 Le framework Hibernate-distribution :

Hibernate est un framework open source grant la persistance des objets en base de donnes relationnelle. Il est adaptable en termes darchitecture et peut donc tre utilis aussi bien dans un dveloppement client lourd que dans un environnement web lger de type Apache Tomcat ou dans un environnement J2EE complet. Il prsente un outil dORM (Object Relationnal Mapping) qui apporte une solution aux problmes dadaptation entre le paradigme objet et les SGBD en remplaant les accs la base de donnes par des appels des mthodes objet de haut niveau[20].

33

CHAPITRE 5. IMPLMENTATION

La gure 2.1 prsente ci-dessous dcrit larchitecture dHibernate :

F IGURE 5.1 Architecture dHibernate [20]. 5.2.3.4.3 Le framework Struts 1

Struts 1 est un framework en open source utilis pour dvelopper des applications web bases sur les technologies Servlet et JSP et sur une architecture de type MVC2. Cette architecture gnre un systme comprenant : Le modle mis en oeuvre par deux types de JavaBeans pour la logique mtier (Action) et pour ltat de lapplication (FormBean) ; La vue reprsente par des pages JSP qui fournissent au client la rponse ses requtes ; Le contrleur consiste en une servlet qui gre les transactions. Il excute le code ncessaire une requte, et en coordonne la rponse[21]. 5.2.3.4.4 Le framework Spring

Spring est un framework libre pour construire et dnir linfrastructure dune application java. Ce framework est intgr dans notre application pour assurer linversion de contrle en utilisant la mthode de linjection de dpendances via le constructeur [22]. Grce sa couche dabstraction, Spring ne concurrence pas dautres frameworks dans une couche spcique dun modle architectural MVC mais savre un framework multi-couches pouvant sinsrer au niveau de toutes les couches modle, vue et contrleur. Ainsi il permet dintgrer Hibernate pour la couche de persistance et Struts pour la couche prsentation[4].

34

CHAPITRE 5. IMPLMENTATION

5.2.3.5

Bibliothque des tests unitaires : JUnit

Il sagit dune bibliothque de test unitaire pour le langage de programmation Java. Cr par Kent Beck et Erich Gamma, JUnit est certainement le projet de la srie des xUnit connaissant le plus de succs[15]. JUnit dnit deux types de chiers de tests. Les TestCase qui sont des classes contenant un certain nombre de mthodes de tests. Un TestCase sert gnralement tester le bon fonctionnement dune classe. Une TestSuite, qui son tour, permet dexcuter un certain nombre de TestCase dj dnis. Le serveur de Junit est intgr par dfaut dans Eclipse Hlios [15]. 5.2.3.6 Pilote de connexion la base de donnes : Mysql-connector

Il sagit dun pilote de connexion la base de donnes qui utilise MySQL avec les applications qui intgrent les standards ODBC et JDBC[15]. Le logiciel MySQL est un serveur de base de donnes SQL trs rapide, multi threads, multi-utilisateur et robuste. Ce serveur est destin aux missions stratgiques et aux systmes de production forte charge et il prsente les caractristiques suivantes : Il est sur un large ventail de compilateurs diffrents ; Il fonctionne sur de nombreuses plates-formes ; Il dispose un systme dallocation mmoire trs rapide, exploitant les threads ; Il dnit des jointures trs rapides, exploitant un systme de jointures multiples en une seule passe optimise[23]. Editeur de page web : Macromedia Dreamweaver 8

5.2.3.7

Ce logiciel, conu par Macromedia et gr maintenant par Adobe, permet de crer des pages web en respectant les recommandations de lorganisme W3C. La partie Editeur de code du logiciel permet la modication rapide du contenu des pages, la mise en forme, linsertion dimages, de liens ou dautres lments habillant ces pages Web[24]. 5.2.3.8 Logiciel de traitement dimage Photoshop CS3

Adobe Photoshop CS3 permet de retoucher quasiment tous les formats dimage. Grce ses nombreux plugins il permet de rajouter des truquages aux images : effets spciaux, dombre et de lumires, et bien dautres. En matire de production photographique et de retouche dimages professionnelle, Photoshop est considr comme loutil idal. En effet, il permet la retouche et lenrichissement dimages de qualit professionnelle. Photoshop est un des produits les mieux considrs dans le domaine de la retouche dimages non vectorielles. 35

CHAPITRE 5. IMPLMENTATION

Les avantages de loutil Photoshop : Trs pratique pour les photo-montages Nombreux outils de retouche et de correction Fontions de r-chantillonnage Les fonctions peuvent tre tendues par ladjonction de modules (plugs-in) Possibilit denregistrement de squences de tches permettant le traitement dimages par lot[25]. Gnrateur des photos panoramiques : Autodesk Stitcher Unlimited 2009

5.2.3.9

Cet outil permet la cration de modles en 3D partir de simples images en 2D et denvironnements virtuels dynamiques partir de photographies traditionnelles. Il est utilis dans le cadre de nombreux types de projets, allant de larchitecture, de la photographie au dveloppement de lms et des jeux. Stitcher Unlimited 2009 permet la cration dimages panoramiques. De mme, il aide gnrer des visites virtuelles pour le Web, des mattes painting pour les lms, des environnements pour le rendu 3D et des impressions panoramiques pour les prsentations artistiques[26]. 5.2.3.10 Gnrateur de la visite virtuelle : Kolor Panotour Pro 1.5

Cest un outil de cration de visites virtuelles personnalises. Il permet dajouter des sons et des vidos, intgrer des panoramas gigapixels ainsi que des modles graphiques[27].

5.35.3.1

Etapes de ralisation de lapplicationRalisation de la visite virtuelle

Cette phase du projet a t ralise suivant les tapes dcrites ci-dessous : Prise de photos de lhtel : il sagit de dcomposer la vue de chaque partie dont on dsire raliser la visite virtuelle en un ensemble de photos prises de faon pouvoir les assembler ultrieurement ; Assemblage des photos et gnration des photos panoramiques : et cela en se servant de loutil Autodesk Stitcher ; Gnration de la visite virtuelle : loutil Kolor Panotour Pro qui la gnre sous forme dun chier Shockwave intgr dans une page HTML.

5.3.2

Ralisation de lapplication de rservation htelire

Limplmentation de notre systme de rservation htelire a suivi lenchainement logique du patron MVC qui dnit les tapes suivantes : 36

CHAPITRE 5. IMPLMENTATION

Ralisation du composant modle ; Ralisation du composant vue ; Ralisation du composant contrle. 5.3.2.1 Construction de la couche modle

Le composant de modle se concentre sur la cration des classes prsentes ci-dessous : Classes mtiers ; Classes DAO et DAOHBM ; Classes JavaBeans. 5.3.2.1.1 Gnration des classes mtiers partir du diagramme de classes

Dnition dun objet mtier Un objet mtier est une instance de la classe mtier correspondante .Il prsente une abstraction permettant de dcrire les entits manipules par lapplication. Le modle des objets mtier est constitu du diagramme de classes UML montrant ces objets mtiers et leurs relations[5]. Caractristiques dun objet mtier Un objet mtier se caractrise par un tat reprsent par une identit, un but (ou comportement), des attributs et des relations quil entretient avec les autres objets : Lidentit ou identiant : cette identit le distingue des autres objets mtiers qui peuvent tre gaux sans toutefois tre identiques ; Le but ou le comportement : dcrit ses actions et ses ractions lorsquil est soumis une opration ; Les attributs sont des proprits xes ou variables portes par lobjet ; Les relations avec les autres objets mtiers portent une information complmentaire lobjet mtier [15]. Etats des objets mtier sous Hibernate Hibernate dnit 3 tats possibles pour lobjet mtier : phmre (transient) : un objet est phmre sil a juste t instanci en utilisant loprateur new. Il na aucune reprsentation persistante dans la base de donnes et aucune valeur didentiant na t assigne ;

37

CHAPITRE 5. IMPLMENTATION

Persistant : une instance persistante a une reprsentation dans la base de donnes et une valeur didentiant. Elle pourrait avoir juste t sauvegarde ou charge, pourtant, elle est par dnition dans la porte dune Session ; Dtach : une instance dtache est un objet qui a t persistant, mais dont la Session a t ferme. La rfrence lobjet est encore valide et linstance dtache pourrait mme tre modie dans cet tat [6]. Exemple dune classe mtier Un exemple dune classe mtier est dtaill dans le Annexe 1 5.3.2.1.2 Gnration des classes DAO et DAOHBM

Dnition dun DAO (Data Access Object) Le DAO est une classe interface dont le rle est dassurer la persistance des donnes en permettant la liaison avec la base de donnes. Dune part, cette classe transforme les donnes obtenues par une requte de slection en objets mtiers. Dautre part, elle enregistre, modie et supprime les objets mtiers dans la base. Ainsi, chaque classe mtier de lapplication correspond une classe DAO. Dnition dun DAOHBM Le DAOHBM est la classe qui implmente linterface DAO pour dvelopper et spcier ses mthodes. Ces mthodes adopte le langage HQL ( Hibernate Query Language) pour dvelopper les requtes de cration, slection, suppression ou mise jours des donnes dans la base de donnes. Exemples des classes DAO et DAOHBM Deux exemples dune classe DAO et dune classe DAOHBM sont dtaills dans Annexe 2 et Annexe 3. 5.3.2.1.3 Mapping Objet Relationnel

Cette tape suit la gnration des classes mtiers et des classes DAO et DAOHBM pour assurer la correspondance entre les composants objets et les donnes relationnelles.

38

CHAPITRE 5. IMPLMENTATION

Dnition du Mapping Objet Relationnel Un mapping objet-relationnel (en anglais object-relational mapping ou ORM) est une technique de programmation informatique qui cre lillusion dune base de donnes oriente objet partir dune base de donnes relationnelle en dnissant des correspondances entre cette base de donnes et les objets du langage utilis. Il consiste prcisment associer une ou plusieurs classes avec une table, et chaque attribut de la classe avec un champ de la table tout en appliquant des rgles dtermines par les associations entre les classes . Exemples de Mapping Objet Relationnel Hibernate dnit des rgles de Mapping [7]Objet Relationnel qui varient selon le type dassociation. On va prsenter ci-dessous un exemple de mapping pour chaque catgorie dassociations adoptes dans la conception de notre application. Association bidirectionnelle un--un Un exemple de ce mapping est dtaill dans Annexe 4 Association de ce mapping bidirectionnelle un--plusieurs Un exemple de ce mapping est dtaill dans Annexe 5 Association bidirectionnelle plusieurs--plusieurs Un exemple de ce mapping est dtaill dans Annexe 6 Relation dhritage Un exemple de ce mapping est dtaill dans Annexe 7 5.3.2.1.4 Gnration des classes JavaBeans

Dnition dun JavaBean Les composants de type JavaBean sont des composants logiciels rutilisables et manipulables visuellement dans un outil de conception. Il sagit dune simple classe Java qui respecte certaines conventions sur le nommage des mthodes, la construction et le comportement. Parmi ces rgles on peut citer : La classe doit tre "Serializable" pour pouvoir sauvegarder et restaurer ltat dinstances de cette classe ; La classe doit possder un constructeur sans argument (constructeur par dfaut) ; Les proprits prives de la classe (variables dinstances) doivent tre accessibles publiquement via des mthodes accesseurs construites avec get ou set suivi du nom de la proprit avec la premire lettre transforme en majuscule ; La classe doit contenir les mthodes dinterception dvnements ncessaires [28]. 39

CHAPITRE 5. IMPLMENTATION

Les types des JavaBeans On distingue sous Struts deux types de JavaBeans : Les Beans FormAction : Beans de formulaires, destins rcuprer et effectuer des traitements de validit sur les donnes postes par un formulaire ; Les Beans Action : Beans daction, destins aussi effectuer des traitements. Ils informent le contrleur quelle page JSP appeler en fonction du rsultat des traitements [21]. Exemples des classes FormAction et Action Deux exemples de FormAction et Action sont dtaill dans Annexe 8 et Annexe 9. 5.3.2.2 Test unitaires

Dans le contexte de notre projet, les tests unitaires ont t raliss pour valuer lefcacit du Mapping Objet Relationnel et de la connexion la base de donnes. 5.3.2.2.1 Rle du test unitaire

Les tests unitaires permettent essentiellement de vrier le bon droulement de lapplication, de corriger les bugs de codage et de prouver la ralisation des fonctionnalits requises dans le cahier des charges [29]. 5.3.2.2.2 Technique du test unitaire

La technique quon a adopte pour crer un test consiste crer une classe drivant de junit.framework.TestCase et dy ajouter nos tests. Dans le paquetage junit.framework , TestCase implmente linterface Test et drive en outre de la classe Assert dont les nombreuses mthodes nous ont permis de valider votre code. Les classes cres ont comme fonction de tester lajout, la modication, la mise jour et la recherche des donnes partir de la base de donnes. 5.3.2.2.3 5.3.2.3 Exemple dune classe test Un exemple de classe test est dtaill dans Annexe 10 Implmentation de la couche vue

Les composants de vue sont bass sur des pages JSP, avec des tags spciques Struts.

40

CHAPITRE 5. IMPLMENTATION

5.3.2.3.1

Dnition dune page JSP

Le Java Server Pages ou JSP est une technique base sur Java qui permet aux dveloppeurs de gnrer dynamiquement du code HTML, XML ou tout autre type de page web. Cette technique permet au code Java et certaines actions prdnies dtre ajouts dans un contenu statique. La syntaxe du JSP ajoute des balises XML, appeles actions JSP, qui peuvent tre utilises pour appeler des fonctions. De plus, cette technique permet la cration de bibliothques de balises JSP (taglib) qui agissent comme des extensions au HTML ou au XML. Les bibliothques de balises offrent une mthode indpendante de la plate-forme pour tendre les fonctionnalits dun serveur HTTP [28]. 5.3.2.3.2 Conguration du chier MessageRessources.Properties

Principe dutilisation du chier MessageRessources.Properties Struts permet dexternaliser tous les messages utiliss dans les pages JSP, an de rduire la complexit des vues. Ces messages sont stocks dans le chier MessageRessources.Properties et sont indexs sous la forme cl=valeur. Extrait du chier MessageRessources.Properties Un extrait du chier MessageRessources.Properties est dtaill dans Annexe 11 5.3.2.3.3 Exemples dune page JSP

Un exemple de page test est dtaill dans Annexe 12 5.3.2.4 Implmentation de la couche contrle

Struts inclut un servlet de contrle qui associe chaque requte une Action, un FormAction, ou une redirection. Pour fonctionner, ce servlet doit tre dclar dans le chier web.xml, et congur laide du chier Struts-cong.xml. 5.3.2.4.1 Logique du fonctionnement

Le fonctionnement de Struts1 suit lenchainement suivant : 1. Le client effectue une requte (via un formulaire par exemple) ; 2. Le contrleur, congur par le chier struts-cong.xml affecte le FormAction avec les donnes saisies dans le formulaire ; 41

CHAPITRE 5. IMPLMENTATION

3. Le contrle donne la main Action ; 4. Action effectue des traitements sur le FormAction ou sur autre source de donnes ; 5. Action rend la main au contrleur en lui spciant la russite ou non de ses traitements et la page de prsentation appeler ; 6. Le contrleur appelle la page de prsentation JSP ; 7. La page JSP consulte les donnes du FormAction et les formate ; 8. La page JSP envoie une rponse au client [21].

F IGURE 5.2 Fonctionnement global de Struts[21]. 5.3.2.4.2 Conguration de Struts.xml.cong

Le chier struts-cong.xml permet de congurer les requtes, les actions, les formulaires, et les renvoisvers les pages JSP. A lintrieur de la balise , on trouve essentiellement trois lments : Form-beans : contient la dnition des FormAction. Il est ncessaire dutiliser un lment formbean par ActionForm, en prcisant lURL de la requte (name) et la classe utilise pour cet ActionForm (type) ; Global-forwards : contient les dclarations de renvois dURL vers des pages JSP ou des Action ; Action-mapping : contient la dnition des Actions . Pour chaque Action, il faut dnir : Le chemin de la requte associe (path) ; La classe utiliser (type) ; Si ncessaire, le nom du FormAction utiliser (name) ; La porte de la classe (scope) ; Si oui ou non la mthode validate() du FormBean doit tre appele (validate = true ou false) . 42

CHAPITRE 5. IMPLMENTATION

5.3.2.4.3

Conguration de Validation.xml

Ce chier contient les fonctions prdnies qui sont utilises pour la validation des saisies de lutilisateur. 5.3.2.4.4 Conguration de web.xml

La dernire tape est la conguration du descripteur de dploiement de lapplication Struts, pour intgrer tous les composants ncessaires. Sous Tomcat, ce descripteur est le chier web.xml. 5.3.2.5 Extraits des interfaces de lapplication

Notre application de gestion de rservation est de type CRUD , cest--dire quelle assure les quatre oprations de base pour la persistance des donnes , savoir : Create, Read (ou Retrieve), Update et Delete (ou Destroy). Ces fonctionnalits sont offertes trois catgories dutilisateurs qui sont : administrateur, employ de rception et employ de consommation. On prsente ci-dessous des exemples des interfaces accessibles par les diffrents types dutilisateurs. 5.3.2.5.1 Interface Administrateur : "Afchage de toutes les rservations" .

F IGURE 5.3 Afchage de toutes les rservations Cette interface prsente la page daccueil de la rubrique "Rservation" .Elle permet la consultation de toutes les rservations stockes dans la base de donnes. Toutes les autres oprations possibles effectuer sur la rservation sont accessibles partir de cette interface. 43

CHAPITRE 5. IMPLMENTATION

5.3.2.5.2

Interface Administrateur : "Ajout dune rservation"

.

F IGURE 5.4 Ajout dune rservation Lopration dajout dune rservation est dclenche partir de linterface "Afchage de toutes les rservations" et cela en cliquant sur cette bouton fentre PopUp . . Le formulaire dajout est afch dans une

44

CHAPITRE 5. IMPLMENTATION

5.3.2.5.3

Interface Administrateur : "Modication dune rservation" .

F IGURE 5.5 Modication dune rservation (Formulaire de slection de rservation) Lopration de modication dune rservation est dclenche partir de linterface "Afchage de toutes les rservations" et cela en cliquant sur cette bouton . Le formulaire de slection de la rservation modier est afch dans une fentre PopUp. Aprs la validation du choix de la rservation, lutilisateur sera redirig vers le formulaire de modication.

45

CHAPITRE 5. IMPLMENTATION

F IGURE 5.6 Modication dune rservation (Formulaire de modication) Le formulaire de modication est afch dans une fentre PopUp. Aprs le remplissage et la validation, lutilisateur est redirig vers une page de conrmation de modication o sont afches les donnes de la rservation aprs modication.

F IGURE 5.7 Modication dune rservation (Page de conrmation de modication) 46

CHAPITRE 5. IMPLMENTATION

Dans cette page, lutilisateur peut consulter les donnes de la rservation aprs la modication. 5.3.2.5.4 Interface Administrateur : "Suppression dune rservation" .

F IGURE 5.8 Suppression dune rservation (Formulaire de slection de rservation) Lopration de suppression dune rservation est dclenche partir de linterface "Afchage de toutes les rservations" et cela en cliquant sur cette bouton . Le formulaire de slection de la rservation supprimer est afch dans une fentre PopUp. Aprs la validation du choix de la rservation, lutilisateur sera redirig vers le formulaire de suppression.

47

CHAPITRE 5. IMPLMENTATION

F IGURE 5.9 Suppression dune rservation (Formulaire de Suppression) Le formulaire de Suppression est afch dans une fentre PopUp. Aprs le remplissage et la validation, lutilisateur est redirig vers une page de conrmation de Suppression.

F IGURE 5.10 Suppression dune rservation (Page de conrmation de Suppression) Dans cette page, lutilisateur peut sassurer que lopration de suppression a t bien effectue. 48

CHAPITRE 5. IMPLMENTATION

5.3.2.5.5

Interface Administrateur : "Recherche dune rservation"

.

F IGURE 5.11 Recherche dune rservation (Formulaire de slection de rservation) Lopration de recherche dune rservation est dclenche partir de linterface "Afchage de toutes . Le formulaire de slection de la rservation les rservations" et cela en cliquant sur cette bouton rechercher est afch dans une fentre PopUp. Aprs la validation du choix de la rservation, lutilisateur sera redirig vers la page du rsultat de la recherche.

49

CHAPITRE 5. IMPLMENTATION

5.3.2.5.6

Interface Administrateur : "Impression de la liste des rservations" .

F IGURE 5.12 Impression de la liste des rservations Lopration dimpression est dclenche partir de linterface "Afchage de toutes les rservations" et cela en cliquant sur cette bouton .

50

CHAPITRE 5. IMPLMENTATION

5.3.2.5.7

Interface Administrateur : "Dtails dune rservation" .

F IGURE 5.13 Dtails dune rservation Lopration dafcher dtails dune rservation est dclenche partir de linterface "Afchage de toutes les rservations" et cela en cliquant sur le bouton "Dtails". Cette opration permet dobtenir les informations concernant le prix total, lacompte et le reste payer.

51

CHAPITRE 5. IMPLMENTATION

5.3.2.5.8

Interface Employ de Consommation : "Afchage de toutes les consommations" .

F IGURE 5.14 Afchage de toutes les consommations Cette interface prsente la page daccueil de la rubrique "Consommation" .Elle permet la consultation de toutes les consommations stockes dans la base de donnes. Toutes les autres oprations possibles effectuer sur la consommation sont accessibles partir de cette interface.

52

CHAPITRE 5. IMPLMENTATION

5.3.2.5.9

Interface Employ de Rception : "Afchage de tous les clients de type Personne" .

F IGURE 5.15 Afchage de tous les clients de type Personne Cette interface prsente la page daccueil de la rubrique "Client" .Elle permet la consultation de tous les clients de type Personne stockes dans la base de donnes. Toutes les autres oprations possibles effectuer sur le client sont accessibles partir de cette interface.

5.4

Conclusion

Ce chapitre a permis de prsenter les bases technologiques de notre application et de dtailler ses diffrentes fonctionnalits .

53

Chapitre 6 Conclusion gnraleAvec la forte croissance de lactivit des tablissements hteliers et la multiplication des besoins de ce march, la ncessit dtre ractif et disposer des outils la pointe de la technologie simpose. Ainsi, les plate-formes lectroniques de rservation deviennent des outils incontournables, et les choix en matire de technologies font la diffrence sur ce march extrmement comptitif. Dans ce contexte, notre projet prsente une solution technique de rservation htelire vise la fois satisfaire les exigences du fonctionnement et enrichir les tendances de distinction et de comptitivit. La planication de notre application ainsi que les choix des plate-formes technologiques de sa ralisation sont dnis dans le but de lui accorder une efcacit fonctionnelle et une valeur scientique. En effet, vu sa conception oriente objet, notre application pourrait bien accepter des enrichissements qui touchent le modle de rservation ou la mthode de planication des oprations en spciant par exemple dautres critres de qualit de service. En outre, ladoption de la technologie JEE nous a permis dune part dimplmenter un systme de rservation accomplissant les tches requises , et dautre part dacqurir de nouvelles connaissances thoriques et pratiques dans le domaine de dveloppement logiciel. Enn, lintgration des visites virtuelles dans notre application a amlior sa qualit de prsentation et son attractivit, et nous a offert de mme loccasion denrichir nos comptences en cration multimdia. Nanmoins, vu que notre travail est la gense dun pas dinitiation dans le domaine de JEE, il prsente certaines dfaillances fonctionnelles. En effet, la dmarche de ralisation de certaines tches incarne 54

CHAPITRE 6. CONCLUSION GNRALE

une complexit qui touche la qualit ergonomique de notre systme. De mme, lopration de paiement en ligne nest pas prise en charge par notre application de rservation en ligne . Cela engendre la possibilit dtendre ses fonctionnalits et den amliorer la performance dans le but de permettre son intgration dans le march de la gestion htelire.

55

Chapitre 7 Annexes7.1Annexe 1package metier ; public class CompteClient{ private int idCompteClient = -1 ; private String login = null ; private String motPasse = null ; private Client client = null ; public CompteClient() { super() ; } public CompteClient(String login, String motPasse, Client client) { super() ; this.login = login ; this.motPasse = motPasse ; this.client = client ; } public CompteClient(int idCompteClient, String login, String motPasse, Client client) { super() ; this.idCompteClient = idCompteClient ; this.login = login ; this.motPasse = motPasse ; this.client = client ; } public int getIdCompteClient(){ return idCompteClient ; } public void setIdCompteClient(int idCompteClient){ this.idCompteClient = idCompteClient ; } public String getLogin(){ return login ; } public void setLogin(String newLogin){ this.login = newLogin ; } public String getMotPasse(){ return motPasse ; } public void setMotPasse(String newMotPasse){ this.motPasse = newMotPasse ; }

56

CHAPITRE 7. ANNEXES

public Client getClient(){ return client ; } public void setClient(Client newClient){ if (this.client == null || !this.client.equals(newClient)){ if (this.client != null){ //Client oldClient = this.client ; this.client = null ; //oldClient.annulerFacture(this) ; } if (newClient != null){ this.client = newClient ;} } } @Override public int hashCode() { final int prime = 31 ; int result = 1 ; result = prime * result + idCompteClient ; return result ; } @Override public boolean equals(Object obj) { if (this == obj) return true ; if (obj == null) return false ; if (getClass() != obj.getClass()) return false ; CompteClient other = (CompteClient) obj ; if (idCompteClient != other.idCompteClient) return false ; return true ; } }

7.2

Annexe 2package dao ; import java.util.ArrayList ; import metier.CompteClient ; public interface DAOCompteClient { CompteClient get(int idCompteClient) throws Exception ; CompteClient getIdCompteClient(int idCompteClient) throws Exception ; ArrayList loadAll() throws Exception ; ArrayList load(String login, String motPasse) throws Exception ; void save(CompteClient compteClient) throws Exception ; void delete(CompteClient compteClient) throws Exception ; void update(CompteClient compteClient) throws Exception ; }

57

CHAPITRE 7. ANNEXES

7.3

Annexe 3package hibernate ; import java.util.ArrayList ; import dao.DAOCompteClient ; import org.hibernate.Session ; import metier.CompteClient ; public class DAOCompteClientHBM extends DAOHibernate implements DAOCompteClient { public void delete(CompteClient compteClient) throws Exception { Session session = connect() ; session.delete(compteClient) ; compteClient.setIdCompteClient(-1) ; close(session) ; } public CompteClient getIdCompteClient(int idCompteClient) throws Exception { CompteClient compteClient = null ; Session session = connect() ; compteClient = (CompteClient) session.get(CompteClient.class, idCompteClient) ; close(session) ; return compteC