Outils pour utilisateurs

Outils du site


cours:plim:projet16_17:gr1:gr1

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:gr1:gr1 [2017/01/28 11:36]
gchapon [Utilisation]
cours:plim:projet16_17:gr1:gr1 [2017/02/17 15:00] (Version actuelle)
gchapon [Code source]
Ligne 88: Ligne 88:
 Pour réaliser la phase de test de notre application,​ nous utiliserons le jeu de données de nos téléphones personnelles. ​ Pour réaliser la phase de test de notre application,​ nous utiliserons le jeu de données de nos téléphones personnelles. ​
  
-====== ​Questions ​de Sécurités ​et de vie privée ======+==========RENDU FINAL========== 
 +====Code source==== 
 +Ci-dessous le lien pour accéder au code source ​de la partie backend (serveur Python) et  la partie mobile (projet android studio) : 
 +[[https://​github.com/​gatienchapon/​SmartContactList]] 
 + 
 +====== Sécurité ​et vie privée ======
  
 Pour assurer la confidentialité des données échangées entre l'​application cliente et le serveur gérant l’algorithme d'​apprentissage,​ nous avons choisi d'​affecter un identifiant unique à chaque contact. ​ Pour assurer la confidentialité des données échangées entre l'​application cliente et le serveur gérant l’algorithme d'​apprentissage,​ nous avons choisi d'​affecter un identifiant unique à chaque contact. ​
Ligne 94: Ligne 99:
 De ce fait, **le nom des contacts ou les numéros de téléphones de ceux-ci restent privés** et ne sont pas envoyés et bien sûr non stockés sur le serveur distant. Seuls les identifiants des contacts transitent entre l'​application et le serveur, ce qui permet de rendre **les contacts non identifiables en dehors de l'​application**. De ce fait, **le nom des contacts ou les numéros de téléphones de ceux-ci restent privés** et ne sont pas envoyés et bien sûr non stockés sur le serveur distant. Seuls les identifiants des contacts transitent entre l'​application et le serveur, ce qui permet de rendre **les contacts non identifiables en dehors de l'​application**.
  
-====== Machine ​"Serveur" ​======+Nous avons choisi de fournir à nos utilisateurs deux versions de l'​application :  
 +  * Une version dite "Cloud": c'est à dire que le traitement et l'​algorithme d'​apprentissage est réalisé sur un serveur distant dans le "​Cloud"​. De ce fait, l'​utilisateur n'a pas a ce soucier de la partie serveur et il pourra réaliser de nouvelles synchronisations à n'​importe quel endroit (en ayant une connexion internet active comme la 3G, la 4G ou le WIFI). ​  
 +  * Une version dite "​Local":​ aucune information ne sera envoyée à un serveur distant et tous les traitements seront effectués directement sur l'​ordinateur de l'​utilisateur. Cela permet d'​assurer la sécurité et la confidentialité des données échangées,​ puisque aucune donné ne transitera par le réseau "​Internet"​ et tous les traitements s’effectueront en local.
  
-Le serveur fonctionne sur un machine distante privée stockée sur le cloud. C'est celui-ci qui se charge du traitement des données et de l'​algorithme d'​apprentissage.+====== Fonctionnement ​de la machine Serveur ======
  
 Notre serveur reçoit en entrée plusieurs vecteurs (envoyé par l'​application mobile et de type POST) correspondants aux appels d'un utilisateur (pour une question de "vie privée"​ les numéros de téléphone ainsi que le nom des contacts ne sont pas transférés,​ seuls les identifiants des contacts sont transférés) ​ .  Notre serveur reçoit en entrée plusieurs vecteurs (envoyé par l'​application mobile et de type POST) correspondants aux appels d'un utilisateur (pour une question de "vie privée"​ les numéros de téléphone ainsi que le nom des contacts ne sont pas transférés,​ seuls les identifiants des contacts sont transférés) ​ . 
  
-Après un processus de traitement réalisé par le serveur pour augmenter la taille des vecteurs, un appel à une bibliothèque ​python ​implémentant Random Forest est réalisé. ​+Après un processus de traitement réalisé par le serveur pour augmenter la taille des vecteurs, un appel à une bibliothèque implémentant Random Forest est réalisé. ​
  
 Le serveur renvoi par la suite ces prédictions concernant les identifiants des contacts que l'​utilisateur souhaitera potentiellement appeler à un instant donné. Le serveur renvoi par la suite ces prédictions concernant les identifiants des contacts que l'​utilisateur souhaitera potentiellement appeler à un instant donné.
  
-====== Application mobile SmartContactList sous Android ====== 
  
-===== Installation ​=====+====== Produit 1 : Une Version "​Local"​ ======
  
-  * Installation : télécharger ​l'APK suivant sur votre téléphone mobile : [[https://www.dropbox.com/s/oq8eg5zlalvt3yz/​app-release.apk?​dl=0|SmartContactListApp]] ​+Dans cette version, nous fournissons la machine serveur et l'application cliente Android.  
 +**//Attention : dans cette version votre ordinateur et votre smartphone doivent être sur le même réseau local.//**
  
-==== Utilisation ====+**1) Installation de la machine serveur sous Windows** 
 +  * Télécharger l’exécutable suivant sur votre ordinateur Windows : [[https://​www.dropbox.com/​s/​ewx6tkkgh6rbj7q/​Smart_Contact_List.exe?​dl=0|SmartContactList_Server_For_Windows]] 
 + 
 +**2) Installation de l'​application mobile sur cible Android** 
 +  * Télécharger l'APK suivant directement sur votre mobile : [[https://​www.dropbox.com/​s/​9guy316o7ml1l5i/​LocalSmartContactList.apk?​dl=0|SmartContactListApp_Local]] 
 +  * Allez dans l'​application "​Téléchargement"​ et cliquez sur le fichier .apk  
 +  * Sélectionnez "​Installer"​  
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-38-51.png?​200|}}  
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-40-29.png?​200|}} 
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-40-35.png?​200|}}  
 + 
 +**3) Utilisation et synchronisation avec votre machine local** 
 +  * Vérifiez que votre ordinateur et votre smartphone sont bien connectés au même réseau local (la connection WIFI de votre mobile doit être activée) 
 +  * Lancez l'​exécutable préalablement téléchargé sur votre ordinateur Windows 
 +  * Lancez l'​application mobile et choisir "Make a Sync"​ 
 +{{:​cours:​plim:​projet16_17:​gr1:​lancerexe.png?​200|}} 
 +{{:​cours:​plim:​projet16_17:​gr1:​sychronisation.png?​200|}} 
 + 
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-40-54.png?​200|}} 
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-41-21.png?​200|}}  
 + 
 + 
 + 
 +====== Produit 2 : Une Version "​Cloud"​ ====== 
 + 
 +Pour cette version, il suffit d'​installer l'​application mobile sur votre smartphone Android 
 + 
 +**Installation de l'​application mobile sur cible Android** 
 + 
 +  * Téléchargement : télécharger l'APK suivant sur votre téléphone mobile : [[https://​www.dropbox.com/​s/​oq8eg5zlalvt3yz/​CloudSmartContactList.apk?​dl=0|SmartContactListApp_Cloud]] 
 +  * Choisir "​Téléchargement direct" ​  
 +  * Allez dans l'​application "​Téléchargement"​ et cliquez sur le fichier .apk  
 +  * Sélectionnez "​Installer"​  
 +  * Ouvrir l'​application  
 +  * Cliquez sur "Make a Sync", attention vous devez avoir un accès à internet 3G, 4G ou WIFI 
 + 
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-38-51.png?​200|}}  
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-40-29.png?​200|}} 
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-40-35.png?​200|}}  
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-40-54.png?​200|}} 
 +{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-11-41-21.png?​200|}}  
 + 
 +===== Utilisation ​de l'​application mobile Android =====
 {{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-51-03.png?​200|}} {{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-51-03.png?​200|}}
 {{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-51-29.png?​200|}} {{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-51-29.png?​200|}}
 {{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-52-40.png?​200|}}{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-51-43.png?​200|}} {{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-52-40.png?​200|}}{{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-51-43.png?​200|}}
 {{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-53-47.png?​200|}} {{:​cours:​plim:​projet16_17:​gr1:​screenshot_2017-01-28-10-53-47.png?​200|}}
- 
cours/plim/projet16_17/gr1/gr1.1485599813.txt.gz · Dernière modification: 2017/01/28 11:36 par gchapon