69
Agence de voyage ISAEG Page 1 sur 69 Mai 2014

m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Embed Size (px)

Citation preview

Page 1: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Page 1 sur 46 Mai 2014

Page 2: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Chapitre1 : Présentation générale du projet

1.1 Introduction Durant ce chapitre, nous concentrera sur la présentation des établissements universitaire tunisien, définir

notre mission, décrire le processus métier de notre projet.

Ainsi, on cernera les faiblesses systèmes remarquées à travers la rubrique problématiques.

1.2 Présentation et analyse de l’existant :

1 .2.1 Les agences de voyages

Une agence de voyages est une entreprise qui propose et vend des offres de voyages à ses clients.

Elle joue le rôle d'intermédiaire entre les consommateurs et les différents prestataires de services

présents sur le marché du tourisme : Tour-opérateurs, compagnies aériennes, hôteliers, loueurs de

voiture, assurances voyage, etc.

Les agences de voyages, de par leur proximité avec le client, ont également un rôle de conseil : elles

avertissement et informent les consommateurs des formalités à accomplir avant tout voyage ou

séjour à l'étranger, conseillent et établissent une offre personnalisée en fonction des attentes et

désirs du client.

Généralement, les agences de voyages proposent à la vente les offres composées par les tour-

opérateurs. Elles constituent donc un intermédiaire entre le tour opérateur et le consommateur,

lequel ne traite alors qu'avec l'agence de voyages. Les agences de voyages sont alors

traditionnellement rémunérées par une commission sur les prestations vendues.

Néanmoins, il est de plus en plus fréquent que les agences de voyages composent elles-mêmes les

offres qu'elles proposent ensuite à leur clients, en regroupant les services qui leur sont présentés par

les différents prestataires du marché du tourisme. Elles s'affranchissent alors du concours des tour-

opérateurs pour offrir de façon autonome des « packages » ou encore « forfaits touristiques »

rassemblant différentes prestations.

Dès lors, la rémunération des agences de voyages ne vient plus seulement des tours opérateurs dont

elles vendent les « packages » mais de leur propre rémunération sur les services fournis par les

prestataires partenaires ainsi que de leurs clients voyageurs qui sous forme d'honoraires de conseil

et de réservation.

Ainsi, alors que les tour-opérateurs s'aventurent de plus en plus sur le terrain d'activité des agences

de voyages en proposant leurs offres directement sur internet, les agences de voyages ont également

tendance à empiéter sur le domaine des tour-opérateurs en proposant leurs propres. forfaits négociés

directement avec les prestataires de services.

Page 2 sur 46 Mai 2014

Page 3: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

1.2.2 Les services d’une agence de voyage

Une agence de voyage peut accomplir plusieurs services .Parmi ces services on peut trouver

Les forfaits touristiques (transport et hébergement), les vols secs (transport uniquement), Les

séjours à la carte, les réservations de chambres d'hôtel et le location de voiture.

2 Présentation et analyse de l’existant 

2 .1 Présentation du milieu de l’application « le Web »

Dans les années 90, un nouveau concept de l’Internet est apparu : WWW (Word Wide Web). C’est

le service qui assure l’accès à l’Internet. Il permet d’accéder et de naviguer à travers la toile. Le web

c’est un ensemble structuré de pages HTML (Hypertexte Markup Langage), liées entre elles pour

permettre au navigateur de passer facilement d’une page à l’autre. Le HTML est un langage qui

permet d’écrire des hyper documents d’une façon descriptive à l’aide d’un marqueur le protocole le

plus utilisé pour ce type de communication et le protocole HTTP (Hypertexte Transfert Protocole).

Le navigateur est désigné par une adresse URL (Uniform Ressource Location).C’est une adresse

qui contient à la fois le nom du service demandé et le nom du document. Le système est placé sur

un serveur connecté au web. Toutes les informations seront accessibles via une simple connexion à

l’Internet. Tant sur le plan technique, que sur le plan architectural, il existe actuellement deux types

de site WEB : le site web dynamique et le site web statique. La différence entre ces deux types,

c’est la présence, ou l’absence d’une base des données. Le Web est un système client-serveur dont

le fonctionnement s'apparente à des relations client-fournisseur. L'ordinateur personnel, doté de son

logiciel de navigation (Internet Explorer , Firefox ...), joue le rôle du client. Les ordinateurs distants

sur lesquels sont hébergés les sites web sont des serveurs.

Figure 1 : Schéma descriptif du milieu web

Page 3 sur 46 Mai 2014

Page 4: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Lorsque l'on saisit l'adresse d'un site web - appelée URL - dans un navigateur ou que l'on clique sur

un lien hypertexte, le navigateur envoie une requête au serveur qui va la traiter et lui renvoyer via

Internet les données demandées (page web, image, vidéo...). Le navigateur interprète les données

reçues et les affiche à l'écran. Un site web est un ensemble de pages organisées en structure

hiérarchique, disponible sur un serveur. Il peut être construit avec des pages statiques, des pages

dynamiques ou un assemblage des deux.

2.2 Serveur http

Un serveur HTTP (ou service web) est un logiciel utilisé pour servir des ressources HTTP.

Un client HTTP est un logiciel utilisé pour manipuler ces ressources. Un serveur web est un hôte

sur lequel fonctionne un serveur HTTP (ou service web). Un serveur web peut héberger les

ressources qu’il dessert, peut les récupérer sur des hôtes distants, délivrer ces ressources telles

quels, on parlera alors de ressources statiques), ou bien les modifier en fonction de différents

critères, on parlera alors de ressources dynamiques .Il est courant sur les services de grosse taille

que les ressources soient réparties sur différents serveurs web et éventuellement différents types de

serveurs HTTP, certains ayant de meilleurs performances pour les fichiers statiques, d'autre plus de

souplesse pour délivrer des fichiers dynamiques. Un serveur web peut être un hôte spécialisé, une

partie d'une infrastructure spécialisée ou bien encore un hôte plus généraliste. On appelle site web,

l'ensemble des ressources HTTP associées à un nom de domaine et un ou plusieurs noms d'hôtes.

Une adresse web est une URL de page web, généralement écrite sous une forme simplifiée limitée à

un nom d’hôte. Une adresse de site web est en fait l’adresse d’une page du site prévue pour

accueillir les visiteurs.

2.3 Client http

Un client HTTP est un outil permettant d'utiliser les ressources fournies par un serveur HTTP. Il est

chargé en relation avec différents services, de faire traduire le nom d'hôte en adresse IP par un DNS,

de rentrer en contact avec le serveur HTTP, et de lui fournir différentes informations telles que le

nom du site, et la ressource désirée, ainsi que ses capacités (gestion de différents types de ressource,

capacité d'affichage, possibilité de compression de données, etc.) ou sa volonté (choix des langues,

protection de la vie privée) dans l'utilisation des données fournies. Un navigateur web est un type de

logiciel client HTTP à interface homme-machine et conçu pour accéder aux ressources du web. Sa

fonction de base est de permettre la consultation des documents HTML disponibles sur les serveurs

HTTP. Le support d’autres types de ressources et d’autres protocoles de communication dépend du

Page 4 sur 46 Mai 2014

Page 5: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

type de navigateur. Un robot d'indexation est, dans le domaine du web, un type de logiciel client

HTTP, utilisé pour indexer les différentes ressources de sites web. Un agrégateur est, dans le

domaine du web, un type de logiciel client HTTP, permettant de regrouper les fils de syndication de

différents sites web. Un aspirateur de site web est un client HTTP permettant de récupérer

l'intégralité d'un site web, pour le consulter ensuite hors-ligne ou en conserver une archive.

3 Critique de l’existant 

Aucun système de gestion n'est parfait. Tous ont leurs avantages et leurs inconvénients, dont les

observateurs attentifs devraient être conscients. Dans cette section, nous donnons les arguments

présentés par les tenants et les critiques des divers systèmes. Il importe de se souvenir que ces

arguments sont parfois polémiques; il est donc utile de s'efforcer d'évaluer chacun des systèmes en

toute objectivité. Il s'agit de déterminer si un système de gestion des agence de voyages permet ou

non d'atteindre certains objectifs recherchés. Bien que cela soit éminemment souhaitable, il est

quasiment impossible de trouver un système qui réponde à tous les critères demandées. Ceux-ci

donnent cependant une perspective objective pouvant faciliter la comparaison et l'évaluation des

applications web. Pour modéliser et réaliser le système de gestion de d’une agence de voyages, il

nous était obligatoire d’assembler les informations vitales auprès des professionnels du domaine.

Ultérieurement, nous avons organisé les informations rassemblées ce qui nous a amené à cerner les

défaillances suivantes :

Difficulté de réserver et emmètre des billets de transport.

Difficulté de percevoir des informations sur les services annexes (hôtels ...).

Difficulté de connaitre le lieu de l’entreprise.

4 Expression des besoins :

4.1 Présentation de l’applicationNotre projet consiste à développer une application de réservations en ligne des hôtels, des vols et

des moyen de transport, Cette fonctionnalités doit être lisible a partir une application web, soit

d’une opération de réservation, consultation des informations, soit d’une opération de contact...

En outre, l’informatisation permet à l’agence de voyages d’éliminer dizaine de problèmes autour de

l’opération de réservation. En respectant la législation quant au contenu, aux mentions obligatoires

et concernant la conservation et l'archivage.

Page 5 sur 46 Mai 2014

Page 6: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

4.2 Objectifs à atteindreLe présent projet répond à l’objectif de l’utilisation de l’Internet, le web comme outil efficace

d’ouverture sur le monde extérieur. L’objectif de ce projet est de concevoir et réaliser portail web

intitulé «Création et implémentation d’une application web pour une agence de voyages » qui

consiste à la réalisation d’un site web de gestion de la réservation et pour la consultation et les

demande de réservation, dont le but est d’améliorer la qualité des services en facilitant la circulation

et la communication d’une information cohérente et fiable de données.

Le système dont on veut se gratifier, doit être efficace, évolutif, ergonomique et offrant les

informations indispensables à temps réel.

Ces objectifs servent à améliorer certaines tâches manuelles, elle permet aussi :

Faciliter la consultation des données des vols, des hôtels et des agences de locations de voitures.

superviser et coordonner l’administration des réservations.

gérer l’inscription des clients lors d’une réservation.

5 Cahier des charges

L’utilité d’un système logiciel est déterminée par ses exigences fonctionnelles et ses

caractéristiques non- fonctionnelles, ainsi que ses contraintes. A titre de rappel :

Une exigence fonctionnelle est une exigence définissant une fonction du système à développer. Ce

que le système doit faire.

Une exigence non-fonctionnelle est une exigence qui caractérise une propriété (qualité) désirée du

système telle que sa performance, sa robustesse, sa convivialité, sa maintenabilité ,etc. ;

Une contrainte est une restriction sur une ou plusieurs valeurs d’une partie du système ou de tout le

système.

5.1 Caractéristiques fonctionnels au futur systèmeLes Caractéristiques fonctionnels sont :

La mise à jour d’une liste des vols, hôtels et voiture;

La mise à jour de la liste des utilisateurs.

Passer une réservation en toute liberté, sécurité.

Identification sécurisé a l’interface de réservation.

5.2 Les contraintes (Données à prendre en compte)La présence de l’utilisateur et la vérification de la personnalité par sont détails et ses

paramètres d’authentification.

La fermeture de session après chaque opération de réservations.

Page 6 sur 46 Mai 2014

Page 7: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

5.3 Caractéristique non fonctionnel au futur systèmeBesoin d’utilisabilité : font référence aux aspects généraux de l’interface utilisateur, en outre assurer

un aspect ergonomique aux interfaces ;

Besoins de performance :décrivent les performances d’exécution du système, généralement en

termes de temps de réponse.

Besoins de disponibilité/fiabilité : assuré que le système soit toujours bien prêt à l’emploi ;

Besoins de sécurité : peuvent définir les niveaux d’accès possibles au système pour les utilisateurs

du système.

Besoins physiques : définissent les configurations matérielles minimales essentiels au progression

du système ;

Besoins de déploiement : décrivent la façon dont l’application sera livrée à l’utilisateur final.

5.4 Gains tangibles attendus par la réalisation du projet Garantir un espace d’archivage et de stockage des informations, liste des utilisateurs, vols, voitures

et hôtels.

6 Modules du système :

Dans ce qui suit, on donne une description des modules (dégagés suite à l’étude de cahier de

charge) suivant l’ordre chronologique des étapes.

Gestion des comptes d’utilisateurs : la gestion des comptes utilisateurs consiste à donnerles droits

d’accès aux internautes de cette application, en effet l’administrateur de cette application, il a tous

les droits d’accès mais son travail consiste à gérer la gestion des comptes utilisateurs. Il peut

ajouter, modifier ou supprimer un compte.

Gestion des authentifications : via ce module on s’intéresse a authentification des utilisateurs, ce

dernier permettant de gérer les autorisations est très important pour une opération des votes qui à

besoin que l’utilisateur soit enregistrer avant de pouvoir commencer à sélectionner le choix.

Gestion des réservations : l’administrateur dans ce module gère la liste des réservations pour les

vols, les voitures et les hôtels(ajouter, modifier, supprimer)…

Gestion des hôtels : Dans ce module les l’administrateur gère les listes des hôtels et rempli leurs

informations et détails

Gestion des voitures : l’administrateur dans ce module gère la liste des voitures pour les (ajouter,

modifier, supprimer)…

Gestion des Vols : l’administrateur dans ce module gère la liste des vols (ajouter, modifier,

supprimer)…

Page 7 sur 46 Mai 2014

Page 8: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

6.1 Identification des acteurs du système :

Un acteur représente l'abstraction d'un rôle joué par des entités externes (utilisateur, dispositif

matériel ou autre système) qui interagissent directement avec le système étudié.Un acteur peut

consulter et/ou modifier directement l'état du système, en émettant et/ou en recevant des messages

éventuellement porteurs de données.

Les acteurs qui interagissent avec le système sont :

Administrateur : acteur physique responsable à la gestion de l’application, cet acteur

est chargé de superviser l’application, gérer les différents fonctionnalités du système.

utilisateur : c’est un acteur physique capable d’interagir avec le système, ce dernier

aux droits d’accès au différents service de l’application c’est l’utilisateur.

Systèmes: Acteur morale permet de gérer l’opération du vote réalisé sur le système,

et vérifier les informations concernant les réservations.

Conclusion

Cette partie est achevé avec l’objectif de la mission, nous passons par la suite au chapitre

suivant, étude préliminaire.

Page 8 sur 46 Mai 2014

Page 9: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Chapitre 2 : étude préliminaire

1 Introduction

Ce présent chapitre sera consacré pour l’étude préliminaire du projet. On dégage le cahier des

charges adéquat à la solution adoptée, envisager les modules et leurs besoins fonctionnels.

2 Conception :

Après une première étude que nous avons menés, nous avons officialisé le choix d’un certain

nombre des techniques clés pour notre projet. Ces techniques se basent sur la modélisation qui

depuis longtemps une pratique indispensable au développement est mise en place.

Parmi ces techniques on peut citer la modélisation objet avec UML

Un modèle est en effet une abstraction du résultat dont le but est de documenter, de prévoir,

d’étudier, de collecter ou d’estimer des informations d’un système.

2.1 Merise :

Merise  (prononcer « Meurise » et non « Mérise ») est une méthode d'analyse, de conception et

de gestion de projet informatique. Merise a été très utilisée dans les années 1970 et 1980 pour

l'informatisation massive des organisations. Cette méthode reste adaptée pour la gestion des projets

internes aux organisations, se limitant à un domaine précis. Elle est en revanche moins adaptée

aux projets transverses aux organisations, qui gèrent le plus souvent des informations à caractère

sociétal (environnemental et social) avec des parties prenantes.

La méthode Merise d'analyse et de conception propose une démarche articulée simultanément selon

3 axes pour hiérarchiser les préoccupations et les questions auxquelles répondre lors de la conduite

d'un projet :

Cycle de vie : phases de conception, de réalisation, de maintenance puis nouveau cycle de

projet.

Cycle de décision : des grands choix (GO-NO GO : Étude préalable), la définition du projet

(étude détaillée) jusqu'aux petites décisions des détails de la réalisation et de la mise en œuvre

du système d'information. Chaque étape est documentée et marquée par une prise de décision .

Page 9 sur 46 Mai 2014

Page 10: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Cycle d'abstraction : niveaux conceptuels, organisationnel, logique et physique/opérationnel (du

plus abstrait au plus concret) L'objectif du cycle d'abstraction est de prendre d'abord le grandes

décisions métier, pour les principales activités (Conceptuel) sans rentrer dans le détail de questions

d'ordre organisationnel ou technique.

La méthode Merise, très analytique (attention méthode systémique), distingue nettement les

données et les traitements, même si les interactions entre les deux sont profondes et s'enrichissent

mutuellement (validation des données par les traitements et réciproquement). Certains auteurs

(Merise/méga, puis Merise/2) ont également apporté la notion complémentaire de communications,

vues au sens des messages échangés. Aujourd'hui, avec les SGBD-R, l'objet, les notions de données

et de traitements sont de plus en plus imbriquées.

2.2 Définition d’UML :

UML (Unified Modeling Language) n’est pas une méthode de développement mais un langage de

modélisation graphique et textuel destiné à comprendre et décrire des besoins, spécifier et

Documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions et

communiquer des points de vue. Ce langage permet de mettre en œuvre neuf diagrammes différents.

Dans la mise en œuvre d’une méthode de développement, l’un ou l’autre des diagrammes est choisi

en fonction des concepts que l’on veut représenter à une étape de développement donnée.

2.3 Pourquoi UML :

Le recours à utiliser UML est justifié par ses principaux critères :

-UML est plus expressif, plus propre et plus uniforme

-UML pourrait être appliqué à toute science fondée sur la description d’un système.

-UML permet aux projets de modéliser des choses qui n’auraient pas pu l’être avant.

-UML supprime toutes les différences non nécessaires de notation et de terminologies qui

obscurcissent les similarités de base de ces différentes approches.

2.2 Identification des acteurs du système :

Un acteur représente l'abstraction d'un rôle joué par des entités externes (utilisateur, dispositif

matériel ou autre système) qui interagissent directement avec le système étudié.Un acteur peut

consulter et/ou modifier directement l'état du système, en émettant et/ou en recevant des messages

éventuellement porteurs de données.

Les acteurs qui interagissent avec le système sont :

Administrateur : acteur physique responsable à la gestion de l’application, cet acteur

est chargé de superviser l’application, gérer les différents fonctionnalités du système.

utilisateur : c’est un acteur physique capable d’interagir avec le système, ce dernier

aux droits d’accès au différents service de l’application c’est l’utilisateur.

Page 10 sur 46 Mai 2014

Page 11: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Systèmes: Acteur morale permet de gérer l’opération du vote réalisé sur le système, et vérifier

les informations concernant les réservations.

Conclusion :

L’étude préliminaire s’achève avec l’élaboration du diagramme contexte. L’étude fonctionnelle est

abordée dans le chapitre suivant.

Page 11 sur 46 Mai 2014

Page 12: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Introduction

En partant des analyses des besoins, ce chapitre entame la phase de conception de l’application.

L’objectif de cette phase est de concevoir le modèle de la solution informatique. En effet, on va

modéliser notre système suivant deux modèles : un modèle statique qui décrit les objets, leurs

propriétés et leurs relations. Et un modèle dynamique qui décrit les interactions entre ces objets.

1. Présentation de la méthode de conception

L'approche objet est une solution technologique incontournable. Ce n'est plus une mode, mais un

réflexe quasi-automatique dès lors qu'on cherche à concevoir des logiciels complexes qui doivent

"résister" à des évolutions incessantes. L’approche Orientée Objet en général, a pris un succès

considérable dans les différents domaines de l’informatique tels que : la programmation et les

systèmes de gestion de bases de données. Ceci est dû aux nombreux avantages que présente une

conception orientée objet. De cela, apparaît la nécessité d’une conception objet puisqu’elle permet

de :

Avoir une conception itérative ;

Garantir un haut niveau d’abstraction ;

Procéder par incrément (approche ascendante) ;

Favoriser la réutilisation et l’exploitation des composants logiciels ;

Réduire la complexité du système en le fragmentant en plusieurs sous systèmes.

Pour bénéficier de tous ces avantages, nous avons décidé d’utiliser pour la conception de notre

application le langage standard UML (UnifiedModelingLanguage) pour modéliser le système.

1.1. UML

C’est un langage de modélisation d’objet, en anglais «UnifiedModelingLanguage», qui est né de la

fusion des méthodes objet dominantes (OMT, Booch et OOSE), puis normalisé par l'OMG en 1997.

UML est rapidement devenu un standard incontournable. UML comble une lacune importante des

technologies objet. Il permet d'exprimer et d'élaborer des modèles objets, indépendamment de tout

langage de programmation. Il a été pensé pour servir de support à une analyse basée sur les

Page 12 sur 46 Mai 2014

Page 13: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

concepts objet. Dans ce contexte de programmation objet, UML semble devenir une référence en

matière de langage de description de système et d'aide à la conception

1.2. Pourquoi UML :

Le recours à utiliser UML est justifié par ses principaux critères :

-UML est plus expressif, plus propre et plus uniforme

-UML pourrait être appliqué à toute science fondée sur la description d’un système.

-UML permet aux projets de modéliser des choses qui n’auraient pas pu l’être avant.

-UML supprime toutes les différences non nécessaires de notation et de terminologies qui

obscurcissent les similarités de base de ces différentes approches.

2. Conception de l’application

Dans cette étape, on va représenter graphiquement toutes les fonctionnalités qu’on va développer à l’aide

du diagramme des cas d’utilisation et du diagramme de séquence.

2.1. La modélisation dynamique

2.1.1. Diagramme des cas d’utilisation

Les cas d'utilisation (en anglais use cases) permettent de représenter le fonctionnement du système

vis-à-vis de l'utilisateur. Il s’agit d’une vue du système dans son environnement extérieur. Chaque

cas d’utilisation peut être spécifié sous forme de séquences d’informations entrantes et sortantes,

indiquant l’aspect dynamique du système.

2.1.1.1. Un acteur

Un acteur représente l'abstraction d'un rôle joué par des entités externes (utilisateur, dispositif matériel ou

autre système) qui interagissent directement avec le système étudié.Un acteur peut consulter et/ou modifier

directement l'état du système, en émettant et/ou en recevant des messages éventuellement porteurs de

données.

Les acteurs qui interagissent avec le système sont :

Administrateur : acteur physique responsable à la gestion de l’application, cet acteur est chargé de

superviser l’application, gérer les différents fonctionnalités du système. : les cas d’utilisation

associés sont :

gestion des vols,

gestion des hôtels,

gestion de location,

Page 13 sur 46 Mai 2014

Page 14: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

gestion des réservations,

gestion des comptes,

gestion de messagerie,

utilisateur : c’est un acteur physique capable d’interagir avec le système, ce dernier aux

droits d’accès au différents service de l’application.

les cas d’utilisation associés sont :

Consulter des informations,

Inscription,

Demande de réservation,

Gestion de messagerie,

Systèmes: Acteur morale permet de gérer l’opération du vote réalisé sur le système, et

vérifier les informations concernant les réservations.

2.1.1.2. Cas d’utilisation coté utilisateur

Utilisateur

Consulter Information

Inscrption

Demande reservationReservation vols

Reservation hôtelsReservation voitures

Authentification

<<include>>

Demande de payement

<<include>>

Figure 2 : diagramme de cas d'utilisation coté utilisateur

Page 14 sur 46 Mai 2014

Page 15: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.1.1.3. Cas d’utilisation coté Administrateur

Administrateur

Consulter information

gérer des vols

gérer des hôtels

gérer des voitures

gérer des reservations

gérer des utilisateurs

Authentification

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

<<include>>

gérer des message

<<include>>

gérer de payement

<<include>>

Figure 3 : Diagramme de cas d'utilisation coté administrateur

Page 15 sur 46 Mai 2014

Page 16: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.1.2. Description des cas d’utilisations :

Dans ce qui suit, on donne une description des modules (dégagés suite à l’étude de cahier de

charges) suivant l’ordre chronologique des étapes.

- Gestion des comptes d’utilisateurs : la gestion des comptes utilisateurs consiste à donnerles

droits d’accès aux internautes de cette application, en effet l’administrateur de cette

application, il a tous les droits d’accès mais son travail consiste à gérer la gestion des

comptes utilisateurs. Il peut ajouter, modifier ou supprimer un compte.

- Gestion des authentifications : via ce module on s’intéresse a authentification des

utilisateurs, ce dernier permettant de gérer les autorisations est très important pour une

opération des votes qui à besoin que l’utilisateur soit enregistrer avant de pouvoir

commencer à sélectionner le choix.

- Gestion des réservations : l’administrateur dans ce module gère la liste des réservations

pour les vols, les voitures et les hôtels(ajouter, modifier, supprimer)…

- Gestion des hôtels : Dans ce module les l’administrateur gère les listes des hôtels et rempli

leurs informations et détails

- Gestion des voitures : l’administrateur dans ce module gère la liste des voitures pour les

(ajouter, modifier, supprimer)…

- Gestion des Vols : l’administrateur dans ce module gère la liste des vols(ajouter, modifier,

supprimer)…

2.1.3. Raffinement des cas d’utilisation

2.1.3.1. Fiche de cas d’utilisation : « Demande inscription »

Sommaire d’identification

Titre : demande inscription.

But : profiter des fonctionnalités du système.

Résumé : remplir un formulaire, et le valider par la suite

Acteurs :client

Responsable : administrateur

Scénario

Pré-condition : - Information personnel sur le client.

Post-condition : - Inscription de client

liste des clients enregistre dans la Base de données

Scénario nominal : Ce cas d’utilisation commence lorsque un client demande la page d’inscription

auprès du l’interface du système.

Page 16 sur 46 Mai 2014

Page 17: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Enchainement (a) : remplir formulaire

L’internaute doit fournir les informations suivantes :

Coordonnées

Date de naissance

Les paramètres de connexion

Le système gère automatiquement la date, l’heure de la création du compte et le privilège du

client par défaut « simple client »

Exception

Exception 1 : [Champ Obligatoire]: message d’erreur ("l’un des champs est vide")

2.1.3.2. Fiche de cas d’utilisation : « consulter information »

Sommaire d’identification

Titre : consulter information.

But : profiter des fonctionnalités du système.

Résumé : demande de consulter des informations (liste vols, hôtels, voiture, liste de

réservations...)

Acteurs :clients /administrateur

Responsable : administrateur

Scénario

Pré-condition : - Information personnel sur les vols, réservations, voiture et hôtels.

Post-condition : - ajout des informations

liste des vols, hôtels, voitures et réservations enregistre dans la Base de données.

Scénario nominal : Ce cas d’utilisation commence lorsque un client ou bien un administrateur

demande la page d’information sur les liste précédente et les liste auprès du l’interface du système.

Enchainement (a) : demande information des listes précédentes.

Le système doit fournir les informations suivantes :

Détail de l’information demandé.

Le système gère automatiquement la date, l’heure de la demande et le privilège de

l’utilisateur

Exception

Exception 1 : [Champ Obligatoire]: message d’erreur ("information introuvable")

Page 17 sur 46 Mai 2014

Page 18: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.1.3.3. Fiche de cas d’utilisation : « Demande Ajout »

Sommaire d’identification

Titre : demande Ajout.

But : profiter des fonctionnalités du système.

Résumé : remplir un formulaire, et le valider par la suite

Acteurs :client/administrateurs

Responsable : administrateur

Scénario

Pré-condition : - Information personnel sur le client.

Post-condition : - authentification du client

liste des informations enregistre dans la Base de données

Scénario nominal : Ce cas d’utilisation commence lorsque un client ou l’administrateur demande

la page d’ajout auprès du l’interface du système.

Enchainement (a) : remplir formulaire

L’internaute doit fournir les informations concernées :

Le système gère automatiquement la date, l’heure de la création du compte et le privilège de

l’internaute.

Exception

Exception 1 : [Champ Obligatoire]: message d’erreur ("l’un des champs est vide")

2.1.3.4. Fiche de cas d’utilisation : « demande modification »

Sommaire d’identification

Titre : demande modification information.

But : profiter des fonctionnalités du système.

Résumé : demande de modifier des informations (liste vols, hôtels, voiture, liste de

réservations, des clients...)

Acteurs :administrateur

Responsable : administrateur

Scénario

Pré-condition : - Information personnel sur les vols, réservations, clients, voiture et hôtels.

Post-condition : - authentification de l’administrateur.

liste des vols, hôtels, voitures et réservations enregistre dans la Base de données.

Scénario nominal : Ce cas d’utilisation commence lorsque un client ou bien un administrateur

Page 18 sur 46 Mai 2014

Page 19: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

demande la page de modification sur les liste précédente et les liste auprès du l’interface du système.

Enchainement (a) : demande information des informations a modifié.

Le système doit fournir les informations suivantes :

Détail de l’information demandé.

Enchainement (b) : l’utilisateur saisie les informations à modifier et confirme l’envoie du nouveau

formulaire

Le système gère automatiquement la date, l’heure de la demande et le privilège de

l’utilisateur

Exception

Exception 1 : [Champ Obligatoire]: message d’erreur ("information introuvable")

2.1.3.5. Fiche de cas d’utilisation : « supprimer information »

Sommaire d’identification

Titre : supprimer information.

But : profiter des fonctionnalités du système.

Résumé : remplir un formulaire, et le valider par la suite

Acteurs :administrateur

Responsable : administrateur

Scénario

Pré-condition : - Information personnel sur l’administrateur.

Post-condition : - information sur les données à supprimer.

liste des informations enregistre dans la Base de donnée

Scénario nominal : Ce cas d’utilisation commence lorsque un administrateur demande la page de

suppression auprès du l’interface du système.

Enchainement (a) : sélectionner information a supprimé

L’administrateur doit fournir les informations suivantes :

Id de l’information

Type de l’information

Le système gère automatiquement la date, l’heure de la suppression

Exception

Exception 1 : [Champ Obligatoire]: message d’erreur ("information introuvable")

Page 19 sur 46 Mai 2014

Page 20: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.1.3.6. Fiche de cas d’utilisation : « s’authentifier »

Sommaire d’identification

Titre : S’authentifier.

But : Authentifier utilisateur.

Résumé : Ajouter une nouvelle réservation, rechercher ou modifier les informations du

compte.

Acteurs :clients

Responsable : Administrateur

Scénario

Pré-condition : Information personnelle sur le client.

Inscription du client.

Post-condition : Information de client enregistré dans la base de données.

Scénario nominal : l’administrateur sollicite le système pour authentifier les clients.

Ce cas d’utilisation commence lorsque l’inscription du client est effectuée.

Enchainement(a) : Ajouter

Le client doit entrer les informations personnelles (login, mot de passe..) puis confirmer la

validité de l’information pour les enregistrer dans la base de données.

Enchainement(b) : Rechercher

Le client doit entrer son identifiant et en validant le système lui retourne les informations qui

lui sont associés, sinon un message d’erreur va apparaitre « client inexistant ».

Scénario alternatif : L’administrateur redemande la page du formulaire

Retour a l’enchainement (a)

Scénario d’échec : Néant

Exception

Exception 1 : Champ Obligatoire]: message d’erreur ("nom d’utilisateur ou mot de passe

incorrecte ")

2.1.3.7. Fiche de cas d’utilisation : « gérer réservations  »

Sommaire d’identification

Titre :gestion des réservations.

But : gérer les listes des réservations.

Résumé : l’ajout, modification, suppression des réservations.

Page 20 sur 46 Mai 2014

Page 21: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Acteurs : Administrateur/client

Responsable : Administrateur

Scénario

Pré-condition : présence des clients, présence d’un hôtel, vols ou une voiture.

Post-condition : ajout d’une réservation

Modification d’une réservation

Suppression d’une réservation.

Scénario nominal : l’administrateur enregistre les informations effectué par les clients.

Ce cas d’utilisation commence lorsque l’administrateur demande les listes des réservations.

Enchainement(a) : Ajouter une réservation

Le client doit ajouter une réservation à la liste et le système affiche un message de

confirmation d’enregistrement.

Enchainement(b) : Modification une réservation.

L’administrateur doit afficher les informations, le système lui renvoie les informations

concernant les réservations En modifiant ces informations voulues, le système teste les

informations et les enregistre en lui envoyant le message « Modification réussie »

Enchainement(c) : Suppression d’une réservation.

L’administrateur sélectionne la réservation à supprimer. Et en confirmant la suppression le

système l’enlève de la base de données en lui envoyant le message « Suppression réussie»

Scénario alternatif : Annulation d’ajout.

Scénario d’échec : Néant.

Exception

Exception 1 : Champ Obligatoire]: message d’erreur ("réservations introuvable")

2.1.3.8. Fiche de cas d’utilisation : « gérer messages  »

Sommaire d’identification

Titre :gestion des messages.

But : gérer les listes des messages.

Résumé : l’envoie, la réception, suppression des messages.

Acteurs : Administrateur/client

Responsable : Administrateur

Scénario

Pré-condition : présence des clients

Post-condition : Envoie de message

Page 21 sur 46 Mai 2014

Page 22: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Réception de message

Suppression d’un message.

Scénario nominal : l’administrateur recevoir les informations envoyer par les clients.

Ce cas d’utilisation commence lorsque l’utilisateur demande l’interface d’envoi du

message.

Enchainement(a) : envoyer un message

Le client doit ajouter un destinataire et envoie le message et le système affiche un message

de confirmation d’envoi.

Enchainement(b) : Réception de message.

L’administrateur doit afficher la liste des messages, le système lui renvoie les informations

concernant les messages reçu.

Enchainement(c) : Suppression d’un message.

L’administrateur sélectionne le message à supprimer. Et en confirmant la suppression le

système l’enlève de la base de données en lui envoyant le message « Suppression réussie»

Scénario alternatif : Annulation d’envoi.

Scénario d’échec : Néant.

Exception

Exception 1 : Champ Obligatoire]: message d’erreur ("message introuvable")

2.1.3.9. Fiche de cas d’utilisation : « gérer payements  »

Sommaire d’identification

Titre :gestion des payements.

But : gérer les listes des payements.

Résumé : acceptation, refus des payements.

Acteurs : Administrateur/clients

Responsable : Administrateur

Scénario

Pré-condition : présence des clients, présence d’une réservation.

Post-condition : effectuer un payement

Annuler payements

Scénario nominal : l’administrateur enregistre les informations effectué par les clients.

Ce cas d’utilisation commence lorsque l’administrateur demande les listes des payements.

Enchainement(a) : Ajouter un payement

Page 22 sur 46 Mai 2014

Page 23: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Le client doit ajouter un payement à la liste et le système affiche un message de

confirmation de l’ajout.

Enchainement(b) : confirmation de payement.

L’administrateur doit afficher les payements, le système lui renvoie les informations En

modifiant ces informations voulues, le système teste les informations et les enregistre en lui

envoyant le message « acceptation effectuer »

Enchainement(c) : Suppression d’un payement.

L’administrateur sélectionne le payement à annuler. Et en confirmant la suppression le

système l’enlève de la base de données en lui envoyant le message « Suppression réussie»

Scénario alternatif : Annulation de payements.

Scénario d’échec : Néant.

Exception

Exception 1 : Champ Obligatoire]: message d’erreur ("réservations introuvable")

2.1.4. Diagrammes de séquence

Les diagrammes de séquences représentent les interactions entre le système et les acteurs, tout en

précisant l’ordonnancement chronologique des échanges des messages durant l’exécution du

système. Le diagramme de séquence est utilisé pour définir les scénarios d’un cas d’utilisation

donné.

Parmi tous les diagrammes des séquences que nous avons fait, on a choisi quelque uns pour

éclairer les diagrammes des cas d’utilisations.

Page 23 sur 46 Mai 2014

Page 24: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.1.4.1. Diagramme de séquence du cas d’utilisation : Demande de consultation

EchecAlt

EchecAlt

: Utilisateur

Interface Base de donée

1 : Demande consultation()

2 : demande critère de cnsulation()

3 : critère de consultation choisie() 4 : vérification()

5 : demande vérification()

6 : Requette de selection()

7 : Execution()

8 : Echec d'execution()

9 : Message d'erreur()

10 : Information selectionner()

11 : Information affiché()

Figure 4 : Diagramme de séquence du cas d’utilisation : Demande de consultation

Page 24 sur 46 Mai 2014

Page 25: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.1.4.2. Diagramme de séquence du cas d’utilisation : Demande d’ajout

EchecAlt

echecAlt

: Utilisateur

Interface Base de donée

1 : Demande ajout()

2 : Affichr formulaire d'ajout()

3 : Saisie Information()

4 : Vérification()

5 : Message d'erreur()

6 : Requette d'enregistrement()

7 : Execution()

8 : Erreur d'execution()9 : Message d'erreur()

10 : Execution effectuer()11 : Message de confirmation()

Figure 5:Diagramme de séquence du cas d’utilisation : Demande d’ajout

Page 25 sur 46 Mai 2014

Page 26: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.1.4.3. Diagramme de séquence du cas d’utilisation : Demande de modification

EchecAlt

EchecAlt

EchecAlt

EchecAlt

: Utilisateur

Interface Base de donée

1 : Demande consultation()

2 : demande critère de cnsulation()

3 : critère de consultation choisie() 4 : vérification()

5 : demande vérification()

6 : Requette de selection()

7 : Execution()

8 : Echec d'execution()

9 : Message d'erreur()

10 : Information selectionner()

11 : Information affiché()

12 : Modification des information()

13 : Vérification()

14 : vérifier les informations()15 : Requette de modification()

16 : Execution()

17 : Erreur d'execution()18 : Message d'erreur()

19 : Modification effectuer()

20 : Message de confirmation()

Figure 6:Diagramme de séquence du cas d’utilisation : Demande de modification

Page 26 sur 46 Mai 2014

Page 27: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.1.4.4. Diagramme de séquence du cas d’utilisation : Demande de suppression

EchecAlt

EchecAlt

EchecAlt

EchecAlt

: Utilisateur

Interface Base de donée

1 : Demande consultation()

2 : demande critère de cnsulation()

3 : critère de consultation choisie() 4 : vérification()

5 : demande vérification()

6 : Requette de selection()

7 : Execution()

8 : Echec d'execution()

9 : Message d'erreur()

10 : Information selectionner()

11 : Information affiché()

12 : demande de suppression()

13 : Vérification()

14 : vérifier les informations()15 : Requette de suppression()

16 : Execution()

17 : Erreur d'execution()18 : Message d'erreur()

19 : suppression effectuer()

20 : Message de confirmation()

Figure 7 : Diagramme de séquence du cas d’utilisation : Demande de suppression

Page 27 sur 46 Mai 2014

Page 28: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.1.4.5. Diagramme de séquence du cas d’utilisation : Demande de réservation

EchecAlt

EchecAlt

EchecAlt

EchecAlt

: Utilisateur

Interface Base de donée

1 : Demande reservation()

2 : demande critère de reservation()

3 : critère de reservation choisie() 4 : vérification()

5 : demande vérification()

6 : Requette de selection()

7 : Execution()

8 : Echec d'execution()

9 : Message d'erreur()

10 : Information selectionner()

11 : Information affiché()

12 : selection reservation()

13 : Vérification()

14 : Erreur de selection()

15 : Requette enregistrement()

16 : Execution()

17 : Erreur d'execution()18 : Message d'erreur()

19 : Execution effectuer()

20 : Message de confirmation()

Figure 8 : Diagramme de séquence du cas d’utilisation : Demande de réservation

Page 28 sur 46 Mai 2014

Page 29: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

2.2. La modélisation dynamique

2.2.1. Diagramme de Classe

Users

+id_users+nom+prenom+login+mot_de_passe+privilege+authentifier()+gérer()

Client

+id_client+tel+adresse+email

Administrateur

+id_admin+tel+adresse+email

agences

+id_agence+nom+local+services+adresse+gérer()

Vols

+id_vols+id_agence+dte_depart+ville_depart+ville_arrive+type

Voiture

+id_voiture+id_agence+matricule+caractéristique+etat

Hotels

+id_hotels+id_agence+nom+type+ville+pays

Reservation

+id_reservation+id_agence+prix+delai+reservé()+consulter()+gérer()

Message

+id_message+id_user_send+id_user_recive+date_send+objet+contenue+fichier+Envoyer()+Recevoir()

Reservé

0..*

1

Gérer 1..*

0..*

effectuer

1

0..*

discutter 0..*

1

Figure 9 : Diagramme de classe

Conclusion 

Tout au long de ce chapitre, nous avons effectué la partie conception en montrant les différentes

facettes de notre application et nous avons abouti à une certaine conformité entre les objectifs

initialement fixés et les résultats obtenus.

Page 29 sur 46 Mai 2014

Page 30: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Chapitre 3 : Implémentation et réalisation

3 .1 Introduction Dans les trois chapitres précédents, nous avons décrit les concepts techniques permettant

d’implémenter notre application web. Cette implémentation est l’étape qui consiste à la réalisation

des différents composants pour notre site.

Dans ce chapitre nous présenterons cette étape de réalisation. Nous décrirons aussi les ressources

logicielles utilisées dans le développement de notre projet.

a. Environnement matériel Pour la réalisation de ce projet on dispose d’un micro-ordinateur (système Intel(R) celoron(R)

CPU « 560@ 2,13 GHZ »RAM 1Go, Disque dur 120 Go, Système d’exploitation Windows XP

sweet 5,1(Microsoft Windows XP professionnel version 2002 service Pack3).

Page 30 sur 46 Mai 2014

Page 31: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

b. Environnement logiciel Pour la réalisation de notre application nous avons utilisés les outils et les langages de

programmation suivants :

Langage de programmation : phpMysql

Logiciel de conception : UML .

Système de gestion de base de données : Phpmysql

Logiciel de bureautique : office 2007

1.1. Star UML 

Star UML est un logiciel de modélisation UML, cédé comme open source par son éditeur, à la fin

de son exploitation commerciale, sous une licence modifiée de GNU GPL.

Page 31 sur 46 Mai 2014

Page 32: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

L'objectif [Par qui ?] de la reprise de ce projet était de se substituer à des solutions commerciales

comme IBM Rational Rose ou Borland Together.

Star UML gère la plupart des diagrammes spécifiés dans la norme UML 2.0.

Star UML est écrit en Delphi1, et dépend de composants Delphi propriétaires (non open-source), ce

qui explique peut-être pourquoi il n'est plus mis à jour.

1.2. Les langages et la méthode de programmation 1.2.1. PHP 5 et MySQL

Le langage PHP est utilisé principalement en tant que langage de script côté serveur,ce qui veut dire

que c'est le serveur (la machine qui héberge la page web en question) qui vainterpréter le code PHP

et générer du code (constitué généralement d'XHTML ou d'HTML, deCSS, et parfois de JavaScript)

qui pourra être interprété par un navigateur.

Le PHP est un langage qui s’introduit dans les pages web par des balises PHP

<?php

echo 'Hello, World';

?>

Affichera : « Hello World » sur la page internet

1.2.2. DreamweaverDreamweaver est un éditeur de site web de type « WYSIWYG » ( whatyouseeiswhatyouget - ce que

l’on voit est ce que l’on obtient).

Dreamweaver offre deux modes de conception par son menu affichage. L'utilisateur peut choisir

entre un mode création permettant d'effectuer la mise en page directement à l'aide d'outils simples,

comparables à un logiciel de traitement de texte (insertion de tableau, d'image, etc.). Il est

également possible d'afficher et d'éditer directement le code (HTML ou autre) qui compose la page.

On peut passer très facilement d'un mode d'affichage à l'autre ou opter pour un affichage mixte.

Cette dernière option est particulièrement intéressante pour les débutants, qui à terme, souhaitent se

familiariser avec le langage HTML.

Page 32 sur 46 Mai 2014

Page 33: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

1.2.3. HTML

L'Hypertext Markup Language , généralement abrégé HTML, est le format de données conçu pour

représenter les pages web. Il permet notamment d'implanter de l'hypertexte dans le contenu des

pages et repose sur un langage de balisage, d’où son nom. HTML permet aussi de structurer

sémantiquement et de mettre enforme le contenu des pages, d’inclure des ressources multimédias

dont des images,des formulaires de saisie, et des éléments programmables tels que des applets.

Ilpermet de créer des documents interopérables avec des équipements très variés demanière

conforme aux exigences de l’accessibilité du web. Il est souvent utiliséconjointement avec des

langages de programmation (JavaScript) et des formats deprésentation (feuilles de style en cascade).

HTML est initialement dérivé du StandardGeneralizedMarkupLanguage (SGML).

Le HTML n'est pas un langage de programmation. Il s'agit d'un langage permettant de décrire la

mise en page et la forme d'un contenu rédigé en texte simple. Une page HTML est ainsi un simple

fichier texte contenant des balises (parfois appelées marqueurs ou repères ou tags en anglais)

permettant de mettre en forme le texte, les images, etc.

1.2.4. MYSQL

MySQL est un système de gestion de base de données (SGDB). Selon le type d'application, sa

licence est libre ou propriétaire. Il fait partie des logiciels de gestion de base de données les plus

utilisés au monde, autant par le grand public (applications web principalement) que par des

professionnels, au même titre que Oracle ou Microsoft SQL Server.

MySQL AB a été acheté le 16 janvier 2008 par Sun Microsystems pour un milliard de dollars US.

Page 33 sur 46 Mai 2014

Page 34: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de

performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service de

données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées. Il est multi-thread et multi-utilisateurs.C'est un logiciel libre développé sous double licence en fonction de l'utilisation qui en est faite :

dans un produit libre ou dans un produit propriétaire. Dans ce dernier cas, la licence est payante,

sinon c'est LGPL qui s'applique. Ce type de licence double est utilisé par d'autres produits.

1.2.5. EASY PHP 

EasyPHP est ainsi un pack fonctionnant sous Windows permettant d'installer en un clin d'œil les

éléments nécessaires au fonctionnement d'un site web dynamique développé en PHP.Le pack

EasyPHP est disponible sur les sites suivants : www.easyphp.org Il vous suffit dans un premier

temps de télécharger la version la plus récente de EasyPHP.

2. Presentation de la CMS JoomlaJoomla! est un système de gestion de contenu (en anglais CMS pour content management

system) libre, open source et gratuit. Il est écrit en PHP et utilise une base de

données MySQL. Joomla! inclut des fonctionnalités telles que des flux RSS, des news, une version

imprimable des pages, des blogs, des sondages, des recherches. Joomla! est sous licence GNU GPL.

Joomla!, déformation du mot swahili Jumla, veut dire : «tous ensemble», en arabe Jumla « جملة »

signifie «ensemble», «en bloc» ou «en tout», en moré « restons unis »1. Il est créé à partir du CMS

Open Source Mambo en août 2005, suite aux désaccords d'une majorité des développeurs open

source avec la société propriétaire du nom de Mambo. Celle-ci, pour accroître sa notoriété, voulait

utiliser ce nom pour le CMS propriétaire qu'elle développait en parallèle. La très grande majorité

des utilisateurs a rapidement suivi le mouvement.

Page 34 sur 46 Mai 2014

Page 35: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Dans le concours 2009 du meilleur CMS open source organisé par la société britannique Packt (en),

Joomla! est arrivé 3e dans la catégorie Best Open Source PHP Content Management

System (derrière Drupal et WordPress) et 2e dans la catégorie nouvellement créée Hall of

Fame Award (derrière Drupal)2.

1.1. Caractéristiques

Le paquet se compose de plusieurs parties, qui sont construites pour être le plus modulaire possible,

ce qui permet des extensions et intégrations à faire facilement. Certaines extensions sont appelées

« plugins » (antérieurement connues sous le nom de "Mambots"). Les plugins sont des extensions

de fond qui donnent à Joomla de nouvelles fonctionnalités. Le WikiBot, par exemple, permet à

l'auteur de contenu Joomla d'utiliser "Wikitags" dans ses articles Joomla qui vont créer des

dynamiques d'auto-hyperliens vers des articles Wikipédia lorsqu'il est affiché. Il y a plus de 4500

extensions pour Joomla disponibles via des extensions Directory, OpenSourceMatters un site qui

fonctionne comme un répertoire officiel des extensions.

En plus des plugins, des extensions sont disponibles. Les "Composants" permettent d'effectuer des

tâches telles que la construction d'une communauté en expansion avec des fonctionnalités pour les

utilisateurs, la sauvegarde d'un site web, traduire le contenu et créer des URL qui sont plus

optimisés pour le référencement dans les moteurs de recherche. Certains « Modules » permettent

d'effectuer des tâches telles que l'affichage d'un calendrier ou un code personnalisé pour

Google AdSense etc. à insérer dans le code de base de Joomla.

Même s'il existe un nombre plus important d'extensions pour Joomla 1.0 que pour la version 1.5, de

nouvelles extensions compatibles avec cette dernière version sont désormais mises à disposition à

un rythme remarquable. Certaines des extensions de la version 1.0 peuvent être utilisées avec la

version 1.5 si Joomla est réglé sur le mode de compatibilité.

Joomla permet aux administrateurs de fixer les paramètres de configuration globaux qui affectent

tous les articles. Chaque page est conforme à ces paramètres par défaut, mais une page peut avoir

son propre réglage de chaque paramètre. Il est par exemple possible de choisir d'afficher l'article,

l'auteur, cacher l'auteur, etc.

1.2. Modèle-vue-contrôleur

Le patron modèle-vue-contrôleur (en abrégé MVC, de l'anglais model-view-controller), tout comme les patrons modèle-vue-présentation ouPrésentation, abstraction, contrôle, est un modèle destiné à répondre aux besoins des applications interactives en séparant les problématiques liées aux différents composants au sein de leur architecture respective.

Ce paradigme regroupe les fonctions nécessaires en trois catégories :

Page 35 sur 46 Mai 2014

Page 36: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

1. un modèle (modèle de données),

2. une vue (présentation, interface utilisateur)

3. un contrôleur (logique de contrôle, gestion des événements, synchronisation)

1.2.1. Architecture

L'organisation d'une interface graphique est délicate. L'architecture MVC ne prétend pas en

éliminer tous les problèmes, mais fournit une première approche pour le faire. Offrant un cadre

normalisé pour structurer une application, elle facilite aussi le dialogue entre les concepteurs. L'idée

est de bien séparer les données, la présentation et les traitements. Il en résulte les trois parties

énumérées plus haut : le modèle, la vue et le contrôleur.

1.2.2. Le modèleLe modèle représente le cœur (algorithmique) de l'application : traitements des données,

interactions avec la base de données, etc. Il décrit les données manipulées par l'application. Il

regroupe la gestion de ces données et est responsable de leur intégrité. La base de données sera l'un

de ses composants. Le modèle comporte des méthodes standards pour mettre à jour ces données

(insertion, suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ces

données. Les résultats renvoyés par le modèle ne s'occupent pas de la présentation. Le modèle ne

contient aucun lien direct vers le contrôleur ou la vue. Sa communication avec la vue s'effectue au

travers du patron Observateur.

Le modèle peut autoriser plusieurs vues partielles des données. Si par exemple le programme

manipule une base de données pour les emplois du temps, le modèle peut avoir des méthodes pour

avoir tous les cours d'une salle, tous les cours d'une personne ou tous les cours d'un groupe de TD.

1.2.3. La vue

Ce avec quoi l'utilisateur interagit se nomme précisément la vue. Sa première tâche est de présenter

les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toute action de l'utilisateur

(hover, clic de souris, sélection d'un bouton radio, cochage d'une case, entrée de texte, de

mouvements, de voix, etc.). Ces différents événements sont envoyés au contrôleur. La vue

n'effectue pas de traitement, elle se contente d'afficher les résultats des traitements effectués par le

modèle et d'interagir avec l'utilisateur.Plusieurs vues peuvent afficher des informations partielles ou

non d'un même modèle. Par exemple si une application de conversion de base a un entier comme

Page 36 sur 46 Mai 2014

Page 37: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

unique donnée, ce même entier peut être affiché de multiples façons (en texte dans différentes

bases, bit par bit avec des boutons à cocher, avec des curseurs). La vue peut aussi offrir à

l'utilisateur la possibilité de changer de vue.

1.2.4. Le contrôleur

Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la

vue ou le modèle et les synchroniser. Il reçoit tous les événements de l'utilisateur et enclenche les

actions à effectuer. Si une action nécessite un changement des données, le contrôleur demande la

modification des données au modèle, et ce dernier notifie la vue que les données ont changé pour

qu'elle se mette à jour. D'après le patron de conception observateur/observable, la vue est un

« observateur » du modèle qui est lui « observable ». Certains événements de l'utilisateur ne

concernent pas les données mais la vue. Dans ce cas, le contrôleur demande à la vue de se modifier.

Le contrôleur n'effectue aucun traitement, ne modifie aucune donnée. Il analyse la requête du client

et se contente d'appeler le modèle adéquat et de renvoyer la vue correspondant à la demande.

Par exemple, dans le cas d'une base de données gérant les emplois du temps des professeurs d'une

école, une action de l'utilisateur peut être l'entrée (saisie) d'un nouveau cours. Le contrôleur ajoute

ce cours au modèle et demande sa prise en compte par la vue. Une action de l'utilisateur peut aussi

être de sélectionner une nouvelle personne pour visualiser tous ses cours. Ceci ne modifie pas la

base des cours mais nécessite simplement que la vue s'adapte et offre à l'utilisateur une vision des

cours de cette personne.

Quand un même objet contrôleur reçoit les événements de tous les composants, il lui faut

déterminer quelle est l'origine de chaque événement. Ce tri des événements peut s'avérer fastidieux

et peut conduire à un code peu élégant (un énorme switch). C'est pourquoi le contrôleur est souvent

scindé en plusieurs parties dont chacune reçoit les événements d'une partie des composants.

Page 37 sur 46 Mai 2014

Page 38: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Interface de l’application

Interface d’accueil

Page 38 sur 46 Mai 2014

Page 39: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Liste des hôtels

Page 39 sur 46 Mai 2014

Page 40: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Détail hôtel

Page 40 sur 46 Mai 2014

Page 41: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Page inscription

Page 41 sur 46 Mai 2014

Page 42: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Page authentification

Page 42 sur 46 Mai 2014

Page 43: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Module de connexion client

Module social network

Module de recherche avancée

Page 43 sur 46 Mai 2014

Page 44: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Partie administration : gestion des hotels

Partie administration gestion des réservations hôtel

Page 44 sur 46 Mai 2014

Page 45: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Menu de composant hôtels

Menu de composant voiture

Page 45 sur 46 Mai 2014

Page 46: m.academiepro.comm.academiepro.com/.../2015_07_11_rapport_v1.docx  · Web viewChapitre1 : Présentation générale du projet. 1.1 Introduction . Durant ce chapitre, nous concentrera

Agence de voyage ISAEG

Conclusion

Dans ce chapitre, on a présenté donc les plus importantes interfaces utiles de cet application avec une

explication détaillée, ainsi les langages et les logiciels qu’on a utilisé en justifiant le choix.

Page 46 sur 46 Mai 2014