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:gr18:gr18

Projet Groupe 18

Présentation du projet

  • Charles Heitzler
  • Matin
  • Thomas Grillo
  • Matin
  • Nom du Projet : ActivityWatcher

Présentation

ActivityWatcher consiste à récupérer la durée d’utilisation de chaque application sur le téléphone et de produire un rapport hebdomadaire sous forme de barres de progressions les une au dessous des autres.

Chaque barre représentant un jour sera clicable et développera toutes les informations concernant le jour, pour voir quelles applications ont été utilisées et dans quelles proportions.

L'application proposera des rapports intelligents détaillant les zones géographiques et les heures auxquelles l'utilisation a été la plus intensive, ainsi qu'une liste exhaustive des applications utilisées classées par durée, sous forme de listes ou de graphes.

L’avantage et que nous pourrons nous occuper des statistiques indépendamment les une des autres et ce de manière incrémentale tout au long du projet.

Le but de cette application est la prise de conscience de l’utilisation de son téléphone à l’utilisateur pour l’aider à « décrocher ».

Coté esthétique ce sera très épuré et flat, les barres représentant les jours auront aussi un code couleur de vert à rouge, représentant quelles jours on été critiques.

Il peut être également intéressant de faire varier les seuils du code couleur afin de mettre en place une sorte de challenge pour l'utilisateur en comparant le résultat de chaque jour avec celui de le ou des semaines précédentes.

Sénario

Nous sommes lundi et j'ai à ma disposition le compte rendu intégral de la semaine précédente. Je peux constater que la journée du mardi à été forte en utilisation. Si je développe cette journée : l'essentiel de l'utilisation s'est faite dans la zone de Polytech entre 8h et 17h45 ! Soit en cours, et les applications les plus utilisées sont “SMS (30min)” et “Clash of Clan (1h30)” ⇒ Conclusion personnelle : au lieu de jouer je ferais mieux de suivre le cours !

Matériel disponbile

HTC one m8

  • Caractéristiques techniques :
    • Android 6.0
    • Capteurs : accéléromètre, gyroscope, proximité, compas, baromètre ;
    • WLAN Wi-Fi 802.11 a/b/g/n/ac, dual-band, Wi-Fi Direct, DLNA, hotspot ;
    • Bluetooth v4.0, A2DP, aptX
    • GPS, with A-GPS, GLONASS
    • NFC (market/operator dependent)
    • Infrared port
    • Radio Stereo FM radio, RDS
    • USB microUSB v2.0 (MHL TV-out), USB Host

ASUS ZenPhone

  • Caractéristiques techniques :
    • Android 5.0
    • Accéléromètre/Boussole/Gyroscope/Capteur de proximité/Capteur de luminosité ambiante
    • WLAN 802.11 a/b/g/n/ac
    • Bluetooth V4.0
    • 4G
    • GPS: GPS/GLONASS/QZSS/SBAS/BDS
    • NFC
    • Intel® Atom™ Quad Core Z3580 (2.3GHz)
    • 4GB LPDDR3 RAM

Environnement de développement

Ressouces utilisées

  • Données d'utilisation de l'API Android
  • Echantillonnage GPS

Faisabilité

A l'heure actuelle, l'intégralité des smartphones est équipée de puces GPS plus ou moins performantes. Le SDK android est probablement l'environnement le plus documenté et l'algorithme K-Means dispose de nombreuses implémentations qui ont fait leurs preuves.

Nous avons fait nos choix en matière de technologies afin d'optimiser nos chances de réussite dans l'objectif que nous nous sommes fixé.

Nos recherches dans ce qui existe dèjà dans ce domaine nous ont conforté dans l'idée que notre projet est non seulement faisable, mais aussi innovant.

Algorithme

Le travaille à effectuer sur les données récupérées relève de la classification. Nous devrons pouvoir détecter d'une part quelles sont les zones dans lesquelles le téléphone est le plus solicité. Nous devons détecter quels sont les crénaux horaires les plus critiques et quels sont les applications les plus utilisées.

Pour cela nous avons choisi l'algorithme K-Means, pour des raisons de facilité à mettre en oeuvre, de documentation et d'efficacité.

RENDU FINAL

Téléchargement

Vous trouvez içi une archive RAR contenant les sources ainsi que les exécutables.

Application

Le code source de l'application se trouve dans le répertoire ActivityWatcher. C'est une application Android, donc le projet doit être importé dans Android Studio.

Dans l'archive vous trouverez également le .apk de l'application installable directement grâce à la commande : adb install -l activitywatcher.apk

Note sur l'application : Celle-ci peut fonctionner hors connexion grâce à la base de donnée locale du téléphone qui fait tampon. Après expérimentation, il suffit replacer le smartphone et le serveur sur le même réseau local en veillant à ce que la configuration soit correcte, puis, de sélectionner le jour de l'expérimentation dans la liste pour que l'application lance une synchronisation avec le serveur.

Serveur

Le backend de notre application qui reçois, traite, et renvoie les données a été réalisé en JEE grâce au framework spring-boot. Le code source du serveur est disponible dans le répertoire ActivityWatcherBackend. L'effort a été fait de changer de type de base de données, pour permettre une exécution simplifier. La base de données mySQL est donc remplacée par un homologue embarqué : H2.

Il s'agit d'un projet Gradle, importable très simplement dans IntelliJ en tant que projet Gradle. Il faudra effectuer une synchronisation dans le volet Gradle, pour qu'il se charge de télécharger les dépendances.

Vous trouverez le .jar du server, directement exécutable grâce à la ligne suivante :

java -jar activitywatcher-backend-1.0.0.jar

HOW TO

Voici comment installer notre application :

Déployer le backend

  • Executer activitywatcher-backend-1.0.0.jar sur l'ordinateur hôte :
  • java -jar activitywatcher-backend-1.0.0.jar

Déployer l'application

  • adb install -l activitywatcher.apk
  • Au lancement donner toutes les autorisations nécessaires au fonctionnement de l'appli (elle les demandes elle même !)
  • Déplier le menu drawer sur la gauche et appuyer sur paramètres pour afficher la popup de configuration du serveur.
  • Entrer l'adresse IP de l'ordinateur hôte du serveur et le port 8080.
  • L'application est prête à être utilisée.
cours/plim/projet16_17/gr18/gr18.txt · Dernière modification: 2017/02/19 16:34 par tgrillo