Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Select other language :


Apprentissage

Enseignements

Enseignements Département Informatique SI5 et Master IFI

Enseignements Département Bâtiment Polytech'Nice

Autres Formations française et étrangère

Activités administratives, Ingénierie et Innovation Pédagogiques

Apprentissage Département Informatique SI5/Master 2 ingénierie informatique EUR DS4H


Recherche

Valorisation de la Recherche

Dépôts Logiciels à l’Agence de Protection des Programme (APP)

Valorisation des résultats de recherche et transfert

Diffusion de la Culture scientifique et Technologique

Communications de presse

Séminaire ENSI Tunis

Pédagogie Innovante

Relations industrielles et socio-économique

Organisation de Manifestations

  • Conférence sur les FabLabs, Alexandre Schneider, Professeur Agrégé en Génie Mécanique, Université de Reims Champagne-Ardenne Web
  • Journées UbiMob'14 Site Web

Animation de la Recherche

U-Santé

Privé

Outils

Sources d'Informations

cours:plim:projet16_17:gr12:gr12

PYP (Path Your Partner)

RENDU FINAL

  • Nous avons développé sur Android Studio, avec comme cibles : Android avec version minium 5.0.
  • Nous avons utilisé Github comme gestionnaire de versions afin de pouvoir collaborer facilement entre les 2 membres de notre projet.
  • La base de données est gérée avec Firebase.
  • Le serveur en NodeJS écoute les nouvelles données ajoutées dans la base de données Firebase, recalcule les nouveaux clusters en déroulant l'algorithme DBSCAN et les écrit en base.

Le serveur est déployé sur le cloud grâce à Heroku, cependant l'utilisation gratuite est limitée car au bout de quelques heures, le serveur se met en standby, et donc il faut le relancer.

Il suffit de le copier sur votre téléphone, et de l'installer comme n'importe quelle application Android.

Si vous souhaitez installer le serveur NodeJS en local, c'est très simple:

  • Récupérez et décompressez le ZIP “Sources serveur pour l'algorithme d'apprentissage”
  • Rendez vous dans le répertoire en ligne de commande, et faites npm install (nécessite que node js et npm soient installés).
  • Puis, faites npm start
  • Le serveur est alors lancé en local.

Si vous voulez avoir accès à la base de données sur firebase pour la visualiser à titre d'information, envoyez un mail à ugo.elkoubi (at) gmail.com pour qu'on vous donne les droits.

HOWTO

  • Récupérez l'apk ci-dessus et installez là sur votre téléphone Android > 5.0
  • Vous devez avoir la géolocalisation d'activée, et les données mobiles

Vous pouvez vous créer un compte sur l'appli, ou bien utiliser le compte suivant de test :

  • email : demo@gmail.com
  • mdp : testtest
  • Utilisez le menu déroulant à gauche pour naviguer parmi les vues, le bouton “+” sur la page des rendez-vous permet d'en créer un nouveau.
  • Utilisez le bouton en bas à droite sur la fenetre “Path Your Partner” pour signaler votre position à vos amis.

Présentation du projet (VOIR RENDU PAR MAIL POUR + DE DETAILS)

  • Nom 1 : Ugo EL KOUBI
  • Nom 2 : Vincent Forquet
  • Créneau (AM ou PM) : AM
  • Nom du Projet : PYP

PYP , servira à localiser ses amis dans des zones couvertes par le réseau. Les cas d’utilisation sont nombreux : retrouver ses amis au cours de festivals, pendant une balade en ville, à un concert, pour une sortie où il n’y a pas de point de repère universel à proximité pour se donner rendez-vous, etc. Il s’agit de faciliter les rencontres entre des gens qui se sont donné rendez vous quelque part, mais que ce quelque part est suffisamment vaste pour que l’utilisateur nécessite une assistance.. Les capteurs utilisés seront principalement le gps et la boussole. Afin de proposer plus qu’une simple application GPS qui localise des amis connectés, l’application collectera aussi les données et les traitera afin de découvrir des points “chauds”, c’est à dire des points où les gens se donnent souvent rendez-vous, et qui sont donc garantis comme étant des “bons” points de rendez vous. L’application pourra donc proposer des points de rendez-vous afin de faciliter les retrouvailles entre amis.

Un scénario d'illustration du Projet

Jonathan, 25 ans, a prévu une journée plage à Mandelieu. Les plages de Mandelieu sont très larges, et hormis des immeubles d’habitation il n’y a rien à proximité pour se repérer. Jonathan ne connaît pas bien Mandelieu car il est là en vacances, et il cherche un moyen de pouvoir retrouver ses amis sur les 3 kilomètres de plage. Heureusement Mandelieu dispose d’une bonne couverture réseau, ainsi, les amis de Jonathan qui sont déjà à la plage vont pouvoir se signaler comme “point de rendez-vous” sur l’application. Le téléphone de Jonathan va donc pouvoir lui indiquer où se trouvent ses amis, grâce un affichage de type boussole qui va lui permettre de marcher dans la bonne direction. L’application lui indique par ailleurs un bien meilleur point de rendez-vous très fréquenté par les gens du coin avec un parking à proximité. La prochaine fois, Jonathan et ses amis se donneront rendez vous à cet endroit là.

Architecture et modalités techniques

Dans le cadre de ce projet, l’application sera développée pour Android, en langage Java, ce sera donc une application Android native. La cible mobile ne doit pas avoir de caractéristiques particulières, si ce n’est un capteur gps et un gyromètre pour trouver le nord. C’est pourquoi notre application sera compatible pour les versions Android supérieures à 4.0. Cela nous permettra de toucher la majorité des smartphones Android (98,4%). Nous développerons donc sur Windows en utilisant l’IDE Android Studio.

Faisabilité

Comme précisé précédemment, il s’agit de développer une application Android native utilisant un capteur GPS. Nous avons donc un très grand choix de cibles puisque normalement tous les smartphones même les moins modernes sont équipés de capteurs GPS et de gyromètre. Toutefois, il faut faire attention, ces derniers temps les constructeurs de smartphone ont tendance à enlever ce dernier capteur, pour réduire les coûts de fabrication, comme par exemple le dernier Samsung Galaxy A5. Google Maps est par ailleurs facilement intégrable à des applications Android donc cela est faisable aussi. Stocker les données à distance sur une machine et les envoyer aux applications en fonction de leur localisation (on ne va pas envoyer les points de rendez vous de toute la France à toutes les applications sans tenir compte de leur localisation) sera peut être plus difficile à mettre en oeuvre, mais dans l’absolu cela est faisable. Nous prévoyons un algorithme d’apprentissage machine assez simple basé sur la méthode K-Means, car cette méthode est adaptée au clustering d’informations, les clusters seront donc les points chauds pour notre project. De plus, cette méthode est facilement implémentable en Java. Cet algorithme permettre de déterminer des points d'agrégation donc cet objectif est aussi à notre portée. Il faudra déterminer ce que la fenêtre temporelle prévue par le cours permet de faire. Mais dans l’absolu tout est à notre portée.

Planning de développement et de test

Séance 6 - 11 : Développement de l’application

Séance 12 - 13 : Expérimentation et collecte de données à échelle réelle.

Séance 14 - 15 : Maintenance et correction de bugs

Séance 16 : Livraison finale

cours/plim/projet16_17/gr12/gr12.txt · Dernière modification: 2017/02/17 11:23 par uelkoubi