26 0 825KB
BAZIN Alban BERNARD Guillaume HARDY Maxime
RT2A
Informatique Projet – Agence de voyage
Disponible sur : http://spartacus.iutc3.unicaen.fr/~maxime.hardy/gestion_agenceVoyages_RT2A/
Login administrateur : invite Mot de passe administrateur : invite
Bazin, Bernard, Hardy Page 1| 11
Projet agence de voyage
I.
Introduction
Le but du projet agence de voyage est de réaliser un site web d’une agence de voyages proposant différent circuits. On pourra d’après le site web visualiser les circuits proposés par l’agence, voir leurs descriptifs et réserver ce circuit. Le site web aura aussi une partie administration qui permettra pour l’administrateur qui se sera logué sur une page de pouvoir visualiser, ajouter et supprimer les voyages proposés par l’agence. Pour mener ce projet à bien, nous avons répartis le travail à effectuer en plusieurs taches. Tout d’abord il a fallu réfléchir sur la manière dont allé fonctionner le site web et les relations entre ces différentes parties. Cette étude est la réalisation du schéma entités associations correspondant à la base de données.
II.
Schéma entités-associations
Nous avons tout d’abord réalisé ce modèle manuellement ainsi que le modèle conceptuel et la création des tables, mais par souci de clarté nous nous sommes servis du logiciel Analyse SI qui permet de réaliser le schéma entitésassociations, le modèle relationnel et la génération du code mysql pour la création des tables automatiquement à partir de nos données. Ce schéma à été réalisé à partir des données fournies dans la présentation du projet et de connaissances personnelles. La base de données de l’agence sera composée de huit tables qui sont liées par des relations.
Bazin, Bernard, Hardy Page 2| 11
Projet agence de voyage
Fonctionnement du schéma : Un voyage proposé par l’agence est composé d’un circuit qui est composé d’escales. Les clients logeront dans un type d’hébergement durant les escales. Un accompagnateur est attitré à chaque circuit. A partir du voyage, les clients peuvent le réserver. L’administrateur pourra consulter, ajouter ou supprimer des voyages, circuits, hôtels … D’où le schéma entité association ci-dessus qui regroupe ces différentes tables. Les champs soulignés dans chaque table, sont les clés primaires de celles ci. Tout les autres champs sont ceux qui composent les tables pour les caractérisées. A partir de ce modèle, nous avons pu déterminer le schéma de base de données relationnel normalisé qui permet de spécifier les différentes tables avec les différentes relations entre celles ci.
III. Modèle relationnel
Le modèle ci-dessus représente le schéma de base de données relationnel normalisé où l’on peut voir les relations entre les tables ainsi que les références qu’il y a entre ces tables. A partir de ce modèle, nous avons alors créé les différentes tables que comporte notre projet. Pour créer des tables, nous devons être sous linux et nous mettre dans mysql. Connexion à mysql : Nous avons effectuer notre projet à partir du compte de Maxime Hardy. $mysql –u maxime_hardy –h spartacus –p Nous devons ensuite rentrer le mot de passe de connexion à mysql. Bazin, Bernard, Hardy Page 3| 11
Projet agence de voyage
Nous sommes ensuite connectés à mysql. Nous allons créer nos tables dans la base de données RT2 de l’IUT. Utilisation de la base : mysql>>use RT2_maxime_hardy ; Une fois la base sélectionnée, nous allons appeler notre fichier qui contient le code mysql pour la création des différentes tables. Appel du fichier : mysql>>source fichier_source.mysql ; La création des tables s’effectue automatiquement. Exemples de commandes de création de table : CREATE TABLE voyage (ref_voyage int NOT NULL, date_depart datetime, date_retour datetime, prix int, nb_personne int, num_circuit int); ALTER TABLE voyage ADD CONSTRAINT PK_voyage PRIMARY KEY (ref_voyage); Insertion des différents champs utiles dans la base de données : Une fois la base de données faites, nous avons du la remplir avant de commencer la création du site Web. Celui-ci faisant appel à cette base, il sera plus facile pour nous de travailler en visualisant les données présentes sur la base de donnée MySql. Prenons l’exemple d’une requête qui doit retourner des éventuels voyages disponibles, si aucun voyage n’est présent, la requête va donc être vide et sur notre page dynamique, rien n’apparaitra. Il sera donc difficile pour nous de faire la distinction entre une erreur due au code et une erreur due à la base MySql. Nous avons donc créé un script sql afin de remplir notre base de données. Il serait trop long de l’expliquer en entier, voici un exemple d’une insertion de donnée dans chaque table : insert into hotel VALUES ('1','4','campanile','soiree dansante'); insert into accompagnateur claude','1417','1963/09/05','1993/10/02'); insert into 18:00:00','1000','1');
voyage
VALUES
VALUES ('1','07/06/05
('1','bernard','jean08:00:00','07/06/15
insert into circuit VALUES ('1','paris-marseille','culturel','25','10','2','france','1'); insert into escale VALUES 12:00:00','paris','france','visites','hotel','1','1');
('1','07/06/05
08:00:00','07/06/10
insert into admin VALUES ('invite','invite'); Notre base de donnée étant créée et remplie, notre travail va maintenant consister à créer un site web pour notre agence de voyage. Sur ce site nos clients Bazin, Bernard, Hardy Page 4| 11
Projet agence de voyage
pourront aller observer les différents voyages proposés, et s’ils sont intéressés, ils auront la possibilité de réserver. De plus, pour une question de facilité d'insertion, de modification et de suppression de données, nous pensons qu'il serait utile de mettre en place une authentification en ligne pour nos administrateurs. Ils pourront donc effectuer ces taches en interface graphique sur un navigateur web. Une fois nos tables créent, nous avons commencé la réalisation du site web.
IV. Le site web Avant de créer les pages de notre site web, nous avons tout d’abord rédigé sur papier un schéma avec les différents besoins de notre site et les différentes pages nécessaires. Schéma conceptuel du site web :
Comme nous le montre ce schéma conceptuel, nous avons deux types d'utilisateurs : − Un client − Un administrateur Le choix d'un utilisateur administrateur est justifié par le fait qu'il est agréable de pouvoir effectuer des modifications de la base de données en mode graphique, sans passer par les nombreuses commandes de MySql. Ce choix nous impose donc de découper le site en deux parties : − un espace accessible pour tous − un espace réservé aux administrateurs Dans l'espace accessible pour tous, nous avons définit trois rubriques disponibles pour l'utilisateur : − Recherche d'un voyage en France − Recherche d'un voyage à l'étranger − Contacter l'agence Dans l'espace accessible que par les administrateurs, nous avons définit de nombreuses fonctions, essentielles à l'insertion, à la modification et à la suppression de données. Bazin, Bernard, Hardy Page 5| 11
Projet agence de voyage
Espace client : 1. Recherche d’un voyage en France
Le client peut choisir un des voyages en France proposés par l’agence, il fait ce choix à l’aide d’un menu déroulant contenant les noms des circuits. Une fois ce choix fait, le client a la possibilité de voir le descriptif complet du voyage en question. Ce descriptif contient : - Les caractéristiques du circuit - Le voyage auquel il correspond - Les différentes escales du circuit - Les hôtels fréquentés - L’accompagnateur attitré au séjour
Après avoir pris connaissance du descriptif complet du voyage, le client a le choix de réserver ce voyage ou de faire une nouvelle recherche si ce voyage ne lui correspond pas. La procédure de réservation avec enregistrement dans la base de données est trop longue à mettre en œuvre, nous avons donc opté par une procédure plus simple, à savoir que lorsqu’il souhaite réserver un voyage, il est dirigé vers une page indiquant les étapes de réservation : - Imprimer le descriptif du voyage désiré - Indiquer au dos ses coordonnées - Le nombre de personne - Le mode de paiement
Bazin, Bernard, Hardy Page 6| 11
Projet agence de voyage
L’enregistrement s’effectuera donc par les administrateurs après réception du courrier. Une confirmation sera envoyée par courrier avec la procédure de paiement du voyage. Si le nombre maximum de places disponibles est dépassé, le client sera informé par email. 2. Recherche d’un voyage à l’étranger
La recherche d’un voyage à l’étranger a été réalisée de la même façon que pour la recherche d’un voyage en France.
3. Contacter l’agence
Bazin, Bernard, Hardy Page 7| 11
Projet agence de voyage
Le client a possibilité via la section contact d’envoyer un e-mail à l’agence ou de récupérer les coordonnées de celle-ci. Espace administrateur : Dans notre site WEB nous avons une page attribuée à l’administrateur de ce site. Cette page permettra à l’administrateur de gérer le contenu des bases de données. Par mesure de sécurité, nous avons mis un système d’identification de l’administrateur car les informations contenues dans la base de données de l’agence ne doivent en aucun cas être accessible par les clients.
Ce système d’identification a été crée par un programme « php » qui est configuré pour vérifier si les informations (login et mot de passe) données par la personne, qui veut entrer sur la page administrateur, sont correctes. Le programme « php » va permettre la connexion à la base de données où sont créées toutes les tables nécessaires pour notre site « agence de voyage ». Puis une fois que nous somme connecté à la base de données ce programme va se charger d’aller vérifier si le login et le mot de passe rentrés par l’administrateur sont identiques au login et au mot de passe inscrit dans la table « admin». Si les informations rentrées par l’administrateur sont correctes alors un message apparaît pour prévenir que l’administrateur vient de se loguer. Par contre si ces informations sont fausses un message d’alerte apparaît et l’utilisateur est redirigé vers la d’identification.
Bazin, Bernard, Hardy Page 8| 11
Projet agence de voyage
Une fois que l’identification de l’administrateur est validée, l’administrateur peut donc travailler sur les tables de la base données ce qui permet de faire une mise à jour de celle-ci. L’administrateur peut donc ainsi réaliser les démarches suivantes :
•
Consulter la table pour les voyages (table « voyage »), les circuits (table « circuit »), les escales (table « escale »), les hôtels pour les escales (table « hotel »), les accompagnateurs pour chaque circuit (table « accompagnateur ») et la table pour l’identification des administrateurs (table « admin »).
•
Ajouter des champs dans les différentes tables existantes dans la base de données. L’administrateur peut donc ainsi créer des nouveaux voyages, circuits, escales, hôtels, accompagnateurs et également ajouter des nouveaux identifiants pour la connexion de plusieurs administrateurs.
•
Supprimer des champs des tables existantes dans la base de données. L’administrateur peut donc enlever des voyages qui n’existent plus. Si un des voyages n’existent plus il faudra également supprimer le circuit, les escales, les hôtels, les accompagnateurs relatifs à ce voyage.
Bazin, Bernard, Hardy Page 9| 11
Projet agence de voyage
Consultation des circuits
Ajout d’un circuit
Suppression d’un circuit
Ce projet nous a permis de réaliser un travail dans sa totalité d’après un cahier des charges et de réaliser ce travail en groupe ainsi que de se répartir les taches selon nos connaissances. Nous avons grâce à ce projet mettre en œuvre les connaissances acquissent lors de notre formation tel que les bases de données, le php, le html. Ces déférentes connaissances nous ont permis de mener ce projet tout au long de se quatrième semestre. Nous n’avons pas peu réalisé le projet dans sa totalité comment l’était indiqué dans le cahier des charges, car le temps impartit pour la réalisation de ce projet était assez court, nous n’avons pas eu le tems de réaliser la Bazin, Bernard, Hardy Page 10| 11
Projet agence de voyage
partie relation du prix du voyage avec la date et les critères des clients ainsi que la partie réservation. Nous avons préféré réaliser la partie accès à la base de données depuis le site web ainsi que la recherche dans la base et aussi la partie administration qui permet de modifier la base de données depuis le site web. Ce projet était intéressant dans le fait qu’il regroupe de nombreuses connaissances et que nous ayons appris de nombreuses choses grâce à celui ci.
Bazin, Bernard, Hardy Page 11| 11
Projet agence de voyage