Alo Taxi

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 27

Projet ALO TAXI

Table des matières


Introduction générale ............................................................................................ 2

Présentation Du projet ........................................................................................... 2

I. Cadre général du Projet : ............................................................................. 2

2. Etude de l’existant ......................................................................................... 5

1.1 Description ................................................................................................... 5

Figure 1 : logo de l'application Taxi 216 ........................................................... 6

3. Proposition de la solution ............................................................................ 17

II. Analyse des Besoins ....................................................................................... 19

Figure 2 : Diagramme de cas d’utilisation Global « Client » ...................... 25

Diagrame d’utilisateur globale ........................................................................ 26


Introduction générale

Depuis la dernière décennie du siècle précédent, le domaine de l’informatique


a pu faire un pas géant vers un stade de progrès infini qui n’a pas cessé de
développer chaque jour de ces deux cotés software et hardware.

Face à cette croissance, les entreprises et les établissements se voient dans


l’obligation d’élaborer une stratégie complète pour améliorer la qualité de
leurs services et automatiser leurs différents systèmes d’information.

L’informatique marque sa présence dans plusieurs domaines et surtout dans le


secteur commercial. En effet, les entreprises veulent utiliser les logiciels et les
services informatiques pour faciliter leurs tâches et leurs besoins.

Dans ce cadre que se situe notre projet qui concerne la conception et le


développement d’une application mobile qui assure la mise en contact entre le
client et le conducteur taxi

Présentation Du projet

I. Cadre général du Projet :


1. Problématique :

Les citoyens au Burundi font face à des difficultés pour trouver leurs moyens de
transport notamment le service des taxis, parmi ces difficultés on trouve:

✓ La perte de temps.

✓ La longue attente des clients pour trouver un taxi.


✓ L’encombrement des demandeurs de taxi dans les grands axes (exemple :
KAMEGE).

Aujourd’hui, on constate une absence quasi-total de l’utilisation des outils


technologique dans ce domaine, et que le seul moyen de recherche de moyens
de transport offert aux usagers est de se pointer dans la rue, et de guetter les
taxis libres, tout en espérant qu’il n’y a pas trop de monde au même endroit et
avec le même objectif « trouver un taxi libre ». Nous pensons que les
nouvelles technologies peuvent contribuer fortement à l’amélioration du
quotidien des usagers en leurs proposants un service informatique plus adapté
et en les mettant en relation direct avec les taxis, et ainsi limiter le temps
d’attente ou du moins l’attente sera dans des conditions plus confortables
(commander son taxi depuis sa maison, depuis un café ou son lieu de travail et
donc ne passer son temps d’attente dans la rue…).

Les principes objectifs à atteindre concernant ce site web sont les


suivants :

* Prévoir un site web assez dynamique et simple pour


assurer la cohérence des processus.
* Accélérer l’Élaboration des documents techniques précis et
cohérents.
* Avoir une base de données adéquate afin de faciliter la
suivie des demandes de location.
* Appliquer des outils de développements afin d’améliorer
la qualité de ce site.
* Faciliter la communication entre client et agence.
* gérer la location des moyens de transports Voitures
.

* Gérer les réservations des voitures.


* Utiliser un Bootstrap (framework).

Les règles de gestion :

* Un client a un numéro unique, un mot de passe unique, un


nom et prénom et une adresse E-mail.
* Un administrateur a un numéro unique, un mot de passe
unique, un nom et prénom et une adresse E-mail.
* Un utilisateur est soit un utilisateur normal (visiteur ou
client), soit un administrateur (chef de service).
* Un client réserve un ou plusieurs voiture.
* Un véhicule voiture a un numéro unique, un nom, et un
prix.
* Une réservation a un code unique, elle possède le numéro
du client qui a fait la réservation, la date de début et la date
de n.
* Un administrateur gère les véhicules (ajout/suppression).
* Un administrateur peut accorder une réservation un client comme il peut la
supprimer.

* 3 - scénarios possibles :

• Un utilisateur peut naviguer dans le site sans authentifier,


il peut consulter la nouvelle actualité, comme il peut
visualiser les véhicules louer.
• Un utilisateur veut réserver un véhicule, il doit
s’authentifier avant de faire la réservation.
• Si un utilisateur possède d’un login et un mot de passe
peut faire une réservation, sinon il peut s’inscrire l’aide
d’un formulaire d’inscription.
• Après l’inscription le utilisateur devient un client il peut
faire sa réservation après l’authentification.
• Le client vérifie la disponibilité des véhicules après il peut
faire sa réservation a n de choisir la date de début et n de la
réservation.
• Le client peut aussi modifier ses informations
personnelles.
• L’administrateur a le privilège d’ajouter, modifier ou
supprimer un véhicule, ou une réservation.
L’administrateur a le droit d’ajouter un nouveau admin.

2. Etude de l’existant :

1.1 Description
L’étude de l’existant permet de déterminer les points faibles et les points
forts d’un produit actuel ou d’un marché pour pouvoir déterminer les besoins
du client, en vue d’en prendre en considération lors de la conception et la
réalisation de notre application. Dans cette section, nous présentons une
analyse de quelques exemples d’applications marchands. Ensuite, nous
proposons des solutions d’amélioration.

Nous avons constaté que le mode de recherche classique d’un taxi devient de
plus en plus ennuyant et parfois provoque des problèmes pour les citoyens et
les conducteurs Taxi pour plusieurs raisons car il y’a des lacunes dans ce
secteur parmi eux l’absence de l‘informatique, et l’absence de la
communication instantané entre le client et le conducteur. Dans la section
suivante nous présentons des applications existantes.

1.2 Applications existantes :


● Taxi 216

Figure 1 : logo de l'application Taxi 216

Taxi 216 est une application mobile qui permet la mise en relation entre le
client et le conducteur taxi. Cette application a pour but de faciliter l’accès
des passagers aux taxis grâce à son utilisation via un Smartphone, elle
comporte plusieurs fonctionnalités spécifiques comme la géo localisation,
l’appel téléphonique.

Réalisation technique

1. Template :

Pour correspondre à l'image voulu par la société, nous recherchons un template


évoquant l'espace, dans les tons du bleus foncés. Néanmoins, par soucis de
lisibilité, la partie centrale du site doit être claire.

Après plusieurs tests, notre choix final se porte sur siteground-j15-85, dont la
barre de titre et de pied de page est un dégradé de noir, avec certains menus
bleus.

Nous modifions le template de la façon suivante :

− pour afficher les différentes catégories de produits existantes en haut de


page, nous positions le module associé en position 'user3'. Pour déplacer
cette position entre l'image de titre et le contenu, nous modifions le fichier
/templates/siteground-j15-85/css/template.css

Nous ajoutons au bloc '#pillmenu' le contenu suivant :

float:right;
top:220px;
position:
relative;
font:
white;

− Puis pour modifier l'affichage de la position dans l’arborescence du site, au


bloc 'flashnews_1' :


height: 20px;
et nous modifions l'image

templates\siteground-j15-85\images\flashnews.png

pour réduire la hauteur à 20px;

Nous modifions également les images de titre, de panier, d'ajout au panier

2. Modification du code source

a. Le menu d'affichage des catégories :

Par défaut, lors du passage de la souris sur le menu des catégories (en position
User3), un sous-menu montrant les sous-catégories s'affiche. Nous désirons
désactiver cet affichage pour forcer le visiteur à aller sur la page d'accueil de la
catégories, et voir chaque produit en faisant partie.
Pour ce faire, nous modifions le fichier :

includes\js\jscook!;js

Dans la fonction cmItemMouseOverOpenSub, nous cachons la ligne 526 :

//cmShowSubMenu (obj, prefix, subMenu, orient);

b. Modification du panier :

Par défaut, le module de panier affiche en permanence le contenu du panier.

Pour afficher uniquement un résumé du panier, nous modifions :

/components/com_virtuemart/themes/[default]/templates/common/minicart.tpl.p
hp

Nous commentons la boucle entre la ligne 14 et la ligne 35, commençant par :

// Loop through each row and


build the table foreach(
$minicart as $cart ) etc ...

c. Affichage d'un calendrier en commande

Permet de choisir une date de début (et de fin selon article) pour la réservation

Pour ce faire, nous nous inspirons de la méthode décrite à cette adresse :


http://forum.joomla.fr/showthread.php?113907-Ajouter-un-calendrier-
dansboutique-location-Virtuemart

Néanmoins, celle-ci ne marchant pas en l'état (probablement à cause d'une


évolution dans les version), nous l'adaptons en procédant ainsi :
− nous modifions le fichier :

\components\com_virtuemart\themes\defaul
t\templates\product_details\includes\addtoca
rt_advanced_ attributes.tpl.php

Ce fichier est constitué d'une boucle, parcourant tous les attributs possibles d'un
produit. Nous ajoutons en début de boucle :

if ($attribute['title'] == 'Date') {
?>

<?php JHTML::_('behavior.calendar'); ?>


<script type="text/javascript" src="includes/js/joomla.javascript.js"></script>
<div class="vmAttribChildDetail" style="float:
left;width:10%;text-align:right;margin:3px;"> <label for="<?php
echo $attribute['titlevar'] ?>_field"><?php echo "Debut" ?>
</label>:
</div>
<div class="vmAttribChildDetail" style="float:left;width:20%;margin:3px;">

<input class="inputbox" type="text" id="<?php echo $attribute['titlevar']


?>_field" size="30" name="<? php echo
$attribute['titlevar'].$attribute['product_id'] ?>" size="25" maxlength="10"
value="" /> <a href="#" onclick="return showCalendar('<?php echo
$attribute['titlevar'] ?>_field', '%d-%m%y');"><img class="calendar"
src="templates/system/images/calendar.png" alt="calendar" /></a> </div>

<br style="clear: both;" />


<input type="hidden" name="custom_attribute_fields[]" value="<?php echo
$attribute['titlevar'].
$attribute['product_id'] ?>" />
<input type="hidden" name="custom_attribute_fields_check[<?php echo
$attribute['titlevar'].
$attribute['product_id'] ?>]" value="<?php echo md5($mosConfig_secret.
$attribute['titlevar']. $attribute['product_id'] ) ?>" />

<?php }
else if ($attribute['title'] == 'Date2')
{
?>

<?php JHTML::_('behavior.calendar'); ?>


<script type="text/javascript" src="includes/js/joomla.javascript.js"></script>
<div class="vmAttribChildDetail" style="float:
left;width:10%;text-align:right;margin:3px;"> <label for="<?php
echo $attribute['titlevar'] ?>_field"><?php echo "Fin" ?> </label>:
</div>
<div class="vmAttribChildDetail" style="float:left;width:20%;margin:3px;">

<input class="inputbox" type="text" id="<?php echo $attribute['titlevar']


?>_field" size="30" name="<? php echo
$attribute['titlevar'].$attribute['product_id'] ?>" size="25" maxlength="10"
value="" /> <a href="#" onclick="return showCalendar('<?php echo
$attribute['titlevar'] ?>_field', '%d-%m%y');"><img class="calendar"
src="templates/system/images/calendar.png" alt="calendar" /></a> </div>

<br style="clear: both;" />


<input type="hidden" name="custom_attribute_fields[]" value="<?php echo
$attribute['titlevar'].
$attribute['product_id'] ?>" />
<input type="hidden" name="custom_attribute_fields_check[<?php echo
$attribute['titlevar'].
$attribute['product_id'] ?>]" value="<?php echo md5($mosConfig_secret.
$attribute['titlevar']. $attribute['product_id'] ) ?>" />

<?php }
else
{

Pour qu'un produit soit réservation selon une ou deux date (début – fin), il suffit
de créer pour ce produit un attribut vide appelé Date ou Date2. Le fichier que
nous venons de modifier va tester la présence de ces attributs et, dans ce cas,
afficher un objet HTML <input type='text'> auquel il associera un affichage
javascript de calendrier.

d. Modifications divers :

Lors de l'existence de produits enfants, nous désactivons l'affichage du nom


commun. Par exemple, dans le produit 'séjour sur la lune', 2 produits-enfants
permettent de choisir si l'on veut séjourner sur la face cachée ou la face visible.
Leur nom respectif fait normalement apparaître 'face()' dans la partie
sélectionnable. Pour le désactiver, nous modifions le fichier :

\administrator\components\com_virtuemart\classes\ps_product_attribut.ph
p

et commentons la ligne 303 :

//$html .= $db->f( "product_name" ) ." - " ;

puis les lignes 319 à 324 :


/*while( $db_item->next_record() ) {
$html .= $db_item->f(
"attribute_name" ) . " " ; $html .=
"(" . $db_item->f(
"attribute_value" ) . ")" ; if( !
$db_sku->is_last_record() ) $html
.= '; ' ;
}*/

Puis nous modifions le même fichier ligne 335 pour ne pas afficher le prix s'il est
nul :

if($price["product_price"]!='0')
$html .= ' - ' .
$CURRENCY_DISPLAY-
>getFullValue( $price["product_price"] ) ;

La modification proposée précédemment donne uniquement au client la


possibilité de réserver pour une certaine date. Elle ne permet pas de contrôler les
stocks des produits en fonction des dates, ce qui nécessiterait l'écriture d'un
composant pour virtuemart.

Hébergement

1. Choix de l'hébergeur

Le choix de l'hébergeur est important. Si l'on ne peut héberger soit-même son


propre site en achetant uniquement un nom de domaine, il est important de choisir
un hébergeur fiable, assurant un trafic suffisant, pour permettre à tout client de
pouvoir, à tout moment, procéder à un achat. Une coupure de service ou une
limitation du nombre de visiteurs connectés simultanément peut constituer une
perte d'argent.

Joomla, de plus, ne peut être héberger par un simple serveur web (de type Apache
ou IIS), car une base de données est nécessaire. Les pré-requis pour Joomla 1.5
sont les suivants :

− PHP 4.3.10

− MySQL 3.23

− Apache 1.3

− ou IIS 6

Une seule base de données est suffisante pour un site Joomla. Il est en revanche
recommandé d'avoir accès à PhpMyAdmin (pour administrer la base MySQL en
cas de besoin), de même qu'un accès FTP pour la mise en ligne. Les dernières
versions de ces logiciels est recommandée.

Les 3 types d'hébergement possibles sont :

− l'hébergement mutualisé : un ordinateur héberge plusieurs sites en même


temps. Il s'agit de la solution la moins couteuse (partage des frais) mais
également la moins performante (partage également des performances)

− l'hébergement dédié : on loue en fait une machine avec sa connexion


internet, l'administration est plus complexe mais les possibilités et les
performances plus poussées.

− L'hébergement virtuel : entre les 2 solutions précédentes, on loue une


machine virtuelle, prenant place sur un puissant serveur.
Pour notre projet, nous choisirons un hébergement mutualisé gratuit. Notre choix
se porte sur Olympe Network, qui présente les avantages suivants :

− hébergement gratuit sans publicité

− infrastructure cloud

− PHP 5.4 , MySQL 5.5 et PHPMyAdmin

− serveur mail

− jusqu'à 1 Go d'espace disponible

Pour mettre le site en ligne depuis notre machine de test, nous utiliserons Akeeba,
qui permet de réaliser depuis Joomla des backups à un format compressé (il est
également possible de réaliser des backup à intervalle régulier en cas de
défaillance serveur). Pour extraire l'archive et la mettre en ligne, nous utilisons
Akeeba eXtract Wizard puis FileZilla.

2. Sécurité

La sécurité, après la performance, est un point fondamentale pour un site en ligne.


Les conséquences d'une attaque, pour un site commerçant, peuvent en effet être
désastreuse, entrainant un manque à gagner.

Celle-ci est assurée en premier lieu par l'hébergeur, et ce à 2 niveaux :

− blocage des attaques par utilisation d'un pare-feu et d'un anti-virus, sur un
serveur de type linux ne pouvant être infecté

− protection des données grâce à un hébergement de type cloud, composé de


nombreuses machines virtuelles dupliquées, donnant l'assurance de
retrouver des données après la perte d'un serveur.
Des conseils peuvent être suivis dans la conception-même du site même, ceux ci-
dessous sont tirés du livre « Joomla et Virtuemart ».

Grâce à sa forte communauté, Virtuemart est maintenant à jour et les bugs et


failles, détectés, sont rapidement corrigées.

a. Droit d'accès :

L'hébergement, sur un serveur de type linux, accorde des droits d'accès de 3 types,
pour 3 catégories de personnes : le propriétaire, un membre du groupe, ou
n'importe ; qui peut lire un fichier, le modifier, ou l'exécuter.

Pas sécurité, nous accordons aux fichiers la permission 644 aux fichiersv(le
propiétaire a tout accès, les autres peuvent lire) et 755 aux dossiers (tous droits
pour le propriétaire, lecture et exécution pour les autres).

b. Sécurisation du .htaccess :

ce fichier est le point d'entrée du site, il permet de définir et droits et interdictions


d'accès. Il convient de le protéger d'un accès extérieur par le code suivant :

<Files .htaccess>
order allow,deny
deny from all
</Files>

c. Déplacer les fichiers téléchargeables en dehors de l'espace web :

Suite à une commande, le billet associé est téléchargeable. Il s'agit d'un fichier
PDF. Pour éviter des attaques possibles, il convient de réserver un sousrépertoire
à ces fichiers, à savoir administrator/media/download/
d. Protéger le fichier configuration.php :

Ce fichier permet de configurer les options de base de Virtuemart. Il est possible


de le protéger en créant un second fichier, dans un sous-répertoire, et en
configurant configuration.php pour l'ouvrir. Pour éviter toute modification de ce
fichier, il est alors possible de définir se droits en 404 de sorte à ne pas être
modifié. Néanmoins, cela interdisant toute modification de configuration depuis
Virtuemart, nous n'appliquerons donc pas cette solution.

e. Crypter les données

Permet d'éviter qu'un tiers n'intercepte les données échangées entre le serveur et
le client et ne puisse les interpréter. Le site dispose d'une clé privée et donne au
client une clé publique pour encoder les données, que seul le serveur peut lire
grâce à la clé privée. Néanmois, notre hébergeur ne supportant pas le format SSL,
cette solution ne peut être appliquée

f. Divers

− Des composants existent pour assurer la sécurité du site, par exemple


sh404SEF. Néanmoins, ces solutions sont payantes et ne peuvent être
mises en place dans le cadre de ce projet.

− Mettre régulièrement à jour Joomla et Virtuemart, réaliser des backups


fréquents grâce à Akeeba.

Présence sur le web

Une fois le site commerçant en ligne et protégé, il faut maintenant s'assurer qu'il
sera connu et utilisés par le plus de personnes possibles.

Les clients ont 3 principales façons d'accéder à un site :


− ils cherchent un site particulier, il doit alors être facilement trouvable et bien
référencé ;

− ils cherchent une solution ou un produit, la présence publicitaire doit faire


du site le premier choix ;

− ils ne cherchent pas un produit mais sont attirés par une publicité.

Inconvénients :

Cette application ne compte pas un grand nombre d’utilisateurs


aujourd’hui, nous pensons que cela est dû à l’absence de publicités et de
marketing autour de cette application. Elle manque aussi certaines
fonctionnalités comme par exemple la messagerie et la réservation.

C’est une application web et mobile disponible sur Play store, elle
permet la mise en contact entre le client et le conducteur et elle comporte
plusieurs fonctionnalité notamment la réservation, le service de notification,
service de géo localisation.

3. Proposition de la solution

3.1 Etude d’amélioration

Après l’étude de l’existant nous avons pu identifier des points faibles


qui nécessitent des améliorations permettant de mieux répondre aux besoins
des utilisateurs. Notre application comprendra des fonctionnalités nouvelles
que nous évoquerons dans la section suivante et nous les introduisons avec
plus de détails au point suivant, ainsi que les points qui pourront porter un
plus.

3.2 Solution proposée :

Afin de réduire les obstacles de mise en relation entre les clients et les
conducteurs taxi, on propose de développer une application qui permet
d’améliorer la mise en contact entre eux. Cette application va faciliter et
accélérer la procédure de recherche de taxis, et par la suite elle offre des
fonctionnalités qui permettent de contacter les conducteurs taxi : l’appel
téléphonique, la messagerie... En effet elle présente aux les utilisateurs des
opportunités et elle permet de s’inscrire et de s’authentifier à l’application.

Le client, peut choisir la procédure de recherche qui convienne : En appuyant


le bouton Taxi puis attendre les consultations des conducteurs, ou bien
effectuer une recherche manuellement à travers l’interface de la carte Maps.
Elle offre aussi l’opportunité aux clients de réserver un taxi.

Le conducteur taxi peut contacter les clients ou attendre les réservations des
clients.

Dans ce point nous avons vu une présentation générale de notre projet, Ainsi que
nous avons donné :

Une idée globale sur le déroulement de notre application. Dans le prochain


chapitre nous introduisons notre analyse des besoins et on va identifier les
acteurs de l’application.
II. Analyse des Besoins

Dans ce point nous mettons en évidence l’analyse et la spécification des


besoins de notre projet, Et par la suite nous essayons d’élaborer les différents
solutions, d’évaluer les diverses conséquences, d’identifier les acteurs et de
définir les besoins fonctionnels et les besoins non fonctionnels de notre projet.

I. Identification des acteurs :

Dans le cadre de ce projet on va identifier trois types d’utilisateur:

✓ Client

• S’inscrire / s’authentifier.

• Chercher un taxi.

• Réserver un taxi.

• Contacter les conducteurs taxi.

✓ Conducteur taxi :

• S’inscrire et saisir les informations et les caractéristiques du véhicule de taxi.

• S’authentifier.

• Chercher un client.

• Contacter un client.

• Consulter les réservations demandées.


✓ Administrateur :

C’est la seule personne grâce à l’authentification avec un login et un mot de


passe qui peut contrôler les différentes fonctionnalités du système, de ce fait il
gère les différentes tâches et consulter par la suite la liste des utilisateurs.

Notre administrateur peut aussi gérer les utilisateurs par l’ajout la suppression
la modification ou la consultation de la liste des utilisateurs.

II. Description des besoins :

Notre projet se base sur l’étude des besoins c’est pour cela qu’on doit
spécifier les besoins fonctionnels et les besoins non fonctionnels dans cette
section du chapitre :

1. Les besoins Fonctionnels :

Les besoins fonctionnels permettant de cadrer les fonctionnalités


attendues par notre application.

Inscription :

• l’application permet à l’utilisateur : client et conducteur taxi de s’inscrire.

• Le conducteur taxi doit saisir les informations (statut, position, …) et les


caractéristiques de son véhicule taxi (carte grise…).

Authentification :

• L’application permet au client, conducteur taxi, et l’administrateur de


s’authentifier.
Déconnexion :

L’application permet aux utilisateurs de se déconnecter de l’application.

Administration :

• Gestion d’utilisateur : l’application permet de mettre en place une gestion


simple et fiable des utilisateurs de ce portail dans le but de modifier,
supprimer, ajouter.
• Consultation des listes d’utilisateurs (client/conducteur Taxi).

Notification :Gestion de notification : lorsque le client va réserver un taxi le


système envoi une notification au conducteur, et si le conducteur accepte la
course le système génère une notification pour client pour lui informer de
l’acceptation.
Appel téléphonique : L’application offre la possibilité au client et au
conducteur taxi de communiquer mutuellement par une appelle téléphonique.
Messagerie :L’application permet la mise en relation entre le client et le
conducteur qui s’effectue par messagerie (sms).

Réservation Taxi :L’application permet à le client de réserver un taxi à


travers l’interface de réservation taxi, il peut saisir les coordonnés de
réservation suivantes : date, heure, Départ, Arrivée, information
supplémentaires et valide.
Géo-localisation :L’espace client contient une interface avec une carte
Maps permettant de déterminer les marqueurs des positions des taxis libres sur
la carte.

L’espace conducteur taxi contient une interface avec une carte Maps
permettant de contacter les clients en attente.
2. Les besoins non fonctionnels :

Les besoins non fonctionnels présentent les exigences internes pour le


système qui sont substantielles.

✓ L’ergonomie :

L’application doit présenter des interfaces utilisateurs conviviales bien


structurées du point de vue contenu informationnel. Cet effet est assuré par la
combinaison du texte et du graphique avec un bon choix des couleurs et du
style d’écriture.
Fiabilité :L’application doit toujours être en mesure de fonctionner
correctement, il ne doit pas avoir de problème de fonctionnement ou des cas
d’utilisation donnant des résultats non souhaités ou erronés.
La charge de travail : Ce critère stipule que l’interface soit conçue de
telle façon qu’elle réduit le travail de lecture de l’utilisateur. D’autre part,
l’interface doit être faite de sorte que l’utilisateur passe par le minimum
d’étape pour effectuer une tache.
La gestion des erreurs :La gestion des erreurs consiste en la conception
d’interfaces qui aident l’utilisateur à éviter de commettre des fautes.
De plus si l’utilisateur commet une erreur, l’interface doit lui permettre
de la corriger.
Vérification de saisie : L’application doit permettre la vérification des
différents paramètres manipulés. Par exemple, si un champ est vide alors qu’il
est requis, ou dans le cas d’un chemin invalide l’application doit indiquer qu’il
y a une faute dans les paramètres.
✓ Rapidité :

L’interrogation de la base de données doit être aussi rapide et efficace, et les


requêtes SQL doivent être complètes et optimisées.
Maintenance :Le code doit être facile à maintenir pour des raisons de
réutilisation et de modification.
Technique :Respecter la règle de sécurité par la mise en place des
mesures d’authentification.
Adopter un nom et un titre parlant pour chaque page de l’application.

3. Les Contraintes :

✓ Chaque utilisateur doit s’authentifier avant d’être connecté au système.

✓ Le droit d’accès à la base des données doit être restreint à l’administrateur.

✓ Chaque utilisateur peut se déconnecter.

4. Objectifs du projet :La mise en place d’une application mobile


qui offre des fonctionnalités qui vont révolutionner et innover le mode de
recherche classique et traditionnel et le remplacer par un autre informatisé,
plus rapide, fiable.Ce système permet à son utilisateur : client de consulter
l’interface et choisir la méthode de recherche, et à son utilisateur Conducteur
Taxi de consulter l’interface puis effectuer une recherche sur les clients, tout
en se basant sur les nouvelles technologies. Et à son administrateur de gérer
tous les utilisateurs et consulter la liste des utilisateurs rétablit.Les principaux
objectifs sont cités ci-après:

• Réduire la surcharge des clients en attente de taxis.


• Révolutionner le secteur des taxis.

• Réduire le temps d’attente par-rapport aux conducteurs taxi et aux clients.

• Avoir une application fiable et efficace qui traite les besoins du client et du
conducteur taxi.

III. Diagramme de cas d’utilisation :


Représentation :

Le diagramme de cas d’utilisation est le premier diagramme du modèle


UML, il représente la structure des grandes fonctionnalités aux utilisateurs du
système, autrement dit une représentation graphique qui montre les différentes
relations entre l’utilisateur et les objets que le système met en œuvre.

1. Diagramme de cas d’utilisation global

Débutons-nous par le diagramme global de l’administrateur qui nous


montre tous les cas d’utilisation qui peut s’effectuer par le l’administrateur
puis nous allons détailler chaque cas d’utilisation en spécifiant les sous cas :

Figure 1 : Diagramme de cas d’utilisation Global « Administrateur »

Le deuxième c’est le diagramme du Client qui nous montre tous les cas
d’utilisation qui peuvent s’effectuer par le client puis nous allons détailler
chaque cas d’utilisation en spécifiant les sous cas:
Figure 2 : Diagramme de cas d’utilisation Global « Client »

Le troisième c’est le diagramme du Conducteur Taxi qui nous montre


tous les cas d’utilisation qui peuvent s’effectuer par le conducteur taxi puis
nous allons détailler chaque cas d’utilisation en spécifiant les sous cas:

Figure 3 : Diagramme de Cas d’utilisation Global « Conducteur Taxi »


Diagrame d’utilisateur globale

Conception
I. Diagramme de classes

Le diagramme de classe constitue un élément très important de la


modélisation, il permet de définir les composantes du système final et de
séparer les composantes de manière à pouvoir répartir le travail de
développent entre les membres du groupes.

●Le schéma de diagramme de classe :


Conclusion

Nous avons terminé ce point qui se concentre sur la conception de notre


application et de base de données. Nous avons présenté les fonctionnalités
pour chaque acteur et les scénarios relatifs à chacun d’entre eux et le
déploiement de notre application

Vous aimerez peut-être aussi