Exemple Rapport Pfe
Exemple Rapport Pfe
Exemple Rapport Pfe
Sommaire
Introduction générale.................................................................................................................. 6
1. Introduction : ................................................................................................................... 8
5. Conclusion :................................................................................................................... 14
1. Introduction : ................................................................................................................. 16
6. Conclusion :................................................................................................................... 24
Page 1
Chapitre3 : Modélisation conceptuelle ..................................................................................... 25
1. Introduction : ................................................................................................................. 26
4. Conclusion :................................................................................................................... 37
1. Introduction : ................................................................................................................. 39
Page 2
5. Conclusion :................................................................................................................... 54
BIBLIOGRAPHIE ................................................................................................................... 56
Page 3
Liste des figures
Page 4
Liste des tables
Tableau 1 : Planning prévisionnel .............................................................................................. 9
Tableau 2 : Dictionnaire de données ........................................................................................ 29
Tableau 3 : Les classes et leurs attributs .................................................................................. 32
Tableau 4: les associations ....................................................................................................... 34
Page 5
Introduction générale
Durant ces dernières années, tous les secteurs connaissent une avance technologique
considérable grâce à l’informatique. C’est la science qui étudie les techniques du
traitement automatique de l’information. Elle joue un rôle important dans le
développement des entreprises en leur apportant un support important dans la gestion de
leurs systèmes d’information.
D’autre part, la communication sur internet évolue à une vitesse monumentale au fur et
à mesure des avancées technologique. Les téléphones portables sont devenus les
premiers média de masse dans le monde, puisqu’ils sont considérés comme un autre
support à générer des formes médiatiques. C’est ainsi que le développement
d’application mobile se charge de couvrir de nombreux besoins que peuvent exprimer
les utilisateurs dans leurs vies quotidiennes.
Les applications web de réservation en ligne pour les agences de voyages contribuent à
un rapprochement entre l’agence et les voyageurs dans l’objectif d’impliquer ces
derniers d’une manière plus directe dans le choix des voyages, des hôtels, des
promotions offertes, etc. En parallèle, développer une application mobile de réservation
en ligne peut être efficace pour de telles agences qui vont devenir sans doute des acteurs
modernes proches de leurs clients.
C’est dans ce cadre que se situe notre projet de fin d’étude qui consiste à développer
une plateforme de réservation en ligne des pèlerins en version web et mobile pour
faciliter la réservation des vols Hajj et Omra.
Pour ce faire, nous procédons par une étude théorique afin de mieux cerner le contexte
de notre travail. Cette étude fait partie des objectifs de notre rapport qui est subdivisé en
4 chapitre
• Le premier chapitre intitulé Etude Préalable qui se focalise sur une étude détaillée du
sujet traité.
• Le deuxième chapitre s’intéresse à l’analyse et spécification des besoins, ou nous
identifions les besoins fonctionnels et non fonctionnels auxquels doit répondre notre
application, en modélisant à travers le diagramme de cas d’utilisation.
• Le troisième chapitre présente la modélisation conceptuelle
• Le quatrième chapitre comporte la réalisation et la mise en œuvre de l’application
Page 6
CHAPITRE1 : Etude préalable
1. Introduction :
Ce chapitre sera réservé pour donner une présentation générale de notre projet. Pour
cela nous commençons par la présentation de l’organisme d’accueil, la société française
<<Ariane voyages>>. Ensuite, nous définissons la mission de ce projet et les objectifs à
atteindre. Par ailleurs, nous présentons l’étude de l’existant qui concerne l’analyse de
l’existant ainsi que son critique. Enfin, nous détaillons la solution proposée.
2. Présentation de la société :
Ariane voyages, société à responsabilité limitée, est en activité depuis 2009. Etablie à
BAGNOLET (93170) 50 rue HOUCHE France, elle est spécialisée dans le secteur des
activités des agences de voyage. Ariane voyages est une agence spécialisée seulement
dans le pèlerinage « HAJJ » et « OMRA ». Elle propose des services de séjour et
circuits de déplacement Hajj et Omra des pèlerins.
3. Définition de la mission :
Page 8
• Faciliter et accélérer les opérations de réservation en les rendre possible via
un téléphone mobile.
• Faciliter le contact des clients de l’agence.
• Informer instantanément le client en cas de modifications de vols, le besoin
de ramener des documents manquant ou concernant des règlements à faire.
Réalisation
Rédaction
du rapport
4. Etude de l’existant :
L’étude de l’existant est une étape fondamentale pour le développement des
applications. Elle nécessite une analyse détaillée du système existant suivie d’une
critique permettant de dégager ses points faibles. Dans le but de remédier aux
problèmes détectés, il faut définir des solutions requises ainsi que des suggestions
d’amélioration.
Cette partie s’articule autour de deux volets : analyse de l’existant et critique de
l’existant.
Page 9
Prenons l’exemple de RyanAir Cheap Flights, l’application la plus utilisée en Europe
d’après le classement IATA (Trafic Aérien Mondial et grands compagnie aériennes).
Cette application mobile permet aux voyageurs de faire une réservation en ligne d’un
voyage. Sur la carte d’embarquement Ryan Air figurera le nom de voyageur, le numéro
de la porte d’embarquement et celui des sièges, ces derniers sont attribués
aléatoirement, cela dit les voyageurs sont dans la possibilité de choisir leurs sièges mais
c’est un service payant.
La figure 1 montre l’interface de l’application RyanAir.
Page 10
Figure 2 : Application mobile Kayak
4.1.2. Description
tion de l’application : web existante de « Ariane voyages » :
La société « Ariane voyages » permet de faire une réservation OMRA/HAJJ à travers
le site web www.partiralamecque.com.
www.partiralamecque.com Le pèlerin peut effectuer des réservations
réservation pour
un voyage OMRA/HAJJ programmé à l’avance ou faire une demande d’OMRA sur
mesure qui donne la main au pèlerin
p de proposer une OMRA à une date précise.
précise
La figure 3 montre la page d’accueil du site web partiralamecque.
Page 11
Comme le montre la figure 3, l’interface d’accueil permet de consulter les voyages
programmés OMRA et HAJJ, les hôtels conventionnés avec l’agence, des vidéos pour
des voyages antérieurs et des informations utiles (centres de vaccinations, taxes
OMRA…). En consultant un voyage programmé d’OMRA ou HAJJ, l’utilisateur peut
effectuer une pré-réservation. Il doits alors remplir le formulaire présenté a la figure 4
en indiquant :
• Ses coordonnées (nom, prénom, adresse, email, téléphone)
• Le type de chambre (quadruple, triple ou double)
• Le nombre d’adultes et le nombre de bébés (-2 ans)
Suite à cette étapes, l’utilisateur peut visualiser un récapitulatif de pré-réservation
englobant, en plus des informations saisies, le cout totale du voyage.
Comme le montre la figure 5, pour effectuer une demande d’OMRA sur mesure.
L’utilisateur doit saisir :
• Ses coordonnées (nom, prénom, téléphone et email).
• Les dates de départ et de retour souhaitées.
• Le nombre de personnes.
• Le budget par personne.
Page 12
Figure 5 : L'interface de demande d’OMRA sur mesure
Page 13
• une base de données adéquate aux fonctionnalités d’inscription en ligne et de
réservations en ligne de HAJJ et OMRA.
• Une interface homme-machine simple et interactive facilitant les tâches
d’administration.
L’application doit aussi être caractérisée par :
• Sa convivialité
• Sa rapidité à l’affichage
• Sa simplicité
• Sa fiabilité et sa bonne ergonomie
5. Conclusion :
Ce chapitre nous a permis de couvrir l’étude préalable de notre projet en ce qui
concerne la présentation de l’application avec ses objectifs. Aussi, nous avons présenté
une description du site actuel de l’agence Ariane et nous avons dégage ses limites.
Dans le chapitre suivant, nous établirons une étude de conception pour modéliser les
différentes parties de notre projet. En effet modéliser un système avant sa réalisation
permet de mieux comprendre son fonctionnement .
Page 14
CHAPITRE2 : Analyse des besoins
1. Introduction :
En informatique une bonne spécification des besoins est primordiale. En effet, elle
représente le travail, le plus délicat et le plus significatif. Une bonne spécification des
besoins n’est autre que la question que doit poser tout ingénieur au début de son travail
« Qu’est ce qu’on veut que nous fassions ?». Dans ce chapitre nous allons présenter
notre réponse à cette question. Cette phase consiste à mieux comprendre le contexte du
système. En déterminant ses fonctionnalités en identifiant les cas d’utilisation initiaux.
Page 17
5.1. Digramme de cas d’utilisation relatif au pèlerin :
La figure 6 présente le digramme de cas d’utilisation relatif au pèlerin.
uc Use Case Model
Cerer un compte
effectuer un
Effectuer payement en ligne
reserv ation «extend»
«include»
s'authentifier
reserv er HAJJ
reserv er OMRA
Pélerin
Consulter v oyage
planifié OMRA
Consulter v oyage
planifié HAJJ
Post_condition :
Un compte est créé pour pèlerin.
Scénario nominal :
1- Le pèlerin se connecte à l’application.
Page 18
2- Le système affiche l’interface d’accueil.
3- Le pèlerin clique sur « créer un compte ».
4- Le système affiche l’interface de l’inscription.
5- Le pèlerin remplit le formulaire.
6- Le système vérifie la saisie.
7- le compte du pèlerin est ajouté à la base de données.
8- Un message de confirmations affiche pour le pèlerin.
Scénario alternatif :
Le scénario alternatif démarre au point 6.
Si les champs ne sont pas tous remplis par l’utilisateur, le système affiche une alerte pour
vérifier le remplissage.
Page 19
11. Le pèlerin confirme les données.
12. Le système enregistre la première étape de réservation et affiche une autre interface
qui concerne le pèlerin.
13. Le pèlerin saisi ses données personnel.
14. Le système vérifie la saisie et enregistre les données.
15. Le pèlerin doit saisir le numéro du passeport du pèlerin avant la confirmation de la
dernière étape de réservation.
16. Le système vérifie la saisie et enregistre la troisième étape de la réservation puis
affiche le formulaire de payement.
Scénario alternatif :
Le scénario alternatif démarre :
- Au point 6 :
Si les données saisies par l’utilisateur sont manquantes, le système affiche une alerte pour
vérifier ses données.
- Aux points 15 et 18 :
si les champs ne sont pas touts remplis par le membre, le système affiche une alerte pour
vérifier le remplissage. si non les données se sont enregistrées à la table de pèlerin
Page 20
Scénario alternatif :
Le scénario alternatif démarre au point 4 et au point 7 : le système connecte au web service
pour récupérer les données.
consulter
modifier reserv ation
reserv ation OMRA «extend»
«extend»
«extend»
annuler reserv ation
«include»
s'authentifier
«include»
Gerer HAJJ
supprimer HAJJ
«include»
Gerer hotel
supprimer hotel
aj outer hotel
aj outer chef de
group
Gereer chef de
group
supprimer chef de
group
Consulter demande
OMRA sur mesure
«extend»
«extend» Adapter OMRA sur
«extend» mesure
Refuser OMRA sur
mesure
env oyer email
OMRA sur mesure
Page 21
Dans le paragraphe suivant, nous décrivons les différentes activités de l’administrateur.
L’administrateur, après avoir effectuée l’opération d’authentification avec succès a la
possibilité d’accéder aux différents services offerts par l’application.
Tous les cas d’utilisation sont précédés par une étape d’authentification.
Page 22
Pré_condition :
L’administrateur s’authentifie.
Ressource sont mises à jour.
Post_condition :
L’administrateur s’authentifie et ajouter hôtels.
Scénario nominal :
1- L’administrateur se connecte à l’application.
2- L’administrateur s’authentifie.
3- Le système vérifie le login et mot de passe.
4- Le système affiche l’interface d’accueil.
5- L’administrateur clic sur ajouter hôtel.
6- Le système affiche le formulaire.
7- L’administrateur remplir le formulaire.
8- Le système vérifie les informations remplis.
9- Le système ajouter un nouveau hôtel.
Page 23
6. Conclusion :
Dans ce chapitre nous avons spécifié les besoins puis de définir les cas d’utilisation
concernant l’utilisation de notre système.
Le chapitre suivant met en évidence de concevoir l’étude conceptuelle et l’analyse de
notre système.
Page 24
Chapitre3 : Modélisation conceptuelle
1. Introduction :
Dans ce chapitre, nous détaillons la conception de notre application. Nous présentons en
premier lieu la vue dynamique a travers les diagrammes de séquences correspondants
aux cas d’utilisation définis dans le chapitre précédent.
Ensuite, nous décrivons la vue statique à travers le diagramme de classe et les
associations.
Page 26
sd Package1
Pélerin
:interface menu :interface inscription :pelerin
inscription controller
2:saisir(nom, email,mot-passe,confirmation-mot-passe)
3:inscription(nom, email,mot-passe,confirmation-mot-passe)
4:verif()
alt
5:afficher("champ manquant ou non valide")
[non valide]
Pèlerin
: interface menu :interface :Authentification : Pèlerin
Authentification controller
1: cliquer sur connecter()
2:saisir(Email,mot-passe)
3:connexion(Email,mot-passe)
4: select()
[pèlerin inexistant]
Page 27
2.1.3. Digramme de séquence : « Réservation OMRA»
Le diagramme de séquence du cas d’utilisation « réservation Omra » indique
l’interaction entre l’utilisateur et le système pour effectuer une réservation d’un voyage
OMRA programmé (voir Figure 10).
sd Use Case Model
Utilisateur
: interface Menu :interface OMRA OMRA controller :v oyage : Reserv ation :Pèlerin
2: recherche()
3:select()
7:reserver()
8:verification disponibilité()
alt
[complet]
9:affiche message ("OMRA complet")
[else] 10:insert(reservation)
11:update(nbre_place_disponible)
12:insert (pèlerin)
Page 28
sd Use Case Model
Administrateur
: interface menu :interface Aj out- :aj out-hotel :hotel
Hotel
4:verif-saisie()
alt
[else]
alt 6:insert()
[hotel existe]
7:afficher message("hotel existe deja")
[else]
8: afficher message("hotel ajouté avec succées")
Page 29
9 Email Email d’un pèlerin
10 PhotoPasseport Photo de passeport d’un pèlerin
11 Id_user L’identifiant d’un utilisateur
12 NomU Nom d’un utilisateur
13 Email Email d’un utilisateur
14 Mot_passe Mot passe d’un utilisateur
15 TypeU Type d’utilisateur
16 Id_voyage L’identifiant du voyage
17 Prix Le prix d’un voyage
18 DateDebut Date début du voyage
19 DateFin Date fin du voyage
20 Détail Détail du voyage
21 nbrePlace Nombre de la place dans un voyage
22 nbrePlaceDisp Nombre de la place disponible dans un
voyage
23 Id_administrateur L’identifiant d’un administrateur
24 EmailA Email d’un administrateur
25 Mot_passeA Mot passe d’un administrateur
26 Id_OMRAM L’identifiant d’OMRA sur mesure
27 DatedebutSouhaité La date de début d’OMRA sur mesure
29 DatefinSouhaité La date de fin d’OMRA sur mesure
30 Nbre-personne Le nombre de personne qui réserver
31 CategorieHôtel Catégorie d’hôtel d’une OMRA sur
mesure
32 Budget_par_personne Le budget par personne d’une OMRA sur
mesure
33 dateDemande Date de la demande OMRA sur mesure
34 Id_hôtel L’identifiant de l’hôtel
35 Nomh Nom de l’hôtel
36 categorieHôtel Categorie de l’hôtel
37 Id_vol L’identifiant d’un vol
38 Date_dep Date de départ d’un vol
39 Date_arrivé Date d’arrive d’un vol
40 Typev Type d’un vol
41 Id_agence L’identifiant de l’agence
42 adresseAgence L’adresse de l’agence
Page 30
43 nomAgence Le nom de l’agence
44 telAgence Le numéro du téléphone de l’agence
45 Id_Chef L’identifiant de la chef de groupe
46 nomChef Nom du chef de groupe
47 PrenomChef Prénom du chef de groupe
48 nbreChambreDouble Nombre de la chambre double
49 Nbrenuit Nombre de la nuit
50 dateDebutHôtel La date début du réservation dans l’hôtel
51 dateFinHôtel La date fin du réservation dans l’hôtel
50 Id_resérvation L’identifiant de la réservation
51 Nbre_adulte Le nombre d’adulte
52 Nbre_bébé Le nombre du bébé
53 Type_chambre Le type de la chambre
54 DateResérvation La date de la réservation
55 etatResérvation L’état de la réservation
56 Id_bus L’identifiant du bus
57 Responsable Responsable du bus
58 Nbre_place Nombre de la place dans le bus
59 Id_Aéroport L’identifiant de l’aéroport
60 ville La ville de l’aéroport
61 Id_paiement L’identifiant du paiement
62 type Le type du paiement
63 id_facture L’identifiant de la facture
64 montantFact Le montant de la facture
65 dateFact La date de la facture
66 datePaiement La date du paiement de la facture
Page 31
Tableau 3 : Les classes et leurs attributs
Page 32
4 Hôtel Id_hôtel Id_hôtel
Nomh
Categorieh
5 Vol Id_vol Id_vol
Date_dep
Date_arrivé
Typev
6 Réservation Id_resérvation Id_resérvation Etat ()
Nbre_adulte Prix ()
Nbre_bébé
Type_chambre
dateResérvation
etatResérvation
7 User Id_user Id_user Authentifier ()
Login Gérer ()
Mot_passe
nomU
8 Agence Id_agence Id_agence
adresseAgence
nomAagence
telAgence
9 Bus Id_bus Id_bus
Responsable
Nbre_place
10 Chef_groupe Id_Chef Id_Chef
nomChef
PrenomChef
11 Detail_hôtel nbreChambreDou Id_voyage
ble
Nbrenuit
dateDebutHôtel
dateFinHôtel
12 Aéroport Id_Aéroport Id_Aéroport
ville
13 Facture id_facture id_facture
Page 33
montantFact
dateFact
datePaiement
14 Mode-de- Id_paiement Id_paiement
paiement type
Page 34
3.4. Diagramme de classes :
Le diagramme de classe est une description statique du système focalisée sur le concept
de classe et d’association.
Une classe représente un ensemble d’objets qui possèdent des propriétés similaires et
des comportements communs décrits en termes d’attributs et d’opérations.
Une association consiste à présenter les liens entre les instances de classe.
La figure 12 présente le diagramme de classes des entités de notre application.
Page 35
class Class Model
Hotel
Mode_de_payement
+ id_hotel: int
Chef-Groupe + nomh: char Facture Mahram
+ id_payement: int
+ categorieHotel: char + type: char
+ id_chef: int 1 + id_facture: int 0..1
0..* + 0..*
+ nomChef: char montantFact: double
+ prenomChef: char + dateFact: char Pélerin
+ datePaiement: char
1 + id_pélerin: int
1..* 0..1 + adressep: char
+ nomp: char
Bus + code-postale: int
Reserv ation
+ prenomp: char
1
+ id_bus: int detail-hotel + id_reservation: int + villep: char
+ responsable: char res-pel
+ type_chambre: char 1..* + photoPasseport
+ nbre_place: int + nbrechambredouble: int + nbre_adulte: int + telephonep: char
+ nbrenuit: int + nbre_bébé: int 1..* + num_pasport: char
1..*
+ dateDebutHotel: char + dateReservartion: char
+ dateFinHotel: char + etatReservation: char
1..* 1..*
+ Etat()
v oyage + prix()
1..*
+ id-voyage: int
Déposer-Doc
Vol + datedebut: char
1..* + prix: int User
+ id-vol: int retour + datefin: char
+ id_user: int 1
+ date-arriver: char 0..* + detail: char
Reserver + Email: char
+ date-dep: char 1 allée + nbrePlace: int 1..*
0..* + nbrePlaceDisp: int + mot_passe: char Agence
+ typev: char
1 1..* + nomU: char
1..* + id_agence: int
+ reserver() + typeU: char
+ consulter() + adresseAgence: char
+ gerer() + Authentifier() + nomAgence: char
+ gerer() + telAgence: int
1..* 1..* programmer
1
depart arrivee demande
OMRA-sur-mesure
4. Conclusion :
Tout au long de ce chapitre, nous avons mené une conception détaillée de notre projet
affin de garantir la fiabilité et l’efficacité de la phase de réalisation de l’application. En
particulier, nous avons précisé la façon dont les objets doivent interagir ensemble par
l’utilisation des diagrammes de séquences. Par ailleurs, nous avons décrit l’aspect
statique avec un diagramme de classe global. Nous présentons dans le chapitre suivant
la réalisation de notre application.
Chapitre4 : Réalisation
1. Introduction :
Dans ce chapitre, nous mettons l’accent sur l’étape de la réalisation du projet, qui
consiste à mettre en œuvre les outils matériels, logiciels et de développement pour
aboutir à la création d’un logiciel qui répond aux spécifications fonctionnelles fixées
dans la partie conception du projet.
2. Environnement du travail :
Page 39
phpMyAdmin
Il s'agit de l'une des plus célèbres interfaces pour gérer une
base de données MySQL sur un serveur PHP. De
nombreux hébergeurs, gratuits comme payants, le
proposent ce qui évite à l'utilisateur d'avoir à l'installer.
l
Cette interface pratique permet d'exécuter, très facilement et sans grandes connaissances
en bases de données, des requêtes comme les créations de table de données, insertions,
mises à jour, suppressions et modifications de structure de la base de données, ainsi que
l'attribution et la révocation de droits et l'import/export. Ce système permet de
sauvegarder commodément une base de
de données sous forme de fichier.
fichier Sql et d'y
transférer ses données,
onnées, même sans connaître SQL [URL3].
Xampp
Xampp est un ensemble de logiciels permettant de mettre en
place facilement un serveur Web confidentiel. Un serveur de
messagerie électronique. Il s’agit d’une distribution de
logiciels libres (X (cross) Apache
A MySQLperlPHP)) offrant une bonne souplesse.
souplesse
[URL4]
Laravel
Laravel est un Framework web gratuit à code source ouvert,
créé par Taylor Otwell et destiné au développement
d'applications Web suivant le modèle architectural modèle-
vue-contrôleur (MVC) et basé sur Symfony . Parmi les fonctionnalités
nnalités de Laravel,
citons un système de packaging modulaire avec un gestionnaire de dépendances dédié,
différentes manières d'accéder aux bases de données relationnelles [URL5].
Android Studio :
C’est un environnement pour développement et programmation entièrement intégré qui
a été récemment lancer par Google pour les systèmes
Android.il a été conçu pour fournir un environnement de
développement et une alternative à Eclipse
Eclips qui est l’IDE le
plus utilisé. Android Studio permet de voir chacun des changements visuels que vous
effectuez sur votre application en temps réel,
réel vous pourrez
rez voir aussi son effet sur
différents appareils Android, chacune avec différentes configurations et configurations
simultanément [URL6].
Page 40
2.3. Choix des langages de programmation :
Le choix du langage de programmation et des outils est important puisqu’il permet
d’accélérer ou retarder l’élaboration du progiciel.
PHP :
C’est un langage open source qui est d’origine un langage de script
conçu spécifiquement pour agir sur les serveurs web. Avec la sortie de la
version 5, PHP est devenu plus robuste mais également plus simple avec l’apparition
d’un socle commun pour la gestion des appels aux bases de données PHP Data
Object(PDO) [URL7].
Json :
(JavaScript Object Notation – Notation Objet issue de JavaScript) est un
forma t générique de données textuelles. Il permet de représenter
l’information structurée comme XML [URL8].
HTML5 :
Le HTML5 est un langage de base pour la création de site internet, il sert à
structurer vote document. D’autre langage peut s’ajouter lors de la
conception, mais tous les sites web contiennent du HTML. HTML5
désignant la version du langage HTML [URL9].
JavaScript :
C’est un langage de programmation orienté objet, développé par Sun
Microsystems. Java donne la possibilité de développer des programmes
pour les mobiles [URL10].
Xml :
Xml permet de multiplier les espaces de nommage des balises et
emprunter les définitions d’autres utilisateurs [URL11].
3. Architecture de l’application :
Page 41
séparation des données (modèle), de l'affichage (vue) et des actions (contrôleur)
[Openclassrooms, 2016].
Le Modèle: Correspond aux données stockées généralement dans une base de
données. Dans un langage orientée objet ces données sont exploitées sous forme de
classes. Le modèle peut aussi agir sur la vue en mettant à jour ses données.
La Vue: Ne contenant que les informations liées à l'affichage, elle se contente
d'afficher le contenu qu'elle reçoit sans avoir connaissance des données. En bref, c'est
l'interface homme machine de l'application.
Le Contrôleur: Sert à faire l'interface entre le modèle et la vue. En effet, puisque le
modèle et la vue sont censés être au maximum indépendants, le contrôleur sert à faire le
lien pour faire communiquer l'un (M) avec l'autre (V). En particulier, il permet de
récupérer les informations, de les traiter en fonction des paramètres demandés par la vue
(c'est par l'utilisateur), puis de renvoyer à la vue les données afin d'être affichées.
L'interaction entre ces trois couches est décrite à l'aide de la figure suivante :
Page 42
3.2. Architecturale du système :
Le MVC (Model View Controller) est une méthode d’organisation du développement
d’applications Web permettant de séparer les différents concepts résultant de nos pages
PHP.
En effet, trois grandes « actions » peuvent être identifiées lorsque nous développons en
PHP :
• Les requêtes en base de données (Model)
• Le traitement des données (Controller)
• L’affichage de pages HTML (View)
Dans les faits, le navigateur de l’utilisateur chargera le contrôleur, qui interrogera la
base de données par l’intermédiaire du modèle, celui-ci répondra au contrôleur qui
traitera les données et les passera à la vue (View), celle-ci étant en charge de générer le
code HTML qui est renvoyé au navigateur.
Les Modèles (Models)
Ce que nous appelons un Modèle est en réalité un fichier PHP qui ne fait que gérer
les échanges avec la base de données. Lorsque nous avons besoin de lire ou écrire
dans la base de données, nous faisons appel au Modèle.
Les Vues (Views)
Les vues sont principalement des fichiers HTML contenant le code destiné à être
transmis au navigateur de l’utilisateur. Nous disposerons des données transmises par le
contrôleur afin de les intégrer dynamiquement dans nos pages.
Les Contrôleurs (Controllers)
Véritable tour de contrôle de notre application, le contrôleur a pour fonction de faire
l’interface entre les modèles et les vues. Il est chargé de demander les données par
l’intermédiaire des modèles, de traiter ces données et de les transmettre aux vues, prêtes
à être utilisées.
Le routing
Bien qu’indépendant de l’architecture MVC, le routing fait partie intégrante de tous
les frameworks PHP.
Dans une architecture classique, nous pointons vers des fichiers :
http://monsite.fr/index.php
http://monsite.fr/inscription.php
http://monsite.fr/login.php
Page 43
Dans une architecture MVC, nous allons pointer vers des dossiers virtuels appelés
routes
http://monsite.fr/user/inscription
http://monsite.fr/user/login
http://monsite.fr/blog/article
Cette architecture offre de nombreux avantages :
Protection des fichiers, ceux-ci n’étant plus affichés par le navigateur
Des URLs plus simples à mémoriser pour les utilisateurs
Amélioration du référencement si les routes contiennent des mots-clés contenus dans
la page correspondante
Page 44
class Domain Model
Partiralamecque
Accueil
payement en
ligne
Page 45
Figure 16 : Interface accueil
Espace utilisateur :
• Interface créer un compte :
L’utilisateur doit créer un compte pour permet de réserver un voyage OMRA\HAJJ
OMRA en
ligne (voir Figure 17).
• Interface se connecter :
Pour accéder à son compte, L’utilisateur devra d’abord s’identifier en saisissant son login
et son mot de passe. En cas d’erreur quelconque, un message d’erreur sera affiché
indiquant la nature de cette erreur (voir Figure 18).
Page 46
Figure 18 : Interface se connecter
Une fois les données d’identification sont valides, l’utilisateur accédé a son compte.
Cette interface lui donne la possibilité d’accéder à plusieurs services.
• Interface Hajj
ajj :
Lorsque l’utilisateur cliquee sur l’icône Hajj, le système affiche l’interface qui permet
de consulter la liste de voyage de Hajj disponibles il peut alors effectuer une
réservation d’ voyage choisi (voir Figure 19).
Page 47
Figure 19 : Interface Hajj
• Interface réservation :
Cette interface permet à l’utilisateur d’effectuer une réservation après la consultation
d’un voyage Omra ou Hajj, et ce en fournissant les informations : nom, prénom, date de
naissance, ville, code postale, adresse, téléphone, email, numéro du passeport chaque
champ de saisie est contrôlé lors de la clique sur « créer » (voir Figure 20).
Page 48
Figure 20 : Interface réservation
• Interface Hôtel :
Par le biais de cette interface, l’utilisateur peut consulter les listes de l’hôtel (voir
(v Figure
22).
Page 49
Figure 22 : Interface Hôtel
Espace administrateur
• Interface accueil :
Pour accéder au compte, l’administrateur devra d’abord se connecter, le système affiche
l’interface accueil (voir Figure 23).
Page 50
• Interface programmer Omra :
A partir de cette interface, l’administrateur peut ajouter Omra en fournissant ses détail :
type, vol, description, programme, guide, hôtel, etc. (Voir Figure
Figur 24).
Page 51
4.2. Les interfaces mobiles :
Nous avons commencé a élaboré les premières versions d’interfaces de test sans base de
données qui figure sur l’annexe puis nous avons inclus la base de données dans la version
final.
• Interface d’accueil :
Lors du lancement de l’application, une interface apparait mentionnant le nom de
l’application, une image significative et des boutons.
• Interface Authentification :
Cette interface nous permettant à saisir le login et le mot de passe pour accéder à son
espace et un bouton « se connecter » comme l’indique la figure 27.
Page 52
Figure 27 : Interface Authentification de l'application mobile
• Interface inscription :
Cette interface montre la page inscription ou vous pouvez inscrire pour connecter à notre
application comme l’indique la figure 28.
Page 53
Figure 28 : Interface d'inscription
5. Conclusion :
Dans ce chapitre nous avons décrit l’ensemble de l’environnement logiciel utilisé pour la
mise en œuvre de notre application en version web et mobile. Nous avons aussi illustré la
phase de test de l’application à travers un ensemble des captures d’écran qui décrire les
différentes fonctionnalités de notre système.
Page 54
Conclusion générale
Page 55
BIBLIOGRAPHIE
[URL1] https://fr.wikipedia.org/wiki/Atom_(%C3%A9diteur_de_texte)
[URL2] https://www.futura-sciences.com/tech/definitions/internet-mysql-4640/
[URL3] https://fr.wikipedia.org/wiki/PhpMyAdmin
[URL4] https://fr.wikipedia.org/wiki/XAMPP
[URL5] https://fr.wikipedia.org/wiki/Laravel
[URL6] https://android.developpez.com/cours/
[URL7] https://uml.developpez.com/
[URL8] https://java.developpez.com/
[URL9] https://php.developpez.com/
[URL10] https://javascript.developpez.com/
[URL11] https://xhtml.developpez.com/
Page 56