Rapport technique. du site de covoiturage Etucovoiturage. version 1.0



Documents pareils
Manuel d utilisateur du site de covoiturage «Etucovoiturage»

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

La messagerie électronique avec La Poste

Projet de Java Enterprise Edition

Comment utiliser mon compte alumni?

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Utiliser le site Voyages-sncf.com

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

INTERCONNEXION ENT / BCDI / E - SIDOC

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Installation et utilisation du client FirstClass 11

Module Communication - Messagerie V6. Infostance. Messagerie

Documentation Honolulu 14 (1)

Manuel d utilisation de la messagerie.

Manuel d utilisation du web mail Zimbra 7.1

Informations sur l utilisation du webmail du CNRS. Webmail du CNRS. Manuel Utilisateur

INTERCONNEXION ENT / BCDI / E - SIDOC

Joomla! Création et administration d'un site web - Version numérique

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

ESPACE NUMERIQUE DE TRAVAIL DU LYCEE LYAUTEY LCS SE3

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Manuel d utilisation de mon.vie-publique.fr

Utilisation de la Plateforme Office365 et d Oultlook Web App

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

Barid Al Maghrib. Guide d utilisateur Boite Postale Electronique. Fonctions de base. Version 1.0

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Problème d affichage de rapports ou relevés dans HEC en ligne lié aux bloqueurs de pop-up

Formation. Module WEB 4.1. Support de cours

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Guide d administration de Microsoft Exchange ActiveSync

PARAMETRER INTERNET EXPLORER 9

Xi Ingénierie. La performance technologique au service de votre e-commerce. Comment exploiter les cookies sur vos applications web en toute légalité?

Comment utiliser RoundCube?

Espace Client Aide au démarrage

INTERCONNEXION ENT / BCDI / E - SIDOC

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Documentation de conception

MESSAGERIE BUREAU AGENDA VIRTUEL. Votre nouvelle messagerie COLLABORATIVE GUIDE PRATIQUE. Membre de

Création d un formulaire de contact Procédure

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

JULIE SMS V2.0.1 NOTICE D INSTALLATION ET D UTILISATION

E.N.T. Espace Numérique de Travail

Mode operatoire Reseau pedagogique

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012

Documentation du site Mise à jour : Septembre 2013

PARAMETRAGE D INTERNET EXPLORER POUR L UTILISATION DE GRIOTTE

Guide d utilisation des services My Office

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

Manuel utilisateur du logiciel PrestaConnect.

Guide d utilisation. Version 1.1

Installation / Sauvegarde Restauration / Mise à jour

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

OFFICE OUTLOOK QUICK START GUIDE

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

FileMaker Server 14. Guide de démarrage

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal

TUTORIAL ULTRAVNC (EDITION 2)

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Messagerie & Groupeware. augmentez l expertise de votre capital humain

TUTORIEL Pearltrees 26/02/2015

Guide utilisateur de l application messagerie vocale visuelle pour smartphone

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Documentation QmailAdmin

GUIDE UTILISATEUR. Guide utilisateur. Logiciel version 7 Documentation version 8

Nokia Internet Modem Guide de l utilisateur

Content Management System. bluecube. Blue Cube CMS V4.3 par Digitalcube

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

34BGuide de l utilisateur de la boutique en ligne. TAccueil de la boutique e-transco de la Côte-d Or

26 Centre de Sécurité et de

Aud c. Audi connect. Audi-connect-brochure-clients_FR-NL.indd 1

REUNION INFORMATIQUE 15/09/12 Utilisation Messagerie «Webmail 2» I ) Préambule : Pourquoi l utilisation d une messagerie commune?

Guide de présentation du courrier électronique. Microsoft Outlook Préparé par : Patrick Kenny

Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5

CHARTE DE GESTION DES COOKIES

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

Nouvelle plateforme disponible pour les professeurs et les élèves de la Promotion Sociale du Collège Technique «Aumôniers du travail»

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Mise en place d un intranet de travail collaboratif. Guide utilisateur

Manuel utilisateur Centre de Messagerie

Qu est ce qu un ?

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

Université Ferhat ABBAS -Sétif

FileMaker Server 14. Aide FileMaker Server

Utilisation du client de messagerie Thunderbird

Groupe Eyrolles, 2003, ISBN : X

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

e)services - Guide de l utilisateur e)carpa

L activation de votre compte d accès aux services numériques de Lille 1

«clustering» et «load balancing» avec Zope et ZEO

Savoir utiliser les services de l ENT Outils personnels SOMMAIRE

Transcription:

2012 Rapport technique du site de covoiturage Etucovoiturage version 1.0 KOULOUH Khalid, MARYNICH Mikhail, OUDJEHIH Anis, OQAIDI Khalid Master 2 CCI 28/03/2012

Projet : Référence : Développement d un site de covoiturage rapport_technique.pdf Rédacteur(s) : Responsable : Khalid OQAIDI, Khalid KOULOUH, Anis OUDJEHIH, Mikhail MARYNICH Abdel Ali ED-DBALI HISTORIQUE DES MISES A JOUR Version Date Nature du document d origine et des différentes Pages modifications 1.0 28/03/2012 Version initiale 20 Rapport technique Page 1 sur 20

Sommaire 1. OBJECTIF DU DOCUMENT...3 1.1. OBJECTIF...3 1.2. CONTEXTE...3 1.3. MODE OPERATOIRE DU SITE...3 1.4. CHOIX DU LANGAGE...4 2. ARCHITECTURE DE L'OUTIL...5 2.1. UTILISATEURS...5 2.2. ADMINISTRATEUR...7 3. MODELE DE DONNEES...8 3.1. STRUCTURATION DES DONNEES...9 3.2. LE MODELE CONCEPTUEL DE DONNEES...10 3.3. LE MODELE LOGIQUE DE DONNEES...11 4. SCENARIO D EXECUTION...12 4.1. RECHERCHER UN TRAJET...14 4.2. PUBLIER UN TRAJET...14 4.3. MON PROFIL...16 4.4. MES MESSAGES...17 4.5. MES ANNONCES...17 4.6. MES RESERVATIONS...17 5. LIMITATIONS ET PERSPECTIVES...18 5.1. LES LIMITATIONS...18 5.2. LES ELEMENTS MARQUANT DU SITE...18 5.3. LES PERSPECTIVES...18 Rapport technique Page 2 sur 20

1. Objectif du document 1.1. Objectif : Ce document a pour objectif d expliquer le fonctionnement du site de covoiturage Etucovoiturage en rappelant le contexte dans lequel il a été développé et pourquoi il a été développé. 1.2. Contexte : Ecologique, économique et convivial, le covoiturage fait beaucoup parler de lui pour lutter contre les engorgements des villes, la pollution, ou bien encore pour pallier aux grèves de transports. La création du site de covoiturage sera un gage afin de pallier : Contre l'engorgement des villes : Moins de véhicules dans les agglomérations, c'est aussi plus de place de stationnement, moins de nuisance sonore, plus de sécurité, un temps de déplacement plus court (une diminution de trafic de 2% apporte une amélioration de 8% sur la durée du trajet). Contre la pollution : Lors des pics de pollution, le covoiturage devient une solution évidente. Dans les zones rurales : Le covoiturage peut également apporter des services dans les déplacements, notamment dans les zones peu ou pas desservies par les transports en commun. 1.3. Mode opératoire du site : Ce site propose de mettre en contact : Des conducteurs : ceux qui proposent un trajet. Des passagers : ceux qui souhaitent partager un véhicule le temps d'un voyage déterminé. Et en particulier les étudiants ainsi que les professeurs de l'université d'orléans. Rapport technique Page 3 sur 20

1.4. Choix du langage : La programmation n'est pas une tâche facile, elle exige beaucoup de sacrifices, de la patience, de la gymnastique de l'esprit ainsi que les aptitudes et attitudes de bien raisonner pour arriver à réaliser un bon programme à des fins utiles. Notre choix est tombé sur PHP-MYSQL. Le PHP est à l origine un langage purement destiné au web. Contrairement à Java et à Dot Net dont les codes sont d abord précompilés puis s exécutent sur une machine virtuelle, le PHP est interprété par le serveur sur lequel il s exécute. Un même code PHP est donc capable de s exécuter sur n importe quel serveur, mais il n est pas «optimisé». Le serveur réalise cette opération à la première utilisation de l application. Concrètement, le PHP cumule deux avantages majeurs : Il apparaît que le PHP est bien plus performant que JAVA. Bertrand Bigay PDG de Cityvox, explique que Le Monde et TF1 ont adopté le PHP. Comparant les applications de gestion de contenu «ils ont calculé qu une page s affiche douze fois plus vite en PHP»! L autre force de PHP c est WAMP (MAMP ou XAMPP) incluant 4 composants libres suffisant pour bénéficier d un serveur. Quant à la base de données MySQL, elle est devenue la base de données open source la plus populaire au monde grâce à sa haute performance, sa fiabilité et sa simplicité d'utilisation. Beaucoup de sociétés à forte croissance telles que Google, Lafarge, EADS, Alcatel-Lucent, Nokia et YouTube, réduisent leurs coûts de manière significative en utilisant MySQL pour leurs sites Web, leurs applications critiques d entreprise, ou en embarquant MySQL au sein de leurs solutions. Non seulement MySQL est la base de données open source la plus populaire au monde, mais elle est aussi devenue le choix privilégié pour la nouvelle génération d'applications développées sur la pile LAMP (Linux, Apache, MySQL, PHP / Perl / Python). MySQL fonctionne sur plus de 20 plateformes incluant Linux, Windows, Mac OS, Solaris, HP-UX, IBM AIX. Rapport technique Page 4 sur 20

2. Architecture de l'outil 2.1. Utilisateurs Le schéma ci-dessous résume l architecture détaillée du site de covoiturage qui est basé sur deux types de connexions (mode connecté et non-connecté). Rapport technique Page 5 sur 20

Le site de covoiturage est composé de ces différents modules : Module des inscriptions : Le système doit permettre aux conducteurs et covoitureurs de pouvoir s inscrire de façon autonome via le site web. Module de gestion des itinéraires : Le système doit permettre l ajout, modification et suppression d un itinéraire par un conducteur ou un passager. Ces derniers auront accès à tous leurs itinéraires passés et pourront créer de nouveaux itinéraires à partir d un itinéraire déjà effectué dans le passé. Le conducteur pourra fixer le prix voulu de la part des covoitureurs. Module de gestion des réservations : Le système doit aussi permettre aux covoitureurs de rechercher des itinéraires. Des recherches peuvent s effectuer suivant des critères précis. Suite à l affichage des résultats le covoitureur peut choisir parmi les plus «intéressants» pour lui. En cas de changement de plan, un système de notification envers le conducteur ou le passager est disponible (messagerie), afin d'aviser que le passager n embarque plus avec le conducteur ou que le conducteur souhaite annuler son trajet. Module de gestion des comptes : Le système permet à chacun des membres de faire la gestion de son compte. Il sera possible de modifier des informations personnelles ou préférences. Les différentes classes d usagers du système sont comme suit: Administrateur : L administrateur est le seul à avoir accès à l information complète du système. Il peut faire la gestion globale du système, par exemple créer des comptes de covoitureurs. Il lui est aussi possible de suspendre n importe quel compte. Conducteurs : Les conducteurs permettent d alimenter le système en itinéraires disponibles pour la recherche. En effet, c est la quantité et qualité des conducteurs qui permettront d avoir une banque de données intéressante dans le système. Suite à la publication d un itinéraire, ils sont responsables de vérifier à intervalle régulier s ils reçoivent des demandes d embarquement des covoitureurs. Dans un tel cas, ils sont responsables de confirmer l embarquement du passager à un point donné. De plus, ils peuvent consulter leur historique d itinéraires. Passagers : Les passagers sont ceux qui bénéficient le plus du système. Ils peuvent lancer diverses recherches pour trouver des itinéraires qui conviennent à leurs besoins et faire des réservations. Dans le cas où les points d embarquements conviennent plus ou moins, ils peuvent envoyer une proposition de point d embarquement au conducteur. De plus, ils peuvent consulter leur historique de réservations. Rapport technique Page 6 sur 20

2.2. Administrateur Le schéma ci-dessous décrit le fonctionnement de l espace administrateur. L administrateur est le seul à avoir accès à l information complète du système. Il peut faire la gestion globale du système, par exemple suspendre n importe quel compte. Rapport technique Page 7 sur 20

3. Modèle de données Pour illustrer la modélisation de la base de données du site web, on va exposer tout d abord la liste des différentes données dont on a besoin pour le bon fonctionnement du site : Les données Utilisateur Trajets Messagerie Gestion de réservation Liste des villes de France Mot de passe Ville départ+ celle d arrivée+cp Expéditeur Date Ville+ Code Postale Login ou email Lieux de rencontres Destinataire Qui a réservé Ses préférences Nombre de places disponibles Contenu d un message Trajet en question Adresse + Date de naissance Date + Heure de voyage Etat d un message (lu on non lu) Autres options (photo, voiture..) Rapport technique Page 8 sur 20

Afin de déterminer quel outil de modélisation de base de données serait le plus intéressant à utiliser dans le cadre de notre projet, on s est basé sur une description exhaustive des principaux outils de modélisation de base de données qui ont été évalués suivant cinq critères : La facilité d utilisation Les performances (robustesse, richesse fonctionnelle ) : l exploitation des données dépendent fortement des outils que le SGBD met à disposition. La taille du logiciel La pérennité Le prix Dans notre cas, on a choisi MySQL Workbench de la compagnie MySQL offert en version Mac ou Windows qui nous a permis de créer un modèle entité-relation de notre base de données (MCD et MLD) et de générer ainsi les scripts de créations des tables SQL. MySQL Workbench permet à un administrateur de base de données, un développeur ou un architecte de données de concevoir, de modéliser, de générer et de gérer visuellement des bases de données. Il comprend tous les éléments nécessaires à un modélisateur de données pour créer des modèles entité-relation. 3.1. Structuration des données : Voici une liste des tables à créer permettant de stocker l ensemble de données dont on a besoin pour le bon fonctionnement du site de covoiturage : Nom de table authetification profil trajet reservation messagerie cp_autocomplete Description Table contenant les infos personnelles des utilisateurs Stockage de préférences des utilisateurs Où seront stockées les informations sur chaque trajet Servira à la gestion de réservation des trajets et contiendra l identifiant du trajet et ainsi que l identifiant de l utilisateur qui a réserver ce trajet Stockage de messages envoyés par les utilisateurs ainsi que leurs identifiants Contient une liste de toutes les villes de France avec leurs codes postaux. Remarque : Cette table n apparaît pas dans le MCD et le MLD, mais par contre les fonctions de contrôle de saisie des noms de villes font appel à cette table. Rapport technique Page 9 sur 20

3.2. Le modèle conceptuel de données : Rapport technique Page 10 sur 20

3.3. Le modèle logique de données : Rapport technique Page 11 sur 20

4. Scenario d exécution : Dans cette partie seront expliqués les différents mécanismes du fonctionnement technique du site web. La page index.php est chargée automatiquement lorsque le DNS etucovoiturage est saisi dans la barre d adresse du navigateur. Sachant qu il y a une vérification de l existence d une session à l aide de la fonction verif_session_var(), si l utilisateur est toujours connecté, donc index.php redirige automatiquement l utilisateur vers la page bienvenu.php (espace personnel de l utilisateur). Si après vérification aucune session n est détectée, l utilisateur reste sur la page index.php. Un utilisateur: Etant non connecté a la possibilité de consulter les offres de trajets générées par la page results.php. En cliquant sur l annonce qui l intéresse, la page details_not_user.php se lance à l aide de la fonction JavaScript TINY.BOX.SHOW () et affiche les détails du trajet choisi par l utilisateur. Ce dernier n a pas le droit de réserver et de contacter l annonceur. Etant connecté a la possibilité de consulter les offres de trajets générées par la page result.php. Celle-ci gère d une façon systématique l ensemble de permissions accordées à l utilisateur (par exemple, l utilisateur ne peut pas réserver une place pour un trajet déposé par un passager). En cliquant sur l annonce, la page details.php se lance à l aide de la fonction JavaScript TINY.BOX.SHOW () et affiche les détails du trajet choisi par l utilisateur. A l opposé du mode non connecté, ce dernier a le droit de réserver et de contacter l annonceur. Techniquement parlant, l attribution des droits dépend de plusieurs conditions, elles-mêmes dépendent de la vérification de la session en cours. L utilisateur non connecté a la possibilité de consulter les différentes informations situées dans le pied de page (A propos, Vos questions sur le covoiturage, Conditions Générales d'utilisation, Les avantages du covoiturage, etc.). Sur ces pages il n y a aucun contrôle de session (accès libre). Pour pouvoir bénéficier de tous les services offerts par le site de covoiturage, l utilisateur doit se connecter. Si c est sa première visite du site, il devra d abord s inscrire sur le site. Une fois sur la page formulaire.php, l utilisateur saisit son nom, prénom, date de naissance, login, mot de passe, ville et numéro de téléphone. Ce formulaire est contrôlé par PHP et JavaScript, derrière chaque `input` il y a une fonction qui vérifie l exactitude du format d insertion : Rapport technique Page 12 sur 20

verifnom() : vérifie l insertion et l exactitude du nom verifprenom() : vérifie l insertion et l exactitude du prénom verifmail() : vérifie l insertion et l exactitude du mail mailexist($mail) : vérifie la non-existence du mail dans la base de données verificationduusername() : fait appel à la fonction mailexist($mail) pour la vérification de la non-existence du mail verifphone() : vérifie l insertion et l exactitude du numéro de téléphone verifmotdepass() : vérifie que les deux mots passe saisis sont identiques et qu ils contiennent au moins 8 caractères verifadress() : vérifie l insertion et l exactitude du nom d une ville insertion() : la fonction chargée d insérer les données saisies dans la base de données ainsi que d envoyer un mail de confirmation d inscription contenant un lien d activation de l espace membre à l utilisateur. Si lors de l inscription l utilisateur n a pas renseigné l un des champs obligatoires, le formulaire se recharge en gardant les valeurs déjà saisies. En cas d erreur, la page reste bloquée en signalant par un message clair l erreur. Concernant le champ login, la fonction mailexist($mail) se connecte à la base de données et vérifie l existence du login indiqué par le covoitureur : si c est bien le cas, l utilisateur se tient alors informé. Le formulaire d inscription dispose également de deux checkboxes et un bouton radio. Le bouton radio tient en considération le souhait de l utilisateur par rapport à l affichage de son numéro de téléphone dans les annonces. La première checkbox concerne les offres des partenaires. Quant à la seconde, elle sert à s assurer que l utilisateur confirme avoir lu les Conditions Générales d Utilisation du site. Si cette checkbox n est pas cochée, une alerte JS incite l utilisateur à le faire. Une fois que le formulaire a bien été rempli, la fonction insertion() se charge de créer l espace personnel de l utilisateur ainsi que d envoyer un email contenant un lien d activation à l adresse mail indiquée lors de l inscription. Si l utilisateur essaie de se connecter sans avoir activé son compte, un message clair lui est affiché en l incitant à activer son compte. Rapport technique Page 13 sur 20

Sur la page formulaire.php figure également le lien de récupération du mot de passe perdu. Si l utilisateur clique sur ce lien, c est la page password_oubli.php qui se charge en demandant de saisir son adresse mail à laquelle par la suite sera envoyé un nouveau mot de passe. Compte tenu du fait que les mots de passe sont stockés dans la base de données sous une forme cryptée à l aide de la fonction de hachage md5() (il en déduit qu il est impossible de les récupérer sous une forme non-cryptée), la fonction newchaine() génère automatiquement un nouveau mot de passe de 8 caractères qui remplacera l ancien. Avant d envoyer le nouveau mot de passe, le script vérifie aussi que le mail indiqué est bien présent dans la base de données. Le formulaire de connexion, contrôlé par PHP, permet d accéder à l espace membre. Si les identifiants saisis sont corrects, l utilisateur passe à la page bienvenu.php, sinon un message clair l informe de l erreur survenue. Dès que l espace membre a été créé, l utilisateur peut désormais bénéficier de toutes les fonctionnalités du site. 4.1. Rechercher un trajet : La fonction de restriction d accès aux fonctionnalités de réservation et de contact de l annonceur d un trajet est désactivée automatiquement, mais elle vérifie constamment que l utilisateur est bien connecté, sinon elle l invite à se connecter. Pour contacter un abonné, le seul moyen est de cliquer sur l onglet `message` figurant dans la fenêtre affichant les détails d une annonce (affiché par JavaScript). Si l annonce ne provient pas de la part d un passager, l utilisateur a la possibilité d effectuer une réservation. Une alerte JavaScript le tient informé du succès de l opération, et un email récapitulatif est envoyé aux deux parties (passager et conducteur). Une fois la réservation effectuée, le nombre de places est automatiquement décrémenté. S il ne reste plus de places disponibles dans un trajet, la fonctionnalité réservation est désactivée et la mention `complet` apparaît sur l annonce. 4.2. Publier un trajet : Dans cette partie ( trajet_user_ step_1.php ), l utilisateur a le choix entre Conducteur et Passager. Il est demandé de saisir la ville de départ + son code postal, lieu de départ, ville d arrivée + son code postal et le lieu d arrivée. En cliquant sur le bouton «Valider et Passer à l étape 2», on récupère la saisie dans des variables de session transportables en pages trajet_user_ step_2.php et trajet_user_ step_3.php. Rapport technique Page 14 sur 20

Pour chaque valeur saisie par l utilisateur, il y a des fonctions vérifiant l exactitude des formats d insertion des champs : cherchervillebdd($ville) : sélectionne toutes les villes dans la table cp_autocomplete. verificationgenerale() : la fonction qui vérifie la présence de la ville saisie dans la base de données en faisant appel à la fonction cherchervillebdd($ville). Elle vérifie aussi le format de saisie du code postal ainsi que des lieux de départ et d arrivée. En cas d erreur de saisie, un message clair informe l utilisateur. Dans la page trajet_user_ step_2.php, si l utilisateur ne passe pas par la page trajet_user_ step_1.php, une redirection automatique le renvoie à l étape précédente (vérification des variables de session). Il y a deux cas de figure possibles : Conducteur : il est demandé de renseigner la date de départ, l heure de départ, le nombre de places dans le véhicule ainsi que les préférences du trajet (acceptation de fumeurs ou non, animaux). La fonction verification() s assure de la bonne saisie, sinon en cas d erreur un message clair est affiché demandant de bien renseigner les champs concernés. Passager : il est demandé de renseigner juste la date de départ et l heure de départ. La fonction verification() s assure de la bonne saisie, sinon en cas d erreur un message clair est affiché demandant de bien renseigner les champs concernés. Si tout va bien, une redirection vers la page trajet_user_ step_3.php est effectuée après avoir cliqué sur le bouton Valider et passer à l étape 3. Dans la page trajet_user_ step_3.php, si l utilisateur ne passe pas par trajet_user_ step_2.php, une redirection automatique le renvoie à l étape précédente (vérification des variables de session). Il y a deux cas de figure possibles : Conducteur : Il est demandé à l utilisateur d indiquer le tarif du trajet par passager. La fonction verifprix() assure l exactitude du format du prix. Ensuite, après avoir cliqué sur le bouton «Publier l annonce» la page de récapitulatif du trajet apparaît, la base de données est alimentée et un email de confirmation est envoyé à l utilisateur. Passager : dans ce cas l utilisateur passe directement au récapitulatif du trajet sans avoir à renseigner le prix. A ce stade, les variables de session correspondant au dépôt d un trajet sont vidées pour permettre une nouvelle proposition de trajet. Rapport technique Page 15 sur 20

4.3. Mon profil : Dans cette partie du site ( profil.php ), il y a 6 fonctionnalités : Mes informations générales ( profil_informations.php ) : l utilisateur peut modifier son nom, prénom, date de naissance et son numéro de téléphone (tous les champs sauf son login) qui sont sous les mêmes vérifications que les champs du formulaire d inscription de la page formulaire.php. Après validation les champs dont les valeurs ont été modifiées sont mises à jour dans la base de données à l aide de la fonction modfication(). Mes préférences ( profil_preferences.php ) : lors de la création de l espace personnel les préférences du profil sont par défaut mises à «non renseigné». Après la saisie (sous forme de booléen) et validation des informations saisies, les mises à jour sont transférées directement dans la base de données par le biais de la fonction setmodification(), et sont désormais visibles dans les annonces de l utilisateur ainsi que sur sa page d accueil. Mon adresse ( profil_adresse.php ) : Dans cette page, l utilisateur a la possibilité de modifier et/ou détailler son adresse. La saisie de données est sous le contrôle des fonctions PHP (verifadress1(), verifadress2(), verifcode(), verifville(), verifpays()). Une fois tous les champs obligatoires renseignés, les mises à jour sont transférées directement dans la base de données par la fonction setmodification(), et sont désormais visibles dans les annonces de l utilisateur ainsi que sur sa page d accueil. Mon mot de passe ( profil_password.php ) : dans cette page, il y a trois champs : Le premier champ demande de renseigner l ancien mot de passe (la fonction verifpass() vérifiant l égalité du mot passe saisi et celui-ci dans la base de données crypté en md5) Le deuxième et le troisième champ ont le même principe de fonctionnement que les deux champs mot de passe du formulaire d inscription sur la page formulaire.php (voir plus haut). Mon véhicule ( profil_vehicule.php ) : Cette page permet d indiquer la marque, le modèle et la version du véhicule de l utilisateur en précisant son confort afin d'être le plus précis possible. Si l utilisateur ne dispose pas de véhicule, il devrait cocher la checkbox correspondant (pas de voiture). Sinon les quatre champs sont obligatoires à renseigner (contrôlés par les fonctions verifmarque(), verifmodele(), verifconfort()). En cas d anomalie, un message d erreur clair est affiché. Rapport technique Page 16 sur 20

Supprimer mon compte ( profil_suppression.php ) : dans cette page après avoir saisi le mot de passe (contrôlé par la fonction verifpass() vérifiant l égalité entre le mot de passe indiqué et celui-ci stocké dans la base de données) la fonction suppression() déclenche la suppression du profil de l utilisateur de la table authentification et en cascade des autres tables. L utilisateur supprime définitivement son espace membre ainsi que ses annonces, ses messages et les trajets déposés sur le site. 4.4. Mes messages : Messages reçus ( read_mail.php ): Permet d afficher tous les messages destinés à l utilisateur ainsi que le nombre de messages non lus (apparaissant à côté de la mention Messages reçus grâce à un script associant 0 à un message lu et 1 à un message non lu). Si aucun message concernant l utilisateur n est présent dans la base de données, «aucun message reçu» est affiché. A partir d une requête SQL récupérant les titres, contenu, date et l heure et grâce à la fonction getexpediteur($id) on récupère l identifiant de l expéditeur du message. Un clique sur le titre du message fait apparaître une fenêtre JavaScript contenant les détails du message en question ainsi qu un champ d une éventuelle réponse et un bouton d expédition (PHP, MySQL, JavaScript). Messages envoyés ( mail_sent.php ): Permet d afficher tous les messages envoyés par l utilisateur aux autres covoitureurs, et cela à partir d une requête SQL récupérant les titres, contenu, date et l heure et la fonction getdestinataire($id) qui récupère l identifiant du destinataire du message. Si l utilisateur n a envoyé aucun message, «aucun message envoyé» est affiché. 4.5. Mes annonces: Cette page ( annonces.php ) affiche l historique des annonces sous forme de tableau: type d annonce (conducteur/passager), ville de départ, ville d arriver, date, heure, nombre de places réservées et prix. Tout cela grâce à une fonction récupérant à partir d une requête SQL les informations ci-dessus. Si l utilisateur n a publié aucune annonce, «aucune annonce» est affiché. 4.6. Mes réservations: Cette page ( reservation.php ) affiche l historique des annonces sous forme de tableau : ville de départ, ville d'arrivée, date de départ, heure de départ, nom du conducteur et prix. Tout cela grâce à une fonction récupérant à partir d une requête SQL les informations ci-dessus. Et si l utilisateur n a effectué aucune réservation, «aucune réservation» est affiché. Rapport technique Page 17 sur 20

5. Limitations et perspectives: 5.1. Les limitations Hébergement : le site est actuellement hébergé sur un serveur gratuit de Free, ce qui limite les fonctionnalités du site : par exemple autocomplete des noms des villes ne fonctionne pas. Le site ne comporte pas d espace réservé à la publicité et les actualités. En l absence des connaissances de webmarketing, nous ne pouvons pas rendre le site rentable. Absence de statistiques sur le nombre de visiteurs du site. 5.2. Les éléments marquant de site : En général, le travail réalisé sur le site http://etucovoiturage.free.fr est considéré comme un élément marquant en soi-même, mais certaine partie de ce travail reste plus marquante que d autres, à ce titre en peut citer : Le design du site est un élément dont nous sommes fiers car il a pris une très grande attention lors du développement. L espace personnel de l utilisateur mettant à disposition des covoitureurs un ensemble de fonctionnalités facilitant la gestion de l espace membre. Le système autocomplete aidant l utilisateur à saisir la ville de départ et la ville d arrivée ainsi que le code postal. La messagerie interne permettant l envoi de messages entre les membres du site. 5.3. Les perspectives : Améliorer le référencement : il s'agit de l'inscription du site web dans les différents moteurs de recherche et les annuaires qui vont donc le «référencer» dans leur pages de résultats. Rendre le site compatible avec le navigateur Internet Explorer car actuellement notre site ne s affiche pas correctement dans ce navigateur. Rapport technique Page 18 sur 20

Le covoiturage dynamique : Le covoiturage dynamique associe plusieurs technologies dont la géolocalisation par GPS (associée parfois à un système d information géographique), les connexions GSM (téléphones mobiles GPS) et une panoplie d outils Internet. Il permet de synchroniser en temps réel les demandes et les offres de trajets. Rendre le site accessible sur des Smartphones car une version mobile d un site internet est un vecteur d images positives montrant le caractère innovant de celui-ci. Ajouter des fonctionnalités à l espace personnel afin de permettre aux utilisateurs de modifier ou de supprimer une annonce en cas d erreur. Améliorer la mise en relation entre les conducteur et passager par la mise en place d un système de SMS qui va servir de justificatif pour les réservations de trajets. Réservations multiples afin de permettre au passager de réserver plusieurs places car actuellement le site ne le permet pas. Développer une page du site sur Facebook. Gréer une page sur Twitter pour faire connaitre le site auprès d un large public. Réaliser un espace pour les questions fréquentes et mettre en place un forum sur le mode de fonctionnement du site. Faire évoluer la partie recherche des trajets on la réalisant sous forme de carte de France Chercher des partenaires publics et privés pour nous accompagner dans notre développement. Pour conclure, il faut mettre en évidence que le marché du covoiturage dynamique est estimé à 500 milliards de dollars par Nokia au niveau mondial en calculant le prix des places vides dans une voiture. Au niveau national et selon les statiques : 79% des français sont prêts à faire un recours au covoiturage, et même sur des petits trajets (voir le baromètre MACIF-août 2010). Faute de bénéficier d une réelle impulsion, le covoiturage est encore peu pratiqué en France, où il représente une part minime des trajets domicile-travail, de l ordre de 3%. Rapport technique Page 19 sur 20

2012 KOULOUH Khalid, Rapport MARYNICH technique Mikhail, OUDJEHIH Anis, OQAIDI Page Khalid 20 sur 20 Master 2 CCI 28/03/2012