CONSERVATOIRE NATIONAL DES ARTS ET METIERS CENTRE REGIONAL ASSOCIE DES PAYS DE

CONSERVATOIRE NATIONAL DES ARTS ET METIERS CENTRE REGIONAL ASSOCIE DES PAYS DE LA LOIRE _______________________ MEMOIRE Présenté en vue d’obtenir le DIPLOME d’INGENIEUR CNAM En INFORMATIQUE Par OLLIVIER Philippe ___________ Participation à la conception d’une application J2EE d’entreprise. Développement d’une application web de prise de rendez-vous avec les frameworks Struts et Hibernate Version finale Soutenu le 27 octobre 2006 ________________ JURY Président : Mme Elisabeth METAIS, Professeur des Universités, CNAM Paris Membres : M. Henri BRIAND, Professeur des Universités, Univ. De Nantes M. Guillaume RASCHIA, Maître de Conférence à Polytech’Nantes M. Yves GRUAU, Directeur Commercial, ASI informatique M. Didier CONVERT, Directeur Technique, ASI informatique Il faut agir en homme de pensée et penser en homme d’action (Henri Bergson. Philosophe. 1859-1941) REMERCIEMENTS Je tiens à remercier les personnes qui m’ont permis d’obtenir un Congé Individuel de Formation pour réaliser ce mémoire. Les travaux décrits dans la première partie ont été réalisés au Ministère des Affaires étrangères (MAE) à Nantes dans la division des Projets du Système d’Information. Je remercie Messieurs Nicolas TISSOT et Thierry CHAMPENOIS pour m’avoir accueilli dans leur service et m’avoir proposé un sujet de travail intéressant. Je remercie également Monsieur Yves GRUAU Directeur Commercial chez ASI pour m’avoir mis en relation avec le MAE. Merci à Monsieur Guillaume RASCHIA qui m’a assisté et conseillé tout au long de ce mémoire. Je remercie le Président et les membres du Jury d’avoir accepté de juger ce travail. Enfin je tiens à remercier tout particulièrement la femme que j’aime pour m’avoir soutenu pendant mon mémoire et nos enfants pour leur joie de vivre. Table des matières 1. INTRODUCTION.......................................................................................................... 6 2. PARTIE 1 : LE PROJET «RENDEZ-VOUS » ........................................................... 8 2.1. INTRODUCTION........................................................................................................... 9 2.2. ETAT DE L’ART DU DEVELOPPEMENT D’APPLICATION WEB......................................... 9 2.3. METHODES POUR LA CREATION D’APPLICATIONS WEB ............................................. 21 2.4. ORGANISATION DU MAE.......................................................................................... 27 2.5. SOLUTIONS EXISTANTES POUR LA PRISE DE RENDEZ-VOUS ....................................... 29 2.6. OUTILS ACUBE ......................................................................................................... 32 2.7. NORMES ACUBE ....................................................................................................... 35 2.8. METHODOLOGIE DE PROJET ACUBE.......................................................................... 36 2.9. UML DANS ACUBE................................................................................................... 38 2.10. PRESENTATION DU PROJET RENDEZ-VOUS DU MAE................................................. 39 2.11. MA CONTRIBUTION AU PROJET RENDEZ-VOUS DU MAE ........................................... 41 2.12. CONCLUSION ............................................................................................................ 45 3. PARTIE 2 : CREATION D’UNE VERSION SIMPLIFIEE DE L’APPLICATION « RENDEZ-VOUS » AVEC J2EE........................................................................................ 46 3.1. INTRODUCTION......................................................................................................... 47 3.2. CAHIER DES CHARGES DE L’APPLICATION « RENDEZ-VOUS » SIMPLIFIEE.................. 47 3.3. SELECTION ET INSTALLATION DE L’OUTILLAGE........................................................ 51 3.4. FORMATION J2EE..................................................................................................... 60 3.5. PRESENTATION DE L’APPLICATION RENDEZ-VOUS REALISEE .................................. 100 3.6. CONCLUSION .......................................................................................................... 105 4. CONCLUSION........................................................................................................... 106 5. GLOSSAIRE............................................................................................................... 107 6. BIBLIOGRAPHIE..................................................................................................... 109 7. ANNEXES................................................................................................................... 110 7.1. FILEZILLA............................................................................................................... 110 7.2. GIMP ..................................................................................................................... 110 7.3. IRFANVIEW ............................................................................................................. 110 7.4. JARSBROWSER 3.0.................................................................................................. 110 7.5. FREEDIFF................................................................................................................ 110 7.6. JDECOMPILER......................................................................................................... 111 5 Table des figures FIGURE 1 : LE CLIENT-SERVEUR A CLIENT PASSIF........................................................................ 9 FIGURE 2 : LE CLIENT-SERVEUR DE DONNEES............................................................................ 10 FIGURE 3 : LE CLIENT-SERVEUR DISTRIBUE............................................................................... 10 FIGURE 4 : LE CLIENT-SERVEUR HTML/WEB ........................................................................... 11 FIGURE 5 : DEROULEMENT DE L'EXECUTION D'UN PROGRAMME CGI ........................................ 13 FIGURE 6 : EXECUTION D’UNE APPLICATION PHP ..................................................................... 15 FIGURE 7 : ARCHITECTURE D'UN SERVEUR D'APPLICATION J2EE .............................................. 16 FIGURE 8 : LE COMMON RUNTIME LANGAGE............................................................................ 18 FIGURE 9 : ITERATIONS, PHASES RUP ET JALONS PRINCIPAUX .................................................. 23 FIGURE 10 : L'APPROCHE MATRICIELLE D'UNIFIED PROCESS..................................................... 24 FIGURE 11 : ORGANISATION DU MAE....................................................................................... 27 FIGURE 12 : RECAPITULATIF DES LIVRABLES............................................................................. 37 FIGURE 13 : MAQUETTE - GESTION DES SEMAINES TYPES ......................................................... 43 FIGURE 14 : MODELISATION DES DONNEES REALISEE AVEC DBDESIGNER................................. 48 FIGURE 15 : MODELISATION DES DONNEES SIMPLIFIEE.............................................................. 49 FIGURE 16 : DIAGRAMME DES CAS D'UTILISATION REALISE AVEC ARGOUML ........................... 50 FIGURE 17 : ARCHITECTURE RETENUE POUR L’APPLICATION RENDEZ-VOUS ............................. 53 FIGURE 18 : ARCHITECTURE DE SPRING .................................................................................... 58 FIGURE 19: ARCHITECTURE COMBINANT LES FRAMEWORKS STRUTS, SPRING ET HIBERNATE... 58 FIGURE 20 : CREATION D'UN DIAGRAMME DE CLASSES AVEC ARGOUML.................................. 59 FIGURE 21 : EXEMPLE HTML ................................................................................................... 62 FIGURE 22 : COMPOSANTS DU PATTERN MVC TYPE 2............................................................... 75 FIGURE 23 : STRUTS ET LE MODELE MVC................................................................................. 77 FIGURE 24 : PAGE CREEE AVEC LA TECHNOLOGIE TILES............................................................ 90 FIGURE 25 : ARCHITECTURE D’HIBERNATE ............................................................................... 92 FIGURE 26 : REGLES DE NAVIGATION ...................................................................................... 100 6 1. INTRODUCTION Contexte général Il y a un peu plus de 10 ans, la première fois ou l’on m’a parlé d’Internet, je me rappelle avoir émis des doutes sur le fait que cette technologie pourrait supplanter le minitel (technologie française apparue au début des années 1980 permettant pour la première fois à des particuliers d’accéder depuis leur domicile à une multitude d’informations en ligne). Peu de temps après, l’un de mes fournisseurs m’ayant permis de participer à une démonstration j’ai pu constater par moi même qu’Internet était bel et bien un outil révolutionnaire. Aujourd’hui beaucoup d’applications informatiques à destination du grand public ou des entreprises sont écrites pour être accessibles depuis un navigateur 1 Web. L’informatique s’est démocratisée. Plus d’un ménage sur deux possède un micro- ordinateur (étude Insee - mars 2005). 37 % des foyers français sont connectés à Internet. 21 % sont connectés en haut-débit (majoritairement avec ADSL) et peuvent accéder à des supports multimédia (images, vidéos, musiques) avec un confort satisfaisant. Être capable de développer pour un coût raisonnable des applications web robustes et faciles à faire évoluer est devenu aujourd’hui un enjeu important. Objectifs du mémoire Il est nécessaire pour le chef de projet chargé de réaliser une proposition pour un client de bien comprendre le besoin de ce dernier et d’estimer au plus juste la charge de travail. Une bonne compréhension des contraintes techniques du projet peut lui permettre d’estimer les travaux en limitant les risques et sans avoir à prendre conseil auprès d’experts. De même, les compétences techniques du chef de projet peuvent lui être utiles lorsqu’il est chargé de réaliser un recrutement, lorsqu’il doit défendre une proposition devant un client ou lorsqu’un problème se pose pendant le développement. Aujourd’hui, les technologies java et open source 2 sont beaucoup utilisées pour développer des applications web. 1 Navigateur (Web Browser) : Logiciel dont la fonction première est d'interpréter les adresses des pages Web, de les afficher et d'exploiter les liens hypertextes à l'intérieur de celles-ci (ex : Internet Explorer de Microsoft). 2 Open Source : FONTAINE (2003) donne une définition précise des logiciels Open Source en s’appuyant sur celle donnée par les membres de la FSF (Free Software Foundation). Nous retiendrons que les logiciels Open Source doivent être distribués gratuitement et que le code source complet doit être disponible. Enfin il est possible de modifier un logiciel Open Source, de distribuer la version modifiée et de l’exécuter pour n'importe quel usage. 7 L’objectif de ce mémoire qui s’est déroulé sur la période de septembre 2005 à juin 2006 était de me permettre d’approfondir mes connaissances dans le domaine du développement web et notamment en ce qui concerne les outils puisque je ne possède pas cette expérience et que je la juge nécessaire pour la profession que j’exerce actuellement à savoir celle de chef de projet informatique. Plan du mémoire Ce mémoire s‘articule autour de deux parties. La première est en lien avec l’expérience acquise lors de ma participation au projet « rendez-vous » du MAE. Après avoir balayé rapidement les technologies les plus utilisées actuellement pour le développement d’application web, vous y trouverez une description des objectifs de ce projet et une présentation de la manière dont il a été abordé (présentation de la filière « Acube 3 » créée par le MAE pour définir comment gérer les projets de développement d’application web tant sur le plan technique qu’organisationnel). Cette partie sera également l’occasion de présenter brièvement quelques méthodes pouvant être utilisées pour gérer un projet de développement (RUP, XP) en fixant leurs limites. La deuxième partie de ce mémoire concerne la réalisation d’une application « rendez-vous ». Elle contient une description des objectifs à atteindre pour le projet « rendez-vous », une présentation, une justification des technologies retenues (J2EE, struts, hibernate, …) et une présentation du résultat obtenu. Après une conclusion qui sera l’occasion de faire le bilan sur les sujets étudiés et de parler des perspectives à venir, vous trouverez en annexe la description de quelques outils dont la connaissance peut s’avérer utile pour le développeur ou le chef de projet J2EE. Avertissement Ce mémoire ne prétend pas étudier de façon exhaustive toutes les technologies ou méthodes pouvant être mises en oeuvre pour le développement d’une application web avec J2EE. Le sujet est trop vaste et en perpétuelle évolution. Nous nous limiterons donc à la présentation de solutions reconnues en privilégiant les solutions « open source » permettant de réaliser les développements sous MS Windows. 3 Acube, RUP, XP, J2EE, Struts, Hibernate : Les acronymes présents dans l’introduction seront explicités dans la suite de ce document ainsi que dans le glossaire. Partie 1 8 2. PARTIE 1 : LE PROJET «RENDEZ-VOUS » Partie 1 9 2.1. Introduction De Septembre 2005 à Décembre 2005, j’ai participé en tant que chef de projet au lancement et à l’analyse des besoins du projet « rendez-vous » au sein du département des applications Diplomatiques uploads/Ingenierie_Lourd/ memoire-p-ollivier-version-soutenance.pdf

  • 33
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager