Académique Documents
Professionnel Documents
Culture Documents
GroupeD
1 2 Mars 2 0 0 8
Sommaire 1Prse n t a tio n d u site ........................................................................... 3 1.1InterfaceUtilisateur.............................................................................3 1.2InterfaceAdministrateur......................................................................5 2Ralisatio n..............................................................................................6 2.1Architectureglobale............................................................................6 2.2Schmadebasededonnes................................................................7 2.3APIproposeparlesBeanFaades....................................................7 2.4Autrestechnologiesutilises...............................................................8 3Scurisa tio n d e l'a d mi nis t ra tio n .................................................... 8 4Co nclu sio n ............................................................................................ 9 5An nexe.................................................................................................. 1 0
1 Prsentationdusite
Leprojetquel'onanousaproposconsistecrerunsitedecommercelectronique.Pourceprojet nousavonseuuneentireautonomiesurleschoixeffectusaussibienauniveaudesinterfacesque destechnologiesutilises.Nousavonsdciddecrerunsitedecommercedecrmesdebeautcar deuxpersonnesduprojetavaitdjtravaillsurunsitedummetypemaisnes'taientpas intresssalapartieecommercedecesite.CesiteestdveloppenutilisantJ2EE,jsp,jonas, Ajax,EJB2...cequicorrespondauxcontraintesduprojetquitaitdenousfairedcouvrirces technologiesplusamplementetnousfairerechercherdessolutions.Cesitecontientdeuxparties: unepartieclient(utilisateur)pourpouvoirconsulterlesproduitsetenacheteretunepartieadmin pourgrerlabasededonnescontenantlesproduits,magasinsetcomptes.
1.1 InterfaceUtilisateur
Unutilisateur,lorsqu'ilseconnecteausite,arrivesurunepaged'accueil.
1.2 InterfaceAdministrateur
Cetteinterfacen'estaccessiblequepourlesadministrateursdusite.Ellepermetdegrertoutela basededonnesenayantlapossiblitdecrerousupprimerunmagasin,uncompteouunproduit. Danslemenudegaucheonaaccsauxtroispagespourgrerlabasededonnesetseslments. Onremarquequel'onpeutsupprimer unutilisateuroumodifiercertainesdes informationsleconcernant.
Illustration 1.5: gestion utilisateurs Demmequepourlesutilisateurs,onpeutgrerles magasinsenlessupprimantouenlescrant.Dansce derniercas,unepageconfirmantlacrationdumagasinet ducompteassociapparat. Unepaged'erreurapparatencasdecrationd'unmagasin djexistant.
Aprscetteprsentationdesdeuxpartiesdusite,nousallonsmaintenantrentrerdansdesdtails plustechniquesenexpliquantnoschoixetlesoutilsutiliss.
2 Ralisation
Nousnoussommesrpartislestchesdelamaniresuivante:
Unefoislesquelettefait,nousnoussommesrerpartieslestachespourquechacunpuisseexplorer lesdiffrentestechnologiesutilises
2.1 Architectureglobale
Nousutilisonsunearchitectureglobaleclassiquemodulairepourpouvoirsepartagerfacilementle travailetremplirrapidementlesiteunefoislesqueletteralis:
Degauchedroite:
2.2 Schmadebasededonnes
2.3 APIproposeparlesBeanFaades
Lesservletn'accdepasdirectementauxEntityBeanmaispasseparunSessionBeand'interface ShopFacade.java.Cetteinterfacereprsentel'APIcompltedusitepourgrerlapersistancedes donnes(ctutilisateurclassiqueETadmin). Pourassurerundialoguesimpleentrelaservletetlesfaades,nousavonschoisid'utiliserdes classesserializablepourenvoyerdesdonnesdemanirecompacte(Ainsipourcrerunproduiton nepassepaslenom,leprix,lestock,etc..maissimplementuneinstancedeProduct).Leschamps decesclassesserializablesontcompltsenfonctiondubesoin(onneremplitpastousleschamps chaquefoissinonontransporteraittoutlesitechaqueappeldansunsensoudansl'autre!).
2.4 Autrestechnologiesutilises
3 Scurisationdel'administration
DfinitionduRealm(permettantdeprotgerl'accsdesressourcesduserveurenleurappliquantdes contraintesdescurit.Leprinciped'unRealmestdegrerunelisted'utilisateurs,avecdesrles): Ceciestplacdanslefichier<jonasbase>/conf/serveur.xmll'intrieurdelabalise<Host> < R e al m clas sNa m e ="org.a pac he.catalina.real m.JDBCReal m" d riverNa m e ="org.hs ql d b.j d bcDriver" co n n ectio nURL ="j dbc:hs ql d b:hs ql: / / l ocalho s t:9001 / d b_jo na s" co n n ectio nNa m e ="jo n a s" co n nectio nPas swor d ="jo na s" u s e rTa ble ="u se r s" u s erNa m eCol ="us er_na m e" u s e rCre dCol ="u se r_pa s swo r d" u s e rRoleTable ="u se r_roles" roleNa m eCol ="role_na m e" d e b ug ="99" / > Ensuite,ilfautdfinirlesutilisateursquiserontautorissaccderauxdonnesprotges.On utiliseleJDBCDatabaseRealmquiutiliseunebasededonnespourstockercesutilisateurs.Cette basecontientdeuxtables:
OnremarquequelesmotsdepassesontchiffrsenMD5pourplusdescurit.
PuisIlfautappliquerlescontraintesdescuritdansledescripteurdedploiementdel'application enprcisant:
lalistedespagesprotges(pournoustoutescellesquicontiennentadmindansleuradresse) leoulesrle(s)desutilisateursayantledroitd'yaccder le type d'authentification (ici FORM pour indiquer que l'on se servira de notre propre formulaire)
Etenfinilfautcoderleformulaired'identification(quiremplacelaboitededialoguepardfaut): leformulairedoitremplircertainesnormes: l'actionseraj_security_check prcenced'unchamptexteavecname=j_usernamepourlelogin prcenced'unchamppasswordavecname=j_passwordpourlemotdepasse Lecodedeladfinitiondescontraintesdescuritetduformulaired'identificationsontenannexe. 4 Conclusion CeProjetnousapermisdetoucherdudoigtunpeutouteslestechnologiesj2eeutilises actuellementsurlemarch.Onapuvoirquecestechnologiesdemandaientdutempsafindemettre enoeuvreunsquelettefonctionnantcorrectementetbeaucoupdepatiencechaquetest (compilation,gnration,crationduwar..).Oncomprendaismentpourquoilaplupartdesgrosses socitsactuellesn'utilisentpascestechnologiescouteusesentemps,enargent(demande d'ingnieurqualifietdeserveurjonas)etutilisentpluttphpavecdesoutilsdegnration automatiquederrire.Cependantj2eesembleplusadaptpourdessitesoplusieursmembres travaillentdessuscarlamodularitestprsenteetclaire.L'uniqueproblmersidedanslapossiblit desoutilstropimportante(onpeutfaireunepagejspquijouelerledetout:presentation, automate,persistance)celaimpliquedelacartdsledpartpoursavoirlerledechaque technologieutilise.
5 Annexe
Dansledescripteurdedploiementdel'appliquation(web.xml)
<securityconstraint> <displayname>Testd'authentificationtomcat</displayname> <!Listedespagesprotges> <webresourcecollection> <webresourcename>Pagescurise</webresourcename> <urlpattern>/admin/*</urlpattern> </webresourcecollection> <!Rlesdesutilisateursayantledroitd'yaccder> <authconstraint> <rolename>Administrateur</rolename> </authconstraint> </securityconstraint> <loginconfig> <!Typed'authentification> <authmethod>FORM</authmethod> <formloginconfig> <formloginpage>/admin/login.jsp</formloginpage> <formerrorpage>/admin/login.jsp</formerrorpage> </formloginconfig> </loginconfig> <!Rlesutilissdansl'application> <securityrole> <description>Administrateur</description> <rolename>Administrateur</rolename> </securityrole>
10