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
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 :
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.
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.
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.
À 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.
À 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).
Utilisez cette API pour que la vue correspondant à la route "compass" permette :
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.
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 :
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.