Outils pour utilisateurs

Outils du site


cours:plim:projet16_17:gr13:gr13

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cours:plim:projet16_17:gr13:gr13 [2017/02/19 18:36]
mchebaane [Rendu Final]
cours:plim:projet16_17:gr13:gr13 [2017/02/20 00:01] (Version actuelle)
mchebaane [Rendu Final]
Ligne 112: Ligne 112:
  
 ==== Rendu Final==== ==== Rendu Final====
- 
 __**Code Source**__ __**Code Source**__
  
 Voici notre code final du Wifi Locator. Vous trouvez le code dans le lien suivant: Voici notre code final du Wifi Locator. Vous trouvez le code dans le lien suivant:
  
 +https://​github.com/​meriemchebaane/​elimwifilocator
  
 __**Architecture Globale**__ __**Architecture Globale**__
 +
 Nous procédons à concevoir et à développer notre application en adoptant l’architecture suivante: Nous procédons à concevoir et à développer notre application en adoptant l’architecture suivante:
   * Coté Client : notre application mobile   * Coté Client : notre application mobile
Ligne 125: Ligne 125:
   * Gestion de base de donne en utilisant FireBase   * Gestion de base de donne en utilisant FireBase
 {{ :​cours:​plim:​projet16_17:​gr13:​aa.png?​500 |}} {{ :​cours:​plim:​projet16_17:​gr13:​aa.png?​500 |}}
 +
 +== Conception de notre base de données ==
 +
 +
 +Notre proposition consiste à stocker la position de l’utilisateur ainsi que la valeur de débit des Wifis autour de lui. Dans ce contexte et devant les contraintes actuelles de notre application,​ notre base de données doit permettre à l’utilisateur d’accéder aux données dans un temps réel et d'une manière synchrone et asynchrone à la fois.
 +
 +Pour que nos données soient accessibles facilement et synchronisées en temps réel sur tous les appareils connectés, nous avons utilisés Firebase. Ce service se charge d’héberger les informations de wifis sous forme dun objet JSON.
 +
 +Nous avons utilisé aussi le système d’authentification offert par firebase. L’idée est qu’il propose un service prêt emploi qui ne va pas stocker les identifiants,​ mais assure le mécanisme de l’authetification elle-même.
 +
 +Firebase permet aussi un cache pour anticiper sur des communications intermittentes et asynchrones.
 +
 +== Coté Serveur ==
 +
 +  ​
 +Notre application envoie une requète POST sous forme d’une liste des points d’accès(la valeur de latitude,​longitude et le level) des wifis sélectionnés au Servlet (notre serveur Cloud). Suite à cette demande, le serveur fait appel à notre algorithme K-means de 3 dimensions qui permet de grouper les données en K groupes selon la proximité des valeurs. Ce résultat sera trié selon le débit du centroid de chaque cluster obtenu afin d’avoir les meilleurs signaux à renvoyer au client.
 +
 +== Coté Client ==
 +  * Installation obligatoire
 +
 +Puisque notre serveur et notre base de données sont déployés sur le cloud il va vous falloir d’installer l’application sur votre smartphone Android.
 +
 +Télécharger et installer l’APK suivant sur votre smartphone :​https://​github.com/​meriemchebaane/​elimapk
 +
 +Pour le bon fonctionnement de l’application,​ n’oubliez pas d’activer la localisation.
 +
 +{{ :​cours:​plim:​projet16_17:​gr13:​localisation.png?​200 |}}
 +  * Utilisation de l’application mobile
 +
 +Suite à l’authentification,​ une map sera affiché au dessus d’une liste des wifis autour du l’utilisateur.
 +
 +{{:​cours:​plim:​projet16_17:​gr13:​16833193_1854991001410115_246472487_o.png?​200|}} {{:​cours:​plim:​projet16_17:​gr13:​n.png?​200|}}
 +{{:​cours:​plim:​projet16_17:​gr13:​i.png?​200|}}
 +
 +Pour rajouter les nouvelles valeurs des wifis présentes, vous auriez besoin de cliquer sur le bouton plus.
 +
 +Le deusième bouton sert a afficher la liste des regions. ​
 +
 +{{:​cours:​plim:​projet16_17:​gr13:​regions.png?​200|}}
 +{{:​cours:​plim:​projet16_17:​gr13:​pub.png?​200|}}
 +
 +L’amélioration effectuée tout au long de ce projet c’est qu’au lieu d’éffectuer un cluster sur un seul wifi dans une region bien précise, on envoie tout les wifis de la même region et on effectue le clustering pour rassurer le bon fonctionnement de K-means. En effet, dans la premiere version nous avons eu des clusters videos alors que lors du changement effectué nous avons réçu tout les clusters bien définis. Prenons le cas de 5 clusters ce que nous aurons en background comme ci-dessous:
 +
 +{{ :​cours:​plim:​projet16_17:​gr13:​0.png?​700 |}}
 +{{:​cours:​plim:​projet16_17:​gr13:​1.png?​150|}}
 +{{:​cours:​plim:​projet16_17:​gr13:​2.png?​150|}}
 +{{:​cours:​plim:​projet16_17:​gr13:​3.png?​150|}}
 +{{:​cours:​plim:​projet16_17:​gr13:​4.png?​150|}}
 +{{:​cours:​plim:​projet16_17:​gr13:​5.png?​150|}}
 +
 +Finalement, nous affichons les meilleurs signaux sur notre map:
 +
 +{{ :​cours:​plim:​projet16_17:​gr13:​final.png?​250 |}}
  
cours/plim/projet16_17/gr13/gr13.1487525793.txt.gz · Dernière modification: 2017/02/19 18:36 par mchebaane