Vous êtes sur la page 1sur 44

Table des matires

Introduction gnrale 1 tude comparative de solutions existantes 1.1 Introduction . . . . . . . . . . . . . . . . . 1.2 Le Web dans le secteur des transports . . . 1.3 tude des applications . . . . . . . . . . . 1.3.1 Ville de Berlin . . . . . . . . . . . . 1.3.2 Ville de Paris . . . . . . . . . . . . 1.4 Synthse de ltude comparative . . . . . . 1.5 Conclusion . . . . . . . . . . . . . . . . . . 2 Conception 2.1 Introduction . . . . . . . . . . . . . . . 2.2 tude des besoins fonctionnels . . . . . 2.2.1 Acteurs de lapplication . . . . 2.2.2 Diagrammes de cas dutilisation 2.2.3 Diagrammes de squence . . . . 2.2.4 Diagramme de classes . . . . . 2.3 Conclusion . . . . . . . . . . . . . . . . 1 2 2 2 3 3 5 7 8 9 9 9 9 10 14 19 20 21 21 21 21 22 23 23 23 24 25 25 25

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

3 Implmentation 3.1 Introduction . . . . . . . . . . . . . . . . 3.2 Outils et technologies utiliss . . . . . . 3.2.1 Les langages de dveloppement . 3.2.2 Environnement de dveloppement 3.3 Prsentation de lapplication . . . . . . . 3.3.1 Page daccueil . . . . . . . . . . . 3.3.2 La recherche . . . . . . . . . . . . 3.3.3 Connexion et inscription . . . . . 3.3.4 Tlchargement des plans . . . . 3.3.5 Tlchargement des ches horaire 3.3.6 Notications SMS . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

3.4

3.3.7 Les droits daccs . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26 28 28 31 34 34 35 37 38

Conclusion gnrale A tude de lapplication de Londres B Complment de la conception B.1 Diagramme de squence de la modication des informations sur une station B.2 Algorithme de la recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . C Rgles de passage au modle relationnel D Implmentation de la version mobile

Table des gures

tude comparative de solutions existantes 1.1 Interface de saisie de litinraire . . . . . . . 1.2 La completion automatique en action . . . . 1.3 Recherche avance . . . . . . . . . . . . . . 1.4 Rcapitulatif gnral des itinraires proposs 1.5 Informations dtailles sur le trajet . . . . . 1.6 Choix des points de dpart et darrive . . . 1.7 Choix dune ville intermdiaire . . . . . . . . 1.8 Votre trajet . . . . . . . . . . . . . . . . . . 1.9 Itinraire dtaill . . . . . . . . . . . . . . . Conception 2.1 Diagramme 2.2 Diagramme 2.3 Diagramme 2.4 Diagramme 2.5 Diagramme 2.6 Diagramme 2.7 Diagramme 2.8 Diagramme 2.9 Diagramme 2.10 Diagramme 2.11 Diagramme

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

4 4 4 4 5 6 6 6 7

de de de de de de de de de de de

cas dutilisation . . . . . . . . . . . . . . . . . . . . . . . cas dutilisation Eectuer une recherche ditinraire . cas dutilisation Grer compte . . . . . . . . . . . . . cas dutilisation Recevoir notications SMS . . . . . . cas dutilisation Grer une vue de la base de donnes cas dutilisation Grer base de donnes comptes . . . squence Recherche ditinraire . . . . . . . . . . . . . squence Inscription au site . . . . . . . . . . . . . . . squence Cration de compte pour gestionnaire . . . . squence Ajout de station la base de donnes . . . . classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . .

10 11 12 12 13 13 15 16 17 18 19

Implmentation 3.1 Page daccueil du site . . . . . 3.2 Exemple de recherche . . . . . 3.3 Liste des arrts intermdiaires 3.4 Formulaire dinscription . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

23 24 24 24

ii

TABLE DES FIGURES

3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14

Formulaire de connexion . . . . . . Tlchargement de plans . . . . . . Menu de tlchargement des plans . Menu droul . . . . . . . . . . . . Formulaire denvoi de SMS . . . . . Pannel dadministration . . . . . . Zone gestionnaire . . . . . . . . . . Zone gestionnaire . . . . . . . . . . Zone membre . . . . . . . . . . . . Formulaire de modication du prol

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

24 25 25 25 26 26 27 27 28 28

A tude de lapplication de Londres A.1 Interface de saisie de litinraire . . . . . A.2 Plusieurs itinraires alternatifs proposs A.3 Itinraire dtaill . . . . . . . . . . . . . A.4 Exemple de carte . . . . . . . . . . . . . B

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

32 32 33 33

Complment de la conception B.1 Diagramme de squence Modication de station sur la base de donne

34

D Implmentation de la version mobile D.1 Formulaire de recherche sur mobile . D.2 Rsultat de la recherche sur mobile . D.3 Achage du menu sur mobile . . . . D.4 Zone membre sur mobile . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

38 38 39 39

iii

Liste des tableaux


1.1 Tableau comparatif des solutions . . . . . . . . . . . . . . . . . . . . . . . 8

iv

Introduction gnrale
Indispensable pour certains, utile pour la plupart, de plus en plus de personnes sorientent dsormais intuitivement vers le Web pour communiquer, sinformer, planier leurs voyages et dplacements, et la liste nen nit pas de sallonger. Le secteur des transports nchappe pas la rvolution internet. Que ce soit du ct des socits de transports en commun, qui en font une plateforme de plus pour atteindre leurs clients, ou des passagers qui peuvent suivre leurs itinraire, comparer les prix, rserver leurs ticket en ligne, etc. Cest dans ce contexte que les planicateurs ditinraires ont vu le jour, se dveloppant dabord dans les grandes villes et standant peu peu aux reste du monde. Alger, toue par les embouteillages causs par un parc automobile en constante croissance, a dcid juste titre de miser sur les transports en commun pour dsengorger les artres de la ville. De ce fait, le rseau de bus a t renouvell, mais le changement le plus important a srement t le lancement rcent du mtro et du tramway dAlger, orant de nouvelles possibilits de dplacements aux habitants de la ville. Puisque Alger connait ce renouveau en termes de transports, il serait propice que cela saccompagne dun planicateur ditinraires, qui permettrait aux Algrois comme aux touristes ou aux simples visiteurs dun jour, de pouvoir planier leurs dplacements dans la ville, selon des critres quils choisiront. An de rpondre cette problmatique, nous avons entrepris la conception dun planicateur ditinraires pour la ville dAlger. Le mmoire sorganise comme suit : Chapitre 1 : tude comparative de solutions existantes Chapitre 2 : Conception Chapitre 3 : Implmentation

Chapitre

tude comparative de solutions existantes


1.1 Introduction

Ds le dbut des annes 1990, le Web merge et se dveloppe en tant quimmense toile de liens mettant disposition de tous une quantit considrable dinformations. Au fur et mesure de son volution, celui-ci simpose comme lapplication du rseau Internet la plus populaire, et beaucoup de services se dveloppent donc autour. Pour les besoins de ce mmoire, nous nous intresserons aux apports du Web dans le domaine des transports et plus particulirement la planication de trajets. On sattardera par la suite sur le descriptif et ltude dtaills de deux planicateurs ditinraires existants. Pour nir, nous tenterons de synthtiser le tout dans une tude comparative de ces trois solutions.

1.2

Le Web dans le secteur des transports

Lapport du Web dans le domaine des moyens de transports nest pas intuitif au premier abord. Pourtant, celui-ci a permis des amliorations plusieurs niveaux. Dabord, avec lavnement du e-commerce, il est devenu possible pour le consommateur dacheter son ticket en ligne puis de le recevoir chez lui ou le retirer la station. De plus, linternaute a gagn en contrle grce aux comparateurs de prix en ligne, qui ont pouss les direntes socits de transport proposer des prix comptitifs. Enn, et cest ce qui nous intresse ici, lvolution du Web a donn naissance des applications telles que les planicateurs ditinraires, qui gnrent le trajet emprunter pour aller dun point A un point B en utilisant les moyens de transport. Ainsi, on facilite les dplacements aux habitants de la ville, aux touriste ou mme aux simples visiteurs de passage, et on met leur disposition des donnes auparavant innaccessibles (ou dicilement accessibles) : un tableau des horaires en temps rel, les plans de la ville directement sur leur smartphone, et un puissant outil qui calcule les itinraires et nous permet de choisir celui qui convient le mieux nos besoins (le moins cher, le plus court...). Utilis un peu partout dans le monde (l o la technologie le permet), comme nous allons le voir plus bas, ce service amliore sensiblement le rapport des passagers au rseau de transport et est bnque pour les socits de transports ainsi que ceux qui empruntent 2

CHAPITRE 1. TUDE COMPARATIVE DE SOLUTIONS EXISTANTES leurs lignes. Pour conclure, et de manire gnrale, le Web a peu peu contribu lmergence de consommateurs mieux informs, et de ce fait plus aptes faire le bon choix dans beaucoup de domaines, y compris en ce qui concerne le transport prendre.

1.3

tude des applications

Beaucoup de villes travers le monde, avec le dveloppement de leur rseau de transport mais aussi grce leur avance technologique, orent aujourdhui des planicateurs ditinraires en ligne ou sous forme dapplication mobile, leurs habitants. Dans le cadre de la conception dune solution similaire pour la ville dAlger, nous avons explor celles dj existantes et en avons choisi deux : celles de Berlin et de Paris. 1 Notre choix a t fait aprs avoir eectu plusieurs tests sur une dizaine dapplications au total, et celles slectionnes se sont distingues par leur abilit (service disponible tout le temps, pas ou peu derreurs), leur innovation (plusieurs services supplmentaires par rapport aux autres), lergonomie de leur interface et le nombre de moyens de transports quelles prennent en charge (l o beaucoup se limitent au bus, au mtro ou autre, celles-ci les couvrent tous). Nous dtaillons leurs fonctionnalits dans ce qui suit.

1.3.1

Ville de Berlin

Tous les moyens de transports dans la ville de Berlin, lexception du train, sont oprs par la Berliner Verkehrs-AG (BVG). Le rseau de la capitale allemande comporte pas moins de 10 lignes souterraines (mtro), 149 itinraires de bus et 22 de tramway[2]. Un rseau trs dense, qui dessert prs de 900 millions de voyageurs chaque anne[2]. La BVG ore travers son site web, un planicateur ditinraires, disponible en Allemand et en Anglais, permettant tout un chacun de dterminer les dirents trajets possibles emprunter pour se rendre la destination choisie. Il est noter que mme si cette compagnie ne gre pas les trains, lapplication quelle propose les inclue dans la recherche ditinraire. On accde la page du planicateur travers le menu latral gauche du site de la BVG. Une fois celui-ci ouvert, lcran daccueil principal invite lutilisateur remplir trois champs : le point dorigine, de destination et lheure (de dpart ou darrive), comme le dmontre la gure 1.1. Il est galement possible de choisir daller de A B en passant par un autre point C, et ce travers le champ via (jusqu deux points, avec possibilit de dlimiter le temps pass chaque endroit), mais aussi de slectionner un type de lieu acher dans la liste des propositions (completion automatique) : muses et monuments touristiques, arrts et stations, ou bien toutes les rues et adresses de la ville. (cf.gure 1.2) Une fois cela fait, et avant de conrmer la requte, on peut encore restreindre ou largir la recherche en cliquant sur Advanced search (cf.gure 1.3) : - en limitant les moyens de transports souhaits ; - en imposant que le trajet soit direct (pas descales).
1. Nous avons aussi tudi celle de Londres, elle sera dtaille en annexe A : tude de lapplication de Londres

CHAPITRE 1. TUDE COMPARATIVE DE SOLUTIONS EXISTANTES

Figure 1.1 Interface de saisie de litinraire

Figure 1.2 La completion automatique en action

Figure 1.3 Recherche avance En prenant en compte tous ces paramtres, le systme gnre un ou plusieurs itinraires et ore au client les informations suivantes : 1. Un rcapitulatif gnral : heure de dpart et heure darrive, numro de bus, tramway ou mtro prendre, nombre descales et le prix du trajet (voir gure 1.4) :

Figure 1.4 Rcapitulatif gnral des itinraires proposs

CHAPITRE 1. TUDE COMPARATIVE DE SOLUTIONS EXISTANTES 2. Informations dtailles sur le trajet correspondant au mieux la requte (cf. gure 1.5). - cycles de dpart du moyen de transport (dure entre 2 dparts) ; - directions pour aller dune station une autre dans le cas de connexion (escale) ; - disponibilit descalators, ascenseurs ou systme de guidage pour les malvoyants ; - ventuels travaux ou perturbations du trac sur la route ; - arrts intermdiaires (combien darrts avant darriver destination).

Figure 1.5 Informations dtailles sur le trajet noter quil est tout fait possible de dtailler tous les autres itinraires alternatifs de la sorte. ct de cela, on peut accder quelques options supplmentaires dont : - trac du chemin sur un plan avec possibilit de montrer/cacher les points remarquables ; - sauvegarde de toutes les recherches eectues en crant dun compte sur le site ; - gnration automatique du chemin retour (inverser destination et point de dpart), en cliquant sur le bouton Return journey ; - achage des dparts alternatifs (au cas o le passager aurait rat de peu celui propos). En parallle au planicateur proprement parler, la BVG ore dautres services sy rapportant, les plus notables tant un plan interactif des lignes de mtro et la possibilit de tlcharger des tables dhoraires dun itinraire choisi sur une priode donne (envoi par mail ou tlchargement direct).

1.3.2

Ville de Paris

Au travers de ses 6000 trains, 351 lignes de bus, 16 de mtro, et 5 de RER (Rseau Express Rgional) ainsi que 5 lignes de tramway, le rseau de Paris transporte plus de 3 milliards de voyageurs par an[6]. Cest la SNCF (Socit Nationale des Chemins de fer Franais) qui gre les trains et quelques lignes de tramway, le reste tant rgi par dautres transporteurs. Cependant, lapplication de planication ditinraire propose par la SNCF, que nous allons tudier, comporte tous les moyens de transports disponibles Paris, mme ceux qui ne sont pas assurs par la compagnie. En accdant au site web Transilien, on nous propose de choisir le point de dpart et celui darrive ainsi que lhoraire (comme illustr dans la gure 1.6).

CHAPITRE 1. TUDE COMPARATIVE DE SOLUTIONS EXISTANTES

Figure 1.6 Choix des points de dpart et darrive Le choix peut se faire en introduisant soit un nom de station (ou gare), une adresse, ou bien un lieu remarquable (touristique, culturel...). Il nous est galement possible de choisir un emplacement prcis directement partir dune carte en cliquant sur le bouton plan. Une recherche avance est aussi mise disposition, elle nous permet dajouter des contraintes telles que le type ditinraire (le plus rapide, avec le moins marche pieds, avec le moins de correspondances), le mode de transport ou encore un arrt intermdiaire par lequel on veut transiter lors de notre trajet (matrialis par le champ via). Tout ceci est dmontr dans la gure 1.7.

Figure 1.7 Choix dune ville intermdiaire Une fois tous les champs de la recherche remplis, on valide pour obtenir notre trajet.

Figure 1.8 Votre trajet Comme on le remarque sur la gure 1.8, un itinraire principal, celui correspondant le plus aux choix introduit par lutilisateur, est propos. Dautres itinraires alternatifs (ne correspondant que partiellement), sont achs en haut droite de lcran . Un rcapitulatif 6

CHAPITRE 1. TUDE COMPARATIVE DE SOLUTIONS EXISTANTES

du trajet comportant des informations telles que : la date et lheure du dpart, type ditinraire, les zones tarifaires, quantit CO2 mise sur ce trajet (compare celle mise par une voiture pour le mme trajet). En dessous, plus de dtails sont disponibles sur longlet itinraire dtaill comme le montre la gure 1.9 Si correspondance il y a, lapplication ache la dure de chacune ainsi que le temps de marche pieds entre les deux stations.

Figure 1.9 Itinraire dtaill Comme options supplmentaires, on a lexportation du rsultat en PDF, limpression, ou lenvoi un ami par email. Par ailleurs, dautres menus nous permettent entre autres de sauvegarder la recherche dans nos favoris (il faudra crer un compte sur le site, le cas chant), de tlcharger les ches des horaires (train uniquement) ou de les obtenir en temps rel.

1.4

Synthse de ltude comparative

En analysant ces applications de planication ditinraires, certains points communs entre celles-ci nous ont apparus clairs. De manire gnrale, les options de base sont les mmes partout : ce sont les fonctionnalits les plus lmentaires pouvant tre fournies par un planicateur et elles sont retraces dans le tableau ci-dessous 1.1. Si elles se rejoignent sur beaucoup de points, chaque application se distingue par quelques options supplmentaires qui ne sont certes pas essentielles au bon fonctionnement de lapplication mais qui participent lamlioration de lexprience utilisateur et permettent de rpondre des besoins spciques dune catgorie de clients. Prenons lexemple de lapplication de la ville de Paris, qui implmente les alertes et notication SMS pour permettre lutilisateur de rester inform si un bus a du retard ou sil y a des travaux sur une ligne, en plus de cela, elle est la plus "eco-friendly " en proposant la quantit de CO2 mise le long du trajet, et galement la mieux prsente sur les plateformes mobiles avec deux applications iPhone et Android natives. Enn, la puissance de lapplication berlinoise rside surtout dans la recherche que lon peut aner normment : choisir les trajet sans escales uniquement, pouvoir passer par deux point intermdiaires avant la destination, rechercher plusieurs types de lieux la fois et obtenir de meilleurs rsultats grce la completion automatique ; un bon point reste aussi la possibilit de gnrer des ches horaires personnalisables (heure, date et de lignes empruntes).

CHAPITRE 1. TUDE COMPARATIVE DE SOLUTIONS EXISTANTES Table 1.1 Tableau comparatif des solutions
Critre Langues disponibles Moyens de transports Trajet direct, sans escales Points intermdiaires Autocomplete dans la recherche Types de lieux (station, adresse, lieu remarquable) Utilisation API Google Maps Plan interactif Fiche horaires Horaires temps rel Mise de litinraire en favoris Choix des points partir du plan Alertes SMS Informations sur les travaux Exportation en PDF Ergonomie Berlin Allemand, Anglais Tous Disponible Jusqu deux points Disponible Rechercher les 3 en mme temps Utilise Disponible Personnalisable Disponible Disponible Non disponible Non disponible Disponible Disponible Moyenne Paris Franais, Anglais Tous Non disponible Un seul point Non disponible Rechercher un seul type la fois Utilise Non disponible Limite aux trains Disponible Disponible Disponible Disponible Disponible Disponible Trs bonne

1.5

Conclusion

Ltude de ces trois applications nous a permis de dduire les meilleures pratiques pour la conception dune application similaire pour la ville dAlger. La dirence majeure entre ces applications et la notre est que celles-ci font partie du site gnral de la socit qui les produit ( lexception du Transilien, qui dispose dun site indpendant) et cest le cas de la plupart des applications du mme type, de par le monde. Par contre dans notre cas, le site sera centr sur le planicateur ditinraires lui-mme. Des informations autour du rseau de transports algrois, ainsi que dautres outils pour lutilisateur du site, viendront toer la fonctionnalit principale de recherche de litinraire. Grce aux informations rcoltes travers lanalyse de ces applications, nous sommes dsormais en mesure de visualiser clairement ce quoi pourrait ressembler notre site web. Chose qui sera explicite ds le chapitre suivant, o nous exposerons la conception de celui-ci. 8

Chapitre

Conception
2.1 Introduction
Depuis quelques annes, la ville dAlger connait un essor considrable dans son rseau de transport. Cest ainsi quune ligne de mtro de 10 stations sur 9,5 km[7] et une de tramway de 28 stations sur 16,8 km[8] sont venues sajouter n 2011 au rseau de bus dj en place et qui constituait (et constitue encore) le moyen principal pour se dplacer dans la ville, grce ses 64 lignes couvrant 74% des communes dAlger (1190km carrs) et transportant en moyenne quelques 42 millions de voyageurs par an.[9] Cependant, et malgr cette volution substantielle, il nexiste encore aucun moyen pour un habitant de la capitale algrienne ou un touriste dsirant sy rendre, de planier ses dplacements (en transports en commun) Alger. Lapplication raliser dans le cadre de ce projet de n dtudes vise rpondre cette problmatique, et ce par la cration dun planicateur ditinraires pour la ville dAlger. Celui-ci aurait pour objectif principal de faciliter les dplacements dans la ville en orant un moyen simple et ecace de planier ses trajets bord des moyens de transport.

2.2

tude des besoins fonctionnels

Cette partie vise expliciter les besoins du planicateurs ditinraires en sintressant tant aux acteurs de la plateforme, qu ses direntes fonctionnalits. Pour ce faire, nous utiliserons les diagrammes du langage de modlisation UML, plus prcisment les diagrammes de cas dutilisation, de squence et de classes.

2.2.1

Acteurs de lapplication

Plusieurs acteurs interagissent avec le systme : Le visiteur : cest le simple visiteur du site, il protera des fonctionnalits suivantes : - eectuer une recherche ditinraire ; - consulter des informations sur le transport Alger ; - tlcharger ches horaires et les plans du rseau ; - contacter ladministration du site ; - crer un compte sur le site ; Le membre : contrairement au simple visiteur, le membre possde un compte sur le site. Il bncie donc des fonctions supplmentaires suivantes : possibilit de sauvegarder des itinraires en une seule page sur son compte et de souscrire des notications SMS. Il

CHAPITRE 2. CONCEPTION

pourra aussi grer tout ce qui se rapporte son compte (modier des informations, acher son prol, supprimer le compte). Le gestionnaire de contenu : cest un employ dune socit de transport qui se charge de la mise jour de ses donnes (lignes, stations, horaires) sur notre site. En plus des fonctionnalits du membre, il pourra galement accder et modier la partie de la base de donnes rserve sa socit. Ladministrateur : cest le gestionnaire du site. Il pourra, entre autres, grer la base de donnes des comptes, crer des comptes pour les gestionnaires de contenu et grer la maintenance du site.

2.2.2

Diagrammes de cas dutilisation


Diagramme de cas dutilisation du systme Crer un compte Accder aux infos sur le transport
Visiteur

Le diagramme ci-dessus reprsente les cas dutilisation de tous les acteurs de notre systme.
Effectuer une recherche d'itinraire

Tlcharger horaires et plans Contacter ladministrateur du site

Sauvegarder itinraire
uses Membre

S'authentifier

Recevoir notifications SMS Grer BDD entreprise Grer la BDD comptes

Gestionnaire

Crer compte gestionnaire Maintenir le site


Administrateur

Figure 2.1 Diagramme de cas dutilisation

10

CHAPITRE 2. CONCEPTION

Nous dtaillerons dans ce qui suit la description de ces cas dutilisation, en procdant acteur par acteur. 2.2.2.1 Cas dutilisation relatifs au visiteur

Comme nous le voyons dans le diagramme, le visiteur a beaucoup de fonctionnalits sa disposition, en voici la liste : Eectuer une recherche ditinraire : cest la fonctionnalit la plus importante de lapplication, elle permet au visiteur de donner un point de dpart, un point darrive et la date et heure du dpart, et dobtenir un itinraire en fonction de ces donnes. Lutilisateur sera aussi inform en rsultat du cot du trajet, des arrts intermdiaires entre le point de dpart et darrive.
Recherche ditinraire Visiteur
Faire une recherche ditinraire Renseigner point de dpart et darrive, la date et lheure uses Visiteur Faire une recherche simple inherits Renseigner type ditinraire

extends Si type itinraire choisi Faire une recherche avance

Limiter moyens transport extends Si moyen transport prfr

Figure 2.2 Diagramme de cas dutilisation Eectuer une recherche ditinraire Consulter les informations sur le transport Alger : ces informations englobent une description gnrale du fonctionnement des transports Alger (la prdominence des bus, le rle du mtro et tramway, les lignes menant vers laroport...), les tarifs globaux (non spciques un itinraire), les abonnements existant auprs des socits de transports ainsi que le dossier fournir pour souscrire un abonnement et une liste des lignes et stations avec leur numros et les arrts intermdiaires entre leur origine et leur destination. Tlcharger les ches horaires et plans du rseau : les ches horaires sont des tableaux des intervalles de dpart du vhicule sur une ligne donne. Elles peuvent tre gnres aprs que lutilisateur ait rempli un formulaire et renseign la ou les lignes dont il dsire obtenir les horaires ainsi la priode sur laquelle les gnrer. Les ches 1 seront cres et lutilisateur sera invit les tlcharger sur un lien. Quant aux plans du rseau, cest le mme principe sauf quil nest pas ncessaire de renseigner la priode, lutilisateur ne devra entrer que les lignes en question et il pourra tlcharger le PDF de la carte.
1. Il est important de remarquer que ces ches horaires nous sont fournies par les organismes assurant le transport tels que lETUSA, lEMA ou autres, et ne sont que thoriques ( titre indicatif).

11

CHAPITRE 2. CONCEPTION

Contacter ladministration du site : travers un formulaire de contact des plus classiques, pour signaler un bogue, faire une remarque propos du site ou encore proposer une amlioration. Crer un compte sur le site : il est possible pour un simple visiteur de crer un compte sur le site pour proter de certaines fonctionnalits supplmentaires, et ce en remplissant un formulaire dinscription. 2.2.2.2 Cas dutilisation relatifs au membre du site

Aprs stre authenti, le membre peut : Grer son compte : interface travers laquelle le membre pourra modier ses informations, acher son prol, supprimer son compte ou encore acher ses itinraires sauvegards.
Grer compte Membre Modifier informations Voir profil Supprimer compte Consulter itinraires sauvegards

inherits Grer compte

Membre

Figure 2.3 Diagramme de cas dutilisation Grer compte Sauvegarder un itinraire : elle consiste en la sauvegarde ditinraires favoris pour pouvoir y accder plus tard sur un page qui les rergoupe tous. Un itinraire peut tre ajout comme il peut tre supprim de la liste. Recevoir des notications SMS : en labsence de 3G et vu les possiblits rduites daccs internet dans les espaces publics, nous avons pens quil serait intressant pour lutilisateur de recevoir les informations sur litinraire par SMS, et de pouvoir ainsi les consulter une fois dehors. Des notications SMS peuvent aussi tre envoyes dans le cas dun retard majeur (grve par exemple) ou de travaux qui entraveraient litinraire emprunt, et qui ne sont pas encore renseigns dans lapplication. Un menu droite de la page de rsultats proposera lutilisateur de congurer ces alertes SMS. Laccs cette fonctionnalit ncessite de fournir un numro de tlphone et de le valider par la suite.
Recevoir notifications SMS Membre uses Renseigner num. tlphone inherits Recevoir notifications SMS uses Membre Valider num. tlphone

Figure 2.4 Diagramme de cas dutilisation Recevoir notications SMS

12

CHAPITRE 2. CONCEPTION

2.2.2.3

Cas dutilisation relatifs au gesionnaire de contenu

Grer la base de donnes rserve sa socit : cette fonctionnalit permettra un gestionnaire de contenu, connect avec son compte, dajouter/modier/supprimer des stations ou lignes relatives la socit de transport quil reprsente. Cette opration se fera travers une interface graphique de gestion. Aprs quoi, ces changements sont mis jour sur la base de donnes, pour quils apparaissent dans les rsultats de recherche. Il est noter que certaines contraintes sont imposes sur ces rvisions : - on ne peut pas ajouter une station sans la connecter une autre travers un itinraire, au moins ; - pour ajouter une ligne, il faut que les stations de dpart et darrive de celle-ci existent ; - etc.
Grer BDD Gestionnaire Modifier ligne/station/arrt... inherits Crer nouvelle ligne/station/arrt... Supprimer ligne/station/arrt...

Grer vue BDD Gestionnaire

Figure 2.5 Diagramme de cas dutilisation Grer une vue de la base de donnes 2.2.2.4 Cas dutilisation relatifs ladministrateur du site

On prsuppose dans ce qui suit que ladministrateur est authenti avec son compte. Grer la base de donnes comptes (membres et gestionaires de contenu) : se fait travers une interface dadministration. L, ladministrateur pourra rechercher, modier et supprimer un compte.
Grer base de donnes comptes Administrateur Modifier compte inherits Supprimer compte Rechercher compte

Grer BDD comptes Administrateur

Figure 2.6 Diagramme de cas dutilisation Grer base de donnes comptes Crer des comptes pour les gestionnaires de contenu : Ladministrateur peut crer des comptes pour les gestionnaires travers linterface dadministration et ce en remplissant un formulaire rserv cela. Grer la maintenance du site : qui implique la correction des bogues et autres problmes qui surviennent au cours du dploiement de lapplication et de son utilisation. Les bogues peuvent tre rapports par les utilisateurs travers un formulaire que reoit ladministrateur ou sont reprs par lui-mme. 13

CHAPITRE 2. CONCEPTION

2.2.3

Diagrammes de squence

Les diagrammes de squence permettent de reprsenter les intractions entre les acteurs et le systme. On les utilise ici pour spcier les fonctionnalits les plus importantes de chaque acteur. 2.2.3.1 La recherche ditinraire

Le coeur de notre application rside en la fonction de recherche de litinraire. Elle seffectuera au travers dun formulaire au centre de la page daccueil du site, qui aura quatre champs remplir : point de dpart, point darrive, heure de dpart et date de dpart 2 . Lorsque un utilisateur tente de remplir les champs du point de dpart et darrive, une liste de propositions par completion automatique lui sera propose au fur et mesure des lettres quil saisit. Celle-ci permettra doptimiser la recherche et de minimiser les cas o la recherche ne retourne rien ou ceux o il faut corriger ses donnes dentre pour relancer la recherche, en vitant les fautes de frappe ou dorthographe. Ces donnes sont susantes pour lancer la recherche, il est cependant possible de laner en accdant la recherche avance. Cette dernire permettra de limiter les moyens de transport que lutilisateur veut utiliser et de choisir entre le chemin le plus court, le plus rapide ou le moins cher. Une fois tous les champs remplis (que ce soit pour la recherche basique ou avance), et aprs avoir cliqu sur le bouton "Rechercher", on a trois cas de gure : - soit on trouve un ou plusieurs itinraires correspondant (scnario idal) et on les ache dans ce cas avec toutes les informations les concernant ; - soit le point de dpart ou darrive ne correspondent que partiellement une entre de notre base de donnes, on liste alors des propositions alternatives (vouliez-vous dire a ?) pour relancer la recherche ; - soit la recherche ne retourne rien (chec), on ache un message derreur dans ce cas. Si un des champs nest pas remplis, on ne peut eectuer la recherche et on revoie une erreur achant les champs quil reste remplir. Notons que la recherche utilise lalgorithme de Dijkstra pour aboutir au rsultat. Ceci est dtaill dans lannexe B.2 : Complment de la conception.
2. la date est importante car les horaires changent en fonction des saisons

14

CHAPITRE 2. CONCEPTION

Sd Recherche

Serveur Web Visiteur ouvrirPageAccueil()

Systme

:formulaireRecherche remplirFormulaire() vrifierFormulaire Alt [si donnes compltes] envoyerRequte() calculerChemin()

Alt [si chemin trouv directement] Itinraire(ligne, horaire, prix)

afficherItinraire() [si chemin avec entres alternatives] :nomStationAlternatif afficheNouvelleProposition (nomStationAlternatif) [sinon] afficherMessageErreur() :null

[sinon] renvoyerFormulaireAvecMsgErreur()

Figure 2.7 Diagramme de squence Recherche ditinraire 15

CHAPITRE 2. CONCEPTION

2.2.3.2

Inscription au site

Lutilisateur clique sur le bouton Sinscrire , un formulaire remplir sera ach. Une fois le formulaire remplis, deux options se dgagent : - soit le forumlaire contient des erreurs (nom dutilisateur qui nexiste pas dj ou qui nest pas assez long, adresse email non conforme la syntaxe...) et on invite lutilisateur les corriger et renvoyer le formulaire ; - sinon, une fois que les informations entres sont correctes, on notie lutilisateur du succs de lopration. Il pourra alors se servir de son compte juste aprs.
Sd Inscription

Serveur Web Visiteur demanderFormulaire() :formulaire remplirFormulaire()

Systme

vrifierDonnesFormulaire() envoyerFormulaire() vrifierDonnes() :retour Alt [si donnes valides] afficherMessageSuccs()

[sinon]

:messageErreur

afficherFormulaireInscription()

Figure 2.8 Diagramme de squence Inscription au site 2.2.3.3 Cration dun compte gestionnaire de contenu

Cette tche incombe ladministrateur : il cre un compte en remplissant un formulaire qui, en plus des informations demandes lors dune inscription simple (dun membre), contient des informations sur lentreprise que reprsente le gestionnaire. Une fois le formulaire remplis, on vrie quil ny a pas derreurs. Si tel est le cas, un message de russite est alors ach et ladministrateur pourra communiquer ses identiants au gestionnaire. Sinon, on 16

CHAPITRE 2. CONCEPTION

invite ladministrateur corriger ces erreurs jusqu ce que le formulaire nen contienne plus.
Sd Ajout Compte Gestionnaire

Serveur Web Administrateur demanderFormulaireGestionnaire()

Systme

:formulaire remplirFormulaire() vrifierDonnesFormulaire() envoyerFormulaire() vrifierDonnes() :retour Alt [si donnes valides]

afficherMsgSuccs() [sinon]

:messageErreur

renvoyerFormulaireCration()

Figure 2.9 Diagramme de squence Cration de compte pour gestionnaire 2.2.3.4 Ajout dune station la BDD

Le gestionnaire de contenu peut ajouter une station travers linterface de gestion en renseignant le nom de la station, son emplacement (latitude, longitude) et son type. La BDD vrie que le nom de la station nexiste pas dj. Sil existe, on demande au gestionnaire sil ne voulait pas plutt changer les informations concernant cette station (si oui, on linvite les modier. Voir diagramme B.1). Sinon, on ajoute la station avec ses informations la base de donnes, et on ache un message de conrmation.

17

CHAPITRE 2. CONCEPTION

Sd Ajout Station

Serveur Web Gestionnaire demandeAjout()

Systme

:formulaireAjout remplirFormulaire() envoyerRequte() Vrifier() Alt

[si station nexiste pas]

Ajouter() :idStation

afficherInfosStation(idStation) [sinon] modifierStationExistante?() :erreur

Alt

[si oui] ref sdModificationInfosStation

[sinon] envoyerFormulaireAjout()

Figure 2.10 Diagramme de squence Ajout de station la base de donnes

Note : Le diagramme Modication des infos dune station est dtaill dans lannexe B.1 : Complment de la conception.

18

2.2.4

Diagramme de classes
GnrerItinraire +critres : String +date : Date +rechercher(entre critres, entre date&heure) : <Itinraire> +notifier(entre membre, entre itinraire) : bool 1 0..* 1 Itinraire +correspondance : bool +infosStationDepart() : Station +infosStationArrivee() : Station +typeTransport() : <Transport> 1 1..* arrive 1..* ligneArrive* * +numLigne : int +direction : char -bidirectionnelle : bool 1..* ligneDpart * Ligne dpart Station -id : int +longitude : double +latitude : double +nom : string Une ligne est un tronon sparant une station de la station qui la suit directement

La recherche utilise l'algo de Dijkstra sur une BDD Neo4j

L'envoi de SMS se fait par un service externe : ExpressNotifier

Favoris

CHAPITRE 2. CONCEPTION

-id : int +date : Date

Diagramme de classes

*
SocitDeTransport

cr par

our

trava

ille p

Figure 2.11 Diagramme de classes

19
1...*
-id : int Possde 1
emplo

1
-id : int +raison : string +numTlSoc : long +email : string +adresse : string

Membre

Transport

#id : int #email : string -motDepasse : string +pseudo : string +nom : string +prnom : string -numTl : long

1
Train -numro Tramway Mtro Bus
y

1...*
1

1 Gestionnaire de contenu -activ : bool -banni : bool +ajouterLigne() +modifierLigne() +supprimerLigne() +ajouterStation() +modifierStation() +supprimerStation()

Administrateur

Le train n'est pas identifi par un numro de ligne mais par un numro de vhicule, d'o l'ajout de l'attribut.

CHAPITRE 2. CONCEPTION

Ce diagramme de classe reprsente notre systme dans sa globalit. Pour commencer, nous avons la classe Itinraire, qui reprsente litinraire obtenu en rsultat de recherche. Cet itinraire est gnr selon des critres dnis par lutilisateur et la date et lheure de la recherche, ceux-ci sont matrialiss dans la classe GnrerItinraire. La classe Itinraire tant en relation avec la classe Ligne (elle-mme en relation avec Station et Transport ), on peut ainsi obtenir les stations de dpart et darrive, et le (ou les) type(s) de transport emprunts sur un itinraire en exploitant cette relation. Intressons-nous maintenant de plus prs aux classes Station et Ligne. Grce aux deux associations qui les lient, on peut : - retrouver la station de dpart dune ligne, et partir de l, reconstituer les stations intermdiaires (en accdant chaque fois la prochaine) ; - retrouver les lignes au dpart dune station La classe Transport quant elle, reprsente les moyens de transports appartenant une socit donne, ceux-ci peuvent tre des trains, bus, tramways, mtros. Son association la classe Ligne, nous permet davoir le mode de transport sur une ligne (et par consquent celui dune station). Une autre classe importante est la classe Membre, dans laquelle on retrouve les informations relatives un membre du site. De cette classe drivent les classes Administrateur et GestionnaireDeContenu. Gestionnaire de contenu qui soccupe dajouter, modier ou supprimer les lignes et stations (ce qui explique lassociation entre GestionnaireDeContenu et Ligne ). Enn, la classe Favoris stocke les itinraires favoris crs par un membre donn, elle est donc logiquement relie au membre et litinraire quil veut mettre en favoris. A partir du diagramme de classe, et en appliquant les rgles explicites en annexe C (Rgles de passage au modle relationnel), on obtient le schma relationnel suivant : Itinraire(id, idGnrerItinraire*, correspondance) Favoris(id, idMembre*, date) Membre(id, typeMembre*, email, motDePasse, pseudo, nom, prnom, numTel, socit) SocitDeTransport(id, raison, numTlSoc, email, adresse) Ligne(numLigne, idItinraire*, idGestionnaire*, direction, bidirectionnelle) Station(id, longitude, latitude, nom) Transport(id, typeTransport*, idSocitDeTransport*,) GnrerItinraire(critres, date) Station-Ligne(idStation, numLigne, stationDpart, stationArrive)

2.3

Conclusion

travers ce chapitre, nous avons pu modliser notre application et dnir ses direntes fonctionnalits. On a ainsi jet les bases de son implmentation pratique, sur laquelle nous nous attellerons dans le chapitre qui suit.

20

Chapitre

Implmentation
3.1 Introduction

Grce aux rsultats obtenus dans le chapitre de conception, on entame la ralisation de notre application. Pour ce faire, il est ncessaire duser doutils que nous prsenterons dans ce qui suit, en plus de passer en revue les direntes fonctionnalits de notre application.

3.2

Outils et technologies utiliss

Parce quil est ncessaire dans le dveloppement de nimporte quelle application de passer par des logiciels et technologies an datteindre les objectifs dnis prcdemment, nous avons choisi ceux qui rpondaient le mieux nos besoin, et nous les prsentons dans ce qui suit.

3.2.1

Les langages de dveloppement

HTML : Notre platforme a t conue laide du langage HTML (HyperText Markup Language), ou langage de balisage hypertexte, qui est le langage au cur de presque tout contenu Web. Plus prcisment, le HTML est le langage qui dcrit la structure et la smantique du contenu dun document Web. Le HTML est un standard universel dont la spcication est maintenue par le World Wide Web Consortium (W3C) et le WHATWG 1 . tant le standard aujourdhui valid par la W3C, et adopt par tous les navigateurs modernes, nous avons opt pour le HTML5 dans notre application. Le HTML5 ne dcrit pas le style et la mise en forme du contenu, seulement le contenu lui-mme et son sens. Le style et la mise en page sont dnis et contrls par les Cascading Style Sheets (CSS). CSS : Le terme CSS est lacronyme anglais de Cascading Style Sheets qui peut se traduire par "feuilles de style en cascade". Les styles permettent de dnir des rgles appliques un ou plusieurs documents HTML. Ces rgles portent sur le positionnement des lments, lalignement, les polices de caractres, les couleurs, les marges et espacements, les bordures, les images de fond, etc. Le but du CSS est de sparer la structure dun document HTML et sa prsentation. En eet, avec le HTML, on peut dnir la fois la structure (le contenu et la hirarchie entre les direntes parties dun document) et la prsentation, mais pour des raisons videntes de clart du code, et pour pouvoir proter de fonctionnalits plus tendues, le choix du
1. Web Hypertext Application Technology Working Group

21

CHAPITRE 3. IMPLMENTATION

CSS a sembl naturel. Par souci doptimiser le temps et au vu des avantages quil ore, nous avons pris la dcision dutiliser Bootstrap. Il sagit dune collection doutils CSS et HTML, avec une dizaine de composants et plugins JavaScript. Il utilise certaines des techniques plus rcentes des navigateurs pour nous orir la typographie lgante, formes, boutons, tableaux, grilles, et la navigation. Bootstrap permet de faire des designs "adaptatifs" (responsive web design ) ce qui a normment facilit la mise en place de linterface mobile de notre application. PHP : Pour laspect dynamique du site le choix sest port sur PHP. De par son accessibilit et la facilit avec laquelle il peut traiter les donnes, il est dautant plus intressant quil fait partie de ces languages Web libres et gratuits les plus performants. Il est principalement utilis pour produire un site web dynamique. Vu quil est excut du ct serveur (lendroit o est hberg le site), le visiteur na donc pas besoin davoir des logiciels ou plugins particuliers installs pour accder aux pages PHP. JavaScript/jQuery : Dans le but de donner de linteraction notre platforme, on a fait appel JavaScript, un langage de script orient objet principalement utilis dans les pages HTML. loppos des langages serveurs (qui sexcutent sur le site), Javascript est excut sur lordinateur de linternaute par le navigateur lui-mme. Ainsi, ce langage permet une interaction avec lutilisateur en fonction de ses actions (lors du passage de la souris au dessus dun lment, du redimensionnement de la page...etc). Par ailleurs, au vu de sa facilit dutilisation, de ses possibilits de personnalisation pousses et de sa lgret, nous avons galement opt pour jQuery, qui est une bibliothque JavaScript permettant de dvelopper des scripts rapidement et de manire concise. Elle intgre la gestion des vnements, les animations et les interactions Ajax, entre autres. Neo4j : Neo4j est une base de donne oriente graphe, gratuite et open-source, protant dune communaut grande et dynamique. Neo4j stocke les donnes suivant le modle des graphes pondrs, dont les caractristiques majeures sont les suivantes : il contient des noeuds et des relations, les relations sont nommes, orientes et relient toujours un noeud initial et un noeud nal, et enn les noeuds ainsi que les relations peuvent avoir des proprits (poids) [11]. Ceci dire grandement des bases de donnes relationnelles classiques, qui enregistrent les donnes dans des tables, et cette manire de faire convient beaucoup mieux notre problme puisque les donnes (stations et lignes) sorganisent naturellement en graphe. Notons par ailleurs que nous avons utilis lAPI (Application Programming Interface, interface de programmation) PHP de Neo4j, qui permet daccder au serveur via des fonctions et directives PHP, ce qui est justi par le fait que notre application est dveloppe en PHP.

3.2.2

Environnement de dveloppement

Systme de gestion de base de donnes Pour ce qui est du systme de gestion de la base de donnes, nous avons prfr MySQL, vu que celui-ci est trs couramment associ au PHP, grce leur complmentarit. Serveur web Pour le serveur, nous avons eu recours XAMPP, un ensemble de logiciels 22

CHAPITRE 3. IMPLMENTATION

permettant de mettre en place facilement un serveur Web. Il sagit dune distribution de logiciels libres, acronyme de X Apache MySQL Perl PHP, orant une bonne souplesse dutilisation, rpute pour son installation simple et rapide. La communication entre PHP et MySQL se fait travers linterface dadministration phpMyAdmin, intgre XAMPP.

3.3
3.3.1

Prsentation de lapplication
Page daccueil

La page daccueil de notre application, reprsente par la gure 3.1, permet aux internautes comme aux membres deectuer une recherche ditinraires. Dautres fonctionnalits importantes sont aussi mises en avant : le tlchargement des plans de lignes et des ches horaires.

Figure 3.1 Page daccueil du site

3.3.2

La recherche

Aprs avoir rempli le formulaire de recherche, que ce soit celui de la recherche simple ou avance (dans laquelle on peut prciser les modes de transport et le type de chemin). Si un chemin est trouv, voici un exemple de ce quobtient lutilisateur (gure 3.2).Les itinraires sont classs de la sorte : le moins cher, le plus rapide puis le plus court. Pour tous les trois, on ache un descriptif du trajet, la dure de celui-ci, son prix et la distance parcourue.

23

CHAPITRE 3. IMPLMENTATION

Figure 3.2 Exemple de recherche Un clic sur le bouton "Dtail", permet dobtenir la liste des arrts intermdiaires.

Figure 3.3 Liste des arrts intermdiaires

3.3.3

Connexion et inscription

La connexion et linscription se font travers deux formulaires trs simples. linstar des autres formulaires sur le site, leur validation se fait ct client (champs vides, syntaxe...).

Figure 3.4 Formulaire dinscription

Figure 3.5 Formulaire de connexion

24

CHAPITRE 3. IMPLMENTATION

3.3.4

Tlchargement des plans

Des plans retraant litinraire des lignes peuvent tre tlchargs en PDF ou encore visualiss directement sur Google Maps pour plus de prcision (cf. gure 3.6).

Figure 3.6 Tlchargement de plans

3.3.5

Tlchargement des ches horaire

Un petit menu droulant en bas droite (comme vu dans la gure 3.1), laisse lutilisateur tlcharger les ches horaires de chaque ligne.

Figure 3.7 Menu de tlchargement des plans

Figure 3.8 Menu droul

3.3.6

Notications SMS

Un membre peut souscrire deux types de notications : la rception de litinraire gnr, et les messages propos de scnarios exceptionnels entravant le bon fonctionnement du rseau. Lenvoi des SMS se fait grce lAPI dExpressNotier, un service denvoi de 25

CHAPITRE 3. IMPLMENTATION

SMS algrien et gratuit. Seuls les numros de loprateur Nedjma sont supports. Ladministrateur peut envoyer un SMS un numro, ou une liste de numros, travers le formulaire dmontr dans la gure 3.9

Figure 3.9 Formulaire denvoi de SMS

3.3.7

Les droits daccs

Lapplication distingue trois zones, chacune rserve un acteur de lapplication (sauf le visiteur, qui ne dispose pas de compte). 3.3.7.1 Zone administrateur

tant donn que cest lacteur qui a le doit daccs toutes les parties de lapplication, cest lui que revient la cration des comptes gestionnaires et la dnition de leurs droits daccs. Une fois connect, un panel dadministration est mis la disposition de ladministrateur an de pouvoir accomplir les tches cites plus haut (voir gure 3.10). A noter quen gnral, pour des raisons de scurit il ne peut y avoir quun seul administrateur, cela vite les manipulations par plusieurs utilisateurs qui peuvent crer une confusion lors de la gestion de lapplication.

Figure 3.10 Pannel dadministration 3.3.7.2 Zone gestionnaire

Comme son nom lindique, cette zone est rserve aux gestionnaires de contenu qui soccupent de la gestion des direntes lignes et stations. Ainsi, cest au travers de cette 26

CHAPITRE 3. IMPLMENTATION

interface que le gestionnaire peut ajouter, modier ou supprimer des lignes et des stations, comme le montre la gure 3.11.

Figure 3.11 Zone gestionnaire Le gestionnaire peut modier les informations sur une station, aprs lavoir recherche. Si on trouve la station dans la base de donnes, le formulaire suivant (gure 3.12) lui donnera la main pour la modier. Autrement, on lui proposera de crer cette station, sil le dsire.

Figure 3.12 Zone gestionnaire 3.3.7.3 Zone membre

La zone membre est un espace pour que le membre connect puisse grer son compte ainsi que ses favoris et notications SMS. Elle se prsente comme indiqu dans la gure 3.13.

27

CHAPITRE 3. IMPLMENTATION

Figure 3.13 Zone membre Le membre peut ainsi renseigner des informations plus exhaustives sur son prol (comme le numro de tlphone pour recevoir les alertes SMS). Voir gure 3.14.

Figure 3.14 Formulaire de modication du prol

Notons que le site dispose dune version mobile, cette partie sera dtaille dans lannexe D : Implmentation de la version mobile.

3.4

Conclusion

travers ces illustrations, nous avons tent de reprsenter les fonctionnalits les plus importantes de notre application, en mettant laccent sur la recherche, qui en est le coeur. Nous avons ainsi expos limplmentation des fonctions dcrites dans le chapitre de conception, de mme que les outils qui nous ont permis de le faire. Ceci nous amne au terme de ce chapitre, et par la mme la conclusion de ce document.

28

Conclusion gnrale
Si internet a permis de grands boulversements dans les habitudes des consommateurs, nous avons vu que les transports en commun ntaient pas en reste, ayant eux aussi leur part dvolution parallle celle du Web. Des outils comme les planicateurs ditinraires sont ainsi devenus une norme dans beaucoup de villes travers le monde. Dans ce cadre l, nous avons tent dimplmenter une application similaire, rserve la ville dAlger. Modlisant le rseau de transports algrois comme un graphe grandeur nature, nous avons utilis les concepts de la thorie des graphes, et leur tte lalgorithme de Dijkstra, pour calculer les chemins entres les stations. Ce mme algorithme nous permet de spcier encore plus la mthode de recherche, donnant lutilisateur laccs au chemin le plus court, le plus rapide et le moins cher. En plus de la recherche ditinraires, qui reprsente la fonctionnalit principale de lapplication, nous avons veill orir des options complmentaires. Le tlchargement de plans des lignes et leurs horaires, la rception de notications par SMS ou encore lajout de favoris auxquels on peut revenir par la suite sont quelques unes de ces fonctionnalits venues se greer au coeur de lapplication. La promotion des transports en commun comme moyen de dplacement principal constitue un facteur crucial pour toute ville soucieuse de son dveloppement et de son statut. Nous esprons, par ce travail, nous inscrire dans cette dynamique deervescence lie aux transports en commun dans la ville dAlger et participer leur essor. Nanmoins, et bien qutant arrivs un rsultat satisfaisant, il existe plusieurs pistes damliorations de lapplication. Nous pouvons citer titre dexemple une meilleure intgration de Google Maps (pouvoir visualiser litinraire directement sur une carte interactive), des possibilits tendues de la recherche avec notamment litinraire en passant par un point intermdiaire et la gestion de plus de lignes de transport et une meilleure gestion des horaires. Enn, il y a toujours matire peauner lalgorithme de recherche.

29

Bibliographie
[1] Tim Berners-Lee. WorldWideWeb: Proposal for a HyperText Project. 2013. url : http://www.w3.org/Proposal.html. [2] BVG. About us. 2012. url : http://www.bvg.de/index.php/en/17153/name/ About+us.html (visit le 05/12/2012). [3] Transport for London. London Underground. 2012. url : http://www.tfl.gov. uk/corporate/modesoftransport/1574.aspx (visit le 20/05/2013). [4] Transport for London. London Buses. 2012. url : http : / / www . tfl . gov . uk / corporate/modesoftransport/1548.aspx (visit le 05/12/2012). [5] Transport for London. London rail - Key facts. 2012. url : http://www.tfl.gov. uk/corporate/modesoftransport/londonrail/13707.aspx (visit le 20/05/2013). [6] Transilien. Qui sommes-nous ? 2012. url : http : / / www . transilien . com / static/transilien/qui-sommes-nous (visit le 05/12/2012). [7] RATP Dev. RATP El Djazar - Algeria. 2013. url : http://www.ratpdev.com/ _subsidiaries/subsidiary_alger_ratp-el-djazair.php (visit le 24/03/2013). [8] ETUSA. Alger Tramway. 2013. url : http://www.etusa.dz/spip.php?article48 (visit le 24/03/2013). [9] ETUSA. Informations sur le rseau. 2010. url : http://www.etusa.dz/spip. php?article28 (visit le 24/03/2013). [10] Wikipdia. Algorithme de Dijkstra - Wikipdia. 2013. url : http://fr.wikipedia. org/wiki/Algorithme_de_Dijkstra#Pseudo-code (visit le 29/04/2013). [11] J.Webber I.Robinson et E.Eifrem. Graph Databases. OReilly Media, 2013.

Annexe

tude de lapplication de Londres


Londres jouit de lun des meilleurs rseaux de transport au monde. Quelques chires cls le montrent bien : le mtro de Londres dessert, grce ses 11 lignes et 270 stations, plus de trois millions de passagers quotidiennement[3] (soit plus dun milliard par an). Le systme de bus, le plus dense en Europe, transporte galement dans les six millions de personnes bord de ses 7500 bus et 19.500 arrts[4]. Quant aux trains, ils sont rpartis sur un total de 84 stations[5]. Transport for London (abrg TfL), socit publique responsable de la majorit du rseau londonien, met disposition un planicateur ditinraire en ligne ainsi quune application mobile (pour iPhone uniquement). Lorsque lon accde au planicateur, on obtient linterface classique qui nous permet dentrer les points, la date et lheure de dpart et darrive. Notons que lon peut dterminer ces points sur un plan. Linterface est disponible en 19 langues et dire lgrement en fonction de la langue choisie (voir gures A.1a et A.1b). La recherche peut seectuer avec ces quelques champs seulement, mais il est bien sr possible de paramtrer certaines prfrences : - mode de transport prendre ; - passage par une station intermdiaire ; - chemin le plus rapide, celui avec le moins de correspondances ou celui avec le moins de distance marcher ; - options daccessibilit aux personnes handicapes ; - trajet vlo ou pied paramtrable en dure, vitesse...

31

ANNEXE A. TUDE DE LAPPLICATION DE LONDRES

(a) Interface en Franais

(b) Interface en Anglais

Figure A.1 Interface de saisie de litinraire Notons quil est possible denregistrer ces prfrences en cochant Save preferences pour les retrouver la prochaine fois que lon accde au site. Lapplication nous propose par la suite plusieurs possibilits ditinraires, libre lutilisateur den choisir un selon ce qui lui convient (cf.gure A.2).

Figure A.2 Plusieurs itinraires alternatifs proposs Laccs aux dtails de litinraire nous donne : - heure de dpart et heure estime darrive ; - numro de bus, tramway ou mtro prendre ainsi que leur direction ; 32

ANNEXE A. TUDE DE LAPPLICATION DE LONDRES

cycles de dpart du moyen de transport (dure entre 2 dparts) ; disponibilit descalators, ascenseurs ou systme de guidage pour les malvoyants ; informations sur les travaux ou perturbations du trac sur la route ; zones tarifaires.

Figure A.3 Itinraire dtaill

Figure A.4 Exemple de carte

Sont aussi disponibles : - une carte gnre pour chaque partie de litinraire (sil y a correspondance) - une carte interactive, qui cr une icne se dplaant sur le trajet pour montrer tout ce quil y a de pertinent sur notre chemin : point de vente de tickets, monuments, magasins. . . On peut choisir dacher ce qui est pertinent pour nous et de cacher ce qui ne lest pas. Cette option est nomme Wizard et est illustre dans la gure A.4.

33

Annexe

Complment de la conception
B.1 Diagramme de squence de la modication des informations sur une station

An de modier les informations dune station, le gestionnaire de contenu doit dabord rechercher la station en question. Aprs quoi il aura un formulaire complter avec les nouvelles donnes.
Sd Modification Infos Station

Interface Gestionnaire rechercherStation() envoyerRequte()

BDD

rechercher() :idStation ouvrirFormulaireModification(idStation) :formulaire modifierDonnes() vrifierDonnes() envoyerRequte() appliquerChangements() :afficherMessageRussite()

Figure B.1 Diagramme de squence Modication de station sur la base de donne

34

ANNEXE B. COMPLMENT DE LA CONCEPTION

B.2

Algorithme de la recherche

On considre notre rseau routier comme un graphe, o les stations reprsentent les noeuds, et les lignes de transports reprsentent les artes (relations) entre ces noeuds. Il est possible dattribuer des proprits aux noeuds comme aux relations, et parmi les proprits des relations, nous avons la distance, le prix et la dure pour aller dune station une autre. Dijkstra est un algorithme de la thorie des graphes servant rsoudre le problme du chemin de poids minimal. En considrant les proprits sus-nonces comme des poids donner, avec le graphe, en entre cet algorithme, on obtient : - le plus court chemin avec le poids "distance" ; - le chemin le moins coteux avec le poids "prix" ; - et le chemin le plus rapide avec le poids "dure". Le rsultat pourra tre alors ach lutilisateur. Le pseudo-code de lalgorithme est le suivant [10] :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Fonction Dijkstra (nuds, fils, poids, dbut, fin) Pour n parcourant nuds n.parcouru = infini n.prcdent = 0 Fin pour dbut.parcouru = 0 // noeud de dpart pasEncoreVu = nuds // noeud suivant // tant quil reste des noeuds parcourir Tant que (pasEncoreVu != liste vide) // le nud dans pasEncoreVu avec parcouru le plus petit n1 = minimum(pasEncoreVu) pasEncoreVu.enlever(n1) Pour n2 parcourant fils(n1) // nuds relis n1 par un arc Si n2.parcouru > n1.parcouru + distance(n1, n2) // distance correspond au poids de larc reliant n1 et n2 n2.parcouru = n1.parcouru + distance(n1, n2) n2.prcdent = n1 // pour aller n2, passer par n1 pasEncoreVu.ajouter(n2) // mise jour Fin si Fin pour Fin tant que chemin = liste vide n = fin Tant que n != dbut chemin.ajouterAvant(n) // parcours inverse du chemin n = n.prcdent Fin tant que 35

ANNEXE B. COMPLMENT DE LA CONCEPTION

28 29 30

chemin.ajouterAvant(dbut) Retourner chemin Fin fonction Dijkstra

36

Annexe

Rgles de passage au modle relationnel


Le passage du modle conceptuel (en UML) au modle relationnel se fait grce aux rgles suivantes : Transformation des classes : - on remplace les classes par des tables ; - les attributs des classes deviennent attributs de la table ; - on dnit un attribut pouvant jouer le rle de cl primaire. Si aucun ne convient, il faut en ajouter un la table. Transformation des associations : - dans les associations de type plusieurs un, il faut ajouter un attribut de type cl trangre dans la relation multiplicit plusieurs de lassociation ; - dans une association de plusieurs plusieurs, la classe-association devient une relation. Cette table aura comme champs les cls primaires de chacune des deux classes, plus dventuels autres attributs ; - dans le cas dune gnralisation, il faut crer une table avec tous les attributs des classes puis ajouter un attribut pour distinguer les types.

37

Annexe

Implmentation de la version mobile


En appliquant les rgles du design adaptatif la taille de lcran (responsive design ), grce aux nouvelles proprits du CSS3, nous avons russi crer une version mobile du site. Ainsi, quand on y accdera partir dun terminal mobile, lachage sera automatiquement optimis suivant la taille de lcran. Comme on le voit sur la gure D.1, le formulaire de recherche sagence verticalement, et les menus qui taient droite de lcran, passent en bas. Une fois une recherche eectue, le rsultat est ach diremment que sur la version pour ordinateurs de bureau, rendant le tableau plus lisible (gure D.2).

Figure D.1 Formulaire de recherche sur mobile

Figure D.2 Rsultat de la recherche sur mobile

Comme on peut le remarquer, le menu horizontal est aussi rduit, et on accde dsormais aux menus en appuyant sur le bouton droite, comme le montre la gure D.3. Enn, dans la zone membre, les lments se superposent (au lieu dtre achs lun ct de lautre, comme vu plus haut dans la gure 3.13).

38

ANNEXE D. IMPLMENTATION DE LA VERSION MOBILE

Figure D.3 Achage du menu sur mobile

Figure D.4 Zone membre sur mobile

39

Vous aimerez peut-être aussi