34 0 422KB
République Tunisienne Ministère de l’Enseignement Supérieur Et de la Recherche Scientifique *********
Université de Sfax Ecole Nationale des Ingénieurs De Sfax *********
MEMOIRE Conception et développement d’une plateforme de covoiturage Rédigé par : Amel Gaoud Sous l’encadrement Académique:
Professionnel :
Mme.Imen Masmoudi
M.Houssem Angoud
Mme.Mariem tounsi
Du 04/02/2019 Au 30/06/2019
Dédicaces Je dédie ce travail à tous ceux qui m’ont soutenu et ceux qui m’aiment en particulier : Ma mère « Mabrouka » A la plus belle des mères, à la plus jolie des perles, à celle qui m’a toujours aidé, aimé et soutenu dans le silence et qui m’a toujours fourni les meilleures conditions de réussite ; Mon père « Abed ElAziz » Qui a toujours été là pour moi, et qui m'a donné un magnifique modèle de persévérance, de labeur et de sacrifice. J'espère qu'il trouvera dans ce travail toute ma reconnaissance et tout mon amour ; J’espère que tous deux soient satisfaits de moi comme je le suis d’eux. Et que Dieu les garde. Mes chers frères et sœurs pour leurs infinies patiences et indéfectibles soutiens ; Tous mes amis pour tout l'amour, l'encouragement, les souvenirs et les moments inoubliables passés ensemble. Que ce travail soit l’expression de mon profond amour et un témoignage de ma reconnaissance.
2
Remerciements Au terme de ce rapport, je tenais à exprimer nos profonds respects et gratitudes à la direction de notre école : École nationale d'ingénieurs de Sfax. Je tiens aussi à présenter tous ma profonde gratitude et mes respects envers mes encadreurs Mme Masmoudi Imen et Mme Tounsi Meriem, qui m’a offert l’opportunité d’effectuer ce projet, ainsi pour son suivi et encouragement tout au long de ce travail. De mêmes, je tiens à remercier M. Angoud Houssem à son encadrement, son assistance, sa disponibilité et surtout pour son aide précieuse tout au long de l’élaboration de ce stage. Je tiens aussi à exprimer mon honneur de présenter mon travail devant les membres du jury qui ont accepté de juger mon travail. Je m’acquitte, enfin, volontiers d’un devoir de gratitude et de remerciements à tous mes enseignants pour la qualité de l’enseignement qu’ils ont bien voulu me prodiguer durant mes études afin de me fournir une formation efficiente.
3
Introduction général Au cours de ces dernières années, le transport joue un rôle fondamental parce qu’il influe sur toutes les facettes de l’économie, notamment sur la mobilité de main-d’œuvre et l’environnement. Ce qui implique l’augmentation de la mobilité et le développement accéléré des transports qui en est la conséquence pèsent sur l’augmentation de la pollution, du stress et de la congestion. D’une part les temps de trajet pour se rendre au travail ont une véritable influence sur le niveau de stress et de fatigue des salariés en cherchant des moyens de transports publiques, d’autres part l’augmentation des charge d’une voiture surmène les salariés qui payent un grand parti de leurs salaires dans les frais de consommation de leur voiture, ce qui nuit à terme à la productivité de l’entreprise. De nos jours chaque société cherche un axe d’intervention qui permet de réduire ce risque en fournissant des moyens de transport communs comme les bus et en donnant des primes de transports. Ainsi le covoiturage figure parmi les solutions de transport alternatifs dont l’usage doit être encouragé. C’est dans ce cadre que se situe notre projet de fin d’études intitulé " PickME ". L’objectif de ce projet est de concevoir, mettre en place une application web et mobile pour gérer le covoiturage dédié aux entreprise et utilisateur normale.
Mon travail s’intitulant « Conception et Développement d’une application web et mobile de covoiturage » est composé de quatre chapitres : • La première partie « Cadre général du projet » qui consistera à la présentation du cadre de mon stage de projet de fin d’étude, présentation du projet et des objectifs principaux. • La second partie « Spécification des besoins » je présente les différents besoins à l’application avec le diagramme de cas d’utilisation générale et les diagrammes détaillés pour chaque fonctionnalité. • La troisième partie « Conception » j’élabore les diagrammes de séquence, ainsi que le diagramme de classe complet avec description des différentes tables. • La quatrième partie « Développement » présente les outils matériels et logiciels utilisées pendant la période de stage et présente les interfaces de l’application finale.
4
Table des matières
5
Chapitre 1
Cadre général du projet
6
1. Introduction Au cours de ce premier chapitre nous commençons par la mise en place de mon projet dans son cadre général. On débute dans un premier temps par une présentation générale de l’organisme d’accueil, Enfin, on présente le travail demandé ainsi le planning de temps.
2. Présentation de l’entreprise d’accueil 2.1 Contexte général du projet Le Présent projet intitulé « Conception et développement d’une plateforme de covoiturage », est réalisé dans le cadre de la préparation d’un projet de fin d’études présenté en vue de l’obtention du diplôme d’ingénieur en informatique de l’ENIS pour l’année universitaire 2018/2019
2.2 Présentation de l’entreprise d’accueil 2.2.1 Le groupe IT Gate
La société IT Gate est une société d’ingénierie informatique, crée en 2015 et spécialisée en développement et services informatiques. Associés à parts égales : L’expérience utilisateur, La conception, Le développement et le Webdesign, et avec les valeurs : Organisation, collaboration, confiance et responsabilité. IT Gate est une équipe jeune et dynamique réunie pour répondre aux besoins de ses clients et les accompagner tout au long de leurs projets. Le logo de l’organisme d’accueil est présenté par la Figure 1
Figure 1.logo de l’entreprise ITGate
7
2.2.2 Implantation géographique de la Société IT GATE La société IT Gate est implantée à Hammam Sousse, plus précisément à 12 Rue Abdelkadeur Daghrir Hammam Sousse – Sousse 4011 avec un capital social de 15 000DT, sous forme juridique SARL.
Services de la Société IT GATE Cette société IT GATE est spécialisée en :
Développement Web et Mobile
Mise en place de solutions Mobiles et Sites Web
Systèmes Embarqués
Référencement et Hébergement
Design Graphique : Affiches Publicitaires, Flyers, Cartes visites, Logo
Marketing : Campagnes sponsoring sur Facebook, sur Instagram et dans l'Audience Network
Nous possédons aussi un service autre que l’informatique, à savoir :
Décoration Maisons et Boutiques : Peinture, Placo-plâtres, epoxy, MDF décoré par les machines numériques, …
3D Animals Puzzle en MDF
3. Présentation du projet 3.1 Cadre du projet Le covoiturage se développe de plus en plus à l’époque de la consommation collaborative et de l’économie de la fonctionnalité. Au début son développement était surtout une réalité pour les déplacements de grande distance, aujourd’hui le covoiturage régulier de la petite et moyenne distance est devenu aussi une nécessité pour réaliser des économies au conducteur en réduisant ses frais de déplacement puisque tous les frais sont partagés entre les individus présents dans le véhicule lors du voyage et
8
permet aux passagers de gagner le temps pour les passagers étant donné qu’ils perdent beaucoup du temps à chercher un moyen de transport public. De nos jours, nous assistons à une évolution incessante du Web grâce à la prolifération rapide des techniques renforçant la convivialité des pages Web et rendant le web plus utile. D’où le besoin de mettre en place une plateforme dédie entièrement au covoiturage. Cette application propose de mettre en contact conducteur et voyageur pour partager un véhicule le temps d’un voyage déterminer. Le covoiturage peut s’effectuer entre le domicile et lieu de travail/étude (Trajet régulier) ou d’une ville à l’autre.
3.2 Description de projet
Mon projet consiste à développer une plateforme gratuite de covoiturage qui permet la mise en réseau de conducteurs et de passagers souhaitant voyager ensemble et partager les frais de leurs trajets. Les conducteurs peuvent publier gratuitement leurs annonces et les passagers qui cherchent un trajet peuvent se mettre en contact directement avec le conducteur via une messagerie interne. L’objectif de cette plateforme est non seulement d’éviter le gaspillage en limitant la pollution mais également de favoriser le sens du partage et de la collaboration.
3.3 Planning de réalisation du projet : Pour le développement d’une application, il s’avère très important de définir un enchainement logique entre les différentes étapes de réalisation du projet et selon différents modèles de cycle de vie, qui enchaînent ces activités en phases plus ou moins successives. 3.3.1
Définition du Diagramme de Gantt
Le diagramme de Gantt, couramment utilisé en gestion de projet, est l'un des outils les plus efficaces pour représenter visuellement l'état d'avancement des différentes activités qui constituent un projet. La colonne de gauche du diagramme énumère toutes les tâches à effectuer, tandis que la ligne d'en-tête représente les unités de temps les plus adaptées au projet (jours, semaines, mois). Ce diagramme structure les pensées, facilite la compréhension et améliore l’organisation du travail.
9
Le diagramme suivant dans le figure 2 va représenter les taches principales à réaliser dans notre projet.
Figure 2:Diagramme
de Gantt théorique
4. Etude et critique de l’existant Dans cette section, nous présentons une étude basée sur les observations de différentes applications web similaires aux applications qu’on est demandé de réaliser. L’étude de l’existant est une phase importante pour comprendre les applications actuelles sur le marché, y déterminer les points forts et poursuivre après avec une critique.
4.1 Etude de l’existant Cette partie consiste à introduire les 3 meilleurs solutions existantes dans le marché
4.1.1
BlaBlaCar
Anciennement covoiturage.fr, le site BlaBlaCar est l'une des références dans le domaine du covoiturage. Blablacar rassemble le plus grand nombre d'utilisateurs, A vous de renseigner votre itinéraire et de sélectionner le conducteur de votre choix, Le détail des trajets est très bien réalisé en fonction des nombreux avis. Vous pourrez également publier votre itinéraire pour chercher des personnes qui vous accompagneront, vous permettant ainsi de réduire vos dépenses. La communauté est importante et il est assez simple de trouver des conducteurs. Le site prend une 10
Figure 3 : logo de BlaBlaCar
commission 7% à chaque voyage. Le logo de l’application BlaBlaCar est présenté par la Figure3
4.1.2
iDVROOM
iDVROOM est le service de covoiturage lancé par la SNCF, qui réunit une communauté de plus de 500 000 covoitureurs. Le site iDVROOM propose des services pratiques alertes par email pour être informé dès qu’un conducteur propose un trajet sur idvroom.com, calcul automatique du prix. Le logo de l’application iDVROOM est présenté par la Figure4.
Figure 4 : logo de iDVROOM
11
4.1.3
Tawsila.tn
Le concept est récemment arrivé en Tunisie, et les utilisateurs ne sont pas très nombreux malgré l’aspect très pratique du covoiturage, Le conducteur doit se connecter et remplit un formulaire pour enregistrer et publier une annonce de covoiturage. Le passager accède au site et il consulte les annonces publiées. Il choisit l’annonce qui lui convient selon lieux de départ et destination et date, il contacte le conducteur par email ou bien par téléphone pour réserver une place. Le logo de l’application Tawsila est présenté par la Figure5.
Figure 5: logo de Tawsila
4.2 Tableau comparatif
Le tableau 1 ci-dessous présente les avantages et les inconvénients des solutions qui existent aujourd’hui au niveaux de l’interface, de frais et des fonctionnalités fournie au utilisateur
12
Tableau 1: Tableau comparatif
Plateforme
Blablacar
iDVROOM
Tawsila
Interface
-Clair
-simple
-ne sont pas encore
-interactive
-efficace
-0,60 euros de frais fixes
- 0,20 € fixes + 10%
+ 7,92% du prix du trajet, pour une réservation effectuée plus de 72 heures avant le départ.
du prix du trajet
assez ergonomique
Frais
- 1,19 euro de frais fixes + 12,48%, pour une réservation effectuée moins de 24h avant le départ.
Fonctions fournies
-Disponible -payement -Evaluer le conducteur
Gratuite
- 7% si vous passez par le portemonnaie iDVROOM.
-publier un trajet -chercher un trajet -réserver une place -payement
-publier un trajet -chercher un trajet -réserver une place
4.3 Critique de l'existant Après l’étude de ces trois applications du covoiturage fréquemment utilisées, nous avons constaté quelques défaillances : • Dans la solution Tawsila.tn, les interfaces de ces applications ne sont pas ergonomiques. • Dans les solutions BlaBlaCar et iDVROOM, on ne peut pas contacter le conducteur qu’après le payement de place réservé. • Dans toute ces solutions pas des procédures pour assurer la sécurité des utilisateurs. • Il manque des options pour assurer un confort maximum au voyageur et conducteur
13
4.4
Solution proposée Pour faire face aux limites citées dans la section précédente nous avons pensé à une application de covoiturage qui doit apporter des améliorations des solutions existantes qui vont répondre aux attentes des utilisateurs en offrants de nouvelles fonctionnalités : • Permet à ses utilisateurs de communiquer entre eux et faciliter la rencontre. • Un bon design et ergonomie bien étudiée. • Application sécurisée. • Les utilisateurs peuvent consulter leurs historiques trajets. • les passagers peuvent évaluer le conducteur. • Plateforme gratuit. • Proposer des chemins optimums selon point de départ et point d’arrivée.
5 – Conclusion Dans ce chapitre introductif, nous avons présenté l’organisme d’accueil ainsi que le projet à réaliser. L’étude de l’existant présenté dans ce chapitre, nous permis de définir le grand point sur les quelles nous allons nous concentrer dans ce projet. Dans ce qui suit nous allons entamer la première phase de la conception de notre projet « spécification de besoins » pour identifier les déférentes fonctionnalités de l’application.
14
Chapitre 2
Spécification des besoins
15
1- Introduction Nous consacrons ce deuxième chapitre pour la phase de spécification et d’analyse des besoins. Nous débutons dans un premier temps par définir les besoins fonctionnels et non fonctionnels de la solution que nous allons proposer, ainsi que les rôles des principaux acteurs et les diagrammes UML de cas d'utilisation.
2- Langage de modélisation 2.1
UML
Pour spécifier, modifier et construire les documents nécessaires au bon développement d'un logiciel orienté objet, nous allons choisir un langage qui offre un standard de modélisation pour représenter l'architecture logicielle, le Langage de Modélisation Unifié « UML ». UML est un langage de modélisation orienté lancé par l’Object Management Group «OMG» dans le but de définir une modélisation standard pour la modélisation des applications construites à l’aide des objets. Ce langage permet de comprendre, de décrire des besoins, spécifier et documenter des systèmes, concevoir des solutions et de communiquer les divers aspects d’un système informatique. 2.2
Outil de conception : Visual Paradigm Visual Paradigm est un outil logiciel conçu pour les équipes de développement logiciel afin de modéliser le système d'information de l'entreprise et de gérer les processus de développement. Visual Paradigm prend en charge les principaux langages et normes de modélisation du secteur, tels que le langage UML, SysML, SoaML, BPMN, XMI, etc. Il offre aux entreprises de logiciels complets des outils complets pour la saisie des besoins, l’analyse des processus, la conception des système3s et des bases de données.
Figure 1.Logo Visual Paradigm
16
3- Spécification des besoins La spécification de besoin est une approche scientifique qui raisonne en termes de fonctions devant être assurées par un produit : elle consiste à caractériser, et hiérarchiser les fonctions d’un système. C’est pour cela nous présentons dans ce qui suit tous les besoins fonctionnels classés par acteurs ainsi que les besoins non fonctionnels du système.
3.1 Identification des acteurs Un acteur symbolise les actions qu’une entité autonome et extérieure peut avoir avec le système dont nous désirons décrire le fonctionnement. Plus globalement, un acteur correspond à une personne ou machine extérieure, une tache ou bien une interaction permettant de cerner l’interface que le système offre à son environnement. Notre solution
s’adresse à trois types d’utilisateurs :
-Administrateur : L’administrateur est le seul à avoir accès à l’information complète du système. Il peut faire la gestion globale du système, par exemple vérifier des comptes de covoitureurs. Il lui est aussi possible de supprimer n’importe quel compte.
-Conducteurs : a la possibilité de publier un ou plusieurs trajets, ils sont responsables de confirmer l’embarquement du passager à un point donné. De plus, ils peuvent consulter leur historique trajets.
-Passagers : Les passagers sont ceux qui bénéficient le plus du système. Ils peuvent lancer diverses recherches pour trouver des trajets qui conviennent à leurs besoins et faire des réservations. De plus, ils peuvent consulter leur historique de réservations
3.2 Besoins fonctionnels Dans ce contexte notre application de covoiturage, implémente principalement les fonctionnalités suivantes.
Administrateur - Connexion. - La gestion du compte. - La gestion des trajets. 17
- La gestion des réservations.
Conducteurs - L’inscription. - Connexion. - Publication d’un covoiturage. - La gestion de son compte. - La gestion des trajets publiée. - Contacter le passager (messagerie). - Gestion des voitures
Passagers - L’inscription. - L’identification - Donner son avis. - La gestion de son compte. - Rechercher des trajets suivant des critères précis. - Modifier des informations personnelles ou préférences. - Contacter le conducteur (messagerie).
3.3 Besoins non fonctionnels Un besoin non fonctionnel est besoin spécifiant des propriétés du système, telles que les contraintes liées à l'environnement et l'implémentation, les exigences en matière de performances, de dépendances de plate-forme, de facilité de maintenance, d'extensibilité et de fiabilité. Dans notre système on distingue les besoins non fonctionnels suivant : ·Sécurité : L’aspect sécurité est géré dans Byblos à travers un système d’habilitation.
Ce système intégré repose sur Spring Security pour gérer les autorisations aux différents modules.
Convivialité : notre application fournit des interfaces simples et élégantes qui respectent les normes de l’ergonomie dont le but est de garantir une facilité d’exploitation et une rapidité de service. 18
Efficacité : L’application devra être fonctionnelle indépendamment de toutes circonstances pouvant entourer l’utilisateur.
Disponibilité : l’application doit être disponible à tout moment sans défaillance pour répondre au besoin de client.
Performance : réalisation des cas de tests pour assurer une meilleure qualité du produit final.
4- Diagramme de cas d’utilisation 4.1 Diagramme de cas d’utilisation général Tous les utilisateurs de l’application peuvent accéder au système. Cependant, chacun d’eux a un certain nombre de privilèges. C’est pour cela, qu’il faut début s’identifier en donnant son login et son mot de passe et les privilèges seront attribués à l’utilisateur. En effet le diagramme de la figure 7 comporte les cas d’utilisation englobant le système suivant :
Figure 6:Diagramme de cas d'utilisation général 19
4.2 Analyse des quelques cas d’utilisation
4.2.1 Cas d’utilisation