53
Stage de 8 semaines à Alam Technologies, agence de communication web Thème : « Création d'une application web pour la gestion des dossiers sanitaires des patients » Réalisé par : Marouane TOUZANI Tuteur professionnel : M. Abdellah LAMNOUAR 2014

Rapport de Stage de Perfectionnement

Embed Size (px)

DESCRIPTION

Rapport de Stage de Perfectionnement

Citation preview

  • Stage de 8 semaines Alam Technologies, agence de communication web

    Thme : Cration d'une application web pour la gestion des dossiers sanitaires des patients

    Ralis par : Marouane TOUZANI Tuteur professionnel : M. Abdellah LAMNOUAR

    2014

  • 2

    Sommaire

    SOMMAIRE ......................................................................................................................................... 2

    REMERCIEMENT ..................................................................................... ERREUR ! SIGNET NON DEFINI.

    TABLE DABREVIATION ....................................................................................................................... 4

    INTRODUCTION .................................................................................................................................. 5

    CHAPITRE 1 : CADRE ET CONTEXTE DU PROJET ..................................................................................6

    1.1. INTRODUCTION ................................................................................................................................... 6

    1.2. ENJEUX ET CONTEXTE DU PROJET ........................................................................................................... 6

    1.3. PRESENTATION DE LORGANISME DACCUEIL ............................................................................................ 6

    CHAPITRE 2 : PRESENTATION ET CAHIER DES CHARGES .....................................................................8

    2.1. INTRODUCTION ................................................................................................................................... 8

    2.2. PRESENTATION DU PROJET ................................................................................................................... 8

    2.3. OBJECTIFS ET PERIMETRES DU PROJET .................................................................................................... 9

    2.4. PUBLIC CIBLE .................................................................................................................................... 10

    2.5. CONTENU DE LAPPLICATION .............................................................................................................. 10

    2.6. CHARTE GRAPHIQUE : EXIGENCES ET LIMITES .......................................................................................... 11

    2.7. ARBORESCENCE DE LAPPLICATION ...................................................................................................... 12

    2.8. PLANIFICATION DU PROJET .................................................................................................................. 13

    CHAPITRE 3 : TECHNOLOGIES ET OUTILS UTILISES ........................................................................... 14

    3.1. INTRODUCTION ................................................................................................................................. 14

    3.2. TECHNOLOGIE IMPLEMENTEES ............................................................................................................ 14

    3.3. OUTILS DIMPLEMENTATION ............................................................................................................... 20

    CHAPITRE 4 : ARCHITECTURE ET CONCEPTION ................................................................................. 22

    4.1. INTRODUCTION ................................................................................................................................. 22

    4.2. ARCHITECTURE DE LAPPLICATION ....................................................................................................... 22

    4.3. CONCEPTION DE LAPPLICATION .......................................................................................................... 25

    CHAPITRE 5 : PRESENTATION DE LAPPLICATION ............................................................................. 33

    5.1. INTRODUCTION ..................................................................................................................................33

    5.2. LACCUEIL DE LAPPLICATION ...............................................................................................................33

    5.3. ETAPE DINSCRIPTION ........................................................................................................................ 34

    5.4. ETAPE DAUTHENTIFICATION .............................................................................................................. 35

    5.5. ESPACE MEDECIN .............................................................................................................................. 36

    5.6. ESPACE PATIENT ............................................................................................................................... 44

    5.7. ESPACE ADMINISTRATEUR .................................................................................................................. 45

    CONCLUSION ................................................................................................................................... 47

    BIBLIOGRAPHIE ................................................................................................................................ 48

    TABLE DE FIGURES ........................................................................................................................... 49

    TABLE DE MATIERES ......................................................................................................................... 50

    ANNEXE ........................................................................................................................................... 52

  • 3

    Ddicaces

    Aux parents

    Aux proches

    Marouane TOUZANI

    Il est peu et de russites faciles, Et

    Dchecs dfinitifs.

    Proust (Marcel)

  • 4

    Table dabrviation

    JEE : Java Enterprise Edition (ou Java EE, anciennement J2EE).

    JSP : JavaServer Pages.

    JDK : Java Development Kit.

    JRE : Java Runtime Environment, ( environnement d'excution Java ).

    JDBC : Java DataBase Connectivity.

    ORM : object-relational mapping, ( mapping objet-relationnel ).

    HQL : Hibernate Query Language.

    SWT : Standard Widget Toolkit.

    IDE : Integrated Development Environment.

    MVC : Modle-Vue-Contrleur, (de langlais Model-View-Controller).

    UML : Unified Modeling Language ( langage de modlisation unifi ).

    HTML : Hypertext Markup Language.

    CSS : Cascading Style Sheets, ( feuilles de style en cascade ).

    DOM : Document Object Model.

    SGBD : Systme de Gestion de Base de Donnes. SQL : Structured Query Language.

    XML : Extensible Markup Language, ( langage de balisage extensible ).

    CSV : Comma-separated values.

    PDF : Portable Document Format.

    RTF : Rich Text Format, ( format de texte enrichi ).

  • 5

    Introduction

    Afin dappliquer les mthodologies et les notions enseignes la filire IRISI,

    nous devons passer un stage de perfectionnement pour bien comprendre le

    monde de travail et en mme temps raliser un travail d'tude et de recherche

    durant la priode de stage. Celui-ci nous permet nous, tudiants, de nous

    initier la recherche, dappliquer les connaissances acquises durant notre

    scolarit en relation avec le march. Le perfectionnement dtude permet

    galement de placer les tudiants dans une situation se rapprochant le plus

    possible du monde de travail et desprit technique.

    Le stage que jai effectu est un stage de 8 semaines au sein de lentreprise

    Alam Technologies Fs, thme Cration d'une application web pour la

    gestion des dossiers sanitaires des patients .

    Afin de comprendre la dmarche que jai utilise pour mener ce projet son

    terme, mon rapport se structure de la faon suivante :

    Tout d'abord, dans une premire partie je vais prsent le contexte gnral de

    lentreprise qui a parrain mon stage, une bref prsentation de

    fonctionnement gnral et des services. Aprs, on passera la dfinition

    gnrale de laspect de mon projet, c'est--dire ce qui existe et ce que mon

    projet va apporter. Puis dans une seconde partie, je vais prsent les outils et

    les technologies avec lesquels jai travaill. Ensuite dans une troisime partie,

    on va aborder la tache technique, avant une dmonstration du

    fonctionnement du projet.

  • 6

    Chapitre 1 :

    Cadre et contexte du projet

    1.1. Introduction

    Comme tout premier chapitre celui-ci, sintressera la prsentation du cadre

    du projet en tant que projet ralis lors du stage de perfectionnement, toute

    en prsentant lorganisme daccueil qui ma encadr le long de cette

    exprience, savoir les services que Alam Technologies fournie en prsentant

    certains projets dont cette dernire a ralis le long de son existence.

    1.2. Enjeux et contexte du projet

    Ce projet entre dans le cadre dun stage de perfectionnement ralis au sein

    de lentreprise Alam Technologies, dont le sujet est la cration dune

    application web permettant chaque mdecin inscrit au niveau de

    lapplication web, la possibilit de grer ses patients.

    1.3. Prsentation de lorganisme daccueil

    Alam Technologies, a t cr en 2009, SARL enregistre selon les lois en

    vigueur au Maroc. Par M. Lamnouar Abdellah, directeur artistique et chef de

    projet internet. Alam Technologies est une agence de communication globale

    (web agency) situe Fs.

    Services

    Alam Technologies couvre le domaine de la communication et de

    l'informatique savoir : cration et conception de sites web, infographie,

    design, logiciel, rfrencement, dveloppement, ainsi que l'impression

    travers un partenariat noue avec la socit SERINORD.

    Crations des sites web : Sites vitrines, sites statiques, sites dynamiques,

    portails, intranet et extranet, e-commerce, CMS, ... etc.

  • 7

    Logiciels et CRM : Logiciels de gestion de centre dappels, logiciels de

    gestion de parcs vhicules, logiciels sur mesures, etc.

    Rfrencement sites web : Etude des mots cls, analyse des connexions,

    soumissions aux moteurs de recherche, et la surveillance du

    positionnement.

    Rseaux : Installations et mises en place de tous types de rseaux

    Infographie / Impression : Identit visuelle, logo, photo-reportages,

    photographie studio, portrait, architecture, pack-shot, panoramiques

    interactifs 360 & visites virtuelles,...impression.

    Offshoring / sous-traitance : Dlocalisation, sous-traitance, mise en

    relation client, outsourcing.

  • 8

    Chapitre 2 :

    Prsentation et cahier des charges

    2.1. Introduction

    Ce chapitre sera rserv ltude fonctionnelle de lapplication savoir les

    diffrents aspects fonctionnels de mon projet.

    On commencera mon chapitre par rvler les diffrentes motivations de la

    cration de lapplication puis on prsentera les aspects fonctionnels de

    lapplication, cest--dire le but du projet. Ensuite on passera la population

    intresse par lapplication et en terminera par dclarer lensemble des aspects

    fonctionnels de lapplication et les exigences du choix de la charte graphique.

    2.2. Prsentation du projet

    De plus en plus linformatisation des processus de gestion prouve son utilit,

    fiabilit et rapidit. Do lide dinformatiser le processus mdical pour quun

    mdecin peut mieux grer ses patients. Il est aussi trs important de prendre

    en considration le temps quun patient peut attendre dans un cabinet

    mdical juste pour avoir droit un conseil mdical, ou bien pour voir les

    rsultats de ses analyses, alors quon peut le faire si on opte pour un systme

    dinformation publiant ce genre dinformations consommer par des patients

    ayant des droits daccs pour le faire.

    Comme cest dj mentionner en bref en haut, mon sujet consiste la cration

    dune application web donnant la main pour chaque mdecin, aprs avoir

    recevoir les droits daccs auprs dun administrateur, de mieux grer ses

    patients via des dossiers mdicaux qui peuvent tre consults par ses

    patients. Lapplication doit crer un canal de communication entre le patient

    et le client via un systme de correspondance.

  • 9

    2.3. Objectifs et primtres du projet

    Le projet opte linformatisation du processus mdical, au bien plus

    exactement des services mdicaux, via une application web rserve aux

    mdecins ayant des autorisations daccs dlivrs auprs un administrateur.

    Tout mdecin approuv par ladministrateur peut :

    Enregistres des patients et les grer librement savoir les dfrentes

    transactions de modification, suppression et visualisation des

    informations.

    Crer un dossier mdical propre chaque patient enregistr, ce dossier

    doit contenir lensemble de visites mdicales, les maladies attaquant le

    patient, les analyses effectues, les traitements conseills par le

    mdecin, et toute autre information qui peut qualifier dtre pertinent

    pour un mdecin.

    Le mdecin doit aussi tre capable de communiquer avec ses patients

    via un systme de correspondance ou bien de notification.

    Le dossier mdical doit contenir la gestion des documents mdicaux,

    lensemble des ordonnances mdicales, et les traitements conseills par

    le mdecin doivent tre bien journalis dans ce dossier mdical, ainsi il

    trace ltat mdicale du patient.

    Le patient na pas le droit de sinscrire lui-mme, cest le mdecin qui lajoute,

    et tout patient inscrit par un mdecin, doit profiter des services mdicaux en

    ayant un dossier mdical propre, dont il peut le consulter, visualiser ses

    analyses, et consommer les traitements fournit par le mdecin. Le patient de

    sa part doit avoir un canal de communication avec son mdecin via le mme

    systme de notification embarqu cot mdecin.

    Tout mdecin a le droit de sinscrire au niveau de lapplication en fournissant

    ces informations personnelles et ne sera oprationnel que aprs tre approuv

    par ladministrateur, ce dernier a le droit aussi dajouter des mdecins qui vont

    tre oprationnels une fois la saisie des informations est termine.

    Ladministrateur a le droit total pour grer les mdecins, savoir les

    diffrentes oprations de modification et suppression.

  • 10

    2.4. Public cibl

    Lapplication concerne le domaine mdical, donc la population concerne de

    cette gestion reste limite aux agents mdicaux savoir les mdecins, et la

    population consommatrice des services savoir les patients.

    2.5. Contenu de lapplication

    Lapplication doit offrir un espace propre aux mdecins pour grer ses

    patients, ces derniers eux aussi doivent avoir un espace de consultation et bien

    sur un autre espace de haut niveau permettant la gestion administrative de

    lapplication. Lespace dauthentification pour les mdecins, et les patients

    doivent aussi tre pris en charge par lapplication en donnant la possibilit

    dinscription aux nouveaux mdecins.

    2.5.1 Etape dinscription

    Tout mdecin voulant profiter de lapplication doit passer par ltape

    dinscription en fournissant certaines informations personnelles et en

    rcuprant un identifiant pour utiliser lapplication.

    Lapplication

    web

    Patient Mdecin

    Services

    mdicaux

    offre consomme

    Figure 1 : Public cibl par l'application

  • 11

    2.5.2 Etape dauthentification

    Tout utilisateur de lapplication (mdecin, patient, ou administrateur) doit

    sidentifier via un identifiant (adresse mail) et un mot de passe, do la

    ncessit dune tape dauthentification.

    2.5.3 Espace mdecin

    Le mdecin doit tre capable de grer les dossiers mdicaux de ses

    clients via un espace propre appel dossier mdical.

    Grer les ordonnance de ses client fait partie aussi de lespace mdecin.

    Un systme de correspondance via des messages de notification entre le

    mdecin et le patient.

    La gestion des documents des analyses effectues par le mdecin au

    profit de son patient doit fait partie de lespace mdecin.

    2.5.4 Espace patient

    Le patient doit tre capable de lire et envoyer des messages son

    mdecin via un systme de notification.

    Le patient doit aussi tre capable de consulter son dossier mdical.

    2.5.5 Espace administrateur

    Ladministrateur est capable de manipuler lensemble des mdecins inscrits au

    niveau de lapplication, que les nouveaux inscrits dans un espace qui lui est

    propre.

    2.6. Charte graphique : exigences et limites

    Les utilisateurs de lapplication sont des personnes non informatiss, do la

    ncessit dune charte interactive, flexible et simple lutilisation, lutilisateur

    doit tre capable de se rfrencier dans le site, sans plonger dans des

    navigations de plus de 3 cliques, pas de sous menus, des mots cl significatifs.

    Lapplication doit opter 2 couleurs savoir le vert et le blanc, et on peut

    saider par des couleurs plus au moins noire, ou rouge pour les notifications.

  • 12

    2.7. Arborescence de lapplication

    Parmi les tapes de la conception dune application web, il y a larborescence

    de lapplication, qui est une tape trs importante, car elle conditionne les

    modes daccs linformation et la navigation sur lapplication, elle est donc

    importante pour lergonomie dune application web.

    Larborescence de mon application part de la page daccueil, puis elle est

    structure en trois rubriques : Espace mdecin , Espace patient , et

    Espace administrateur , et chacune de ces rubriques contient des sous

    rbriques et des pages.

    Le schma suivant illustre larborescence de mon application :

    Figure 2 : Arborescence de l'application

  • 13

    2.8. Planification du projet

    La planification du projet est lactivit qui consiste dterminer et

    ordonnancer les tches du projet, estimer leurs charges et dterminer les

    profils ncessaires leur ralisation . Lobjectif pricipale de la planification (le

    planning) est suivre et communiquer lavancement du projet, et dterminer si

    les objectifs des tches sont raliss ou dpasss .

    2.8.1 Diagramme de GANTT

    Le diagramme de GANTT est la technique et reprsentation graphique

    permettant de renseigner et situer dans le temps les tches et ressources du

    projet .Voici le diagramme de GANTT que jai suivi :

    Figure 3 : Diagramme de Gantt

    Comme vous pouvez le constater sur le diagramme ci-dessus, jai choisi de

    dcomposer mon projet en 5 tapes de dveloppement.

    2.8.2 Mthode de PERT

    La mthode PERT (Program Evaluation and Review Technique) utilise une

    reprsentation en graphe pour dterminer la dure minimum dun projet,

    connaissant la dure de chaque tche et les contraintes denchanement.

  • 14

    Figure 4 : Diagramme de Pert

    Chapitre 3 :

    Technologies et outils utiliss

    3.1. Introduction

    Dans ce chapitre on abordera plutt laspect technique implment par mon

    application, linverse du deuximes chapitre consacr laspect fonctionnel;

    on commencera par prsenter mon choix de technologies, pourquoi ? Et pour

    quel but ? Puis on prsentera lensemble des technologies et outils utiliss

    depuis la conception jusqu la ralisation.

    Du fait de la puissance de la technologie java, on a opt pour les mmes

    raisons dimplmenter mon application selon larchitecture JEE, en offrant une

    abstraction et sparation des diffrentes couches de lapplication.

    3.2. Technologie implmentes

    3.2.1. Struts 2

    Struts 2 est bas sur une structuration de la couche prsentation en servlet et

    JSP, tout en respectant le modle MVC 2 (Model-Vue Contrleur 2). Le

    contrleur frontal Struts est facilement configurable (la description de la

    configuration tant dclarative dcrite en XML (fichiers strutsconfig.xml et

    cham-config.xml). Il ralise des traitements communs, par exemple la gestion

    des exceptions ou la gestion des messages, et dlgue la partie variable des

    sous-contrleurs, les actions.

    Struts2 nest pas une simple volution de Struts 1. Il tire ses origines de deux

    framework JEE, Struts 1 et WebWork.

  • 15

    Le projet WebWork, linitiative de la socit OpenSymphony, a vu le

    jour en mars 2002. Cr partir du noyau Struts, le framework a volu

    introduisant de nouveaux concepts et fonctionnalits, sans se soucier de

    la compatibilit avec Struts. Contrairement leurs attentes, cette

    solution alternative Struts na pas rencontr un engouement trs

    important au sein de la communaut JEE.

    Struts 1 est un framework solide, largement prouv par le temps et

    plbiscit par un grand nombre. De ce fait, la compatibilit ascendante

    le freine dans ses volutions. De nombreuses critiques se sont

    accumules sans pouvoir tre solutionnes dans ltat actuel des choses.

    Face ce constat, en dcembre 2005 les quipes de Struts 1 et de WebWork

    ont mis en commun leurs comptences pour dvelopper un nouveau

    framework baptis WebWork2, renomm par la suite Struts 2, dont la premire

    version stable est sortie le 22 fvrier 2007, sous le label 2.0.6. Pour sa part,

    Struts 1 continue son volution et est actuellement dans sa huitime version

    officielle (1.3.8) depuis le 10 Mars 2007.

    Figure 5 : Architecture de Struts 2

    Pourquoi Struts 2 :

    Il respecte le model MVC 2 ;

    Il vite davoir insrer du code Java au sein de la page JSP, (utilisation

    des tags de Struts 2 ;

  • 16

    il inclut le traitement derreurs, (utilisation des tags ) ;

    il permet lutilisation des intercepteurs pour effectuer des pr/post traitements sur les requtes, etc.

    3.2.2. Hibernate 3

    Hibernate est un framework de mapping objet-relationnel (ORM) open-source

    hautes performances trs rpandu, visant proposer un outil de mapping

    entre les objets et des donnes stockes dans une base de donnes

    relationnelle. Il prend en charge la plupart des bases de donnes compatibles

    JDBC, et permet dutiliser des dialectes spcifiques pour accder certaines

    bases.

    Les bases de donnes supportes sont les principales du march : DB2, Oracle,

    MySQL, PostgreSQL, Sybase, SQL-Server, Sap DB, Interbase, ...etc.

    Outre ses fonctions ORM de base, Hibernate dispose de fonctionnalits

    labores, comme la mise en cache, les oprations en cascade et le

    chargement paresseux. Il dfinit galement un langage dinterrogation

    nomm HQL (Hibernate Query Language) pour que nous puissions crire des

    requtes dobjets simples mais puissantes.

    Il permet la gestion de la persistance des objets en base de donnes

    relationnelle. En dautres termes, il nous laisse manipuler des objets qui sont

    lis aux tables de mon base de donnes, facilitant ainsi laccs (lecture,

    criture, modification, traitement) de celles-ci. Il est facile et rapide mettre

    en place et acclre toutes les tches lies la rcupration et au traitement

    des donnes.

  • 17

    Figure 6 : Architecture d'Hibernate 3

    3.2.3. JavaMail

    JavaMail est une API qui permet d'utiliser le courrier lectronique (e-mail) dans

    une application crite en java (application cliente, applet, servlet, ... ). Son but

    est d'tre facile utiliser, de fournir une souplesse qui permette de la faire

    voluer et de rester le plus indpendant possible des protocoles utiliss.

    JavaMail est une extension standard de Java, c'est dire que les spcifications

    de l'API sont dfinies, mais elle n'est pas fournie avec le JRE, ce qui offre la

    possibilit pour de tierces parties de fournir leur propre implmentation.

  • 18

    Figure 7 : Architecture de JavaMail

    3.2.4. DisplayTag

    Dans toutes les applications web, on a systmatiquement besoin d'afficher des

    sries d'enregistrements ou des listes d'objets via des tableaux en HTML

    (balise TABLE). Il faut alors itrer sur la liste, grer la ligne d'entte du tableau

    et assurer la pagination. Cela devient vite lourd et rptitif.

    En JEE, la librairie DisplayTag offre une solution rapide, pratique et efficace

    ce problme. Cette Taglib offre un mcanisme trs simple d'itration sur une

    collection, celui-ci s'excutant directement depuis le code d'une JSP. Le

    rsultat donne l'affichage d'un tableau HTML avec une quantit d'options

    telles que les tris sur les colonnes, la pagination, le regroupement de donnes

    ou encore l'export du tableau aux formats csv, excel, xml, pdf ou rtf.

    Les principales fonctionnalits apportes par cette librairie sont

    impressionnantes :

    Rapidit et facilit d'utilisation,

    tri sur les colonnes,

    gestion de la pagination,

    export aux formats csv, excel, xml, pdf ou rtf.

    Cette librairie nous offre aujourd'hui un gain majeur en rapidit de

    dveloppement et en maintenance, cest la librairie utilise dans mon projet

  • 19

    pour faciliter ldition, la pagination, et lexportation des fichiers en diffrents

    formats.

    3.2.5. JQuery

    Le framework jQuery est une bibliothque logicielle, rapide et concise, conue

    pour les programmeurs JavaScript. Elle facilite le dveloppement rapide

    d'applications web, et simplifie de nombreuses tches en rduisant la quantit

    de code que jai besoin d'crire.

    JQuery fournit un socle prouv de proprits et de mthodes (parcours et

    modification du DOM, gestion des vnements, effets et animations,

    transactions asynchrones de plusieurs types avec un serveur) qui procure le

    mme rsultat sur tous les navigateurs.

    Mais elle ne dispense pas le programmeur de l'apprentissage des bases : CSS,

    HTML, DOM, JavaScript. Le programmeur trouvera sur le web de nombreux

    modules d'extension, que l'on appelle plugins, qui lui apporteront des solutions

    dans de nombreux domaines. L'criture d'un plugin n'est pas une tche

    anodine, mais c'est la porte d'un dbutant expriment.

    Avant de rinventer la roue, le programmeur n'oubliera pas l'existence de

    l'interface graphique, jQuery UI, et de ses composants, que l'on appelle

    widgets. Cette interface graphique possde des composants labors et

    flexibles qui rpondent la quasi-totalit des besoins du concepteur de site

    web.

    3.2.6. MySQL 5.5

    MySQL est un systme de gestion de base de donnes (SGBD). Selon le type

    d'application, sa licence est libre ou propritaire. Il fait partie des logiciels de

    gestion de base de donnes les plus utiliss au monde, autant par le grand

    public (applications web principalement) que par des professionnels, en

    concurrence avec Oracle, Informix et Microsoft SQL Server.

    L'une des spcificits de MySQL est de pouvoir grer plusieurs moteurs au sein

    d'une seule base. Chaque table peut utiliser un moteur diffrent au sein d'une

    base. Ceci afin d'optimiser l'utilisation de chaque table. Parmi les moteurs les

    plus utiliss, il y a :

  • 20

    MyISAM : moteur par dfaut de MySQL. Il est le plus simple utiliser et

    mettre en uvre. Il utilise plusieurs fichiers qui grandissent au fur et

    mesure que la base grossit. Il ne supporte pas les transactions, ni les

    clefs trangres ;

    InnoDB : moteur cr et maintenu par InnoBase (rachet par Oracle le 7

    octobre 2005). Il gre les transactions et les clefs trangres (et donc

    l'intgrit de ses tables). En contrepartie, les bases qui l'utilisent

    occupent bien plus d'espace sur le disque ;

    BerkeleyDB (BDB) : moteur fourni par Sleepycat Software qui gre les

    transactions.

    Dans la base de donnes de mon application, on a utilis le moteur InnoDB,

    puisque cette base gre des fonctions avances et les donnes plus sensibles.

    3.3. Outils dimplmentation

    3.3.1. Eclipse

    Eclipse est un environnement de dveloppement intgr (IDE), dont le but est

    de fournir une plate-forme modulaire pour permettre de raliser des

    dveloppements informatiques. En utilisant le concept de modules nomms

    "plug-ins" dans son architecture. Lorigine du dveloppement d'Eclipse est la

    communaut I.B.M.

    Les points forts d'Eclipse :

    Eclipse possde de nombreux points forts qui sont l'origine de son :

    Une plate-forme ouverte pour le dveloppement d'applications et

    extensible grce un mcanisme de plug-ins,

    un support multi langage grce des plug-ins ddis : Cobol, C, C++,

    PHP, C#, ...

    malgr son criture en Java, Eclipse est trs rapide l'excution grce

    l'utilisation de la bibliothque SWT,

    une ergonomie entirement configurable qui propose selon les activits

    raliser diffrentes perspectives ,

    propose le ncessaire pour dvelopper de nouveaux plug-ins,

  • 21

    possibilit d'utiliser des outils open source : SVN, Maven, Junit,

    ...etc.

    3.3.2. Tomcat 7

    Tomcat tant quun serveur web diffus en open sous la licence Apache,

    prsente un conteneur dapplication web indispensable dans lenvironnement

    de dveloppement. Sa publication tant une implmentation de rfrence des

    spcifications Servlet et JSP lui rendre le plus utiliser dans le monde de

    dveloppement. Dans cette prsentation on sintressera la version Tomcat

    7 utilis dans mon projet.

    Tomcat 7 prsente une particularit entre autre Tomcat de dautres versions,

    parmi ses caractristiques :

    Publi sous forme de plusieurs modules intgrer,

    utilise le compilateur dEclipse pour compiler les JSP : il nest plus

    ncessaire dinstaller un JDK, un JRE est suffisante.

    Implmente les spcifications Servlet 2.4 et JSP 2.0.

  • 22

    Chapitre 4 :

    Architecture et conception

    4.1. Introduction

    Dans ce chapitre, on discutera de la conception, on parlera d'abord de

    larchitecture de lapplication (larchitecture trois tiers puis du modle MVC 2);

    ensuite de l'UML qui a t la base essentielle de mon travail puisquil ma

    donn la chance de se servir de deux diagrammes : diagramme de cas

    d'utilisation et diagrammes de classes.

    4.2. Architecture de lapplication

    4.2.1. Architecture 3-tiers (architecture applicative de lapplication)

    L'architecture 3-tiers (de l'anglais tiers signifiant tages ou niveaux) est un

    modle logique d'architecture applicative qui vise sparer trs nettement

    trois couches logicielles au sein d'une mme application ou systme,

    modliser et prsenter cette application comme un empilement de trois

    couches, tages, niveaux ou strates dont le rle est clairement dfini :

    La prsentation des donnes : correspondant l'affichage, la restitution

    sur le poste de travail, le dialogue avec l'utilisateur ;

    le traitement mtier des donnes : correspondant la mise en uvre de

    l'ensemble des rgles de gestion et de la logique applicative ;

    l'accs aux donnes persistantes : correspondant aux donnes qui sont

    destines tre conserves sur la dure, voire de manire dfinitive.

    Les trois couches de larchitecture 3-tiers sont :

    Couche prsentation (premier niveau) :

    Elle correspond la partie de l'application visible et interactive avec les

    utilisateurs. On parle d'Interface Homme Machine.

  • 23

    En informatique, elle peut tre ralise par une application graphique ou

    textuelle. Elle peut aussi tre reprsente en HTML pour tre exploite par

    un navigateur web ou en WML pour tre utilise par un tlphone portable.

    Couche mtier / business (deuxime niveau) :

    Elle correspond la partie fonctionnelle de l'application, celle qui implmente

    la logique , et qui dcrit les oprations que l'application opre sur les

    donnes en fonction des requtes des utilisateurs, effectues au travers de la

    couche prsentation. Les diffrentes rgles de gestion et de contrle du

    systme sont mises en uvre dans cette couche.

    La couche mtier offre des services applicatifs et mtier la couche

    prsentation. Pour fournir ces services, elle s'appuie, le cas chant, sur les

    donnes du systme, accessibles au travers des services de la couche

    infrieure. En retour, elle renvoie la couche prsentation les rsultats qu'elle

    a calculs.

    Couche accs aux donnes (troisime niveau) :

    Elle consiste en la partie grant l'accs aux gisements de donnes du systme.

    Ces donnes peuvent tre propres au systme, ou gres par un autre

    systme. La couche mtier n'a pas s'adapter ces deux cas, ils sont

    transparents pour elle, et elle accde aux donnes de manire uniforme.

    Figure 8 : Architecture 3-tiers

    Dans mon projet, pour la couche prsentation, on a utilis le framework Struts

    2, et pour la couche accs aux donnes, on utilis le framework Hibernate.

  • 24

    4.2.2. MVC 2 (Modle-Vue-Contrleur 2)

    Une architecture MVC cherche sparer trois choses : le Modle, les Vues et

    les Contrleurs. Les contrleurs permettent de rpondre aux actions de

    l'utilisateur. Chaque contrle est associ une vue : cette dernire permet de

    prsenter l'information retourne l'utilisateur. Bien entendu, l'information

    renvoye est dpendante des actions d'entres de l'utilisateur (captures par

    les contrleurs, nous venons de le dire). Les liens (les traitements) sont raliss

    par le modle (la logique mtier).

    Dans le but d'amliorer ce point, certains prfrent implmenter une

    architecture MVC 2. Dans une telle architecture, il n'existe plus qu'un seul et

    unique contrleur rceptionnant toutes les requtes clientes.

    Le contrleur unique devient le point dentre exclusif de lapplication. Il

    devient alors trs ais de centraliser la gestion des accs, des droits, des

    statistiques ou de toute autre fonctionnalit transverse.

    Figure 9 : Schma dtaill du model MVC 2

  • 25

    4.3. Conception de lapplication

    Afin de concevoir mon jeu, jai opt pour UML comme langage de conception

    et de modlisation.

    4.3.1 Pourquoi UML ?

    UML est apparu au cours des annes 90 et tient sa force de la fusion des

    mthodes de BOOCH, de la mthode OMT et OOSE qui prexistaient et dont

    il a su tirer le meilleur. En pratique, il sagit, comme pour tout formalisme, dun

    ensemble de diagrammes permettant ds lors que lon en comprend la

    signification, de dcrire simplement un ensemble de donnes, dactions ou de

    traitements, permettant ainsi la cration dune analyse complte pour raliser

    un projet informatique (une application web dans mon cas).

    UML :

    Un langage de Modlisation (standard) ;

    bas sur une approche solide Objectory ;

    un support important de stratgies et dheuristiques ;

    adapt au dveloppement Objet ;

    adapt au dveloppement Itratif ;

    adaptable au processus dune quipe ;

    support par des outils.

    UML & POO :

    UML utilise une approche objet des logiciels ;

    les entits mtier sont identifies comme des objets ;

    les modules oprationnels sont aussi vus comme des objets ;

    la construction ce fait avec une approche Yoyo (Top-down, Botton-Up).

    Adaptable :

    UML nimpose pas de mthode de dveloppement. Cest un standard de

    communication contenant un certain nombre dartefacts utiles ;

    il est donc possible dintgrer lutilisation dUML un processus de

    dveloppement existant.

  • 26

    Pour toutes ces raisons jai choisi UML comme langage de conception lors de

    la ralisation de mon projet de fin dtude.

    La norme UML actuelle comporte 13 diagrammes. Cependant seuls

    2diagrammes nous seront rellement utiles : Le diagramme des cas

    dUtilisation, et le diagramme de classes.

    Le diagramme de classes est le plus utile, cest un formalisme pour reprsenter

    les concepts usuels de lorient objet. Le diagramme des cas dutilisation

    permet de dcrire les besoins de lutilisateur final de lapplication.

    4.3.2 Rgles de gestion

    Les mdecins peuvent envoyer des demandes d'inscription.

    Seul l'administrateur peut confirmer l'inscription d'un mdecin (ou bien

    la rejeter).

    l'administrateur peut galement ajouter et supprimer un mdecin.

    Aprs la confirmation et l'identification, le mdecin peut ajouter des

    patients.

    Chaque patient peut avoir un mdecin et seulement un.

    Chaque patient un seul dossier mdical.

    Seul le mdecin peut remplir ce dossier, ainsi de le modifier (ajout,

    suppression) au besoin.

    Seul la consultation du dossier est permise pour le patient.

    Le patient peut envoyer des messages uniquement son mdecin.

    Le mdecin peut envoyer des messages uniquement ses patients.

    Le mdecin peut dlivrer une ou plusieurs ordonnances, ainsi que la

    suppression d'une ordonnance est permise.

    Une ordonnance concerne un seul patient, ce dernier n'a pas le droit de

    la consulter qu'aprs son envoi par son mdecin.

    Une ordonnance contient un ou plusieurs traitements (mdicaments).

    Chaque traitement correspond une seule ordonnance.

    Seul le mdecin peut envoyer des documents ses patients.

    Les documents peuvent tre filtrs selon des catgories.

  • 27

    Les patients et leur mdecin peuvent tout temps modifier leurs

    donnes personnelles ainsi que leur mot de passes.

    4.3.3 Diagrammes des cas dutilisation

    Les cas dutilisation (use cases) dcrivent sous forme dactions et de ractions,

    le comportement dun systme du point de vue dun utilisateur. Ils sont utiles

    lors de llaboration du cahier des charges ou du document de spcifications

    des besoins du logiciel. Ce diagramme comprend les acteurs, le systme et les

    cas dutilisation.

    Gestion globale de lapplication:

    Figure 10 : Diagramme de cas d'utilisation de la gestion globale de l'application

  • 28

    Le diagramme ci-dessus montre la totalit des tches principales quon doit

    accomplir : Le patient a le droit d'envoyer un message, afficher ses

    ordonnances et consulter son dossier mdical ; et puisque le mdecin a aussi

    ces droits, alors il hrite de patient , de plus il a le droit de modifier le dossier

    mdical et de dlivrer des ordonnances. Il existe des tches qui sexcutent en

    arrire plan, comme l'envoie demail qui est en relation include avec

    ajouter un patient. Et enfin les tches de l'administrateur sont bien cites

    dans le diagramme.

    Gestion des dossiers mdicaux :

    Figure 11 : Diagramme des cas d'utilisation de la gestion des dossiers mdicaux

    Ce diagramme rsume toutes les fonctionnalits disponibles dans mon

    application concernant la gestion du dossier mdical. Et comme vous l'auriez

    remarqu la consultation du dossier rassemble plusieurs consultations

    partielles (allergies, traitements, ...etc). C'est pour qu'on a dfinit chacune

    part de plus elle hrite du dossier mdical.Le reste du diagramme est assez

    clair.

  • 29

    Gestion des ordonnances :

    Figure 12 : Diagramme des cas d'utilisation de la gestion des ordonnances

    Concernant la gestion des ordonnances, jai adopt la mme logique, seul le

    mdecin peut dlivrer ou changer leur contenu, et le patient se contente de

    visualiser. Certaines tches sont facultatives, c'est pour cela qu'on les a mis

    dans la relation extend.

    Gestion des messages :

    Figure 13 : Diagramme des cas d'utilisation de la gestion des messages

  • 30

    Les mdecins et les patients peuvent schanger des messages qui doivent

    doit tre suivi dune notification. Et vu que chaque mdecin plusieurs

    patients on a ajout une liste des courriers. Tout a est bien visible dans le

    diagramme.

    Gestion des documents :

    Figure 14 : Diagramme des cas d'utilisation de la gestion des documents

    Seul le mdecin a le droit dajouter et de supprimer des documents, or le

    patient peut seulement les consulter, et pour faciliter la consultation on les a

    groups en catgories, chaque ajout dun document par le mdecin, est suivi

    dune notification.

    4.3.4 Diagramme de classes

    Le diagramme de classes dUML saisit la structure statique d'un systme en

    montrant les objets dans le systme, les relations entre les objets, les attributs

    et les oprations qui caractrisent chaque classe d'objets. C'est le plus

    important des modles dUML.

    Il est totalement indispensable quel que soit la mthode utilise,

    gnralement le diagramme de classes dfini la structure interne et les liens

    entre les diffrentes classes du systme mis en uvre.

    Nous examinerons plus en dtails ce diagramme dans le schma suivant :

  • 31

    Figure 15 : Diagramme de classe

    En ce qui concerne mon projet, jai cr 13 classes, listes si suit :

    Classe Personne : il sagit de la classe mre des classes Patient et

    Medecin . O les informations communes entre ces 2 classes sont

    rassembles (nom, prnom, CIN ). On la dfinie en tant que classe

    abstraite pour quelle ne soit pas instanciable.

    Classe Medecin : Cest une classe fille de la classe Personne , donc elle

    hrite ses attributs et ses mthodes, et puisque chaque mdecin peut

    avoir plusieurs patients et pour respecter la navigabilit on a mis un

    attribut de type liste des objets de type Patient .

    Classe Patient : Elle hrite de la classe mre Personne , on lui a

    attribu un attribut de type Medecin pour respecter la navigabilit

    pour un sens comme pour lautre, et comme un patient peut avoir

  • 32

    plusieurs visites, allergies, documents, messageson a mis des attributs

    de type liste pour chaque objet des classes concernes.

    Classe Document : Qui contient le chemin du document, sa taille, sa

    description et un tat qui prend soit true ou false selon sil a t

    consult par le patient ou non. On sest restreint une unique relation

    avec la classe Patient , vu que cette dernire suffit pour remonter au

    mdecin concern.

    Classe Message : O il y a le corps du message, sa date denvoie, et son

    tat (lu ou non lu) ainsi quun attribut indiquant lmetteur, et pour les

    mmes raisons cites pour la classe Document , il nexiste quune

    seule relation celle avec la classe Patient , on trouve cette

    caractristique aussi pour les classes : VisiteMedicale, Allergie, Vaccin,

    Traitement, Risque, Pathologie, et Ordonnance.

    Classe UtilisationMedicament : Elle est en relation de composition avec

    la classe Ordonnance , car elle dpend uniquement dun seul

    traitement qui est indiqu sur lordonnance, donc il ny a aucun sens

    garder lutilisation dun mdicament aprs suppression dune

    ordonnance.

  • 33

    Chapitre 5 :

    Prsentation de lapplication

    5.1. Introduction

    Ce chapitre vise l'tude et la description dtaille de mon application, celui l

    est divis en cinq espaces: inscription, connexion, mdecin, patient, et

    administrateur. Pour mieux claircir les choses, cette prsentation sera

    accompagne avec une suite de captures d'cran. Nous essayerons de donner

    le maximum important tandis que le reste sera disponible dans l'annexe.

    5.2. Laccueil de lapplication

    Ce projet, sous forme dune application web, a pour but de faciliter la gestion

    des donnes des patients y compris : les dossiers mdicaux (visites,

    pathologie, risques, vaccins, ), les ordonnances, les documents etc.

    Une fois lapplication est excute, se montre (lance) une interface contenant

    le logo de lapplication, une zone de recherche, et deux boutons au centre

    droite : Le premier pour accder la page de connexion des patients, le

    deuxime permet la connexion des mdecins et de ladministrateur.

  • 34

    Figure 16 : Page d'acceuil de l'application

    5.3. Etape dinscription

    Seul le mdecin peut bnficier de cette fonctionnalit partir de lespace

    mdecin laide du lien en bas de la page.

    Elle comporte certains champs obligatoires, et stale sur trois tapes :

    1. Informations gnrales : lunicit de certains champs est ncessaire,

    comme le CIN qui, toute inscription, on teste sa compatibilit et

    unicit, au cas contraire, il est inacceptable.

    2. Informations sur le travail : celles-ci concernent le ct professionnel.

    3. Identification : mme traitement du CIN est refait pour ladresse e-mail,

    le mot de passe doit tre soigneusement confirm en le ressaisissant

    une deuxime fois.

    Aprs avoir termin linscription, on redirige lutilisateur vers la page de

    connexion tout en affichant un message de validation sur cette page ainsi

    quun message de bienvenue vers sa boite mail. Cest aprs confirmation de

    ladministrateur que le mdecin pourra se connecter.

  • 35

    Figure 17 : Nouveau mdecin - tape 1

    5.4. Etape dauthentification

    Le champ ddi lauthentification est le mme pour ladministrateur et le

    mdecin, a dpend des informations saisies dans le champ de connexion

    quon pourrait orienter lutilisateur vers lun des deux espaces : administrateur

    ou mdecin.

    Lors de lidentification dun mdecin, plusieurs traitements sont pris en

    compte : Si le mot de passe ou lmail sont invalides, on affichera un message

    derreur qui le prvient ; et si les informations sont correctes mais la

    confirmation de linscription nest pas encore faite par ladministrateur, on

    affiche un autre message qui lindique ; sinon, le mdecin aura accs son

    compte.

    En cas doubli de mot de passe de la part du mdecin, il pourrait le rcuprer

    en cliquant sur le lien mot de passe oubli et il sera envoy son adresse

    mail.

    Pour le patient il ne peut crer lui-mme un compte, cest le mdecin qui se

    charge de cette opration, il reoit son mot de passe dans sa boite mail, qui

    sera gnr alatoirement par le serveur.

  • 36

    Pour linterface de connexion du patient, les traitements des sections :

    mail/mot de passe, mot de passe oubli, et informations incorrectes sont

    identiques ceux de mdecin part les options : nouveau patient et connexion

    administrateur qui ne sont pas disponibles.

    Figure 18 : Page d'authentification du mdecin

    5.5. Espace mdecin

    5.5.1 Liste des patients (page daccueil)

    Deux menus apparaissent en haut de la page : un menu horizontal variable,

    contenant par dfaut la liste des patients, nouveau patient, et mes courriers,

    Ou dossier mdical, ordonnance, rendez-vous, message et document si le

    mdecin choisit de grer un patient. Le second comprend le bouton

    dconnexion en plus dun menu contextuel qui comporte mes courriers et

    rglages de compte.

    Le corps de la page contient :

    La liste des patients sous forme dun tableau avec quatre colonnes : nom,

    prnom, CIN et options. Celui-l renferme cinq patients au maximum, en cas

    de plus, on passe la pagination. Le tableau peut tre tri par colonne

    souhaite (tri croissant ou dcroissant par nom, prnom, ou CIN du patient).

    La colonne doptions, pour chaque patient, comprend deux boutons : un pour

  • 37

    la visualisation qui conduit au dossier mdical du patient, et lautre pour la

    suppression qui ne se fait quaprs une confirmation. Cette liste peut tre

    exporte sous format PDF, excel, fichier texte, ou fichier xml.

    La zone des notifications qui sera aussi prsente tout le temps, permet au

    mdecin daccder ses courriers en cas de rception de nouveaux messages.

    Figure 19 : Page d'accueil de l'espace mdecin (liste des patients)

    5.5.2 Nouveau patient

    Identiquement linterface d'avant sauf qu'avec un corps peu diffrent. Un

    formulaire d'inscription remplace le tableau prcdant, qui permet la saisie des

    informations du nouveau patient en tenant compte de celles qui sont

    obligatoires entrer, et de bien expliciter celles qui proviennent de l'unicit

    comme l'mail et le CIN, car, si elles sont t entres auparavant, c'est dire

    qu'il existe dj un patient avec ces coordonnes, il est inacceptable de

    l'inscrire puisqu'il est dj.

    Afin de russir la connexion des patients, on envoie chacun son mot de passe

    par voie mail, non pas par les mdecins, mais il est gnr par le serveur

    alatoirement. Il se peut qu'un problme de connexion perturbe l'opration

    d'envoi du mot de passe, alors on affiche un message d'erreur confirmant

    l'inscription du patient mais l'envoi dmail contenant le mot de passe n'est pas

    encore russit; et dans ce cas on permet au mdecin d'envoyer au patient son

  • 38

    mot de passe via son logiciel de courriers lectroniques prfr, et on le

    redirige vers la liste des patients dans la page d'accueil.

    Figure 20 : Page pour ajouter un nouveau patient

    5.5.3 Mes courriers

    On reste toujours dans la mme interface en remplaant le tableau d'avant par

    la liste des derniers messages reus par les patients, sous forme d'un tableau

    form des colonnes des noms complets des patients, le dernier message, et la

    date de son envoi/rception, tri, par dfaut, par ordre de date

    denvoi/rception, mais on peut galement trier la liste des courriers par le

    nom du patient, et par les message.

    Les messages sont organis et marqus d'une mme couleur part les non lus

    qui sont marqus en rouge et qui peuvent tre affichs seuls l'aide d'une

    option au dessus du tableau en cas de besoin. Ainsi, par augmentation du

    nombre des messages, on abouti la pagination. Dautre part, quand le

    mdecin clique sur l'un des messages il est automatiquement redirig vers la

    conversation complte en lui donnant la permission d'envoyer un nouveau

    message. Une fois le mdecin clique sur un message non lu, celui-ci se

    transforme en lu. Et tout ceci est poursuivi par la zone de notification.

  • 39

    Figure 21 : Page "Mes courriers"

    5.5.4 Gestion des dossiers mdicaux

    Elle contient 7 lments : visites mdicales, traitements, pathologies, vaccins,

    allergies, risques et note mdicale ; qui seront aussi lists dans un sous menu

    contextuel au dessous du principal, ainsi quune barre o sont inscrites les

    informations personnelles du patient concern.

    Ces lments sont sous forme de tableaux qui diffrent selon llment, seul

    leurs trois premires lignes seront affiches, et pour consulter lun deux

    entirement ou le modifier il suffit de cliquer sur (ajouter/modifier) dans

    llment souhait.

    Si un lment est vide, on indique que cest une zone non renseigne.

    Pour chaque lment, on trouve des colonnes spcifiques qui peuvent tre des

    champs de saisie ou de type date, en plus dune colonne option commune pour

    les sept lments qui permet grce deux boutons de modifier ou supprimer

    le contenu de la ligne correspondante.

  • 40

    Figure 22 : Page d'accueil du dossier mdical

    5.5.5 Gestion des ordonnances

    On y trouve deux onglets, le premier affichant la liste des ordonnances

    dlivres par le mdecin vers ce patient et le second permet de crer une

    nouvelle ordonnance.

    Pour la liste des ordonnances on y trouve leur nombre total, puis un tableau o

    sont listes toutes les ordonnances dlivres avec leurs dates et les

    mdicaments quelles contiennent avec la possibilit dafficher que les

    ordonnances non encore consultes par le patient, on peut aussi visualiser

    lune deux en dtail ou la supprimer grce deux boutons dans la colonne

    options.

    Enfin on peut exporter les ordonnances sous lun des quatre formats

    disponibles : CSV (fichier texte), PDF, XML, ou excel.

    En ce qui concerne la cration des ordonnances elle permet la gestion de

    chaque mdicament en prcisant bien sur son nom, la manire et la dure du

    traitement, ainsi quune ventuelle description, on ajoute progressivement

    chaque mdicament quon peut tout moment modifier ou supprimer, et

    enfin on confirme le tout en envoyant lordonnance entire au patient.

  • 41

    Figure 23 : Page pour dlivrer une ordonnance

    5.5.6 Gestion des messages

    Il sagit dune interface permettant lchange des messages entre le mdecin

    et le patient sous forme dune discussion, o pour chaque message envoy on

    indique la date et lheure dtaille, ainsi que le nom accompagn dune image

    pour distinguer facilement lmetteur.

  • 42

    Figure 24 : Page des messages

    5.5.7 Gestion des documents

    Cest une interface qui permet lenvoie des documents images (tif, tiff, bmp,

    jpg, jpeg, png, ou gif) ne dpassant pas 5 Mo de taille vers le patient, avec la

    possibilit de les accompagner avec une description pour plus de dtails.

    Ces images sont classes selon des catgories selon leur contenu (radio, IRM,

    chographie)

    Le mdecin peut toujours les consulter et selon la catgorie quil dsire, ainsi

    les images sont affiches en miniature juste au dessus du champ consacr

    lupload, et en pointant dessus leur description saffiche, et puis un clique

    permet de les agrandir, de plus il peut les supprimer, ainsi le patient ne les

    verra plus son tour.

    Si jamais le mdecin choisit un fichier non support, ou dpassant la taille

    limite, un message derreur en rouge sera affich indiquant que le transfert est

    impossible.

  • 43

    Figure 25 : Page de la gestion des documents

    5.5.8 Rglages

    Disponible partir du bouton Mon compte dans le deuxime menu

    contextuel en haut droite de la page.

    Dans cette page le mdecin peut modifier ses informations personnelles

    saisies linscription, sauf son nom, prnom, CIN et son adresse mail qui

    dterminent son identit.

    Il a aussi la possibilit de changer son mot de passe, partir dun lien en bas de

    la page, il doit alors saisir son ancien mot de passe puis entrer le nouveau quil

    dsire et le confirmer, si lopration saccomplie avec succs il sera redirig

    vers la page prcdente, avec un message indiquant le succs de lopration.

  • 44

    Figure 26 : Page de rglage

    5.6. Espace patient

    Aprs lidentification, le patient accde directement la partie dossier mdical

    puisquil nest concern que par un seul mdecin, comme a les informations

    de ce dernier sont affiches en permanence en haut.

    Le patient a le droit alors de consulter les dtails concernant son dossier

    mdical, ses ordonnances, rendez vous, messages et documents, sans nul droit

    de modifier quoique ce soit exception faite des messages, puisquil a le droit

    den envoyer aussi son mdecin.

  • 45

    Un dernier champ est disponible pour le patient ddi aux notifications et qui

    est affich en permanence aussi, et qui donne les informations en temps rel

    propos des nouveaux messages, ordonnances ou documents.

    Pour la fentre rglages, elle permet au patient de complter ses informations

    manquantes, car son mdecin navait saisit que les informations obligatoires

    linscription, avec toujours la possibilit du changement du mot de passe.

    Figure 27 : Dossier mdical du patient (espace patient)

    5.7. Espace administrateur

    5.7.1 Mdecins non confirms

    Aprs sa connexion, ladministrateur est dirig vers la page des mdecins non

    confirms, classs dans un tableau avec quatre colonnes (noms, prnom, CIN

    et options). Pour voir toutes les autres informations on peut cliquer sur lune

    des trois premires colonnes du tableau. La colonne des options permet de

    confirmer ou de rejeter les demandes dinscription des mdecins. Lopration

    du rejet ne se fait quaprs une confirmation par le biais dune boite de

    dialogue.

  • 46

    5.7.2 Mdecins confirms

    Un nouveau tableau lieu au centre de la page, similaire celui qui prcde

    sauf quil ne contient que les mdecins confirms et longlet option sert

    supprimer aprs confirmation ou visualiser un mdecin (voir la totalit des

    informations).

    5.7.3 Nouveau mdecin

    Le mdecin naura pas besoin dattendre la confirmation dinscription sil est

    ajout par ladministrateur. La procdure dinscription est la mme (rpartie

    en trois, .).

    Nb : pour simplifier la navigation entre ces pages, on a cr un menu

    horizontal qui poursuit ladministrateur.

    Figure 28 : Espace administrateur (mdecins non confirms)

  • 47

    Conclusion

    Ainsi, jai effectu mon stage de perfectionnement au sein de lentreprise Alam

    Technologies. Lors de ce stage de 8 semaines, jai pu mettre en pratique nos

    connaissances thoriques acquises durant ma formation, de plus, je me suis

    confronts aux difficults relles du monde du travail.

    Cette exprience en entreprise, ma offert une bonne prparation mon

    insertion professionnelle, car elle fut pour moi une exprience enrichissante et

    complte qui conforte mon dsir dtre la tte de plusieurs projets dans le

    futur.

    De plus, cela ma pouss amliorer mon propre style concernant le

    dveloppement web en JEE, et ce projet nest encore que dans son tat

    prmatur, puisque je tien lamliorer davantage pour quil tient compte

    dun corps mdical plus largit, et pourquoi pas ladapter pour dautres

    secteurs, pour enfin donner lieu un produit innovant et comptitif sur le

    march sans avoir de difficults le commercialiser.

    Jai gardais du stage un excellent souvenir, il constitue dsormais une

    exprience professionnelle valorisante et encourageante pour mon avenir.

    Enfin, je tien exprimer mon satisfaction davoir pu travaill dans de bonnes

    conditions et un environnement agrable.

  • 48

    Bibliographie

    Tutoriel officiel de JEE (en anglais), [en ligne]. Adresse URL :

    http://docs.oracle.com/javaee/1.4/tutorial/doc/

    Mistra.com, formation en informatique, Tutoriel Hibernate, [en ligne]. Adresse

    URL : http://www.mistra.fr/tutoriels-java/tutoriel-hibernate.html

    developpez.com, club des professionnels de linformatique, Tutoriel Jakarta

    Struts, [en ligne]. Adresse URL : http://tahe.developpez.com/java/struts/

    Display tag library 1.2, documentation officielle, [en ligne]. Adresse URL :

    http://www.displaytag.org/1.2/

    jmdoudoux.fr, dveloppons en java, chapitre 50 : JavaMail, [en ligne]. Adresse

    URL : http://www.jmdoudoux.fr/java/dej/chap-javamail.htm

    Wikipdia, Lencyclopdie libre, [en ligne]. Adresse URL : http://fr.wikipedia.org

    La gestion de projet informatique, mthodes, conseils et expriences . . .

    [en ligne]. Adresse URL :

    http://www.gestion-projet-informatique.vivre-aujourdhui.fr/

    apprendre-en-ligne.net, conception dun site web, [en ligne]. Adresse URL :

    http://www.apprendre-en-ligne.net/web/conception/index.html

  • 49

    Table de figures

    Figure 1 : Public cibl par l'application .............................................................................................. 10

    Figure 2 : Arborescence de l'application ........................................................................................... 12

    Figure 3 : Diagramme de Gantt ......................................................................................................... 13

    Figure 4 : Diagramme de Pert ........................................................................................................... 14

    Figure 5 : Architecture de Struts 2 .................................................................................................... 15

    Figure 6 : Architecture d'Hibernate 3 ................................................................................................ 17

    Figure 7 : Architecture de JavaMail ................................................................................................... 18

    Figure 8 : Architecture 3-tiers ........................................................................................................... 23

    Figure 9 : Schma dtaill du model MVC 2 ......................................................................................24

    Figure 10 : Diagramme de cas d'utilisation de la gestion globale de l'application .............................. 27

    Figure 11 : Diagramme des cas d'utilisation de la gestion des dossiers mdicaux ..............................28

    Figure 12 : Diagramme des cas d'utilisation de la gestion des ordonnances ..................................... 29

    Figure 13 : Diagramme des cas d'utilisation de la gestion des messages .......................................... 29

    Figure 14 : Diagramme des cas d'utilisation de la gestion des documents ........................................ 30

    Figure 15 : Diagramme de classe ...................................................................................................... 31

    Figure 16 : Page d'acceuil de l'application ......................................................................................... 34

    Figure 17 : Nouveau mdecin - tape 1 ............................................................................................. 35

    Figure 18 : Page d'authentification du mdecin ................................................................................ 36

    Figure 19 : Page d'accueil de l'espace mdecin (liste des patients) .................................................... 37

    Figure 20 : Page pour ajouter un nouveau patient ............................................................................ 38

    Figure 21 : Page "Mes courriers" ....................................................................................................... 39

    Figure 22 : Page d'accueil du dossier mdical ...................................................................................40

    Figure 23 : Page pour dlivrer une ordonnance ................................................................................. 41

    Figure 24 : Page des messages .........................................................................................................42

    Figure 25 : Page de la gestion des documents .................................................................................. 43

    Figure 26 : Page de rglage ............................................................................................................. 44

    Figure 27 : Dossier mdical du patient (espace patient) .................................................................... 45

    Figure 28 : Espace administrateur (mdecins non confirms) .......................................................... 46

    Figure 29 : Exemple d'une ordonnance ............................................................................................. 52

    Figure 30 : Page d'erreur 404 (page non trouve) ............................................................................. 53

  • 50

    Table de matires

    SOMMAIRE ......................................................................................................................................... 2

    REMERCIEMENT ..................................................................................... ERREUR ! SIGNET NON DEFINI.

    TABLE DABREVIATION ....................................................................................................................... 4

    INTRODUCTION .................................................................................................................................. 5

    CHAPITRE 1 : CADRE ET CONTEXTE DU PROJET ..................................................................................6

    1.1. INTRODUCTION ................................................................................................................................... 6

    1.2. ENJEUX ET CONTEXTE DU PROJET ........................................................................................................... 6

    1.3. PRESENTATION DE LORGANISME DACCUEIL ............................................................................................ 6

    Services .................................................................................................................................................... 6

    CHAPITRE 2 : PRESENTATION ET CAHIER DES CHARGES .....................................................................8

    2.1. INTRODUCTION ................................................................................................................................... 8

    2.2. PRESENTATION DU PROJET ................................................................................................................... 8

    2.3. OBJECTIFS ET PERIMETRES DU PROJET .................................................................................................... 9

    2.4. PUBLIC CIBLE .................................................................................................................................... 10

    2.5. CONTENU DE LAPPLICATION .............................................................................................................. 10

    2.5.1 Etape dinscription ...................................................................................................................... 10

    2.5.2 Etape dauthentification ..............................................................................................................11

    2.5.3 Espace mdecin ...........................................................................................................................11

    2.5.4 Espace patient .............................................................................................................................11

    2.5.5 Espace administrateur .................................................................................................................11

    2.6. CHARTE GRAPHIQUE : EXIGENCES ET LIMITES .......................................................................................... 11

    2.7. ARBORESCENCE DE LAPPLICATION ...................................................................................................... 12

    2.8. PLANIFICATION DU PROJET .................................................................................................................. 13

    2.8.1 Diagramme de GANTT.................................................................................................................13

    2.8.2 Mthode de PERT ........................................................................................................................13

    CHAPITRE 3 : TECHNOLOGIES ET OUTILS UTILISES ........................................................................... 14

    3.1. INTRODUCTION ................................................................................................................................. 14

    3.2. TECHNOLOGIE IMPLEMENTEES ............................................................................................................ 14

    3.2.1. Struts 2 .................................................................................................................................. 14

    3.2.2. Hibernate 3 ............................................................................................................................ 16

    3.2.3. JavaMail ................................................................................................................................. 17

    3.2.4. DisplayTag ............................................................................................................................. 18

    3.2.5. JQuery ................................................................................................................................... 19

    3.2.6. MySQL 5.5 ............................................................................................................................. 19

    3.3. OUTILS DIMPLEMENTATION ............................................................................................................... 20

    3.3.1. Eclipse ................................................................................................................................... 20

    3.3.2. Tomcat 7 ................................................................................................................................ 21

    CHAPITRE 4 : ARCHITECTURE ET CONCEPTION ................................................................................. 22

    4.1. INTRODUCTION ................................................................................................................................. 22

    4.2. ARCHITECTURE DE LAPPLICATION ....................................................................................................... 22

    4.2.1. Architecture 3-tiers (architecture applicative de lapplication) ................................................... 22

  • 51

    4.2.2. MVC 2 (Modle-Vue-Contrleur 2) ........................................................................................... 24

    4.3. CONCEPTION DE LAPPLICATION .......................................................................................................... 25

    4.3.1 Pourquoi UML ? .......................................................................................................................... 25

    4.3.2 Rgles de gestion ........................................................................................................................ 26

    4.3.3 Diagrammes des cas dutilisation ................................................................................................ 27

    4.3.4 Diagramme de classes ................................................................................................................ 30

    CHAPITRE 5 : PRESENTATION DE LAPPLICATION ............................................................................. 33

    5.1. INTRODUCTION ..................................................................................................................................33

    5.2. LACCUEIL DE LAPPLICATION ...............................................................................................................33

    5.3. ETAPE DINSCRIPTION ........................................................................................................................ 34

    5.4. ETAPE DAUTHENTIFICATION .............................................................................................................. 35

    5.5. ESPACE MEDECIN .............................................................................................................................. 36

    5.5.1 Liste des patients (page daccueil) ............................................................................................... 36

    5.5.2 Nouveau patient .......................................................................................................................... 37

    5.5.3 Mes courriers .............................................................................................................................. 38

    5.5.4 Gestion des dossiers mdicaux .................................................................................................... 39

    5.5.5 Gestion des ordonnances ............................................................................................................ 40

    5.5.6 Gestion des messages ................................................................................................................. 41

    5.5.7 Gestion des documents ............................................................................................................... 42

    5.5.8 Rglages .................................................................................................................................... 43

    5.6. ESPACE PATIENT ............................................................................................................................... 44

    5.7. ESPACE ADMINISTRATEUR .................................................................................................................. 45

    5.7.1 Mdecins non confirms .............................................................................................................. 45

    5.7.2 Mdecins confirms .................................................................................................................... 46

    5.7.3 Nouveau mdecin ....................................................................................................................... 46

    CONCLUSION ................................................................................................................................... 47

    BIBLIOGRAPHIE ................................................................................................................................ 48

    TABLE DE FIGURES ........................................................................................................................... 49

    TABLE DE MATIERES ......................................................................................................................... 50

    ANNEXE ........................................................................................................................................... 52

    Exemple dune ordonnance : .................................................................................................................... 52

    Page 404 (page non trouve) : ................................................................................................................. 53

  • 52

    Annexe

    Exemple dune ordonnance :

    Figure 29 : Exemple d'une ordonnance

    Dans la liste des ordonnances dlivres par le mdecin, on peut cliquer sur le

    bouton Visualiser lordonnance pour lafficher dans une nouvelle page

    ressemble la page ci-dessus.

  • 53

    Page 404 (page non trouve) :

    Figure 30 : Page d'erreur 404 (page non trouve)

    Lerreur 404 est un code derreur dans le protocole HTTP. Ce code est renvoy

    par un serveur HTTP pour indiquer que la ressource demande (gnralement

    une page web) nexiste pas. Certains navigateurs web affichent alors le

    message 404 File Not Found .

    Il y a cependant certains hbergeurs qui personnalisent cette page d'erreur.

    Mais l'idal reste de personnaliser soi-mme l'erreur 404.

    L'intrt de personnaliser cette page est multiple. Pour toutes ces raisons jai

    personnalis la page derreur 404 L'intrt premier consiste ne pas perdre les

    visiteurs qui s'garent sur le site (involontairement ou non) et de ne pas perdre

    leur confiance. Car malheureusement, lorsqu'un visiteur rencontre une telle

    page cela n'est gure un attribut de confiance. Dans certains cas a ressemble

    de l'amateurisme. Il faut prouver au visiteur que le problme qu'il a rencontr

    est pris trs cur par l'quipe qui s'occupe du site. Pour toutes ces raisons,

    jai choisi de personaliser la page derreur 404 (capture ci-dessus).