Gestion D Une Agence de Voyage Routiere
Gestion D Une Agence de Voyage Routiere
Gestion D Une Agence de Voyage Routiere
CAHIER DE CHARGES
I- Présentation du projet
Les agences de transport Garantie Express (GE) constituent une entreprise commerciale
qui compose et vend des offres de voyage à ses clients ; Elle joue le rôle d’intermédiaire et/ou
d’agrégateur de services entre les clients et les différents prestataires sur le marché du transport.
L’agence de voyage routière Garantie Express d’Akwa-Douala offre à ses clients divers services.
Toutefois, il est très difficile d’avoir des informations concernant les voyages, le personnel, les
congés, les sanctions affligées. Bref, cette dernière permettra d’automatiser la gestion de l’agence
de voyage (étant donné que tout se fait encore sur papier) et par conséquent pourra résoudre
certains problèmes.
II- Problématique
Après une analyse du fonctionnement de l’agence de voyage, nous voyons qu’il est
fastidieux de faire un bilan, de connaître le nombre de voyages effectués et de billets vendus,
de personnels sanctionnés ou qui sont allés en congé, etc. C’est ainsi qu’à la fin du mois, le
chef d’agence, pour avoir le bilan des opérations qui ont été effectuées tout au long du mois,
doit attendre le bilan du guichet (concernant le nombre de billets vendus et le montant
encaissé), du secrétariat (concernant le personnel absent, sanctionné, surtout ceux-là qui ont
eu à demander un congé). De ce fait, comment automatiser les opérations effectuées au
sein de l’agence ?
Vu sous cet angle, cette application permettra de gagner en temps et sera bénéfique à
l’agence de voyage Garantie Express pour effectuer les bilans annuels ou périodiques de gestion.
EPIGRAPHE
Albert Einstein
DEDICACE
A
Mes parents
Qui ont toujours fait preuve d’un grand amour à mon égard ; De la confiance, du soutien
moral et bien d’autres choses que je ne saurai citer. La seule chose que je voudrais que vous
sachiez, c’est que je vous aime et je fais tout pour mériter votre confiance et devenir celui que
vous avez toujours souhaité.
REMERCIEMENTS
ABRÉVIATIONS SIGNIFICATIONS
PHP Personal Home Page
HTML Hypertext Mark-up Language
CSS Cascading Style Sheet
SQL Structured Query Language
GE Garantie Express
UML Unified Modeling Language
CA Chef d’Agence
SGBD Système de Gestion des Bases de Données
WAMP Windows Apache MySQL PHP
CSS Cascading Style SHEETS
RESUME
Le thème soumis à notre étude dans le cadre du stage académique porte sur la « Gestion
d’une agence de voyage routière». L’application ainsi réalisée possède plusieurs
modules (voyage, clientèle, personnel, service, planification, discipline, statistique et utilisateur)
qui prennent en compte deux aspects : L’aspect sécurité qui donne la possibilité au CA de créer
des utilisateurs (leur login étant ainsi crypté) et de les affecter à un groupe utilisateur. De même
l’aspect gestion donne la possibilité de générer et d’imprimer les bordereaux de voyage, de lister
le personnel de l’agence, de donner le nombre de billets vendus et les montants encaissés pour
chaque voyage, de donner la liste des absences au service, le montant encaissé en une journée, et
le montant obtenu pour les locations, de savoir quel est le mois où on a le plus gagné dans les
voyages et pourquoi, de donner le nombre de clients ayant effectué une location et d’identifier par
la même occasion ceux qui font beaucoup de locations pour ainsi leur faire un rabais. La
possibilité d’avoir le pourcentage des employés par type de congés pour une année, et le
pourcentage des employés ayant pris un congé ces cinq dernières années ; de dire quels sont les
employés les plus sanctionnés. Pour parvenir aux résultats, plusieurs outils ont été mis à profit.
ABSTRACT
SOMMAIRE
INTRODUCTION GENERALE
L’Afrique est l’un des continents de nos jours, en perpétuelle évolution dans le domaine
des Technologies de l’Information et de la Communication. Ainsi, elle met sur pied des
infrastructures commerciales dans le but de s’arrimer au développement et de mettre le client tout
à son aise. Actuellement, dans la plupart des agences de voyage routière, les guichetiers
enregistrent les billets pour des voyages précis dans un gros registre, avant d’éditer les billets
d’embarquement qu’ils doivent remettre aux clients, ce qui favorise parfois la file d’attente pour
l’achat d’un billet; la secrétaire enregistre les absences au service, les clients, les sanctions et les
demandes de congés, tous sur des formats qu’elle classe dans une chemise sur laquelle est
mentionnée la date du jour ; le CA planifie les voyages, les congés en fonction des demandes ; et
doit à chaque fois se déplacer de gauche à droite pour avoir une information. Cette méthode qui
est utilisée trouve des limites, puisque les informations disponibles ne sont pas stockées dans une
base de données ainsi que les bordereaux et les cautions que les clients payent pour une location
de véhicule. C’est pour résoudre les problèmes ci-dessus que le thème suivant nous a été soumis :
<< Gestion d’une agence de voyage routière >>. Nous proposons un logiciel qui doit permettre
de savoir qui sont ceux (parmi les employés) qui iront en retraite l’année prochaine, qui sont ceux
qui ont été absent au service ou même qui ont été en retard, d’avoir le nombre billets vendus en
une journée, en un mois ; le nombre de voyages effectués et le montant encaissé pour chaque
voyage, d’éditer les bordereaux d’embarquement, etc. Pour atteindre nos objectifs, nous avons
utilisé le serveur Wamp contenant Apache comme serveur Web et MySQL comme SGBD, le
langage de modélisation UML et le langage de programmation PHP. Nous vous présenterons
notre travail de la manière suivante : le premier chapitre est la présentation de GE, le deuxième
chapitre présente l’analyse et la conception de notre système, et le troisième chapitre est celui de
l’implémentation de notre application où nous présentons les outils utilisés et les résultats obtenus
ainsi que les différentes techniques algorithmiques qui nous ont permis d’obtenir ces résultats.
Enfin, nous achèverons par une conclusion générale.
CHAPITRE I : CONNAISSANCE DE
L’ENTREPRISE
L e s Ressources matérielles
Pour l’exécution de ses tâches, GE a acquis des véhicules de classe, des biens meubles et
des terrains divers.
Les Ressources financières
Parmi ces ressources, on peut citer les bénéfices provenant des fonds propres qui sont
générés par l’agence, des voyages effectués, des colis transférés et des véhicules loués.
Au terme de ce chapitre faisant objet de notre insertion, il ressort que l’insertion au sein
de l’Agence de Voyage GE s’est faite dans une bonne ambiance. Dès notre arrivée au sein de la
structure, nous avons rencontré le CA, qui nous a présenté tous les services. L’accueil très
chaleureux du personnel nous a permis de nous acclimater au fonctionnement de la structure.
L’intégration au sein de la structure faite, il est opportun pour nous de parler du fonctionnement
du système en place, d’établir une description fonctionnelle de la structure dans laquelle nous
sommes, afin de la critiquer et de proposer des solutions pour un meilleur fonctionnement. Voilà
en quoi consiste la prochaine étape de notre travail qui se fera dans le chapitre intitulé analyse du
thème principal.
I.2 Objectifs
L’objectif de ce projet est la recherche d’une solution optimale que celle utilisée
présentement, en utilisant les TIC (Technologies de l’Information et de la Communication). Notre
travail s’articule donc autour de l’automatisation en prenant en compte le fait que les données
doivent être persistantes puisqu’on aura plus à utiliser les registres physiques pour
l’enregistrement de données, mais plutôt des fichiers numériques (Base de données). Nous devons
réaliser une base de données ainsi qu’une interface graphique associée, qui rend transparent pour
l’utilisateur la gestion de la base.
est capable :
- D’enregistrer un véhicule, un personnel, un congé, une location ;
- De programmer un voyage ;
- D’imprimer les statistiques ;
- De créer un nouvel utilisateur (en choisissant le niveau d’accès de ce dernier, il lui
attribut ainsi des droits).
• Le Guichetier : Le Guichetier dans notre système est une personne ayant un compte
utilisateur et qui est capable :
- D’enregistrer un billet pour un voyage ;
- D’effectuer une réservation ;
- De visualiser l’état statistique (voyage, billets, locations véhicules).
• Le Secrétaire : Le Secrétaire dans notre système est une personne ayant un compte
utilisateur et qui est capable :
- D’enregistrer une absence, un client, une sanction, une Demande de congé ;
- De visualiser l’état statistique (congés, sanctions, retraités, démissionnaires, licenciés).
La figure 2 permet de représenter les interactions entre les différents acteurs et le système
ainsi que les différentes relations entre les cas d’utilisations du système.
Enregistrer Véhicules
«include»
«include»
«include»
EnregistrerPersonnel
«include»
EnregistrerCongé
«include»
Programmer Voyage
S’Authentifier
VisualiserEtat_statistique
Voyages
billets_vendus
Guichet Congés Absences
locations_véhicules
EnregistrerBillet
«include»
Enregistrer Absence
«include»
Sécretaire
Enregistrer Client
«include»
Enregistrer Sanction
«include»
Enregistrer Demande_Congé
«include»
Le tableau 6 quand à lui ressort la description textuelle du cas d’utilisation « réserver un voyage ».
Tableau 6 : Description textuelle du cas « réserver un voyage »
Le tableau 7 quand à lui ressort la description textuelle du cas d’utilisation « enregistrer une
location ».
Tableau 7 : Description textuelle du cas « enregistrer une location »
[2] Le diagramme de séquence montre l'ensemble des messages échangés avec le système
durant l'inter action de l'acteur avec celui-ci. Il représente la succession chronologique des
opérations réalisées par un acteur. Les principales informations contenues dans un diagramme
de séquence sont les messages échangés entre les lignes de vie.
Cas d’enregistrement d’un billet
La figure 3 montre les messages échangés lors de l’enregistrement d’un billet d’embarquement.
: Voyage : Client
Guichetier
Vérificationdes
places disponibles
Il n’ y a plus
ALT de place pour ce voyage
Break
Place disponible
Demande du formulaire
Demande à remplir les champs
Informationssaisies Envoi d’informations
non correctes : Billet
ALT
Break
Lorsqu’on veut effectuer une nouvelle vente de billet, le guichetier s’étant authentifié au
préalable ; demande les informations sur le client; Après avoir vérifié s’il y a encore des places
disponibles, le client lui donne les informations à remplir en lui demandant de remplir les
champs. Le guichetier entre les informations, une vérification est effectuée automatiquement en
arrière-plan sur le formulaire d’enregistrement. Si le remplissage a été bien effectué, le billet est
enregistré et une notification est renvoyée au guichetier pour lui signaler que l’enregistrement a
été effectué avec succès, sinon un message d’erreur est retourné.
La figure 4 ressort les différents messages échangés lors de l’enregistrement d’une réservation.
: Vo ya g e : R e se rv atio n
G u ic h etie r
D em an d e in fo r m at io n s s u r le v o yag e
A lt
B r e ak
D em a n de à n o u ve au d e r em p lir le s ch a m p s
Se tR e se rv atio n (v oy ag e )
Lorsqu’on veut effectuer une réservation, le guichetier demande des informations sur le
voyage, après s’être authentifié au préalable. S’il y a encore une ou plusieurs places vide(s), un
message lui est envoyé, lui demandant de remplir les champs, sinon, rien. Il envoie les données. Si
elles sont bien entrées, la réservation s’effectue et une notification lui est envoyée pour lui certifier
que la réservation a été effectuée avec succès.
La figure 6 montre les inters actions qui existent lors de l’enregistrement d’une vente.
2:vérification
place
: guichet : voyage
9:délivre 3:place disponible
facture
8: Notification de
succès
6: nbre_place =
1:demande_reservation 7:notification nbre_place - 1
(CNI,nbre place,montant) d’enregistrement
4:saisie_infos
(nom_client)[nbre_place]
client
: reservation
5: auto-
incrémentation
La figure 6 représente l’architecture du système en établissant des liens entre les différentes
classes qui le constituent.
* Reçevoir 1
Permission
* Personnel 1 1..* Conge
1..*
Demander 1 Reçevoir 1
*
1 Reçevoir 1..*
Sanction 1
* 1..* Etre Absence
* Affecter
Vehicule
1..* Attribuer Chauffeur
1
Retraite
Guichet
1
1..* Secretaire Chef D’Agence Type_conge
* 1..* Depart 1
Location Agence
Voyage 1..* Arrivee 1
Louer Escale
1..*
Reserver * * *
Infos_escale
Appartenir
1 1..* 1
Client Reservation Classe_voyage
Billet
1 1..*
Posseder
[2] Le diagramme d’Etat -transition montre les différents états que peut avoir un objet
Réparation complète
Accident
After ( 1 ans )
Non
programmer
Annuler une
Location
Location
effectuée Arrivée de fonds suplémentaires
[2] Les diagrammes d’activités sont une représentation du comportement d’une opération
(réalisation d’une méthode), d’un cas d’utilisation ou plus généralement d’un processus
impliquant un ou plusieurs éléments. Ils décrivent comment les activités sont coordonnées afin de
réaliser un processus. Un diagramme d’activités représente alors l’état d’exécution d’un cas
d’utilisation sous forme d’un déroulement d’étapes. Un diagramme d’activité est particulièrement
utile lorsque l’on sait qu’une opération ou cas d’utilisation devra accomplir un ensemble de
choses, et qu’on veut modéliser les dépendances essentielles entre celles-ci.
si erreur de
données
message d’erreur
Confirmation d’enregistrement
D’une nouvelle location
si non
Stockage dans
La BD
I.1-1Outils de modélisation
Pour la production de nos différents modèles, nous avons fait appel à l’outil Pacestar
UML Diagrammer à cause de la gratuité de sa licence, de la facilité de son utilisation et de la
clarté des diagrammes produits.
facile grâce à la documentation fournie et surtout grâce à l’aide incorporée pour une meilleure
utilisation.
demandé (illustré par les diagrammes de séquence, de communication et d’Etat transition). En fin,
ils nous ont permis de faire le codage des modules.
Remarque : Grâce ce modèle, toute opération réalisée est immédiatement suivi d’un test ;
c’est pour cette raison qu’à chaque niveau nous effectuons des tests. Par exemple au niveau de
l’analyse des besoins, on analyse le système proprement dit et on détermine ce dont le client a
réellement besoin d’où l’établissement des cas d’utilisations, des diagrammes de séquence, de
communication et d’états transition recensés plus haut.
Ici on doit pouvoir lister les employés qui atteindront l’âge de retraite l’année prochaine ;
ainsi, nous avons commencés par crée deux variables : une qui contiendra l’année en cours à
travers : $i à qui on a affecté select Age from personnel l’autre qui contiendra l’âge de retraite à
travers : $res à qui on a affecté select age_retraite from retraite. Ainsi à l’aide de la requête
select COUNT(*) from personnel where personnel.age=' $vrai', nous pouvons avoir la liste
des futurs retraités. NB: $vrai contient l’âge de retraite initialisé au départ; donc si nous estimons
que 60 devrait être l’âge de retraite, alors cette requête nous donnera le nombre d’employés qui
auront 60 ans en 2014 étant donné que nous sommes encore en 2013. Toutefois, nous les
ordonnons en les classant par ordre à l’aide de la requête suivante : $req="select * from personnel
ORDER BY N°secu DESC LIMIT $premiermessage, $nombremessageparpage";
D’oû le résultat suivant présenté par la figure 11 qui montre la liste des employés qui iront en
retraite l’année prochaine :
Statistique graphique des employés ayant pris un congé durant l’année en cour
Pour avoir les statistiques sur les congés, nous nous servons ici des tables « congé » et
« type_congé » étant donné qu’un congé appartient bel et bien à un type. Nous sélectionnons
premièrement tous les type de congés accordés à l’aide de : ("select nom_type from Type_conge
"); puis, dans l’optique de faire ressortir tous les type approuvés, nous avons utilisé :
select * from type_conge where type_conge .maladie=$data['0'] And
type_conge.maternite=$data['1'] And type_conge.annuelle=$data['2']; de ce fait, les valeurs
sont récupérées dans des variables POST pour être ensuite utilisées dans les requêtes d’oû le
résultat suivant présenté par la figure 12.
Figure 12 : Pourcentage des employés ayant pris un congé durant l’année 2013
On remarque ainsi pour l’année 2013 qu'on a 36,842% du personnel qui ont pris un congé
annuel; 26,316% du personnel qui ont pris un congé de maternité ; 36,842% du personnel qui ont
pris un congé de maladie
Liste des sanctions
Pour réaliser cette figure, nous avons dans un premier temps récupéré dans la table sanction
la somme des sanctions de chaque employé au cours de l’année, ceci en utilisant la requête
suivante :(SELECT SUM(select id_absence from absence where absence.retraite=$data['0']
And absence.demissionne=$data['1'] And absence.licencie=$data['2']And
absence.decede=$data['3'] "); ) FROM sanction WHERE annee=".date('Y')." GROUP BY
id_sanction). Ces valeurs sont ensuite récupérées dans un tableau puis passées en paramètre dans
la méthode PiePlot () de la librairie JPGRAPH pour le calcul du pourcentage pour chaque statut.
En outre, ce diagramme représente un outil de prise de décision pour le dirigeant de cette structure
car à la fin de l’année, juste en regardant cette figure, il pourra identifier les à combien s’élève le
pourcentage d’absence, de démission, de licenciement et de décès afin de voir quelle méthode
appliquer dans le futur pour que la structure continue d’aller de l’avant durant les années à venir.
La figure 13 nous montre en pourcentage pour l’année 2013, à combien s’évalue les décès, les
retraités, les démissionnaires et les licenciés ; pour ainsi chercher des solutions aux différents
problèmes, comme par exemple : « pourquoi autant de retraités ? Autant de démissionnaires ?
Autant de licenciements ? ». Ceci pour garder un équilibre interne et chercher des méthodes
pour galvaniser les employés.
Ici, nous avons choisi dans la table sanction, les quantités en stock par la requête (select
COUNT(*) from sanction GROUP BY id_sanction) et les motifs des différentes sanctions que
nous avons récupéré dans des tableaux et passés en paramètres dans les méthodes BarPlot() et
SetTickLabels().
D’oû on a le résultat représenté par la figure 14. Ces résultats permettront au chef d’agence :
d’identifier les employés qui sèment le trouble ou qui montrent le mauvais exemple ; de prendre
une décision le plus tôt possible avant qu’ils ne contaminent les autre.
Le module « courrier » qui permettra de gérer l’envoi et la réception des colis de
différents clients.
Le module « réservation » devra être amélioré pour une meilleure gestion des
réservations de voyages, juste par des appels téléphoniques.
Le module « maintenance » pour avoir un aperçu des véhicules en état de
fonctionnement ou en panne
La mise en place d’une architecture répartie sécurisée permettra de relier toutes les
agences de GE.
CONCLUSION GENERALE
BIBLIOGRAPHIE
[REF1]http://www.codes- 12/05/2013
Qu'entend-on par « Agence de
sources.com/recherche.aspx?definition-de-l- voyages », « Tour-opérateur » et «
agence-de-voyages.html Forfait touristique » ? Tout sur les
agence de voyage, leurs lieux et leurs
contacts.
Support de cours
[1] Dr. NOULAMO Thierry, <<cours de développement Internet>>, support de cours DUT
GI, niveau II, Département de GI, IUT-FV de Bandjoun, Université de Dschang, 102 pages,
2012-2013, (non publié).
[2] Dr. FOTSING TALLA Bernard, «Introduction à la Modélisation Orienté Objet UML»,
support de cours DUT GI, niveau II, Département GI, IUT-FV de Bandjoun, Université de
Dschang, 40 pages, 2012-2013, (non publié).
[3] Dr. NOULAMO Thierry, <<cours de base de donnée>>, support de cours DUT GI, niveau
II, Département de GI, IUT-FV de Bandjoun, Université de Dschang, 33 pages, (non publié).
[4] Dr. FOTSING Eric, « Pratique de l’ingénierie des logiciels et des systèmes
d’informations », support de cours DUT GI, niveau II, Département de GI, IUT-FV de Bandjoun,
Université de Dschang, 2012/2013, (non publié).
ANNEXE 1
Venant de NDOKOTTI /
TERMINUS/
BRAZZAVILLE
GE
Marché Congo
Station-
Service
Boulevard Douche
Hamadou Municipale
Ahidjo D’AKWA
Lycée de
CAMPOST New-Bell
New-Bell
Marché NKOULOULOUN
La Gare de
New-Bell
ANNEXE 2
DIRECTION GENERALE
SECRETAIRE
SECRETAIRE
DEPARTEMENT
DEPARTEMENT
ADMINISTRATIF
MARKETING
Service de
Propagande et
Services du Service
de publicité
Personnel Comptable
Figure 16 : Organigramme de GE