Vous êtes sur la page 1sur 57

Universit ABDELMALIK ESSADI

ECOLE NATIONAL DES SCIENCES APPLIQUEES - TANGER

Rapport du stage dt Spcialit : Gnie informatique Option: Systme dinformation Sujet : mise en uvre d'un portail de covoiturage

Ralis par : BAKHAT KENITAR SOUKANA

Encadr par : Mr.Abdellah Azmani (Omnixys)

ENSAT

RAPPORT DU STAGE DETE

Omnixys

REMERCIEMENTS:

Avant

d'entamer

ce

travail,

je

tiens

exprimer ma vive gratitude et reconnaissance mon encadrant M. ABDELLAH AZMANI POUR l'aide et le soutien dont il a fait preuve afin de maider faire sortir ce travail dans son meilleur tat. Enfin, je remercie toute travail. personne ayant contribu de prs ou de loin la ralisation de ce

Page 2

ENSAT

RAPPORT DU STAGE DETE

Omnixys

RESUME
Le prsent rapport prsente le fruit de mon stage dt qui rentre dans le programme de ma formation lcole nationale des sciences appliques de Tanger, effectu au sein de la socit OmniXys install Tanger. Le projet consiste la mise en uvre dun portail de covoiturage et de son application mobile. On tait charg principalement de deux modules : module de gestion des annonces et celui de gestion de membre, ces deux modules font parties de plusieurs modules qui rentrent dans le mme projet. Pour la conception et la modlisation de ce projet nous avons bass sur la mthode de modlisation UML due sa robustesse en termes de modlisation objet. On a adopt la technologie JEE et Androde comme Framework de dveloppement.

Page 3

Sommaire
Rapport du stage dt .................................................................................................................................................................... 1

Universit ABDELMALIK ESSADI ...............................................................................................................................................................................................

RESUME ...............................................................................................................................................................................................................................................

Liste de figures ..................................................................................................................................................................................................................................

Introduction ...................................................................................................................................................................................................................................... I.

Axe 1 : CONTEXTE GENERAL DU PROJET ............................................................................................................................................................................ Qui est OmniXys? .................................................................................................................................................................................9 Ses partenaires : .....................................................................................................................................................................................9 Ses domaines d'interventions : .........................................................................................................................................................9 II. 1. 1. 2. 3. 4. III. 1. 2. 3. 4. I. 1. 2. Principe : ..................................................................................................................................................................................... 10 Enjeux : .......................................................................................................................................................................................... 11 Composition du projet :.........................................................................................................................................................12 Charte du COVOITURAGE: .................................................................................................................................................13 Nature des travaux DEMANDS:....................................................................................................................................... 14 organisation du stage15 La mthode agile : ....................................................................................................................................................................15 La mthode XP (eXtremProgramming) ........................................................................................................................... 16 Planning: ..................................................................................................................................................................................... 19 Diagramme de Gantt : .......................................................................................................................................................... 20 MODLISATION: .. 22 Analyse ........................................................................................................................................................................................22 Spcifications ...................................................................................................................................................................................22 Conception ................................................................................................................................................................................ 25 les acteurs et leurs rles : .......................................................................................................................................................... 25 Use cases :........................................................................................................................................................................................ 26 Digrammes de use cases : ...........................................................................................................................................................27 Scnarios: ......................................................................................................................................................................................... 29 Package : .............................................................................................................................................................................................31 Diagramme de classes :.................................................................................................................................................................31 Diagramme de squences : ........................................................................................................................................................ 35 Diagramme dtat:......................................................................................................................................................................... 39 Axe 3: Mise en uvre informatique...40 I. 1. Application Android :.41 Pourquoi choisir Android ? ............................................................................................................................................... 42

Prsentation de lentreprise .........................................................................................................................................................................................

cadre general du projet .................................................................................................................................................................................................

Axe 2: ANALYSE & CONCEPTION.21

ENSAT
2. 3. 4. 5. 6. II. 1. 2.

RAPPORT DU STAGE DETE

Omnixys

larchitecture de lapplication : .......................................................................................................................................... 43 Shma fonctionnel : ............................................................................................................................................................... 43 technologies utiliss pour lapplication androde intitul OmniStop : ........................................................... 44 Outils de dveloppement utilis : ..................................................................................................................................... 46 Lapplication M-OmniStop ................................................................................................................................................ 46 Application Web :48 Architecture de dveloppement ........................................................................................................................................ 49 Dveloppement : ..................................................................................................................................................................... 49

Java Server Faces

.................................................................................................................................... 50

PrimeFaces ....................................................................................................................................................................................... 50 JPA ........................................................................................................................................................................................................51 EclipseLink .........................................................................................................................................................................................51 3. Outils utilis pour le dveloppement : ........................................................................................................................... 52 4.Application de covoiturage.52 Page Authentification :..53 Page Accueil : .53 Page ajout dannonce :..54 Conclusion :.56 RFRENCE:57 Webographie ........................................................................................................................................................................................ 57 Bibliographie ........................................................................................................................................................................................ 57

LISTE DE FIGURES
Figure 1: Exemple de processus de dveloppement, et dtail dune phase ...........................................................................17 Figure 2: digramme de GANTT .......................................................................................................................................................... 20 Figure 3: Diagramme de uses cases : Gestion dannonce .................................................................................................. 28 Figure 4: Diagramme de uses cases : Gestion de covoiturage : ...................................................................................... 29 Figure 5: scnario dpt dannonce .................................................................................................................................................. 30 Figure 6: Diagramme reprsentant les diffrents packages .......................................................................................................31 Figure 7: Diagramme reprsentant les diffrentes classes ........................................................................................................32

Page 5

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Figure 8: Diagramme de classes de package annonce ............................................................................................................... 33 Figure 9: Diagramme de classes de package membre ............................................................................................................... 34 Figure 10: Diagramme de squence reprsentant le rglement de paiement Offline ..................................................... 35 Figure 11: Diagramme de squence reprsentant dpt dannonce ....................................................................................... 36 Figure 12: Diagramme de squence reprsentant paiement .................................................................................................... 37 Figure 13 : Diagramme de squence reprsentant paiement ................................................................................................... 38 Figure 14: Diagramme dtat dannonce .......................................................................................................................................... 39 Figure 15: Diagramme dtat de membre........................................................................................................................................ 40 Figure 16: Table comparatif entre les diffrents OS mobile .................................................................................................... 42 Figure 17 : shma fionctionnel de lapplication ............................................................................................................................. 44 Figure 18 : processus ajout du trajet par le conducteur ........................................................................................................... 47 Figure 19 : processeur recherche trajet par le passager ............................................................................................................ 48 Figure 20 : architecture du J2EE ........................................................................................................................................................ 49 Figure 21 : page authentification ........................................................................................................................................................ 53 Figure 22 : page daccueil ..................................................................................................................................................................... 53 Figure 23 : page dajout dune annonce .......................................................................................................................................... 55

Page 6

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Introduction

Dans le but daboutir leurs formations, les lves en 2me annes de cycle dingnieur de lEcole Nationale des Sciences Appliques de Tanger sont amens effectuer un stage dt comme tant ingnieur assistant au sein dune entreprise spcialise dans le domaine de leur formation sous un thme propos par lorganisme daccueil, et ce afin dassurer lapplication pratique de lenseignement donne par ltablissement et de valider leurs connaissances acquises. Et comme tant un lev ingnieur lcole national des sciences appliques, javais loccasion de raliser mon projet dt au sein de la socit OmniXys pour une dure de plus de 2 Les projets Androde et J2EE sintitulent successivement OmniStop et covoiturage. Le covoiturage est une solution de transport alternative lautosolisme qui permet d'augmenter les taux d'occupation des vhicules et par consquent lutter contre la congestion automobile et rduire la pollution atmosphrique.

Page 7

ENSAT

RAPPORT DU STAGE DETE

Omnixys

AXE 1 : CONTEXTE GENERAL DU PROJET

Dans cette partie on va prsenter lorganisme daccueil, ses domaines dintervention et ses solutions, ainsi on va parler de notre projet en citant les besoins, les objectifs atteindre puis on va prsenter les diffrentes phases de son droulement

Page 8

ENSAT

RAPPORT DU STAGE DETE

Omnixys

I.

PRESENTATION DE LENTREPRISE

Qui est OmniXys?


OMNIXYS est une jeune SARL cre en 2006 par la fusion de deux entreprises LOGSYS et OMNIXONE. Son activit soriente vers le dveloppement de solutions informatiques cl en main et la production de contenus multimdias caractres instructifs et pdagogiques. Lentreprise a nou des partenariats avec des entreprises en France et en Belgique, pour lesquelles elle dveloppe des projets de complexit et de taille diverses.

Ses partenaires :
OMNIXYS est un centre de production qui travaille pour le compte de ses partenaires : EUROTRADING CAPITAL MARKET (Paris - Iles de France) CREAPIX (Paris Iles de France) WaxMedia Agency (Londres - UK) PAGEMEDIA SARL (Carvin Pas de Calais) SILAA WA KHADAMAT (Tanger Maroc) IMMONET (Tanger Maroc) Et spcialement pour le compte de la socit OMNIXONE (France) avec laquelle elle noue une relation trs forte. OMNIXYS a pu ainsi dvelopper des applications pour le compte de ses partenaires et qui concernent des clients prestigieux : France Tlvision, Bourse de Paris, Groupe Le Monde, Groupe Coquide (concessionnaires europen pour la vente de camions et vhicules professionnels), Groupe Floris (premier groupe europen pour la distribution des Fleurs et Plantes coupes), Channel Four (Chane de Tlvision Anglaise), Groupe Paget (Groupe de Transport routier), Groupe Novergie (Traitement et recyclage des dchets).

Ses domaines d'interventions :


Conseil et audit orients Internet, Multimdia et Nouvelles technologies. Analyse de spcifications et rdaction de cahier des charges. Dmarches administratives : rservation ou changement de dlgation de noms de domaines, dclarations diverses. Conception de charte graphique. Ralisation d'application 3D : images, animation, vido, photo panoramique 360. Conception et ralisation de solution Internet / Intranet. Conception et ralisation de borne interactive. Conception et gestion de bases de donnes. Dveloppement informatique. Web et multimdia. GP - ERP CRM SCM (sur environnement Linux avec des interfaces clientes sur Windows). Rfrencement : moteurs de recherche et annuaires lectroniques. Marketing viral : rfrencement permanent, dclaration sur les forums, animation de forums et mailing list, e-mailing et oprations spcifiques. Installation de serveur : LAN, Messagerie, Web, SGBD, Firewall, Cache, Stockage, Streaming ...

Page 9

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Installation et configuration du rseau dentreprise. Cryptage, scurisation de donnes et des changes. Formation utilisation dinternet, courrier lectronique, logiciel bureautique

II.

CADRE GENERAL DU PROJET

Dans le cadre de mon projet dt, jai dvelopp un projet intitul Covoiturage . Lapplication met en relation conducteurs et passagers qui circuleront ensembles dans un mme vhicule le temps d'un voyage ou rgulirement. Le covoiturage s'adresse tous les personnes qui souhaitent rouler plus intelligemment en ralisant des conomies et prservant notre environnement. Voici dfinition du covoiturage : Covoiturer, c'est utiliser une seule voiture pour faire un trajet plusieurs .

1. Principe :

Page 10

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Un conducteur propose sa voiture, et ses services, pour un trajet donn, avec la date et l'heure qu'il souhaite. Les frais sont laisss son apprciation aussi : le plus classique est de calculer le cot du trajet comprenant le carburant et le page, puis de diviser ce montant par le nombre de personnes au moment du dpart certains vont y inclure les frais gnraux de la voiture tels que les cots de l'entretien et de l'assurance. Gnralement, le lieu de dpart est fix l'avance et commun pour tout le monde. A l'arrive, il est frquent que le conducteur dpose les passagers un endroit que chacun souhaite (proche des transports en commun, un endroit o la famille ou un ami peut le rcuprer, ...), tout en vitant que le conducteur fasse un gros dtour. De mme, certains conducteurs peuvent demander ce qu'un des passagers le remplace au volant afin qu'il puisse se reposer un peu. Ceci permet aussi de rduire les temps de pause, et donc d'arriver plus rapidement destination, surtout lorsqu'il s'agit d'un long trajet.

1. Enjeux :
Le covoiturage planifi est le type de covoiturage traditionnellement utilis, o dans le cas des dplacements domicile-travail, chacun doit sengager vis vis de ses covoitureurs tre ponctuels et assidu aux rendez-vous. Il sous-entend donc une interdpendance tant pratique que relationnelle qui peut constituer un frein majeur ladoption de ce mode de transport.

En terme conomique :

Economies pour le covoiturer : Essence, page, stationnement, contravention. Combler des horaires de transports parfois inadapts sa situation ou insuffisants en heures creuses. En cas de panne de son propre vhicule ou en cas de grve des transports publics (le train par exemple), c'est la seule solution de remplacement possible. La proximit des gares et stations n'est pas toujours vidente. Les problmes de stationnement seront galement amliors car un nombre moins important de vhicules auront besoin de parking. Il permet de faciliter la mobilit des autres membres de la famille en affectant le vhicule dautres usages quaux dplacements professionnels. Economies pour les collectivits : Rduire la pression sur les installations routires. Economies pour les entreprises : Optimisation de la gestion du stationnement de lentreprise.

Page 11

ENSAT

RAPPORT DU STAGE DETE

Omnixys

En terme convivial :

Se faire de nouveaux amis. Tisser des liens personnels avec ses relations professionnelles. Briser la monotonie des voyages.

En terme cologie : Rduire les missions des Co2 et la consommation de carburant. Rduire les pollutions locales. Fluidifier le trafic.

Les inconvnients : Difficult trouver des personnes ayant les mmes trajets et les mmes horaires. Dpendance aux autres. Risque de se retrouver avec des personnes moins apprcies pour effectuer les dplacements.

2. Composition du projet :
Le projet est un portail de mise en relation, qui est parmi les premiers projets de ce genre au Maroc et qui permet l'utilisateur de choisir son covoiturage en fonction de son besoin spcifique puisquil y a plusieurs catgories de covoiturage. Occasionnel : consiste en un trajet unique (inhabituel) planifi plus ou moins longtemps l'avance et d'une distance relativement leve (>50km), en gnral d'une ville une autre. Rgulier : Il s'agit de trajets relativement courts et frquents (principalement, trajets quotidiens domicile - lieu de travail). Mis en uvre spontanment entre collgues de travail plus souvent qu'on ne le pense, sans mme avoir conscience qu'il s'agit de covoiturage. Ponctuel : ou covoiturage vnementiel, il s'agit de trajets organiss l'occasion d'un vnement particulier (ftes, concerts, expositions etc.) pendant des priodes prcises au cours de l'anne. Dans ces cas, le covoiturage est souvent encourag pour des raisons logistiques (nombre de places de parking, difficults de dplacement, embouteillage...). Les diffrents types de covoiturage sont : Co-voyage : Gnralement cest un covoiturage occasionnel, il peut tre au niveau national ou international. Accompagnement scolaire : cest un covoiturage rgulier qui sinstalle sur le long terme. Alternance entre parents pour conduire des enfants lcole ou pour des tudiants aux universits.

Page 12

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Taxi partage : pour organiser vos trajets en taxi et rduire vos frais. Partager un taxi cest trouver les taxis arrivant proximit de votre destination, et vous met en relation avec les passagers de ces taxis. Entreprise : permet aux entreprises de mettre disposition de leurs employs un outil informatique simple, permettant dinscrire son trajet et de trouver les personnes qui font le mme.

3. Charte du COVOITURAGE:
En vous inscrivant sur ce site vous acceptez de respecter les rgles de la charte du covoiturage solidaire : La prsente charte a pour objet de formaliser les rgles de dontologie et de scurit relatives l'utilisation du service de covoiturage. Responsabilit : Les utilisateurs du site, acceptent dagir sous leur seule et entire responsabilit. on ne saurait, en aucun cas, tre tenu pour responsable de tout dommage que pourrait subir une personne du fait de lutilisation du prsent site, notamment en cas dutilisation du site en violation de la prsente charte, de dommage survenant loccasion dun voyage, de retard ou dabsence dun conducteur ou dun passager. Sincrit Toute personne dsirant sinscrire sur le prsent site accepte de communiquer des informations exactes et exhaustives et de veiller leur mise jour rgulire. Utilisation du service Lutilisation du prsent site Internet et des adresses de courriel de ses utilisateurs doit avoir pour seul but de rechercher des personnes avec qui organiser un covoiturage dans le respect des rglementations en vigueur. Il ne doit pas tre utilis dans le but de transmettre tout autre contenu. Lutilisation du site ne doit pas avoir de finalit commerciale, le service de covoiturage rendu par les conducteurs ne pouvant faire lobjet que dune indemnisation dans le cas de dplacements rguliers, conformment larticle Rpartition des frais et non une rmunration. Compte tenu de la spcificit du covoiturage, linscription ce site nest autorise quaux personnes majeures. Dans le cas dun covoiturage domicile/cole ou lieu de formation pour un mineur cest le responsable lgal du mineur qui sinscrit sur le site. Par ailleurs, lutilisateur nous autorise accder aux informations enregistres dans son profil, notamment pour rsoudre certains problmes techniques. La scurit Le conducteur s'engage respecter le code de la route. Il garantit galement que son permis de conduire est valide et que son vhicule est en parfait tat d'usage et d'entretien, que les contrles de scurit sont effectus en conformit avec la rglementation, quil souscrit un contrat dassurance pour le vhicule et que ce contrat couvre les passagers transports. Dans l'hypothse o le conducteur verrait sa situation modifie, il s'engage le dclarer immdiatement.

Page 13

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Comportement des utilisateurs Les utilisateurs du covoiturage acceptent de prendre toutes les mesures de scurit qui simposent, de propret et de respect des autres utilisateurs ainsi que de respecter lensemble des rglementations en vigueur. De manire gnrale, les utilisateurs du covoiturage se soumettent une obligation de ponctualit, sengagent ne transporter aucune substance illicite ou dangereuse et adopter en toute circonstance un comportement respectueux et responsable. Le passager sengage particulirement : respecter la propret du vhicule dans lequel il est transport; Ne pas gner le conducteur durant le trajet; tre en tat de sobrit. Rpartition des frais Dans le cadre dun dplacement ponctuel, le conducteur sengage ne pas demander de participation au passager conformment aux valeurs de solidarit et dentraide qui caractrisent le projet. Dans le cadre de dplacements rguliers, la rpartition des frais est librement convenue entre les utilisateurs. Le montant ou la rgle de calcul doit tre arrte ds le dpart. On rappelle toutefois que la participation demande ne doit pas excder le montant des frais rellement subis par le conducteur, le transport rtribu tant soumis a des rgles particulires et pourrait engendrer des difficults en cas daccident. Disponibilit du service Dans le cadre dun dplacement ponctuel, le conducteur sengage ne pas demander de participation au passager conformment aux valeurs de solidarit et dentraide qui caractrisent le projet. Dans le cadre de dplacements rguliers, la rpartition des frais est librement convenue entre les utilisateurs. Le montant ou la rgle de calcul doit tre arrte ds le dpart. On rappelle toutefois que la participation demande ne doit pas excder le montant des frais rellement subis par le conducteur, le transport rtribu tant soumis a des rgles particulires et pourrait engendrer des difficults en cas daccident.

4. Nature des travaux DEMANDS:


Les travaux prliminaires ont concern la rdaction dun cahier de charges prcisant les objectifs, la mthode et les rfrences. Jai fais des recherches qui mont aid pour bien comprendre le sujet et pour connatre les importantes notions. Un des premiers travaux a consist identifier les mots cls relatifs au covoiturage. Et cest grce ces mots cls quon a pu avoir une vision plus claire sur notre projet. Jai aussi fait une tude comparative sur les diffrents types de covoiturage afin davoir une ide globale, savoir les caractristiques de chaque type et identifier les points communs et ceux diffrents.

Page 14

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Dans un deuxime temps, jai cr des maquettes pour la mise en place des fonctionnalits de lapplication. Et pass au dveloppement tel que jai fait une formation en ANDROD et JSF en parallle de mon travail. Aprs cette tape, jai t demand de faire une analyse et conception de covoiturage. Cette phase m'a permis de rpondre des besoins importants, et de dterminer lutilisation raisonnable.

III.

ORGANISATION DU STAGE

Ce Projet a t ralis au sein de la socit OmniXys dune priode de 2 mois. Jai fait un ensemble dinterviews avec les responsables de la socit Omnixys sous la direction de Monsieur Abdellah AZMANI Directeur de la socit. Jai eu la chance dans mon travail de pouvoir bnficier dune grande autonomie. Mes remerciements les plus sincres vont M. Abdellah AZMANI ma prsent et expliqu les problmes aux quel son peut confronts toute au long du stage

1. La mthode agile :
Une mthode agile est une approche itrative et incrmentale, qui est mene dans un es prit collaboratif, avec juste ce quil faut de formalisme. Elle gnre un produit de haute qualit tout en prenant en compte lvolution des besoins des clients. Les mthodes agiles prnent quatre valeurs fondamentales :

Page 15

ENSAT
-

RAPPORT DU STAGE DETE

Omnixys

L'quipe ( Personnes et interaction plutt que processus et outils ) : Dans l'optique agile, l'quipe est bien plus importante que les moyens matriels ou les procdures. Il est prfrable d'avoir une quipe soude et qui communique compose de dveloppeurs moyens plutt qu'une quipe compose d'individualistes, mme brillants. La communication est une notion fondamentale. L'application ( Logiciel fonctionnel plutt que documentation complte ) : Il est vital que l'application fonctionne. Le reste, et notamment la documentation technique, est secondaire, mme si une documentation succincte et prcise est utile comme moyen de communication. La documentation reprsente une charge de travail importante, mais peut pourtant tre nfaste si elle n'est pas jour. Il est prfrable de commenter abondamment le code lui-mme, et surtout de transfrer les comptences au sein de l'quipe (on en revient l'importance de la communication). La collaboration ( Collaboration avec le client plutt que ngociation de contrat ) : Le client doit tre impliqu dans le dveloppement. On ne peut se contenter de ngocier un contrat au dbut du projet, puis de ngliger les demandes du client. Le client doit collaborer avec l'quipe et fournir un feed-back continu sur l'adaptation du logiciel ses attentes. L'acceptation du changement ( Ragir au changement plutt que suivre un plan ) : La planification initiale et la structure du logiciel doivent tre flexibles afin de permettre l'volution de la demande du client tout au long du projet

2. La mthode XP (eXtremProgramming)
EXtremProgramming Est une initiative de Kent Beck et Ron Jeffries, issue dune troite collaboration avec Ward Cunningham, exprimente en 1996 sur un projet pilote chez Chrysler. Ddie essentiellement la partie basse d'un projet (couche dveloppement), XP repositionne les hommes au cur du projet informatique et met en avant quatre valeurs fondamentales :

Page 16

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Figure 1: Exemple de processus de dveloppement, et dtail dune phase

Les valeurs de XP
Communication : XP favorise le contact humain, la communication directe, plutt que le cloisonnement des activits et les changes de courriers lectroniques ou de documents formels. Les dveloppeurs travaillent directement avec la matrise d'ouvrage, les testeurs sont intgrs l'quipe de dveloppement, etc. Feedback : qu'il s'agisse d'itrations courtes, de livraisons frquentes, de travail en binmes ou de tests automatiques excuts en permanence, la plupart des pratiques XP sont conues pour donner un maximum de feedback sur le droulement du projet afin de corriger la trajectoire au plus tt. En particulier, les points de dbut d'itration offrent l'quipe le moyen de prendre du recul sur son fonctionnement et de l'amliorer sans cesse au fil des itrations.

Page 17

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Simplicit : comme nous l'indiquions au dbut de ce dossier, XP relve le dfi suivant : que pouvons-nous arrter de faire tout en continuant crer efficacement un logiciel qui rponde aux besoins rels du client ? . Cette recherche de simplification touche le processus lui-mme, mais aussi l'outil fabriqu (la mcanique de planification incite le client focaliser les efforts sur les fonctions prioritaires) ou encore la conception de l'application (guide par un principe de You ain'tgonnaneedit ). Courage : il s'agit principalement du courage d'honorer les autres valeurs celui de maintenir une communication franche et ouverte, ou encore d'accepter et de traiter de front les mauvaises nouvelles. Pratiques d'XP

XP est fond sur des valeurs, mais surtout sur 13 pratiques rparties en 3 catgories Gestion de projets Programmation Collaboration

PRATIQUES DE GESTION DE PROJETS : Livraisons frquentes : Lquipe vise la mise en production rapide d'une version minimale du logiciel, puis elle fournit ensuite rgulirement de nouvelles livraisons en tenant compte des retours du client. Planification itrative : Un plan de dveloppement est prpar au dbut du projet, puis il est revu et remani tout au long du dveloppement pour tenir compte de l'exprience acquise par le client et l'quipe de dveloppement. Client sur site : Le client est intgr l'quipe de dveloppement pour rpondre aux questions des dveloppeurs et dfinir les tests fonctionnels Rythme durable : Lquipe adopte un rythme de travail qui lui permet de fournir un travail de qualit tout au long du projet. Pas plus de 40h de travail par semaine (un dveloppeur fatigu dveloppe mal).

PRATIQUES DE PROGRAMMATION :

Page 18

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Conception simple : On ne dveloppe rien qui ne soit utile tout de suite. Remaniement : Le code est en permanence rorganis pour rester aussi clair et simple que possible. Tests unitaires : Les dveloppeurs mettent en place une batterie de tests de non rgression qui leur permettent de faire des modifications sans crainte.

PRATIQUES DE COLLABORATION : Responsabilit collective du code : Chaque dveloppeur est susceptible de travailler sur n'importe quelle partie de l'application. Programmation en binmes : Les dveloppeurs travaillent toujours en binmes, ces binmes tant renouvels frquemment. Rgles de codage : Les dveloppeurs se plient des rgles de codage strictes dfinies par l'quipe elle-mme. Mtaphore : Les dveloppeurs s'appuient sur une description commune du design. Intgration continue

: L'intgration des nouveaux dveloppements faite chaque jour

3. Planning:
Afin de mener bien cette mission, jai dcid de mettre en place un Planning prvisionnel valuant les diffrentes tapes, mais surtout la dure prvue de chacune dentre elles. Six phases essentielles sont souligner. Comprhension du sujet. Cette phase fait office en quelque sorte de brainstorming, dans la mesure o elle consiste mettre en commun toutes les premires ides, impressions propos du thme de ce projet. Ceci dans le but dexposer les diffrents avis, valoriser une uniformisation du point de vue par rapport un sujet donn, et surtout de mettre en vidence les points dvelopper, claircir lors de prochaines runions de travail. Collecte dinformations A ce stade, linformation est une donne brute et non organise. Le travail consistera affiner, cibler les recherches futures pour avoir une information structure et surtout utilisable. Etablissement du plan et attribution des tches. En fonction du rsultat des recherches prcises effectues, un plan de travail peut tre tabli afin de crer un fil conducteur du projet, de mettre en place une mthode de travail structure. Les principales parties traiter sont dispatches en fonction des prfrences et perceptions du sujet de chacun. Un autre lment prendre compte est la facilit daccs linformation des diffrents acteurs du projet (connexion Internet par exemple). Rdaction du rapport. Les tches de travail tant rparties, et les informations tant dj collectes et tries, chaque membre a la rdaction dune partie du rapport sa charge. A la fin de cette phase, toutes les parties rdiges sont relues par les membres du groupe projet pour une validation commune et ventuellement correction ou approfondissement de certains passages.

Page 19

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Cas pratiques. Cette phase traite aussi bien des diffrents cas tudis, que des exemples concrets trouvs sur lInternet. Le premier cas tudi est tout dabord les sites. Cette phase de cas pratiques regroupe aussi bien les diffrentes dmarches entreprises dans loptique de ce projet, aussi les rendez-vous obtenus et les rsultats de nos entrevues avec les intresses.

Finition. Cette tape regroupe les dernires vrifications, corrections du rapport, ainsi que les
ventuelles volutions des cas pratiques, avant impression du rapport de projet final.

4. Diagramme de Gantt :

Figure 2: digramme de GANTT

Page 20

ENSAT

RAPPORT DU STAGE DETE

Omnixys

AXE 2: ANALYSE & CONCEPTION

Dans Ce chapitre sera devis en deux parties essentielles, la premire sera consacre pour une tude pralable pour parler des diffrentes solutions existant au niveau du march, et la deuxime partie cest pour prsenter quelques diagrammes UML du projet.

Page 21

ENSAT

RAPPORT DU STAGE DETE

Omnixys

I. MODLISATION:
Dans la modlisation, jai utilis la mthode UML (Unified Modeling Language) qui est un langage graphique de modlisation des donnes et des traitements. 1.

Analyse :
SPECIFICATIONS :

Aprs avoir identifi les mots cls du projet, jai prcis les spcifications : Covoiturage : Chaque covoiturage a : o Un code o Un type de covoiturage. o Une frquence o Charte. o Ville darrive o Ville dpart. On a plusieurs types de covoiturage : o Accompagnement scolaire o Entreprise o Taxi partage o Co-voyage. Chaque type de covoiturage doit respecter la charte. Chaque covoiturage a une assurance. Chaque covoiturage a un nombre de places disponibles, nombre de bagages et un cot. Au cas de non respect de la charte toute sorte dinscription ou dabonnement sera annul et le compte de cet utilisateur sera bloqu.

Page 22

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Annonce : Chaque annonce a : o une rfrence. o Un type dannonce o Date denregistrement. o Date de publication. o Date dexpiration. Pour accder toutes les informations dune annonce, il faut passer par une procdure de paiement (ou abonnement). Pour assurer une annonce ou dpt dannonce, il faut payer une caution. Pour le dpt dune annonce, il ne faut pas dpasser un dlai dune heure sinon lannonce sera rejete automatiquement. Dans le dpt dune annonce il faut signaler si le retour est obligatoire (si oui : indiquer date et heure de retour) Chaque annonce ne sera valide quaprs la vrification de son contenu. En cas dannonce mise en attente de validation (contenu non corrig), un email davertissement sera envoy au membre. Chaque annonce publie, un email de confirmation sera envoy. En cas dannulation dune annonce, le systme va envoyer des SMS aux utilisateurs concerns. Membre : Chaque membre a : o Nom o Prnom o Civilit o Tl o CIN o Adresse o Statut o Catgorie o Email Chaque utilisateur doit sinscrire en remplissant un formulaire dinscription pour tre membre et avoir un compte personnel. Aprs chaque inscription un email de confirmation sera envoy au membre. Tout compte nest pas activ avant un dlai de 24h, sera automatiquement annul. Chaque membre est identifi par son compte. Chaque membre doit indiquer son statut : o Passager o Passager avec voiture (sans permis) o Conducteur (avec voiture) o Conducteur sans vhicule. Chaque conducteur doit avoir un permis de conduite. Chaque conducteur doit spcifier son vhicule. Le conducteur doit laisser une photocopie de sa carte didentit, de son permis dans son espace personnel. Pour un passager, il doit laisser une photocopie de sa carte didentit.

Page 23

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Chaque membre doit spcifier dans le dpt le type dannonce : offre ou demande. Chaque membre doit poursuivre toutes les tapes afin denregistrer son annonce. Chaque passager possde un nombre de bagages (1 par dfaut) si plus il faut le mentionner au dpart. Chaque membre doit consulter rgulirement son compte. Chaque membre peut consulter ses offres, ses demandes, ses participations et ses propositions dans son espace personnel. Des propositions de nouveaux trajets saffichent aux comptes des membres concerns. Chaque membre doit indiquer le type de paiement utiliser. Chaque membre peut voter, signaler des abus, et laisser des remarques. Chaque membre peut modifier son annonce (heure, date, trajet) Pour annuler une annonce avec caution, le membre doit avoir des excuses tolrables pour lui rembourser une part de caution paye. chaque membre se distingue d'une catgorie : o personne physique. o personne morale.

Trajet : Chaque trajet a : o Type trajet o Horaire o Temps de pause o Lieu dpart o Lieu darriv o Cot trajet/personne o Ville dpart o Ville darrive o Pays dpart o Pays darriv o Ville intermdiaires. Chaque trajet a plusieurs types : o International o National o Rgional o Local. Pour savoir le taux de participation du passager dans un trajet et lconomie ralise : il faut saisir le nombre de Km et le prix de carburant. Vhicule : Chaque vhicule a : o Marque o Type vhicule o Matricule o Modle Chaque vhicule doit avoir une police dassurance. Assurance : Chaque assurance a :

Page 24

ENSAT

RAPPORT DU STAGE DETE

Omnixys

o Dsignation o Tarif o Monnaie o Type dassurance Chaque assurance est divise en deux types : o Vhicule o Bagage Chaque assurance a une date de fin. Chaque assurance appartient un assureur. Paiement : On a deux types de paiement : o Online : mobicash, carte bancaire. o Offline : chque, cash, manda. Chaque abonnement a : o Type dabonnement. o Date dbut o Date fin. Les types dabonnement sont : o Mensuel o Trimestre o Semestre o Annuel Tout payement effectu sera confirm par un reu (ou Email de confirmation en cas de paiement Online).

2. Conception

LES ACTEURS ET LEURS ROLES :


Aprs lidentification des spcifications, on a dtermin les acteurs de notre projet ainsi que leurs rles. Utilisateur (passager ou conducteur) : Dposer une annonce (offre/demande) Modifier une annonce Annuler une annonce Consulter un trajet

Page 25

ENSAT
Systme de covoiturage: Responsable du systme

RAPPORT DU STAGE DETE


Supprimer un trajet. Chercher un trajet Payer Mise jour trajet Vrifier trajet Annuler un trajet Chercher des trajets Valider/Enregistrer des donnes Envoyer un email : Bloquer un compte Supprimer un utilisateur/trajet Mise jour des trajets Consulter les trajets Valider le trajet Vrifier le trajet Gre le service de messagerie, les contacts.

Omnixys

USE CASES :
Suite lidentification des acteurs et leurs rles, on a tablit les use cases. Quelques exemples de use cases parmi les 14 quon a fait : Linscription en gnral Remplir le formulaire dinscription. Vrification des champs Valider les donnes Enregistrement des donnes Validation des donnes

Page 26

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Dpt dune annonce Se connecter via un compte (dj inscrit) Vrification de mot de passe et de nom dutilisateur Validation des donnes Ajout du trajet en remplissant le formulaire Vrification des champs (traitement de contenu) Enregistrement des donnes Publication de lannonce Consulter covoiturage Se connecter via un compte (dj inscrit) Vrification de nom dutilisateur et de mot de passe Afficher toutes les informations concernant le trajet

DIGRAMMES DE USE CASES :


Ce diagramme reprsente les relations entre les acteurs et les fonctionnalits du systme. :

Page 27

ENSAT

RAPPORT DU STAGE DETE


chercher trajet

Omnixys

consulter

voter

Uses

commenter

Uses Uses

dposer annonce

Uses

authentification Uses modifier trajet utilisateur Uses Uses Uses annuler trajet <extends> payer <extends> payer caution signaler abus <extends> payer libre payer abonnement

Figure 3: Diagramme de uses cases : Gestion dannonce

Page 28

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Diagramme de uses cases : Gestion de covoiturage :

suppri mer uti l i sateur

vri fi cati on d'annonce

mi se j our

val i der

enregi strer systme bl oquer compte responsabl e

trai tement d'annonce

envoyer <extends> <extends>

envoyer SMS

envoyer emai l

Figure 4: Diagramme de uses cases : Gestion de covoiturage :

SCENARIOS:
Il sagit dune description structure afin de bien expliquer le droulement du cas dutilisation Voici un exemple du scnario qui illustre le dpt dune annonce :

Page 29

scnario dpot d'annonce

Systme de paiement user Demande de dept Demande d'authentifcation Envoi de login et pw Systme

Service mssagerie

EmailUser

vrification du compte valider authentification afficher le formulaire dpt

remplir formulaire

traitement du contenu

enregistrement des donnes demande de paiement Pai ement par : carte bancai re, tlphone, mandat,chque Le systme de pai ement sera trai t part avec systme d'abonnement le systme gnere la gesti on de membre et gesti on d'annonce paiement

Vrification paiement valider le paiement

Message de confirmation de paiement envoi de message

Figure 5:

scnario dpt dannonce

PACKAGE :
Nous avons partag notre travail en plusieurs packages lis entre eux : 1. 2. 3. 4. 5. 6. Systme de paiement Systme dabonnement Gestion des documents Gestion de membre Gestion dannonce Systme de messagerie

Les packages sont traits sparment, dont chaque package est constitu dun ensemble de classes qui seront bien dtailles dans le diagramme de classe. Voici les diffrentes packages de notre projet Covoiturage :

Figure 6:

Diagramme reprsentant les diffrents packages

DIAGRAMME DE CLASSES :
Dans cette tape, nous allons faire la description des classes en dterminant leurs attributs et leurs mthodes. Ce diagramme regroupe les diffrentes classes dont ils sont relis avec des relations et des associations. Chaque classe est spcifie par une couleur qui est la mme couleur du package auquel elle appartient.

Figure 7:

Diagramme reprsentant les diffrentes classes

Pour une raison de clart on va citer les classes des packages intressantes sparment.

Package de gestion dannonce :

Covoiturage Annonce + + + + + TypeAnnonce DateEnregistrement DatePublication DateExpiration EtatAnnonce : String : Date : Date : Date : int : void : void : void : void : void 0..* 0..1 + + + + + + Type-co frequence-co charte code-co TarifIndicatif VilleA VilleD : String : String : String : int : double : String : String : String : void : String : int : String : int

1..1 1..*

Date - Date d : Date - Date f : Date + CRUD () : void ...

deposer-annonce () afficher-annonce () modifier-annonce () supprimer-annonce () annuler-annonce () ...

participer-co () respecter-co () selectionner-co () CalculTrajet () RechercheRapide () CRUD () ... 1..1

0..* Trajet TypeTrajet horaire tmp-pause lieu-D lieu-A CotTrajet/Personne IdVille : String : String : int : String : String : int : int 1..1 0..* Ville PaysD VilleD PaysA VilleA : String : String : String : String

+ CRUD () : void ...

+ CRUD () : void ...

Figure 8:

Diagramme de classes de package annonce

Package de gestion de membre :

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Annonce + + + + + TypeAnnonce DateEnregistrement DatePublication DateExpiration EtatAnnonce : : : : : String Date Date Date int : : : : : void void void void void

deposer-annonce () afficher-annonce () modifier-annonce () supprimer-annonce () annuler-annonce () ... 1..1

0..*

0..*

1..1 Membre

Compte login password Nom Prnom : : : : String String String String 1..* 1..1

+ CRUD () : void

+ + + + + + +

nomInterlocuteur prenomInterlocuteur civilite tel CIN Adr StatutMembre Categorie code-e email ville NbrSalarie

: : : : : : : : : : : :

String String String String String String String String int String String int 0..1 0..* Message - refrence : int - codeOperation : int + Activer () : void + Envoyer () : void ...

user nom prenom fonction interlocuteur : : : : String String String boolean

0..* 1..1

+ CRUD () : void

inscrire () : void abonner () : void payer () : void envoyer-email () : void voter () : void commenter () : void signaler () : void ...

Figure 9:

Diagramme de classes de package membre

Page 34

ENSAT

RAPPORT DU STAGE DETE

Omnixys

DIAGRAMME DE SEQUENCES :
Le diagramme de squence reprsente les messages changs entre les objets. Il donne une notion temporelle
aux messages.

Voici diagramme de squence qui dcrit rglement de paiement offline

Rglement Paiement OffLine

UneAnnonce:Annonce Vrificateur

unPaiement : Paiement

unRglement:Rglement

Contrle le Compte Bancaire

Consulter

alt

Rglement OK

Paiement valid Paiement effectu

ELSE Paiement non effectu

Paiement non valid

Figure 10: Diagramme de squence reprsentant le rglement de paiement Offline

Les exemples ci-dessous reprsentent successivement : diagramme de squence qui illustre le dpt dune annonce. diagramme de squence qui illustre le paiement dune annonce. diagramme de squence qui illustre la validation du contenu dune annonce.

Page 35

ENSAT

RAPPORT DU STAGE DETE

Omnixys

deposer

uneAnnonce:Annonce uti l sateur demande de dept d'une annonce

unT raj et:T raj et (model )

unMembre:Membre

unPai ement:Pai ement

demande d'authenti fi cati on Envoi des l ogi n et pw

veri fi cati on d'authenti fi cati on al t

IF authenti fi cati on est OK Affi chage formul ai re dpt Rempl i r formul ai re

Dcl encher Oprati on de sai si e d'une annonce

l oop

[erreur=vrai ] Affi cher message erreur

Vri fi cati on Syntaxi que Demande Pai ement

ref Pai ement()

Enregi strer Annonce M2 Votre annonce a t enregi stre, nous al l ons vous envoyer un emai l de confi rati on aprs val i dati on de son contenu Si pai ement par chque (off l i ne) Votre annonce a t enregi stre, nous al l ons vous envoyer un emai l de confi rati on aprs rcepti on de votre pai ement et val i dati on de son contenu

opt

[Pai ement Ok]

Enregi strerT raj et Affi cher Message (M2)

ref Val i dati on()

IF authenti fi cati on est NOT OK Erreur de sai si e de l ogi n et de password

Figure 11:

Diagramme de squence reprsentant dpt dannonce

Page 36

ENSAT
Paiement

RAPPORT DU STAGE DETE

Omnixys

uneAnnonce: Annonce Utilisateur

unPaiement: Paiement

unAbonnement:Abonnement

Systme Paiement En Line

Systme Paiement OffLine

T imer

Demande de paiement Demende de vrification d'abonnement Vrification d'abonnement

alt

Abonnement OK

utilisateur dja abonn

indiquer paiement par abonnement Paiement effectu

ELSE Afficher formulaire de paiement Choisit son type de paiement

utilisateur non abonn

alt

IF choix = Paiement EnLine Envoi vos coordonnes Saisi et Envoi des coordonnes

Dclencher

Vrification des coordonnes Paiement Enline effectu

indiquer paiement EnLine Paiement effectu

IF choix = Paiement OffLine

Dclencher Initialiser T imer (15 jours) indiquer paiement OffLine Paiement en attente

N.B : Si le paiement n'est pas bien effectu toute sorte d'opration sera automatiquement annule

ref Rglement Paiement OffLine()

Figure 12: Page 37

Diagramme de squence reprsentant paiement

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Figure 13 :

Diagramme de squence reprsentant paiement

Page 38

ENSAT

RAPPORT DU STAGE DETE

Omnixys

DIAGRAMME DETAT:
Pour complter notre analyse, nous avons tabli les diagrammes dtat. Tel que ces diagrammes reprsentent le cycle de vie des objets dans une classe. Voici un exemple dun diagramme dtat qui illustre les tats de la classe annonce :

Prol onger Encours d'enregi strement

Cre entry / demande formul ai re do / rempl i r formul ai re exi t / Annonce enregi stre

Val i de entry / Consul ter l a l i ste des annonces val i der do / Vri fi er exi t / Val i der

[Date_fin<Date_actuelle]

Expi re entry / Consul ter l 'annonce do / Vri fi er l a date de fi n exi t / Annonce expi re

Prol onger

[Date_actuelle<=Date_limite] Annonce corri ge

Annonce val i de

En attente de correcti on entry / Consul ter l 'annonce do / Corri ger contenu d'annonce [Date_actuelle>Date_limite] annul e entry / Consul ter l es annonces vri fi er do / Annul er l 'annonce exi t / Annonce suppri me Annonce rej ete

Annonce expi re

Figure 14:

Diagramme dtat dannonce

Page 39

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Voici un exemple dun diagramme dtat qui illustre les tats de la classe annonce :

Encours d'i nscri pti on Non i nscri t entry / Demande d'i nscri pti on do / Veri fi cati on du systme exi t / Refus d'i nscri pti on ... entry / Rempl i r formul ai re do / T rai tement de contenu exi t / Enregi strement des donnes ...

Inscri t do / mi se j our exi t / Val i der Inscri pti on ...

Figure 15:

Diagramme dtat de membre

Page 40

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Cette partie contient les diffrentes technologies adoptes pour la mise en uvre du projet, ainsi les outils utiliss.

I. APPLICATION ANDROID :
Dans cette partie, le tableau ci-dessous prsente une comparaison entre les plateformes des applications mobiles et donne les raisons qui ont permis de choisir Android.

Page 41

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Figure 16:

Table comparatif entre les diffrents OS mobile

1. Pourquoi choisir Android ?


Dans la partie pratique, on a choisi la plateforme Androde pour faire une tude approfondie et pour dvelopper une application simple.

Page 42

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Les raisons de notre choix sont : - Androde est une nouvelle plateforme en code source ouverte. De plus, selon Google qui est un majeur distributeur, Androde est une plateforme puissante, moderne, sre et ouverte. Grce louverture du code source et des APIs, les dveloppeurs obtiennent la permission dintgrer, dagrandir et de remplacer les composants existants. Les utilisateurs peuvent adapter les applications leur besoin. - Androde est bas sur le noyau Linux. Alors, il y a plusieurs avantages comme une grande mmoire, la gestion de processus, le modle de scurit, le soutien de bibliothque partag, etc.

2. larchitecture de lapplication :
Lapplication a pour but dassurer une communication scurise entre les terminales mobile (Android) et Les serveur distants laide dun web services bas sur les liensHyperText. Lapplication suit ses tapes :

Implmentation des classes dans le projet. Donner le lien de son fichier de traitement qui existe dans le serveur distant. Le fichier de traitement gnre un fichier JSON Comme rsultat. Le terminal mobile reoit le fichier JSON sous forme dun objet JSON ARRAY Cet objet (JSON ARRAY)est utilis dans application laide dunparseur qui dtermine
la valeur de retour est ragis selon le rsultat (code derreur,information,validation, conformation ..).

3. Shma fonctionnel :

Page 43

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Figure 17 : shma fionctionnel de lapplication

4. TECHNOLOGIES UTILISES POUR LAPPLICATION ANDRODE INTITULE OMNISTOP :

Page 44

ENSAT

RAPPORT DU STAGE DETE

Omnixys

LAndrode SDK : est le kit de dveloppement propos par Google aux dveloppeurs souhaitant programmer des applications pour terminaux mobiles tournant sous Androde (Smartphones, tablettes,..)

JSON : est l'acronyme de JavaScript Object Notation. C'est un format texte qui
permet de reprsenter des donnes et de les changer facilement l'instar d'XML.Il est un sous ensemble d'ECMAScript (JavaScript) .Ce sous ensemble de JavaScript permet de dcrire le modle objet de JavaScript. Deux types de structures sont disponibles : Objet : une collection de paire nom/valeur, i.e un tableau associatif. Tableau : une liste ordonne de valeurs.

XML : XML est un langage balises qui la base de nombreux formats: RSS, RDF, OPML, XHTML, Open XML, etc. Il permet de dcrire et analyser tout sorte de document, sauf binaires, et de les conserver dans un fichier. Il est plus verbeux que JSON, mais une quantit d'outils existent pour le traiter, et c'est aussi le format de fichier de traitements de texte et autres logiciels de bureau

Page 45

ENSAT

RAPPORT DU STAGE DETE

Omnixys

5. Outils de dveloppement utilis :


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. MySQL est un serveur de bases de donnes relationnelles SQL dvelopp dans un souci de performances leves en lecture, ce qui signifie qu'il est davantage orient vers le service de donnes dj en place que vers celui de mises jour frquentes et fortement scurises. Il est multithread et multiutilisateur.

Cest un projet de la Fondation Eclipse visant dvelopper tout un environnement de dveloppement libre, extensible, universel et polyvalent. Son objectif est de produire et fournir divers outils gravitant autour de la ralisation de logiciel, englobant les activits de codage logiciel proprement dites (avec notamment un environnement de dveloppement intgr) mais aussi de modlisation, de conception, de test, de reporting, etc. Son environnement de dveloppement notamment vise la gnricit pour lui permettre de supporter n'importe quel langage de programmation.

6. Lapplication M-OmniStop
Voici quelques captures de lapplication :

Page 46

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Figure 18 : processus ajout du trajet par le conducteur

Page 47

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Figure 19 : processeur recherche

trajet par le passager

II.

APPLICATION WEB :
Page 48

ENSAT

RAPPORT DU STAGE DETE

Omnixys

1. Architecture de dveloppement
Java EE:
Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spcification pour la technique Java de Sun plus particulirement destine aux applications dentreprise. Ces applications sont considres dans une approche multiniveaux1. Dans ce but, toute implmentation de cette spcification contient un ensemble dextensions au Framework Java standard (JSE, Java Standard Edition) afin de faciliter la cration dapplications rparties.

Figure 20 : architecture du J2EE

2. Dveloppement :

Page 49

ENSAT

RAPPORT DU STAGE DETE

Omnixys

JAVA SERVER FACES


Java Server Faces (JSF) est une technologie dont le but est de proposer un framework qui facilite et standardise le dveloppement d'applications web avec Java. Son dveloppement a tenu compte des diffrentes expriences acquises lors de l'utilisation des technologies standards pour le dveloppement d'applications web (servlet, JSP, JSTL) et de diffrents frameworks (Struts, ...). Le grand intrt de JSF est de proposer un framework qui puisse tre mis en oeuvre par des outils pour permettre un dveloppement de type RAD pour les applications web et ainsi faciliter le dveloppement des applications de ce type. Ce type de dveloppement tait dj courant pour des applications standalone ou client/serveur lourd avec des outils tel que Delphi de Borland, Visual Basic de Microsoft ou Swing avec Java. Ce concept n'est pourtant pas nouveau dans les applications web puisqu'il est dj mis en oeuvre par WebObject d'Apple et plus rcemment par ASP.Net de Microsoft mais sa mise en oeuvre grande chelle ft relativement tardive. L'adoption du RAD pour le dveloppement web trouve notamment sa justification dans le cot lev de dveloppement de l'IHM la main et souvent par copier/coller d'un mixe de plusieurs technologies (HTML, JavaScript, ...), rendant fastidieux et peu fiable le dveloppement de ces applications. Plusieurs outils commerciaux intgrent dj l'utilisation de JSF notamment Studio Creator de Sun, WSAD d'IBM, JBuilder de Borland, JDevelopper d'Oracle, ... Mme si JSF peut tre utilis par codage la main, l'utilisation d'un outil est fortement recommande pour pouvoir mettre en oeuvre rapidement toute la puissance de JSF. Ainsi de par sa complexit et sa puissance, JSF s'adapte parfaitement au dveloppement d'applications web complexes en facilitant leur criture.

PRIMEFACES

Page 50

ENSAT

RAPPORT DU STAGE DETE

Omnixys

PrimeFaces est une puissante librairie de composants JSF qui sappuie sur la librairie Ajax jQuery. Il peut tre intressant de pouvoir utiliser la dernire version dans ces projets WEB.GlassFish (dition Open Source)

GlassFish est le nom du serveur d'applications Open Source Java EE 5 et dsormais Java EE 6 avec la version 3 qui sert de socle au produit Oracle GlassFish Server1 (anciennement Sun Java System Application Server2 de Sun Microsystems). Sa partie Toplink persistence3 provient d'Oracle. C'est la rponse aux dveloppeurs Java dsireux d'accder aux sources et de contribuer au dveloppement des serveurs d'applications de nouvelle gnration. La distribution dite Open Source Edition est place sous double licence CDDL et GPLv2. GlassFish est certifi Java EE 5 (EJB3 + JPA + JSF + JAX-WS 2.x + ...) et Java EE 6 (EJB 3.1, CDI, JSF 2.0, JAX-RS 1.1, ...) Serveur d'application pris en charge par la communaut Les meilleurs serveurs d'applications Open Source du march l'heure actuelle Architecture modulaire et extensible (OSGi) de prochaine gnration Fiabilit et performances de classe entreprise et complexit rduite

JPA
La Java Persistence API (abrge en JPA), est une interface de programmation Java permettant aux dveloppeurs
d'organiser des donnes 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 elle-mme, dfinie dans le paquetage javax.persistence langage Java PersistenceQuery (JPQL) l'objet/les mtadonnes relationnelles

le

ECLIPSELINK
EclipseLink est un framework open source de mapping objet-relationnel pour les dveloppeurs Java. Il fournit une plateforme puissante et flexible permettant de stocker des objets Java dans une base de donnes relationnelle et/ou de les convertir en documents XML. EclipseLink est driv du projet TopLink de la socit Oracle. Il supporte un certain nombre d'API relatives la persistance des donnes et notamment la JPA.
Page 51

ENSAT

RAPPORT DU STAGE DETE

Omnixys

3. Outils utilis pour le dveloppement :

NETBEANS EST UN ENVIRONNEMENT DE DEVELOPPEMENT INTEGRE (EDI), PLACE EN OPEN SOURCE PAR SUN EN JUIN 2000 SOUS LICENCE CDDL ET GPLV2 (COMMON DEVELOPMENT AND DISTRIBUTION LICENSE). EN PLUS DE JAVA, NETBEANS PERMET EGALEMENT DE SUPPORTER DIFFERENTS AUTRES LANGAGES, COMME PYTHON, C, C++, JAVASCRIPT, XML, RUBY, PHP ET HTML. IL COMPREND TOUTES LES CARACTERISTIQUES D'UN IDE MODERNE (EDITEUR EN COULEUR, PROJETS MULTI-LANGAGE, REFACTORING, EDITEUR GRAPHIQUE D'INTERFACES ET DE PAGES WEB).

PhotoShop : Cest un software professionnel ddition dimages et retouche photographique, cest un outil indispensable pour le traitement des photos.

4. Application de covoiturage
Quelques pages de lapplication

Page 52

ENSAT
Page Authentification :

RAPPORT DU STAGE DETE

Omnixys

Figure 21 : page authentification

Page Accueil :

Figure 22 : page daccueil

Page 53

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Page ajout dannonce :

Page 54

ENSAT

RAPPORT DU STAGE DETE

Omnixys

Figure 23 : page dajout dune annonce

Page 55

ENSAT

RAPPORT DU STAGE DETE

Omnixys

CONCLUSION :

Ce stage ma t bnfique sur plusieurs plans : techniques, technologique et relationnel. La ralisation de ce travail est dune part, une bonne opportunit pour dcouvrir et utiliser des nouveaux outils et technologies informatiques et dautre part, une exprience personnelle et professionnelle qui ma permis de valider mes connaissances acquises durant les annes de ma formation. Sintgrer dans le monde professionnel et exprimenter le stress en ralisant un projet dans un dlai bien dtermin est lun des enjeux majeur de ce stage. Le travail a t men dans une ambiance chaleureuse o jai beaucoup appris et notamment les procdures de travail collaboratif, le partage et la planification des tches ainsi que les techniques de communication.

Page 56

ENSAT

RAPPORT DU STAGE DETE

Omnixys

RFRENCE:
Webographie :
www.wikipedia.com/ http://www.codes-sources.com/ www.java.sun.com/ http://stackoverflow.com/ http://www.developpez.com/ http://primefaces.org/

Bibliographie:
Programmation Androde De la conception au dploiement avec le SDK Google Androde 2

Java Server Faces

Page 57