NiceRide

Présentation du Projet

Un Scénario d'illustration du Projet

Toto est un étudiant de Polytech Sophia Antipolis qui passe des heures pour arriver à Sophia tandis que normalement la distance ne prend que 45 minutes.

Alors pourquoi pas une solution pour Toto ?

La solution consiste en une application mobile qui permet de géo-localiser les étudiants de Polytech se trouvant à proximité de l’utilisateur pour but de trouver un accompagnant ou du covoiturage. La géolocalisation des étudiants est définie par des coordonnées X, Y se trouvant dans une zone initialisée selon ces coordonnées. L'attribution des étudiants aux voitures sera effectuée à travers un algorithme de clustering.

On prend en considération la position de l’étudiant, le temps écoulé pour un chauffeur pour récupérer un étudiant, etc ..

Par conséquent Toto qui se trouve à Nice. Il se connecte via l'application et trouve N personnes connectées proches de lui sur une Map. Il peut alors contacter ces personnes par messagerie afin de se mettre d'accord pour un covoiturage. Celui qui reçoit la demande peut confirmer ou refuser selon le nombre de places restant. Donc l'application simplifie la vie de l'étudiant à Polytech et lui permet d'avoir un réseau social plus enrichi.

Matériel Disponible

• Référence du SmartPhone : Samsung Galaxy A5

• Caractéristiques techniques: http://fr.gsmchoice.com/fr/catalogue/samsung/galaxya5hspa/Samsung-Galaxy-A5-HSPA.html

• Capteurs: accéléromètre , Proximité

• Communication et réseaux: WLAN, bluetooth, GPS, NFC, 3G(HSPA+)

• Caractéristiques de l'OS : Android 5.0.2

• Environnements logiciels utilisables pour développer sur ce Smartphone : Les services offerts par cet OS facilitent l'exposition des données fournies par le smartphone et spécifiquement l'exploitation des flux des données injectés dans le téléphone.

Architecture logicielle de notre application

Notre architecture est décortiquée en 3 parties :

  1. Le client : L’application Android qui sera installée sur le smartphone de l’utilisateur
  2. La partie serveur : qui constitue la partie de traitement de donnée et qui englobe notre algorithme faisant tourner une partie de l’application
  3. La partie base de données qui est déployée sur le cloud Firebase.

Notre application offre les services suivants :

Les données sont échangées avec le cloud en mode online et mode offline.

Le mode offline est une fonctionnalité offerte par Firebase et qui se charge automatiquement de la sauvegarde des données en mémoire cache. Si aucune connexion à internet n'est disponible alors seulement quelques données sont affichées. Dès lors qu'une connexion est à nouveau disponible la synchronisation s'effectue automatiquement.

Ressources utilisées dans le Projet

Liste des capteurs

API utilisées

Algorithme utilisé

Version OS: 5.0.2

SDK utilisé: Le SDK d’Android nous permettra d’avoir accès aux données du GPS.

https://developer.android.com/guide/topics/sensors/sensors_motion.html

https://developer.android.com/studio/index.html

Conclusion sur la faisabilité du Projet :

Les fonctionnalités offertes par cet application tel que la géo-localisation est un service à consommer en utilisant les données collectées du GPS pour ensuite être traduites en des coordonnées sur une map en utlisant l'API google Map V2. La communication inter-utilisateurs sera traduite par de simples évènements et une notification pour faire savoir qu'un échange a lieu.

Rendu Final

Code Source

Ci-dessous le lien pour accéder respectivement au code source de la partie serveur Nodejs ainsi que la partie Android: https://github.com/AmeniAol/Elim_App

https://drive.google.com/file/d/0B1qpaIz-lhLMTG9DQTdIU3BRMzQ/view

Fonctionnement de la machine serveur

Le serveur reçoit en entrée les positions de la véhicule (longitude + latitude ) ainsi la longitude et la latitude des utilisateurs qui ont demandé de rejoindre cette véhicule pendant un trajet bien déterminé qui est proportionnelle à la position courante de la véhicule. Pour chaque utilisateur qui a demandé de rejoindre cette véhicule, nous calculons la distance qui sépare chaque client de la véhicules pour ensuite les comparer et les attribués selon les places disponible dans cette voiture. l'attribution est enregistrée sur notre cloud(firebase) sous forme de cluster un Owner(véhicule) plus les clients associés à ce trajet.

Exécution de l'application

Il suffit de télécharger le code du serveur sur le lien https://github.com/AmeniAol/Elim_Server ainsi télécharger l'environnement à partir du lien https://nodejs.org/en/download/ puis entrer dans le dossier du serveur appuyer sur clt+shift pour accéder à la ligne de commande nodejs pour ensuite taper la commande node index.js et le script se lance.

Télécharger l'apk suivant :app-debug.rar Installer l'apk pour pouvoir manipuler l'application: PS: Lors de l'installation si vous rencontrez un problème, activez la fonctionnalité d'acceptation d'applications de sources inconuues sur votre Smartphone.

* Utilisation de l'application: Après avoir téléchargé l'application, ouvrir l'application installée et manipuler les interfaces suivantes: En tant que propriétaire se connecter avec

Login : amelie

Mot de passe : amelie

Après la connexion, une première interface s'affiche pour le menu correspondant au profil de l'utilisateur (propriétaire). Il peut donc soit ajouter un trajet à travers la saisie de données correspondantes dans un formulaire. Sinon il peut consulter le demandes reçues pour un trajet dans la rubrique messages.

Le déplacement du proprio est marqué par des marqueurs dynamiquement, à chaque modification des coordonnées géographiques.

En tant que client se connecter avec

Login : insaf

Mot de passe : insaf