TP 5 : Device APi

Objectifs pédagogiques du TP

Outils

Pour ce TP, vous devez disposer d'un téléphone ou d'une tablette disposant de capteurs (batterie, accéléromètre, boussole, GPS...) et d'un navigateur récent.

Ressources

Préambule

Ce TP sera réutilisé dans le TP 5bis. Il est donc impératif de l'avoir terminé avant la prochaine séance de TP.

Créez un projet MIF38-TP5 sur la forge, ajoutez-y votre binôme et vos encadrants (comme reporters). N'oubliez pas de mettre vos noms dans la description du projet.

Vous devrez être capable de déployer votre application sur votre téléphone / tablette afin de tester votre code. Vous pouvez faire cela :

Structure de l'application

Créez une single-page application Backbone ou React (ou les 2) vide, et ajoutez-y les routes suivantes :

La route home présentera un menu permettant d'accéder aux autres vues. Chacune des autres routes permettra d'utiliser l'une des API présentées en cours.

Device API

Générez une version de Modernizr conforme aux besoins de votre application et intégrez-la dans la page d'accueil. Dans les vues correspondantes, vous vous en servirez pour tester les fonctionnalités correspondantes et appeler les modèles appropriés.

Battery API

Utilisez les événements de la Battery API pour faire en sorte que la vue correspondant à cette route affiche :

Remarque : cette API est disponible sur un ordinateur portable. Vous pouvez vous en servir pour tester le bon fonctionnement de votre application sans utiliser de téléphone.

Media capture and streams API

À l'aide de l'API Media capture and streams, faites en sorte que la vue correspondant à la route "camera" permette :

Remarque : cette API est également disponible sur un ordinateur portable. Son implémentation est variable selon les navigateurs. Faites en sorte de couvrir le maximum de versions pour qu'elle fonctionne sur différents dispositifs et testez avec plusieurs navigateurs.

Geolocation API

À l'aide de l'API Geolocation, faites en sorte que la vue correspondant à la route "location" affiche la position de l'appareil en haute précision (enableHighAccuracy). Vous pouvez également afficher cette position sur une carte mais il vous faudra du réseau pour cela.

Remarque : cette API est disponible sur un ordinateur portable (sans la haute précision).

DeviceOrientation events API

Utilisez cette API pour que la vue correspondant à la route "compass" permette :

Vibration API

Placez un bouton "Toggle vibration" sur la vue correspondant à la route "vibration" pour que l'appareil effectue, de façon continue l'action suivante :

Chaque appui sur le bouton déclenchera ou arrêtera cette boucle.

Rendu du TP

Important : n'oubliez pas de mettre un readme à la racine de votre projet pour indiquer vos noms et quelles APIs / outils (polyfills, bibliothèques) vous avez utilisés.

Vous rendrez une seule version de ce TP (et répondrez au questionnaire 5 sur Spiral), avec :

  1. une version Web utilisant la device API
  2. une version en application native (cf. TP 5bis)

Le rendu du TP s'effectue sur la forge. Le dernier commit devra avoir été fait avant le début de la séance de TP suivante.

Licence Creative Commons
Valid XHTML 1.0 Transitional