Application de covoiturage - concours Infotel 2009

Une équipe de 3 personnes, composée de 2 collègues de l'INSA et moi-même (en tant que chef de projet et développeur) avons participé au concours Infotel 2009 qui consiste à mettre en compétition les écoles supérieures de France. Le cahier des charges, assez libre, nous demandait de faire une application de covoiturage pour les employés de l'entreprise.

Le principe étant que chaque employé part le matin sur un site pour travailler et voudrait savoir si quelqu'un aux alentours va au même endroit.

L'application est développée en totalité en AJAX, la premiere page met en cache toutes les données et les scripts utiles pour le site. Le reste se fait par dialogue avec le serveur en ne récupérant que des données pertinantes, il n'y a donc pas de redondance dans le chargement d'un fichier.

Technologies

L'application est développée sur une base en MVC comprenant différentes couches :

  • Le PHP qui exécute côté serveur les instructions du client
  • La base de données MySql qui contient toutes les données de l'application
  • Le controller javascript qui, côté client, redirige les requêtes sur la bonne classe JS
  • Les classes javascript développées avec Prototype nous ont permis de :
    • Faire des appels serveur
    • Vérifier à la volée les données des formulaires
    • Afficher dynamiquement les Maps
    • Traiter et mettre en forme toute les données pour ne pas surcharger le serveur
  • Des librairies basées sur Prototype nous ont permis de mettre en place des effets graphiques, toujours en AJAX

Description

Trouver un trajet

Page de recherche de covoiturage par rapport à son propre trajet L'idée est simple, après s'être enregistré, l'utilisateur va pouvoir chercher un trajet à partir de son lieu de résidence ou d'un lieu qu'il définit pour aller sur un site prédéfini par l'administrateur ou un lieu personnalisé.
Après avoir défini toutes les données relatives au trajet qu'il souhaite faire (lieu, date, heure, fréquence, rayon de recherche...), l'application va faire une recherche dans le rayon d'action pour trouver un trajet où il reste de la place.

Pour faire une recherche moins précise, un formulaire de recherche multi-critères est mis à la disposition de l'utilisateur.

Proposer un trajet

Proposition de trajet mensuel pour aller voir la tour Eiffel Lorsque l'utilisateur utilise sa voiture pour aller travailler, il peut proposer un trajet aux autres utilisateurs. Il renseigne alors les adresses sur le même principe que la recherche. Puis, la date de son premier départ, ainsi que la fréquence.

Cette fréquence peut être ponctuelle, hebdomadaire (avec une selection des jours de la semaine), mensuelle (avec une selection des mois de l'année)

Il a ensuite le choix de conduire ou de laisser quelqu'un d'autre conduire, et enfin il indique de combien de places il dispose. Ces places seront décrémentées au fur et à mesure qu'il accepte des passagers.

Gestion

En tant que possesseur du trajet, l'utilisateur à la possibilité d'accepter ou de refuser un passager, il peut également imprimer sa feuille de route avec le trajet optimal pour passer chercher tous ses collaborateurs.
Des mails de notifications sont programmés pour avertir de chaque changement dans un trajet auquel l'utilisateur est rattaché.

Toutes saisies d'adresses dans l'application sont assistées par une autocompletion en relation à la base de données Google.

Liens utiles

J'ai mis à votre disposition un exemple de cette plateforme. Toutes les fonctionnalitées ne sont pas actives (sécurité oblige).

Utilisateur : liollury
Mot de passe : liollury