MEMOIRE DE STAGE DE FIN D ETUDE
|
|
|
- Emmanuel Jean-Marc David
- il y a 10 ans
- Total affichages :
Transcription
1 MEMOIRE DE STAGE DE FIN D ETUDE Pour l obtention du MASTERE PROFESSIONNEL «Nouvelles Technologies des Télécommunications et Réseaux» Présenté par : Walid Trabelsi Titre Création d une application web «KANBAN» pour les restaurateurs Soutenu le : 08/02/2014 Devant le jury : Mr. Ezeddine Ben Braiek Président Mr. Hassen Seddik Membre Mr. Jalel Khedhiri Membre
2 Dédicaces Je Je tiens tiens à remercier à remercier monsieur monsieur Jameleddine Jameleddine et monsieur et Riadh mademoiselle pour leurs Amira précieuses pour leurs assistances précieuses et assistances leurs orientations. et leurs orientations. Je Je tiens tiens à présenter à mes mes expressions de de reconnaissance envers tous tous mes mes enseignants qui qui ont ont contribué à à ma ma formation en en Mastère N2TR et et qui qui ont ont participé à à l enrichissement de de ma ma carrière universitaire et et aux aux membres du du jury jury pour pour l honneur qu ils me me feront en en acceptant de de juger juger ce ce modeste travail. Que Que tous tous ceux ceux qui, qui, tant tant aimablement ont ont participé de de près près ou ou de de loin loin à l élaboration à de de ce ce mémoire, trouvent en en ces ces quelques lignes un un modeste témoignage d une sincère gratitude.
3 TABLE DES MATIERES Liste des figures... 4 Introduction Général... 5 Chapitre 1 : Analyse et spécification des besoins INTRODUCTION... 9 I. Objectif... 9 II. Cadre de projet... 9 III. Contexte du système Critiques et insuffisances IV. Cahier des charges V. Identification des besoins Les besoins fonctionnels Les besoins NON fonctionnels : VI. Recherche des acteurs et des cas d utilisation Les acteurs Les cas d utilisation VII. Raffinement des cas d utilisation Cas d utilisation authentification : Cas d utilisation affichage de planning du jour Trabelsi Walid 1
4 3. Cas d utilisation suivi des réservations Cas d utilisation gestion de plan des tables Cas d utilisation gestion des contacts VIII. Le Plan Qualité Projet (PQP) : Planification des taches : Diagramme de Gantt : QUALITE : Modèle de cycle de vie: Conclusion Chapitre 2 : Conception Introduction I. Conception générale : Etude méthodologique Le Choix de la méthode Architecture modèle/vue/contrôleur II. ConceptioN DETAILLEE La modélisation dynamique : La modélisation statique : Conclusion Chapitre 3 : Développement Introduction I. Environnement de développement : SGBD: MySQL EDI: Netbeans Trabelsi Walid 2
5 3. Le serveur d application j2ee : GlassFish II. Langage & Framework Framework JSF API JPA 2.0 EclipseLink API de logging : Log4j PrimeFaces II. Ergonomie et conception des interfaces graphiques III. Quelques interfaces de cette application Conclusion Conclusion General Glossaire Bibliographie Netographie Annexe Résumé ملخص Abstract Trabelsi Walid 3
6 LISTE DES FIGURES FIGURE 1 TABLEAU DES ACTEURS FIGURE 2 TABLEAU DES CAS D UTILISATION FIGURE 3 DIAGRAMME DE GANTT FIGURE 4 CYCLE DE VIE EN SPIRALE FIGURE 5 CYCLE DE VIE EN CASCADE FIGURE 6 CYCLE DE VIE EN V FIGURE 7 TABLEAU RECAPITULATIF DES MODELES MERISE FIGURE 8 SCHEMA MODELE MVC FIGURE 9 DIAGRAMME DE SEQUENCES «AUTHENTIFICATION» FIGURE 10 DIAGRAMMES DE SEQUENCES «PLANNING DU JOUR» FIGURE 11 DIAGRAMME DES CAS D UTILISATION FIGURE 12 DIAGRAMME DE CLASSE FIGURE 13 ARCHITECTURE D'UNE PAGE PRIMEFACES FIGURE 14 LA PAGE D'INSCRIPTION FIGURE 15 PAGE AUTHENTIFICATION FIGURE 16 AGENDA DES EVENEMENTS FIGURE 17 PAGE AJOUTER UNE NOTE FIGURE 18 PAGE LISTE DES TABLES FIGURE 19 PAGE AJOUTER UNE TABLE FIGURE 20 PAGES SUIVIE DES RESERVATIONS FIGURE 21 AJOUTER RESERVATION FIGURE 22 UNE PAGE POUR SUIVRE LA LISTE DE CONTACTS CLIENTELE FIGURE 23 UNE INTERFACE POUR AJOUTER UN NOUVEAU CLIENT FIGURE 24 LA PAGE D INFO. CLIENT FIGURE 25 LES PROCESSUS DE DEVELOPPEMENT D'UN LOGICIEL SELON UP FIGURE 26 UN TABLEAU KANBAN FIGURE 27 COUCHE D ACCES AUX DONNEES FIGURE 28 LES COMPOSANT DE FRAMEWORK LOG4J Trabelsi Walid 4
7 INTRODUCTION GENERAL Trabelsi Walid 5
8 D urant ces dernières années l'informatique s'est imposée d'une manière très impressionnante dans les entreprises, cela est dû à son apport extraordinaire dans la gestion de leurs systèmes d informations et la mise en application de certaines méthodes de fabrication ou de contrôle citons à titre d exemple la fameuse méthode japonaise «kanban». «Kanban» (カンバン ou 看 板 ) est un terme japonais signifiant «regarder le tableau» cette méthode, déployée à la fin des années 50 dans les usines Toyota, est mise en place entre deux postes de travail et limite la production du poste amont aux besoins exacts du poste aval. Cette méthode est surtout adaptée aux entreprises ayant une production répétitive et relativement régulière. Le principe de kanban est basé sur son nombre en circulation qui doit être limité pour éviter la constitution d'encours trop importants. La méthode kanban ne dispense pas cependant d'établir des prévisions de vente et un programme de production détaillé à moyen terme. C'est en effet une technique de gestion de la production à court terme et elle peut s'intégrer parfaitement dans la gestion non pas seulement industrielle mais aussi la gestion de données professionnelles y est compris celui de la gestion de données restaurateurs auquel nous rattacherons d'ailleurs notre étude, et cela pour une meilleure gestion des différents traitements exigés selon cette méthode des cartes. Nous avons constaté, en effet, pendant nos recherches que l'ensemble des traitements au sein du restaurant se fait manuellement, ce qui engendre un certain nombre de problèmes tels que la lenteur dans l'accès aux données et le risque de perte d'informations ; donc la meilleure solution pour pallier aux problèmes de gestion de ces activités est l'informatisation afin d'assurer l'accès instantané aux données et sécuriser ces dernières, ce qui simplifie le travail administratif. De ce fait, il nous a été sollicité par les restaurateurs afin de leur concevoir un système d'information automatisé pour la gestion de données et pour réaliser cette tâche, notre choix s'est porté sur le Processus Unifié. En effet, le processus unifié est une solution de développement logiciel adaptée à tout type de projet. Ses traits distinctifs tiennent en trois notions : piloté par les Trabelsi Walid 6
9 cas d'utilisation, centré sur l'architecture, itératif et incrémental. Pour l'implémentation, le choix du langage de programmation a été dicté par le type de l'application qui devrait être réalisée d'une part, et être accessible via le réseau Internet à la portée de tout le monde, selon la technologie Client/serveur qui est largement utilisée de nos jours, et qui constitue une évolution des systèmes classiques et permet par l utilisation de nouvelles méthodes et techniques plus flexibles et fiables. Notre travail consiste à concevoir une application qui permet de gérer le système d informations relative au restaurateur : contact, réservation, tables...et pour atteindre notre objectif nous avons partagé le travail comme suit : Dans le premier chapitre analyse et spécification, on s intéressera à la capture des besoins qui consiste à l élaboration d un bilan des besoins et l analyse architecturale du système à concevoir ainsi de déterminer les aspects généraux de l application en identifiant les principales composantes du système. La conception est présentée dans le deuxième chapitre elle est axée sur les méthodes de conception de l application sous forme d un ensemble de diagrammes ainsi que la conception de la base de données. Le dernier chapitre qui est l implémentation évoque les différentes techniques, outils et environnements de développement ainsi que de représenter quelques interfaces utilisateurs de l application. Trabelsi Walid 7
10 CHAPITRE 1 : ANALYSE ET SPECIFICATION DES BESOINS Ce n'est pas la conscience des hommes La valeur d'un homme tient dans sa capacité à donner et non dans sa capacité à recevoir. «Albert Einstein» Trabelsi Walid 8
11 INTRODUCTION L objet de ce chapitre est de développer un modèle du système à construire, un système étant un tout constitué d éléments munis de propriétés unis par des relations. Ce modèle est élaboré suite à des demandes des utilisateurs. À ce niveau, le rôle du concepteur est restreint à la fonction d analyste. A ce stade, nous devons recenser les besoins, éventuellement critiquer la démarche d élaboration de statistiques actuelles, comprendre le contexte du système, formuler les besoins fonctionnels et non fonctionnels (autour du système). Il s'agit d'une étape cruciale dans la réalisation d'une application donnée. En général, l objectif de l analyse est d arriver à la compréhension des besoins et des exigences du cahier de charges. Il s agit de livrer des spécifications pour permettre de choisir la conception de la solution. Cette partie permet donc d expliciter en clair les grands traits et spécifications des parties fondamentales de l application à développer. I. OBJECTIF Ce projet consiste à développer une application web en J2EE pour la gestion des tâches quotidiennes personnelles et professionnelles d un restaurateur en utilisant comme langage de programmation JSF «JAVA SERVER FACES» et API JPA comme outil de persistance des données avec une base de données MySQL. II. CADRE DE PROJET Hra. performance engineering est une entreprise francotunisienne d édition de sites web thématiques et de développement d applications en ligne pour ses clients internationaux. Elle mène aussi d autres activités dans le domaine de marketing numérique et le référencement web. Elle est actuellement une startup en pleine expansion, gérée par des compétences jeunes et sous la direction d un promoteur français. Les activités de HRA performance sont très variées, nous pouvons en mentionner quelquesunes Conception et développement des sites web Conception, sécurisation et audit de réseaux. Trabelsi Walid 9
12 Conception et mise en place des bases de données. Développement des applications. Rédaction des cahiers de charges. III. CONTEXTE DU SYSTEME Comme nous l'avons cité précédemment, BNS Engineering n'est pas une société consommatrice, elle est plutôt productrice. Toutes les applications développées sont destinées alors à la vente. L'application en question s'agit d'une application de gestion des tâches quotidiennes personnelles et professionnelles de son utilisateur dédiée au restaurateur. Cette solution doit être capable d organiser et structurer les données et les réservations qui sont faites à l'heure actuelle manuellement. 1. CRITIQUES ET INSUFFISANCES La solution actuelle est manuelle : L absence d un système pour suivre les services proposés et les réservations en temps réel. Un besoin d un nombre additionnel d'employés pour gérer les différentes tâches administratives. Risque de perdre des contacts (fournisseur, client): ce qui peut être fatal sur le déroulement du travail au restaurant. Le suivi des clients et des fournisseurs peut rencontrer beaucoup de problèmes. La perte de clientèle suite à la bureaucratie du système de réservation par téléphone. IV. CAHIER DES CHARGES Ce projet de fin d études vise à mettre le point sur des tâches bien précises relatives à la gestion des données au profit des restaurateurs. En effet, les tâches sont les suivantes : Trabelsi Walid 10
13 Chaque nouveau utilisateur est appelé à s inscrire dans cette application et enregistrer les données relatives à son profil. Pour chaque utilisateur inscrit, un compte d accès lui sera attribué afin qu il puisse s authentifier et utiliser les différents services de cette application. Suivi du planning de jour : les tâches journalières et les notes personnelles dans un agenda. Ajout des notes de rappel sous forme d étiquettes à afficher sur l agenda. Création des cartes de contacts client et fournisseur : ajout et suppression, modification des informations. Suivi des réservations et envoi des s automatiques aux clients. Gestion du plan de tables tout en donnant la possibilité d ajouter et modifier les données relatives à chaque table que ce soit son numéro, le nombre de personnes, service, fumeur ou non. Ajout un menu de jour et le publier en envoyant un pour les utilisateurs de ce système. V. IDENTIFICATION DES BESOINS 2. LES BESOINS FONCTIONNELS L application conçue devra fonctionner en mode 3 tiers (client léger, serveur de données, serveur d application). Chaque restaurateur possédant un identifiant unique pour accéder à cette application. Le restaurateur peut ajouter, supprimer, modifier ses données de profils, gérer ses contacts client, fournisseurs, les affecter au répertoire bien déterminé ou à un sousgroupe de ce répertoire. Afficher au planning récap. du jour les réservations déjeuné, dîner. Créer un ou plusieurs plans de tables de salle de restaurant. Gestion du menu du jour : créer un nouveau menu, attribuer une date, adresser les menus aux clients. Journaliser les avertissements, alertes, erreurs, bugs générés et qui peuvent être utiles au débogage. Trabelsi Walid 11
14 3. LES BESOINS NON FONCTIONNELS : L application doit permettre de gérer les accès des utilisateurs selon un privilège et un état d activation de chaque compte. Il faut garantir la sécurité d accès à l espace administrateur afin de protéger les données personnelles des utilisateurs. Prévenir contre l accès direct avec les liens URL et définir un délai de temps pour la fermeture de session non active. L interface de cette application doit être ergonome, conviviale et voire même apte à aider l utilisateur à mieux gérer son espace de travail. VI. RECHERCHE DES ACTEURS ET DES CAS D UTILISATION 1. LES ACTEURS Les acteurs n appartiennent pas au système, mais ils interagissent avec celuici. Ils fournissent de l information en entrée et/ou reçoivent de l information en sortie, ils ne sont pas forcément des personnes. En UML, il n est pas à exclure la possibilité de spécialiser des acteurs à partir d autres acteurs. En ce qui concerne notre système, nous avons classé les acteurs en deux catégories. Acteurs internes Restaurateurs Acteurs externes client FIGURE 1 TABLEAU DES ACTEURS 2. LES CAS D UTILISATION Pour cette application, les cas d utilisation les plus pertinents sont les suivants : Les cas d utilisation Priorité Trabelsi Walid 12
15 Authentification Afficher le planning du jour Suivie des réservations Gérer le plan des tables Gestion du contact client Gestion du contact fournisseur FIGURE 2 TABLEAU DES CAS D UTILISATION VII. RAFFINEMENT DES CAS D UTILISATION 1. CAS D UTILISATION AUTHENTIFICATION : Le restaurateur ou le gestionnaire se connecte au système et saisit son login et mot de passe. Le système vérifie le mot de passe introduit. Si ce dernier est correct, l accès est autorisé et une nouvelle session sera établie. 2. CAS D UTILISATION AFFICHAGE DE PLANNING DU JOUR Il s agit d un agenda récapitulatif de notes personnelles et professionnelles du restaurateur et de lui mettre en place un suivi régulier de: Ses rendezvous professionnels et personnels Notes ««pense bête» Réservations clientèles, Les dates marquantes pour l utilisateur de cette application (fête, date de naissance...) Par ailleurs il est possible de modifier l ensemble de ces données et les supprimer directement à partir de cet agenda et avoir une alerte automatique sous forme popup pour informer l utilisateur. 3. CAS D UTILISATION SUIVI DES RESERVATIONS Ce cas d utilisation offre la possibilité de suivre en temps réel les réservations des tables. Après chaque réservation passée par les clients ou le restaurateur, une note sera affichée dans le tableau des tables indiquant le nom du client et l heure de son arrivée. Lorsque l heure limite sera dépassée, un mot dépassé devra s afficher automatiquement à côté de l heure limite. Comme il Trabelsi Walid 13
16 est possible d annuler ou modifier une ou plusieurs réservations enregistrées dans ce tableau de suivi. 4. CAS D UTILISATION GESTION DE PLAN DES TABLES Chaque restaurant dispose d une salle de restaurateur ou une terrasse composée de quelques tables pour 2, 4,8 personnes disposées selon un plan bien défini suivant les services offerts et le type des clients convoités. Avec ce plan, il est possible de suivre en détail la disponibilité et les dispositions de ces tables. Comme il est possible d ajouter ou supprimer une table d un plan donné. 5. CAS D UTILISATION GESTION DES CONTACTS Chaque restaurateur doté d un carnet de contacts a la possibilité d ajouter, supprimer ou modifier des contacts clients ou fournisseur et de mener des recherches sur ces derniers selon un critère bien défini. VIII. LE PLAN QUALITE PROJET (PQP) : Le Plan Qualité de Projet (ou PQP) a pour objectif la définition et le suivi des dispositions à prendre dans le cadre du projet afin d en assurer la qualité et d atteindre les résultats attendus. 1. PLANIFICATION DES TACHES : DIAGRAMME DE GANTT : Le diagramme de GANTT est un outil permettant de modéliser la planification de tâches nécessaires à la réalisation d'un projet. Pour arriver à réaliser ce projet, nous avons suivi le planning suivant : ID Nom de tâche Début Terminer Durée mars /3 10/3 17/3 24/3 31/3 avr mai 2013 juin 2013 juil août 2013 sept oct /4 14/4 21/4 28/4 5/5 12/5 19/5 26/5 2/6 9/6 16/6 23/6 30/6 7/7 14/7 21/7 28/7 4/8 11/8 18/8 25/8 1/9 8/9 15/9 22/9 29/9 6/10 13/10 20/10 1 Mise en place de l environnement de travail 04/03/ /04/ j 2 Analyse 02/05/ /06/ j 3 conception 03/06/ /07/ j 4 Développent 15/07/ /10/ j 5 Rédaction rapport 20/05/ /10/ j 6 Préparation d une présentation 15/11/ /11/ j 7 Test 31/10/ /11/ j FIGURE 3 DIAGRAMME DE GANTT Trabelsi Walid 14
17 2. QUALITE : MODELE DE CYCLE DE VIE: Le «cycle de vie d'un logiciel» désigne toutes les étapes du développement d'un logiciel, de sa conception à sa disparition. L'objectif d'un tel découpage est de permettre de définir des jalons intermédiaires permettant la validation du développement logiciel, c'estàdire la conformité du logiciel avec les besoins exprimés Il existe une variété de ces modèles : en cascade, W,Y. A. MODELE DE CYCLE DE VIE EN SPIRALE Proposé par B. Boehm en 1988, ce modèle est beaucoup plus général que le précédent. Il met l'accent sur l'activité d'analyse des risques : chaque cycle de la spirale se déroule en quatre phases : détermination, à partir des résultats des cycles précédents, ou de l'analyse préliminaire des besoins, des objectifs du cycle, des alternatives pour les atteindre et des contraintes. Analyse des risques, évaluation des alternatives et, éventuellement maquettage. Développement et vérification de la solution retenue, un modèle «classique» (Cascade ou en V) FIGURE 4 CYCLE DE VIE EN SPIRALE Trabelsi Walid 15
18 B. LE MODELE DE CYCLE DE VIE EN CASCADE Le modèle de cycle de vie en cascade a été mis au point dès 1966, puis formalisé aux alentours de Dans ce modèle le principe est très simple : chaque phase se termine à une date précise par la production de certains documents ou logiciels. Les résultats sont définis sur la base des interactions entre étapes, ils sont soumis à une revue approfondie et on ne passe à la phase suivante que s'ils sont jugés satisfaisants. Le modèle original ne comportait pas de possibilité de retour en arrière. Celleci a été rajoutée ultérieurement sur la base qu'une étape ne remet en cause que l'étape précédente, ce qui est dans la pratique s'avère insuffisant. Spécification Validation Conception générale Vérification Conception détaillé Vérification Codage Tests unitaires Intégration Test d intégration Mise en production Validation Maintenance FIGURE 5 CYCLE DE VIE EN CASCADE Trabelsi Walid 16
19 C. LE MODELE DE CYCLE DE VIE EN V : Le modèle en V demeure actuellement le cycle de vie le plus connu et certainement le plus utilisé. Le principe de ce modèle est qu'avec toute décomposition doit être décrite la recomposition, et que toute description d'un composant doit être accompagnée de tests qui permettront de s'assurer qu'il correspond à sa description. Ceci rend explicite la préparation des dernières phases (validationvérification) par les premières (construction du logiciel), et permet ainsi d'éviter un écueil bien connu de la spécification du logiciel : énoncer une propriété qu'il est impossible de vérifier objectivement après la réalisation. D. CHOIX CYCLE DE VIE La méthode adéquate que nous avons mis en œuvre dans ce travail est le modèle en V.Ce modèle est plus récent et plus proche de la réalité de l'articulation entre les activités de spécification et de conception, avec celles de validation et vérification. En effet, contrairement au modèle de cascade, ce modèle fait apparaître le fait que le début du processus de développement conditionne ses dernières étapes : Spécification Qualification Conception général Intégration Conception détaillé Test unitaire Programmation FIGURE 6 CYCLE DE VIE EN V Trabelsi Walid 17
20 CONCLUSION Nous avons tenté dans cette partie d analyser l existant et d extraire les objectifs attendus. Par la suite, nous avons procédé à l expression des besoins pour couronner l identification des principaux acteurs de notre système et les cas d utilisation relatifs à chacun d entre eux. Avec ce que nous avons pu dégager, l application que nous devrions réaliser est devenue claire. Par conséquent, nous essayerons dans les étapes suivantes de répondre à ces besoins en entamant la phase de conception dans le chapitre suivant. Trabelsi Walid 18
21 CHAPITRE 2 : CONCEPTION C'est la qualité de l'œuvre qui doit porter et légitimer la technologie et non l'inverse. «Jean Zeitoun» Trabelsi Walid 19
22 INTRODUCTION La conception permet d acquérir une compréhension approfondie des contraintes liées au langage de programmation, à l utilisation des composants et au système d exploitation. Elle détermine entre autres les principales interfaces et les transcrit à l aide d une notation commune en donnant un point de départ à l implémentation. I. CONCEPTION GENERALE : 1. ETUDE METHODOLOGIQUE La conception d'un système d'information n'est pas évidente car il faut réfléchir à l'ensemble de l'organisation que l'on doit mettre en place. La phase de conception nécessite des méthodes permettant de mettre en place un modèle sur lequel on va s'appuyer. E. METHODE MERISE Merise étant une méthode de conception et de développement de système d information daté de , il est basé sur la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels et organisationnels, physiques. Niveau Statique (données) Dynamique (traitements) Conceptuel MCD MCT Indépendant du système: QUOI? Organisationnel ou logique MLD (OU?) MOT (QUI? QUAND?) Choix du SGBD: QUI?QUAND? OU? Opérationnel MPD MOPT Haute connaissance du ou physique SGBD:COMMENT? FIGURE 7 TABLEAU RECAPITULATIF DES MODELES MERISE Trabelsi Walid 20
23 F. PROCESSUS UNIFIE(UP) : Le processus unifié est un processus de développement d une application itérative, centré sur l'architecture, piloté par des cas d'utilisation et orienté vers la diminution des risques, il regroupe les activités à mener pour transformer les besoins d un utilisateur en système logiciel. C est une méthode de prise en charge du cycle de vie d un logiciel et donc du développement, pour les logiciels orientés objets. C est une méthode générique, itérative et incrémentale, contrairement à la méthode séquentielle Merise. L'objectif d'un processus unifié est de maîtriser la complexité des projets informatiques en diminuant les risques. En répondant aux préoccupations suivantes : QUI participe au projet? QUOI, qu'estce qui est produit durant le projet? COMMENT doitil être réalisé? QUAND est réalisé chaque livrable? 2. LE CHOIX DE LA METHODE Pour la réalisation de cette application, notre choix a été porté sur le Processus Unifié. En effet, le processus unifié est une solution de développement logiciel adaptée à tout type de projet. Ses traits distinctifs tiennent compte de trois notions : piloté par les cas d'utilisation, centré sur l'architecture, itératif et incrémental. Le langage de modélisation que nous avons utilisé est UML (Unifier Modeling Language), qui est une partie intégrante de la démarche UP. Ses diagrammes sont largement utilisés dans chaque étape et phase de ce processus de développement, il est idéal pour : Concevoir et déployer une architecture logicielle développée dans un langage objet (Java, C++, VB.net). Certes UML, dans sa volonté "unificatrice" a proposé des formalismes. Pour modéliser les données (le modèle de classe réduit sans méthodes et stéréotypé en entités), mais avec des lacunes que ne présentait pas l'entité relation de Merise. Trabelsi Walid 21
24 Pour modéliser le fonctionnement métier (le diagramme d'activité et de cas d'utilisation) qui sont des formalismes très anciens qu'avait, en son temps, amélioré Merise... Pour l'implémentation, le choix s'est porté sur le langage de programmation JSP/JSF implémenté dans un environnement J2EE avec une base de données MySQL. 3. ARCHITECTURE MODELE/VUE/CONTROLEUR L'organisation d'une interface graphique est délicate. L'architecture MVC ne prétend pas à éliminer tous les problèmes, mais fournit une première approche pour le faire. Offrant un cadre normalisé pour structurer une application, elle facilite aussi le dialogue entre les concepteurs. L'idée est de bien séparer les données, la présentation et les traitements. Il en résulte les trois parties énumérées plus haut : le modèle, la vue et le contrôleur. Le modèle représente le cœur (algorithmique) de l'application : traitements des données, interactions avec la base de données, etc. Il décrit les données manipulées par l'application Il est représenté dans ce projet sous forme des classes de l api JPA, JDBC. La vue, ce avec quoi l'utilisateur interagit. Sa première tâche est de présenter les résultats renvoyés par le modèle. Elle se contente d'afficher les résultats des traitements effectués par le modèle et d'interagir avec l'utilisateur. Elle est représentée sous forme de pages JSP/XHTML / Primeface. Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser Il est représenté sous forme de classes contrôles : servlets Trabelsi Walid 22
25 Vue Modéle Html Xhtml SGBD Navigateur Réponse Requête controleur Servlet Manipulation des données Bean Serveur application FIGURE 8 SCHEMA MODELE MVC II. CONCEPTION DETAILLEE Après la conception et l étude préliminaire des différentes fonctionnalités de cette application, nous entreprenons la modélisation des différentes activités sous forme de diagrammes UML dans ses deux aspects dynamique et statique. 1. LA MODELISATION DYNAMIQUE : UML2 possède treize diagrammes. A la catégorie dynamique à elle seule sont associés huit diagrammes définissant le cycle de vie des objets en précisant : le comportement des objets, les différents états par lesquels ils passent et les événements qui déclenchent ces changements d'états. Dans cette application, nous allons se servir des deux seulement énoncés cidessus. Nous ne pouvons pas aller directement à la conception sans faire une petite description du fonctionnement de l'application. A. DIAGRAMME DE SEQUENCES Le diagramme de séquence vise essentiellement à représenter des interactions entre les entités Trabelsi Walid 23
26 d un système selon un point de vue temporel. Il possède une dimension temporelle mais ne représente pas explicitement les liens entre les objets. Il permet de visualiser les messages par une lecture de haut en bas. Un diagramme de séquence possède deux axes : l axe vertical qui représente le temps, et l axe horizontal qui représente les objets qui se collaborent. Dans la partie qui suit, nous allons exposer quelques scénarios illustrant des cas d utilisation. 1. DIAGRAMME DE SEQUENCES «AUTHENTIFICATION» Pour assurer la sécurité, une opération d authentification est obligatoire. Cette opération se déclenche une fois que l utilisateur aurait inscrit à cette application. Un formulaire lui sera envoyé, il le remplit en saisissant son login et son mot de passe fournis par l administrateur, puis le système vérifie la disponibilité des informations. Après une vérification et une validation, le système autorise l accès et retourne la page d accueil destinée à l utilisateur. authentification Utilisateur Inscription authentifcation Saisir profil (login,mot de passe) saisir (login,mot de passe) réfuser vérification valider FIGURE 9 DIAGRAMME DE SEQUENCES «AUTHENTIFICATION» Trabelsi Walid 24
27 2. DIAGRAMME DE SEQUENCES «PLANNING DE JOUR» Après la phase d authentification, une page s affiche contenant un agenda recensant les événements relatifs à son utilisateur tout en lui donnant la possibilité de modifier et ajouter d autres annotations dans cet agenda.cet agenda est utilisé afin de pouvoir donner à son utilisateur la possibilité de planifier, de noter son emploi du temps, ses rendezvous. Planning de jour Restaurateur page authentification Agenda Base de données Saisir(login,mot de passe) Vérification(login,mot de passe) Connexion Réfuser Confirmer Requête Résultats afficher planning Ajout evenement Modifier evenement FIGURE 10 DIAGRAMMES DE SEQUENCES «PLANNING DU JOUR» 3. DIAGRAMME DES CAS D UTILISATION Le but de ces diagrammes et d'avoir une vision globale sur les interfaces du futur logiciel. Ces diagrammes sont constitués d'un ensemble d'acteurs qui agit sur des cas d'utilisation. Il permet d'identifier les possibilités d'interaction entre le système et les acteurs (intervenants extérieurs au système), c'estàdire toutes les fonctionnalités que doit fournir le système. Il est présenté dans la Trabelsi Walid 25
28 figure cidessous : <<extend>> Modifier profil Supprimer contact modifier contact gestion profil Ajouter contact <<extend>> <<extend>> clients <<extend>> <<include>> Chercher contact <<extend>> gestion des contacts restaurateur <<include>> authentification <<include>> <<include>> fournisseurs suivie planning de jour <<extend>> Ajouter evenement inscription <<include>> <<extend>> <<extend>> <<include>> gestion des reservation Supprimer evenement Modifier date <<extend>> Ajouter menu <<extend>> gestion menu de jour <<include>> gestion des tables <<extend>> Consulter reservation Ajouter une réservation Modifier menu <<extend>> <<extend>> <<extend>> <<extend>> <<extend>> Modifier table Supprimer menu Ajouter table <<extend>> Supprimer table Publier menu FIGURE 11 DIAGRAMME DES CAS D UTILISATION 2. LA MODELISATION STATIQUE : Après que nous avons présenté l aspect dynamique de cette modélisation, nous allons aborder l autre aspect statique, avec lequel on peut identifier les propriétés des objets et leurs liaisons avec les autres objets. L'un des diagrammes statiques nous intéresse beaucoup pour pouvoir implémenter le code, il s'agit du diagramme de classes. A. DIAGRAMME DE CLASSE Le diagramme de classe est un élément important dans une démarche de conception orientée Trabelsi Walid 26
29 objet. Il représente les différentes entités (les classes d'objet) intervenant dans le système. En identifiant les concepts importants de l'application, nous avons réalisé un premier diagramme de classes pour représenter ces concepts et leurs associations ajouter () supprimer () modifier () chercher ()... : void : void : void : void Id fournisseur Nom Matricule fiscale Adresse Num téléphone int : int Fournisseur ajouter () modifier () supprimer ()... : void : void : void Reference menu Titre Libelle Date Prix Offre et special : int : Date : float * Menu de jour ajouter () modifier () supprimer () chercher ()... : void : void : void : Contact Identifiant client Nom client Prenom client Date de naissance Etat civile Lieu Profession Adresse Num telephone Nationalite Fumeur int : Date : int : int 1..1 Client 0..* Table Numero table Nombre personne Couleur Disponible Service ajouter () attribuer () modifier ()... : void : void : void : int : int : int * 0..* Num reservation Type Date fin Date debut Reservation : int : Date : Date confirmer () annuler () attribuer () passer une reservation ()... : boolean : void : void : boolean * Profil Id utilisateur Nom Prenom Date de naissance Lieu de naissance Activite Adresse personnelle Adresse professionnelle Ville Code postal Pays Num tel Code partenaire Nom entreprise + modifier ()... : void : int : Date : int : int : int * + + inscrire () modifier ()... : void : void 1..1 Login Mot de passe Privilege Etat Date mise jour : int : int : Date Compte ajouter () modifier () supprimer () chercher ()... : void : void : void : Contact FIGURE 12 DIAGRAMME DE CLASSE Id contact Civilité Prenom Mobile1 Mobile2 Tél. domicile Groupe Ville Code postal Pays Nom entreprise Fonction prof Mobile 1 prof Mobile 2 prof Fax prof Adresse entreprise 1 Adresse entreprise 2 Ville entreprise Code postal entreprise Pays entreprise Divers : int : int : int : int : int : int : int : int : int : int Contact B. CONCEPTION DE LA BASE : Nous tenons à souligner que la base de données conçue est en troisième forme normale tout en veillant à ce que l intégrité lors des ajouts et des suppressions de données soit maintenue d une Trabelsi Walid 27
30 manière transparente à travers un schéma de mapping qui permet d'assurer la transformation d'objets vers la base de données et vice versa que cela soit pour des lectures ou des mises à jour (création, modification ou suppression). Concernant les cas d héritages, nous avons opté pour un héritage par spécialisation. Nous avons également choisi de générer la classe générique et la classe spécifique sachant que dans cette dernière, seuls les attributs spécifiques figurent. D ailleurs, cette décision est justifiée par un fini d optimisation, de sorte que la migration des propriétés communes n y a pas lieu, bien sûr exception faite de la clef primaire. A cette dernière correspond une optimisation en espace de stockage par élimination de toute forme de redondance d attributs. Ainsi, le lien interclasses (générique et spécifique) est géré à l aide d une jointure sur la clé primaire.du coups, nous avons veillé à ce que l intégrité lors des ajouts et des suppressions soit maintenue. CONCLUSION L objet de ce chapitre était l aboutissement à la conception de la base de données. Pour ce faire, nous avons dû passer par des transformations des modèles et des structurations du système, tout en tenant adéquatement compte des contraintes techniques existantes pour l implémentation du futur système qui fera l objet du chapitre suivant. Trabelsi Walid 28
31 CHAPITRE 3 : DEVELOPPEMENT S'il ne fallait retenir qu'une vertu des Technologies de l'information et de la Communication ce serait celleci : la possibilité d'offrir à chacun une tribune, un espace de liberté, d'expression. «André Santini» INTRODUCTION L implémentation est le résultat de la conception, son importance est crucial pour le traitement Trabelsi Walid 29
32 du système sous forme de composants pour chaque cas d utilisation, et traduire les méthodes et les objets de cette application en des classes et de code source. I. ENVIRONNEMENT DE DEVELOPPEMENT : Il existe un panorama de technologie et de nombreuses solutions techniques pour mettre en œuvre une application web dynamique dont voici quelquesunes auxquelles nous avons notamment eu recours. 1. SGBD: MYSQL MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service de données déjà en place que vers celui des mises à jour fréquentes et fortement sécurisées. Il est multithread et multiutilisateur. C'est un logiciel libre développé sous double licence en fonction de l'utilisation qui en est faite: dans un produit libre ou dans un produit propriétaire. Dans ce dernier cas, la licence est payante, sinon c'est la licence publique générale GNU (GPL) qui s'applique. 2. EDI: NETBEANS NetBeans est un environnement de développement intégré (EDI), placé en open source par Sun en juin 2000 sous licence CDDL et GPLv2 (Common Development and Distribution License). En plus de Java, NetBeans permet également de supporter différents autres langages, comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il comprend toutes les caractéristiques d'un IDE moderne (éditeur en couleur, projets multilangage, refactoring, éditeur graphique d'interfaces et de pages Web). Conçu en Java, NetBeans constitue par ailleurs une plateforme qui permet le développement des applications web, il comprend toutes les caractéristiques d'un IDE moderne (coloration syntaxique, projets multilangage, refactoring, éditeur graphique d'interfaces et de pages web, etc.). 3. LE SERVEUR D APPLICATION J2EE : GLASSFISH GlassFish est le nom du serveur d'applications Open Source Java EE 5 et qui sert de fondation au Trabelsi Walid 30
33 produit Sun Java System Application Server de Sun Microsystems. Sa partie Toplink persistance provient d'oracle. C'est la réponse aux développeurs Java désireux d'accéder aux sources et de contribuer au développement des serveurs d'applications de nouvelle génération de Sun. II. LANGAGE & FRAMEWORK 1. Framework JSF JavaServer Faces (abrégé en JSF) est un framework Java basé sur la notion de composants et destiné au développement d'applications Web. JSF est techniquement comparable à Swing ou SWT sauf qu'ils sont utilisés pour le développement d'application bureau, en JSF et en Swing l'état d'un composant (représenté par un objet java) est enregistré lors du rendu de la page, pour être ensuite restauré au retour de la requête. Une page JSF est une page xhtml (ou jsp) liée aux Managed Bean via le language EL. JSF est principalement constitué de : Un ensemble d'apis pour la représentation et la gestion des composants, de leur état, des évènements, de la validation des entrées et la conversion des sorties, l'internationalisation et l'accessibilité ainsi que la navigation intervues. Deux jeux de composants standards (affichage de texte, saisie de texte, tables, zone à cocher, etc.): html et core. Deux bibliothèques de balises JSP (une pour chaque jeu de composants) pour permettre l'utilisation de JSP pour la construction de vues JSF. Un modèle évènementiel côté serveur. Les ManagedBeans : qui forment la couche contrôle de JSF. Unified Expression Language: abrégé en EL ou langage d'expressions unifié pour JSF et JSP 2.0. Il permet de lier les composants aux managedbeans. L'objectif de JSF est de faciliter le développement des interfaces utilisateurs des applications web, or les deux de composants standards de JSF (html et core) s'avèrent limités et insuffisants pour le développement d'applications d'entreprise. Des jeux de composants additionnels qui offrent de nouveaux composants plus riches sont indispensables pour le développement en JSF, Primefaces en offre un qui a prouvé son efficacité. Trabelsi Walid 31
34 C. JUSTIFICATION DE CHOIX DE LA LANGAGE DE PROGRAMMTION JSF permet au développeur d'accroître la productivité du développement d'interfaces «client léger» tout en permettant une maintenance assez facile. JSF est un standard J2EE. JSF permet une séparation entre la couche présentation et les autres couches d'une application web une mise en place d'un mapping HTML/OBJET la réutilisation de composants graphiques une gestion de l'état de l'interface entre les différentes requêtes une liaison entre les actions coté «Client» et les actions des objets Java coté «Serveur» création de composants customs grâce à une API le support de différents clients (HTML, WML, XML,...) grâce à la séparation des problématiques de construction de l'interface et du rendu de cette interface 2. API JPA 2.0 ECLIPSELINK EclipseLink est un Framework open source de mapping objetrelationnel pour les développeurs Java. Il fournit une plateforme puissante et flexible permettant de stocker des objets Java dans une base de données relationnelle et/ou de les convertir en documents XML. EclipseLink est dérivé du projet TopLink de la société Oracle. Il supporte un certain nombre d'api relatives à la persistance des données et notamment la JPA. 3. API DE LOGGING : LOG4J Log4j est un projet open source distribué sous la licence Apache Software initialement créé par CekiGülcü et maintenu par le groupe Jakarta. Cette API permet aux développeurs d'utiliser et de paramétrer un système de gestion de journaux (logs). Il est possible de fournir les paramètres dans un fichier de configuration ce qui rend sa configuration facile et souple. Log4j est compatible avec le JDK 1.1. et supérieur. 4. PRIMEFACES PrimeFaces est un framework open source, qui peut être assimilé à une suite de composants d'interfaces riches pour JSF. JSF apporte des éléments très basiques d'ui par contre PrimeFaces va plus loin et propose plus de 100 composants, plus de 35 thèmes, des composants mobiles et bien plus encore. Trabelsi Walid 32
35 C'est actuellement de loin la suite pour JSF la plus populaire, ainsi qu'un outil graphique très populaire partout pour le développement de Java Web. Ces bibliothèques complémentaires : PrettyFaces OmniFaces (bibliothèque utilitaire pour JSF) PrimeFaces Extensions FIGURE 13 ARCHITECTURE D'UNE PAGE PRIMEFACES II. ERGONOMIE ET CONCEPTION DES INTERFACES GRAPHIQUES La conception d un interface utilisateur doit prendre en compte les besoins du restaurateur et répondre aux exigences ergonomiques standards pour les applications web : Organisation visuelle :c est la manière dont votre site est construit : il faut avoir une cohérence et clarté dans la mise en page et pouvoir identifier en un clin d'oeil les différents pavés ou blocs qui constituent cette application et leurs fonctionnalités Cohérence :c est avoir un espace bien organisé et stable qui soit homogène tout au long de la visite de l utilisateur. L assistance : c est guider les utilisateurs selon leurs besoins et leur attentes à un Trabelsi Walid 33
36 moment précis. III. QUELQUES INTERFACES DE CETTE APPLICATION FIGURE 14 LA PAGE D'INSCRIPTION Chaque nouvel utilisateur est appelé à s'inscrire dans cette application en remplissant ce formulaire, après la validation de son inscription il recevra un qui contiendra les paramètres de son compte (login, mot de passe). Trabelsi Walid 34
37 FIGURE 15 PAGE AUTHENTIFICATION C est la première page qui s affiche à l utilisateur, elle lui offre la possibilité de s authentifier en saisissant son login et mot de passe obtenu par son inscription. FIGURE 16 AGENDA DES EVENEMENTS Trabelsi Walid 35
38 Par le biais de cet agenda il est possible de suivre les événements : les Rendezvous, les réservations et les notes importantes associées à son utilisateur en temps réel. Comme il est possible de changer les dates des événements en déplaçant quelques cartes de notes sur cet agenda. FIGURE 17 PAGE AJOUTER UNE NOTE Parmi les fonctionnalités offertes par notre application, nous citons l ajout des notes avec une description et une période de temps bien déterminée selon les besoins de l utilisateur. Trabelsi Walid 36
39 FIGURE 18 PAGE LISTE DES TABLES Cette interface permet à l utilisateur de consulter l ensemble de ces tables ainsi que leurs états de disponibilité. FIGURE 19 PAGE AJOUTER UNE TABLE Il est possible d ajouter une nouvelle table identifiée par un numéro unique ou de modifier ses données. Trabelsi Walid 37
40 FIGURE 20 PAGES SUIVIE DES RESERVATIONS On peut suivre avec ce tableau toutes les réservations relatives à chaque table, classées selon le nombre de places disponibles. FIGURE 21 AJOUTER RESERVATION On peut réserver une table, à une période bien donnée, pour un client avec des détails sur cette réservation. Trabelsi Walid 38
41 FIGURE 22 UNE PAGE POUR SUIVRE LA LISTE DE CONTACTS CLIENTELE FIGURE 23 UNE INTERFACE POUR AJOUTER UN NOUVEAU CLIENT On peut ajouter, via cette page, un nouveau client en fournissant ses différents détails : identifiant, nom, prénom Trabelsi Walid 39
42 FIGURE 24 LA PAGE D INFO. CLIENT Il est possible de suivre, à travers cette interface, les différents détails de chaque client à part. CONCLUSION Dans ce chapitre, nous avons élaboré une étude préliminaire sur l architecture logicielle et physique de notre application tout en se focalisant sur la description de l environnement matériel et logiciel qui nous a permis d implémenter notre application. Trabelsi Walid 40
43 CONCLUSION GENERAL Au terme de ce rapport, nous pouvons déduire que ce projet de fin d études nous a constitué une occasion opportune ; Il nous a permis de confronter l acquis théorique à l environnement pratique et nous a menés à une recherche sur le plan scientifique. C est là où à notre avis, réside la valeur d un tel projet de fin d études qui illustre les exigences de la vie professionnelle au côté bénéfique de l enseignement pratique que nous avons eu à L UVT. Durant ce projet, nous étions chargés pour la conception et la réalisation d une solution de gestion des données pour restaurateurs. Comme nous venons de le voir, la mise en place de cette application n est pas forcément complexe, mais, elle exige tout de même qu on suit une démarche structurée et rigoureuse. De ce fait, un travail considérable de recherche sur Internet, une étude minutieuse sur les outils de travail et une analyse de l environnement où fonctionne notre application, ont été faits afin de dégager les différents besoins et exigences du public cible et de choisir l architecture informatique la mieux adaptée au système. Ainsi, nous sommes passés à l implémentation de notre application, à ce stade, nous avons prouvé de grands efforts pour entamer la réalisation dans un délai plus proche afin de passer à l étape de validation. Cette validation doit être interactive et fluide afin de garantir aussi bien la facilité d utilisation que l utilité d utilisation. Pour conclure, nous confirmons que notre projet nous a permis d une part de mobiliser nos différentes facultés de compréhension et d intelligence, et d autre part de savoir quoi, où et quand chercher l information souhaitée. En effet, notre projet qui est polyvalent nous a poussés à explorer divers domaines qui semblent divergents, mais qui trouvent dans notre cas de figure un meilleur champ de convergence. Cette exploration était structurée et organisée de façon à préserver le bon enchaînement des travaux. Trabelsi Walid 41
44 GLOSSAIRE A API: Application Programming Interface C CGI : Common Gateway Interface D DAO : Data Access Object E EJB : Entreprise Java Bean EDI: environnement de développement intégré H Html: Hypertext Markup Language J JDK : Java Developpement Kit J2EE : Java 2 Entreprise Edition JSP : Java Server Page JVM : Javavirtual Machine JPA: Java Persistence API JSF : Java Server Faces Trabelsi Walid 42
45 L LMD : langage de manipulation de données M MVC : modèlevuecontrôleur MCT : Modèle conceptuel des traitements O ODBC : Open Database Connectivity ORM : Objectrelational mapping R Row : enregistrement S SGBD : système de gestion de base de données SQL : Structured Query Language U UML : Unified Modeling Language UP : Unified Process URL : Uniform Resource Locator X XHTML : Extensible HyperText Markup Language Trabelsi Walid 43
46 BIBLIOGRAPHIE Penser en Java par Bruce Eckel. Programmer en Java par Claude Delannoy Editions Eyrolles. Des articles du site que tous les développeurs d applications connaissent : Developpez.com. Java EE 5 :EJB 3.0 JPA JSP JSF Web services JMS GlassFish 3 Maven 3 de Antonio Goncalves JSF 2.0 Cook book de Anghel Leonard. Java Efficace Guide de Programmation de Joshua Bloch,Édition : Vuibert. Bien programmer en Java 7 : Auteur(s) : Emmanuel Puybaret, Editeur(s) : Eyrolles Collection : Blanche. Programmation Orienté Aspect pour Java / J2EEde R.Pawlak, J.Ph.Retaillé et L.Seinturier Édition : Eyrolles. Trabelsi Walid 44
47 NETOGRAPHIE Trabelsi Walid 45
48 ANNEXE JEE : Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spécification pour la technique Java de Sun plus particulièrement destinée aux applications d entreprise. Ces applications sont considérées dans une approche multiniveaux1. Dans ce but, toute implémentation de cette spécification contient un ensemble d extensions au framework Java standard (JSE, Java Standard Edition) afin de faciliter la création d applications réparties. Pour ce faire, Java EE définit les éléments suivants : Une plateforme (Java EE Platform), pour héberger et exécuter les applications. Une suite de tests (Java EE Compatibility Test Suite) pour vérifier la compatibilité. Une réalisation de référence (Java EE Reference Implementation), qui est GlassFish. Un catalogue de bonnes pratiques (Java EE BluePrints). UP Le processus unifié est un processus de développement logiciel itératif, centré sur l'architecture, piloté par des cas d'utilisation et orienté vers la diminution des risques. C'est un patron de processus pouvant être adaptée à une large classe de systèmes logiciels, à différents domaines d'application, à différents types d'entreprises, à différents niveaux de compétences et à différentes tailles de l'entreprise. Le document suivant présente sous la forme d'une note les concepts associés à ce processus. FIGURE 25 LES PROCESSUS DE DEVELOPPEMENT D'UN LOGICIEL SELON UP Trabelsi Walid 46
49 Le Kanban (kb) est un mode de gestion de flux créé par l industrie automobile Japonaise (Toyota). Kanban signifie "étiquette", et comme c est une méthode asiatique, elle implique deux principes: une très forte connotation visuelle, une recherche de la perfection au moindre coût (C est un outil des principes «PULL»). Rappelons tout d abord que le stock est nécessaire pour faire face à l irrégularité de la demande, même si la méthode PULL est appelée "Méthode zéro stock". Les étiquettes sont donc le vecteur d informations et sont rangées sur les emballages et un tableau «récapitulatif». Lorsque le tableau est vide, ceci signifie que toutes les étiquettes sont accrochées aux emballages. Le stock est alors à son zénith. Au fur et à mesure de la consommation des emballages, les étiquettes reviennent et sont remises dans le tableau en commençant toujours par le même sens et atteignent des zones de couleurs différentes (Vert, Orange et Rouge, comme pour la circulation, plus le nombre d étiquettes atteint le rouge, plus il y a urgence). Il est recommandé de ne pas toucher la zone orange ni rouge car cela signifie qu il ne reste que peu d emballages entre le fournisseur et son client. FIGURE 26 UN TABLEAU KANBAN Trabelsi Walid 47
50 UML (sigle désignant l'unified Modeling Language ou «langage de modélisation unifié») est un langage de modélisation graphique à base de pictogrammes. Il est apparu dans le monde du génie logiciel, dans le cadre de la «conception orientée objet». UML est couramment utilisé dans les projets logiciels. UML est l'accomplissement de la fusion de précédents langages de modélisation objet : Booch, OMT, OOSE. Principalement issu des travaux de GradyBooch, James Rumbaugh et Ivar Jacobson, UML est à présent un standard défini par l'object Management Group (OMG). La dernière version diffusée par l'omg est UML depuis août Le Java Development Kit (JDK) désigne un ensemble de bibliothèques logicielles de base du langage de programmation Java, ainsi que l'environnement dans lequel le code Java est compilé pour être transformé en bytecode afin que la machine virtuelle Java (JVM) puisse l'interpréter. Il existe en réalité plusieurs JDK, selon la plateforme Java1 considérée (et bien évidemment la version de Java ciblée) : JSE pour la Java 2 Standard Edition également désignée J2SE ; JEE, sigle de Java Enterprise Edition également désignée J2EE ; JME 'Micro Edition', destinée au marché mobiles ; À chacune de ces plateformes correspond une base commune de Development Kits, plus des bibliothèques additionnelles spécifiques selon la plateforme Java que le JDK cible, mais le terme de JDK est appliqué indistinctement à n'importe laquelle de ces platesformes. La Java Persistence API (abrégée en JPA), est une interface de programmation Java permettant aux développeurs d'organiser des données relationnelles dans des applications utilisant la plateforme Java.La Java Persistence API est à l'origine issue du travail du groupe d'experts JSR 220.La persistance dans ce contexte recouvre 3 zones :l'api ellemême, définie dans le paquetage javax.persistence le langage Java Persistence,Query (JPQL),l'objet/les métadonnées relationnelles JavaBeans est une technologie de composants logiciels écrits en langage Java. La spécification JavaBeans de Sun Microsystems définit les composants de type JavaBeans comme «des composants logiciels réutilisables manipulables visuellement dans un outil de conception».ils Trabelsi Walid 48
51 sont utilisés pour encapsuler plusieurs objets dans un seul objet (= le «bean» ou haricot en français). Le «bean» regroupe alors tous les attributs des objets encapsulés, et peut définir d'autres attributs si besoin. Ainsi, il représente une entité plus globale que les objets encapsulés de manière à répondre à un besoin métier. En dépit de quelques similarités, les JavaBeans ne doivent pas être confondus avec les Entreprise JavaBeans (EJB), une technologie de composants côté serveur faisant partie de J2EE (Java2 Entreprise Édition). JPA : Littéralement «Java Persistence API», il s agit d un standard faisant partie intégrante de la plateforme Java EE, une spécification qui définit un ensemble de règles permettant la gestion de la correspondance entre des objets Java et une base de données, ou autrement formulé la gestion de la persistance. Ce mécanisme qui gère la correspondance entre des objets d une application et les tables d une base de données se nomme ORM, pour «Object Relational Mapping». Ainsi dans le sens le plus simpliste du terme, ce que nous avons réalisé dans les chapitres précédents à travers nos DAO n est rien d autre qu un ORM manuel! Persistance de données : Au sens général, il s agit simplement du terme utilisé pour décrire le fait de stocker des données d une application de manière persistante! Autrement dit, de les sauvegarder afin qu elles ne disparaissent pas lorsque le programme se termine. Rien de bien compliqué, en somme. En Java, lorsqu on parle d une «solution de persistance des données», on évoque couramment un système permettant la sauvegarde des données contenues dans des objets. En réalité, vous connaissez donc déjà tous un moyen de persistance : le stockage dans une base de données relationnelle via JDBC! Configuration de JSF : Cette configuration revient à: Ajouter une implémentation JSF au classpath. Dans l exemple fourni avec cet article, J utilise la Sun Reference Implementation téléchargeable ici. Cette version supporte JSF 1.2. Trabelsi Walid 49
52 Déclarer la Faces Servlet dans web.xml et l associer à *.jsf. Cette servlet joue le rôle de la Front Servlet du MVC/Model 2. Ajouter le fichier facesconfig.xml qui permet de configurer l application JSF (déclaration des managedbeans / controllers, déclaration des règles de navigation, etc.) Après avoir déclaré la Faces Servlet ainsi que son affectation aux urls de type *.jsf, voici ce que devient web.xml: <?xmlversion="1.0"encoding="utf8"?> <webappxmlns:xsi=" xmlns=" xmlns:web=" xsi:schemalocation=" id="webapp_id"version="2.5"> <displayname>jsfcrud</displayname> <welcomefilelist> <welcomefile>index.jsp</welcomefile> </welcomefilelist> <servlet> <servletname>faces Servlet</servletname> <servletclass>javax.faces.webapp.facesservlet</servletclass> <loadonstartup>1</loadonstartup> </servlet> <servletmapping> <servletname>faces Servlet</servletname> <urlpattern>*.jsf</urlpattern> </servletmapping> </webapp> Et voici le fichier facesconfig.xml (vide pour l instant, mais il sera mis à jour au fur et à mesure de l ajout de nouvelles fonctionnalités à l application): <?xml version="1.0" encoding="utf8"?> <facesconfig xmlns=" xmlns:xsi=" xsi:schemalocation=" version="1.2"> </facesconfig> Trabelsi Walid 50
53 Configuration de JPA La configuration de JPA consiste à: Ajouter une implémentation JPA au classpath. J utilise Toplink 2.41 comme implémentation. Créer le descripteur de persistance qui sert à spécifier les paramètres de connexion à la base de données (url de connexion, login, mot de passe, etc.) ainsi qu à la déclaration des classes persistantes. J utilise Toplink comme implémentation JPA et HSQLDB comme base de données. Il faut donc mettre toplink.jar et hsqldb.jar dans le classpath de l application. Il faut ensuite créer un descripteur de persistance JPA (persistence.xml) dans un dossier META INF à la racine du dossier source. <persistencexmlns=" xmlns:xsi=" xsi:schemalocation=" version="1.0"> <persistenceunit name="jsfcrud"> <properties> <property name="toplink.logging.level" value="info" /> <property name="toplink.targetdatabase" value="mysql" /> <property name="toplink.jdbc.driver" value="com.mysql.jdbcdriver" /> <property name="toplink.jdbc.url" value="jdbc:hsqldb:file:test" /> <property name="toplink.jdbc.user" value="sa" /> <property name="toplink.ddlgeneration" value="createtables" /> </properties> </persistenceunit> </persistence> Ce fichier ne contient que le nom de l unité de persistance ( jsfcrud ) ainsi que les paramètres de connexion à la base de données qui sont: PiloteJDBC : com.mysql.jdbcdriver URL de connexion: jdbc:mysql:file:test qui indique à MYSQL de stocker la base de données dans un fichier nommé test. Il est aussi possible de stocker la base dans la mémoire vive ( Trabelsi Walid 51
54 RAM ) en utilisant un chemin du type jdbc:mysql:mem:test. Mais les données seraient alors perdues à l arrêt de l application. Login: sa (l équivalent du root dans MYSQL ) PiloteJDBC : com.mysql.jdbcdriver toplink.ddlgeneration : createtables indique à Toplink de créer les tables si elles n existent pas. Couche métier DAO Un objet d'accès aux données (en Anglais Data Access Object ou DAO) est un patron de conception (c'estàdire un modèle pour concevoir une solution) utilisé dans les architectures logicielles objet. la partie Model de l application devrait être séparée en deux sous parties: DAO ( Data Access Object ) pour l accès aux données et Service pour faire la logique métier. Mais dans le cadre de cet article, on se limitera à la couche DAO sans passer par la couche service vu que l on n a pas de logique métier à proprement parler. Trabelsi Walid 52
55 FIGURE 27 COUCHE D ACCES AUX DONNEES Trabelsi Walid 53
56 package model.dto; import javax.persistence.entity; import javax.persistence.generatedvalue; import public class Person { private Long id; private String firstname; private public Long getid() { return id; } public void setid(long id) { this.id = id; } public String getfirstname() { return firstname; } public void setfirstname(string firstname) { this.firstname = firstname; } public String getlastname() { return lastname; } public void setlastname(string lastname) { this.lastname = lastname; } } Cette classe est annotée avec JPA pour pouvoir être persistée ou retrouvé dans la base de données: L sur la classe Person pour la déclarer comme classe persistante. Cette annotation est obligatoire pour une classe persistante. L sur le getter du champ id pour le déclarer comme l identifiant. Cette Trabelsi Walid 54
57 annotation est obligatoire pour une classe persistante. L sur le getter du champ id pour déclarer qua sa valeur est auto générée. Encapsuler les opérations de persistance (création, modification, suppression et lecture) sur l entité Person dans un DAO package model.dao; import java.util.list; import javax.persistence.entitymanager; import javax.persistence.persistence; import model.dto.person; public class PersonDao { private static final String JPA_UNIT_NAME = "jsfcrud"; private EntityManagerentityManager; protected EntityManagergetEntityManager() { if (entitymanager == null) { entitymanager = Persistence.createEntityManagerFactory( JPA_UNIT_NAME).createEntityManager(); } return entitymanager; } } Le DAO qu on va développer va utiliser l API de JPA pour réaliser les opérations de persistance. Pour pouvoir l utiliser, il faut d abord créer une instance de la classe EntityManager. Pour le faire, on passe par une fabrique ( Factory ) qu on récupère via la méthode statique Persistence.createEntityManagerFactory() (Je sais, encore une autre fabrique :) ) en lui passant comme paramètre le nom de l unité de persistance (le même déclaré dans persistence.xml ): Log4j est une API de journalisation très répandue dans le monde Java. Il s'agit d'un système hautement configurable, que ce soit au niveau de ce qui doit être enregistré ou de la destination des enregistrements (serveur de logging, fichiers tournants, etc.). Pour cet article, je me suis appuyé sur la version , la version 1.3 devrait voir le jour en octobre 2005, elle introduit Trabelsi Walid 55
58 certains changements au niveau de l'api ; néanmoins, les recommandations concernant la compatibilité avec la future API ont été appliquées. Cette API est fréquemment utilisée comme système de journalisation sousjacent en combinaison avec des autres API Logger comme son nom l'indique, le Logger est l'entité de base pour effectuer la journalisation, il est mis en œuvre par le biais de la classe org.apache.log4j.logger. L'obtention d'une instance de Logger se fait en appelant la méthode statique Logger. getlogger: Il est possible de donner un nom arbitraire au Logger, cependant, comme nous le verrons lorsque nous parlerons des hiérarchies de Loggers et de la configuration, il est préférable d'utiliser le nom de la classe pour des raisons de facilité. FIGURE 28 LES COMPOSANT DE FRAMEWORK LOG4J Trabelsi Walid 56
59 RESUME Ce projet consiste à concevoir et à développer une application web d architecture applicative 3tiers pour la gestion des données restaurateurs : les contacts, les réservations, les rendezvous, les tables, les notes, les activités planifiées avec un agenda électronique simple et facile à manipuler, les tableaux pour la suivi des contacts avec les fournisseurs ou les clients ainsi que leurs réservations. Ce travail est réalisé à l aide du langage de programmation jsf, en interaction avec l API «JPA» selon le modèle MVC. Mots clés : Kanban, Agenda, Contact, JSF, J2EE, JPA, MYSQL ملخص هذا المشروع هو تصميم وبرمجة لتطبيق ويب, تم تصميمه وفق خاصية هندسية البرامج 3 طبقات إلاداة بيااات المطامم: االتصاالت والتحفظات والتعيينات والجداول والمالحظات المخطط لها مع جدول ألممال واألاشطة إلكترواية بسيطة من السهل التعامل معها وجداول لتعقب جهات االتصال مع الموةادين أو العمالء وتحفظاتها. يتم ذلك باستخدام لغة البرمجة JSF و بتفامل مع» JPA «API وفقا للنموذج. MVC الكلمات الرئيسيةKanban : التقويم االتصال.MYSQL J2EE JSF, JPA ABSTRACT Our project can be summarized in designing and developing a web application that matches with the Threetier management architecture, which is dedicated to the restoration of data such as booking, appointments, tables, notes. These data types would be planned with a simple electronic diary and activities that are easy to handle and track contacts such as suppliers or customers who are booking. Key words: Kanban, J2EE, JSF, MYSQL, JPA, MVC. Trabelsi Walid 57
Refonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
Compte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Chapitre I : le langage UML et le processus unifié
I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Analyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
Java pour le Web. Cours Java - F. Michel
Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications
CQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
SITE WEB E-COMMERCE ET VENTE A DISTANCE
Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : [email protected] GSM : Organisme
Annexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
Cours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Nom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA
Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment
Conception, architecture et urbanisation des systèmes d information
Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: [email protected] 1. Introduction
WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
IFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault
SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications
Par : ZIED TOUNSI PROJET DE FIN D ETUDE. Licence Appliquée GESTON DES PERSONNELS GOUVERNORAT DU KAIROUAN
GESTON DES PERSONNELS GOUVERNORAT DU KAIROUAN Par : ZIED TOUNSI PROJET DE FIN D ETUDE Licence Appliquée En SCIENCES ET TECHNIQUES DE L INFORMATIONS ET DE COMMUNICATIONS UNIVERSITE VIRTUELLE DE TUNIS Encadreur
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Qu'est-ce que le BPM?
Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant
1. Considérations sur le développement rapide d'application et les méthodes agiles
Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques
Visual Paradigm Contraintes inter-associations
Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor
Plateforme de capture et d analyse de sites Web AspirWeb
Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises
INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
Brique BDL Gestion de Projet Logiciel
Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst [email protected] url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL
LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS
LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS Contenu détaillé de la spécialité : SIMO : SYSTEMES D'INFORMATION, METHODES ET OUTILS (ASSISTANT CHEF DE PROJET INFORMATIQUE) Contenu détaillé
Bien programmer. en Java 7. 10 000 ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.
Bien programmer en Java 7 Avec plus de 50 études de cas et des comparaisons avec C++ et C# Plus de 10 000 ex. vendus! Édition en couleur Emmanuel Puybaret, ISBN : 978-2-212-12974-8 chapitre1 Présentation
Mise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Hébergement de sites Web
Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise
et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7
Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,
PROSOP : un système de gestion de bases de données prosopographiques
PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la
Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. www.sybase.fr/poweramc DOCUMENTATION
Sybase PowerAMC 16 Guide des nouvelles fonctionnalités générales DOCUMENTATION 2 2 www.sybase.fr/poweramc A propos de PowerAMC 16 PowerAMC est une solution de modélisation d'entreprise graphique qui prend
BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)
Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les
Rational Unified Process
Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes [email protected] Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...
D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.
PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue
2. Activités et Modèles de développement en Génie Logiciel
2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale
Architecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
Communiqué de Lancement
Direction du Marketing Produits Sage - Division Mid Market Communiqué de Lancement Rapprochement Bancaire 1000 Produit : Rapprochement Bancaire 1000 Bases de Données : Oracle - MS/SQL Server Microsoft
Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Méthodologies de développement de logiciels de gestion
Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch
Sage CRM. 7.2 Guide de Portail Client
Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,
République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique
République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique Mémoire de fin d études pour l obtention de la licence en Informatique
Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Projet de Java Enterprise Edition
Projet de Java Enterprise Edition Cours de Master 2 Informatique Boutique en ligne L objectif du projet de JEE est de réaliser une application de boutique en ligne. Cette boutique en ligne va permettre
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
1 JBoss Entreprise Middleware
1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications
MEMOIRE DE STAGE DE FIN D ETUDE
MEMOIRE DE STAGE DE FIN D ETUDE Pour l obtention du MASTERE PROFESSIONNEL «Nouvelles Technologies des Télécommunications et Réseaux» Présentée par : Marwa MZOUGHI Développement d une application SAAS pour
Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer
Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de
Université de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)
Cahier des charges : gestion de projets agiles Programmation d Algorithmes Distribués (PAD) Benoit Bernardin Rachid Bouherrou Bruno Juillard Kaba Kabinè Sid-ahmed Anouar Lekhal 2012 / 2013 Sommaire I.
Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant
Master CCI Compétences Complémentaires en Informatique Livret de l étudiant 2014 2015 Master CCI Le Master CCI (Compétences Complémentaires en Informatique) permet à des étudiants de niveau M1 ou M2 dans
Module BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1
CONCEPTION ET REALISATION D UNE APPLICATION MOBILE M-BANKING
RÉPUBLIQUE TUNISIENNE Ministère de l Enseignement Supérieur et de la Recherche Scientifique UNIVERSITE VIRTUELLE DE TUNIS Pour l'obtention du diplôme : Master professionnel en Nouvelles Technologies des
Business & High Technology
UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Progiciels de Gestion Intégrés Sommaire Définition... 2 ERP... 2 Objectifs
Expert technique J2EE
EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture
PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN
PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,
MEMOIRE DE STAGE DE FIN D ETUDE
MEMOIRE DE STAGE DE FIN D ETUDE Pour l obtention du MASTERE PROFESSIONNEL «Nouvelles Technologies des Télécommunications et Réseaux» Présenté par : BEN SAAD Asma Conception et développement d'une application
Devenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Application web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Introduction MOSS 2007
Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas
Cours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Catalogue des Formations
Catalogue des Formations When skills meet your need Pilotage et management SI Base de donnée et Aide à la décision Développement www.intellectus.ma www.fb.com/intellectusconsulting [email protected]
Architectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hé[email protected]
Formation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Système de Gestion de Ressources
Groupe 4 Système de Gestion de Ressources Clients : Rachid Khoufache & Antoine Rozenknop Version finale Ingénieur Informatique deuxième année Année scolaire 2011/2012 TABLE DES MATIERES I. INTRODUCTION...
Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier
Master MIDO 2ème année Spécification et Conception en UML Maude Manouvrier Spécifications initiales Analyse Conception du système Conception des classes Bibliographie Modélisation et conception orientées
Comprendre Merise et la modélisation des données
Comprendre Merise et la modélisation des données Tables des matières Avant-propos 1- Introduction 1-1 Principes fondateurs 1-2 Bases conceptuelles 1-3 Place de Merise dans le cycle de développement informatique
Présentation du module Base de données spatio-temporelles
Présentation du module Base de données spatio-temporelles S. Lèbre [email protected] Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes
BES WEBDEVELOPER ACTIVITÉ RÔLE
BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et
Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed
6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN
Logiciel de gestion de caisse et d ardoises
6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Logiciel de gestion de caisse et d ardoises BOIRLEAUD Pierre-Jean MOLINS Nicolas REHFELD Vincent Table des matières
Cours Gestion de projet
Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1 Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA
Bases de données et interfaces Génie logiciel
Bases de données et interfaces Génie logiciel Merlet benjamin Merlet-Billon Maryvonne Hueber Yann Jamin Guillaume Giraud Sandra Département Génie Biologique Professeurs responsables : Option BIMB Promotion
Formation : Modélisation avec UML 2.0 et Mise en pratique
Formation : Modélisation avec et Mise en pratique Durée : sur 4 Jours soit 28 heures ou sur 5 Jours soit 35 heures Présentation Stage UML (Unified Modeling Language) est la notation standard qui s'est
Formation : WEbMaster
Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins
THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL
. THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,
Auto-évaluation Aperçu de l architecture Java EE
Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU
Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware
1 Introduction Ce chapitre décrit Oracle Fusion Middleware. Il comprend : o Qu'est-ce que Middleware o Les fonction de Middleware o L'architecture de conception Middleware o L'architecture orientée services
UE 8 Systèmes d information de gestion Le programme
UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications
Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.
Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...
ACCORD-CADRE DE TECHNIQUES DE L'INFORMATION ET DE LA COMMUNICATION. PROCEDURE ADAPTEE En application des articles 28 et 76 du Code des Marchés Publics
ACCORD-CADRE DE TECHNIQUES DE L'INFORMATION ET DE LA COMMUNICATION PROCEDURE ADAPTEE En application des articles 28 et 76 du Code des Marchés Publics Analyse technique et développement d applications de
1.2 Genèse. 1.3 Version de Designer utilisée
Designer et l ingénierie du logiciel Notions élémentaires P.-A. Sunier, ISNet Neuchâtel avec le concours de C. Kohler et P. Ferrara 1 Propos liminaires... 1 1.1 Objectifs de publication... 1 1.2 Genèse...
CINEMATIQUE DE FICHIERS
ANDRE ANTHONY BRUNEAU Vincent JOUANNIN ROMAIN MAZEAUD MARINE RIOCHET Tony Groupe 609 CINEMATIQUE DE FICHIERS Mini-projet: Gestion de Ventes d'articles Enseignant: MONCEAUX Laura Année 2011 / 2012 TABLE
Les frameworks au coeur des applications web
Les frameworks au coeur des applications web Mémoire de bachelor réalisé par : Arielle Moro Directeur de mémoire : Peter Daehne, Professeur HES Genève, le vendredi 27 août 2010, Haute Ecole de Gestion
Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]
Objectif Utiliser les techniques de gestion de la mise en cache pour contrôler et améliorer les performances des requêtes Définir des mesures simples et des mesures calculées pour une table de faits Créer
DotNet. Plan. Les outils de développement
DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur
SECTION 5 BANQUE DE PROJETS
SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION
Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s
Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN
Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement
Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement distribué Éric Leclercq Département IEM / Laboratoire LE2i Septembre 2014
2.DIFFERENTS MODELES DE CYCLE DE VIE
2.DIFFERENTS MODELES DE CYCLE DE VIE 2.1. INTRODUCTION... 1 2.1.1 Notion de cycle de vie... 1 2.1.2 Justification du cycle de vie... 1 2.2. LES DIFFERENTES PHASES DU CYCLE DE VIE... 2 2.2.1 Définition
