Les attentes du cours, livrables demandés et mode d’évaluation.
Durée : 14 heures de TP
Binôme de projet
Sujet : Création d’une application mobile
En 7 séances de TP, vous serez ammenés à développer une application mobile Ionic.
Le sujet de l’application mobile est Rando Auvergne. Vous trouverez ci-dessous les spécifications fonctionnelles du résultat attendu.
Les points suivants sont considérés comme impératifs. Toute absence de ces éléments entraînera le retrait de points.
README.MD
indiquant les points suivants
Les points suivants sont considérés comme conseillés. Leur présence ajoutera des points supplémentaires (bonus).
Le but final de ce travail pratique est la réalisation d’une application de randonnée. Le résultat attendu comporte quatre écrans :
Vous trouverez à l’adresse suivante la maquette dynamique de l’application attendue :
[1.] Facultatif : Page d’authentification
[1.a] Feature: Page Connexion - Authentification
[1.a.1] Scénario: L’utilisateur se connecte avec de bons identifiants
Soit Bob utilisant Bob en tant que login et toto en tant que mot de passe
Quand il clique sur le bouton connexion
Alors il est redirigé sur la page listant les randonnées [2.]
[1.a.2] Scénario: L’utilisateur se connecte avec de mauvais identifiants
Soit Bob utilisant Bob en tant que login et autre chose que toto en tant que mot de passe
Quand il clique sur le bouton connexion
Alors un message d’erreur s’affiche indiquant qu’il ne peut pas se connecter
[2.] Page Liste des randonnées
[2.a] Feature: Affichage des randonnées
[2.a.1] Scénario: Affichage des randonnées en ligne
Soit L’utilisateur possède une connexion internet
Quand Il arrive sur la page
Alors Les randonnées disponibles sur le serveur sont affichées sur la page
[2.a.2] Scénario: Affichage des randonnées hors-ligne
Soit L’utilisateur ne possède pas de connexion internet
Quand Il arrive sur la page
Alors Un message d’erreur s’affiche indiquant qu’il est impossible de se connecter au serveur
Ce scénario est facultatif
[2.a.3] Scénario (Optionnel): Affichage des randonnées hors-ligne
Soit L’utilisateur ne possède pas de connexion internet
Quand Il arrive sur la page
Alors Les dernières randonnées téléchargées lorsque l’utilisateur avait internet sont affichées
[2.b] Feature: Navigation vers la page détail
[2.b] Scénario: Navigation vers la page détail
Soient Les randonnées sont affichées sur la page
Quand L’utilisateur clique sur une des randonnées
Alors L’utilisateur est redirigé sur la page détaillant une randonnées [3.]
[2.c] Feature: Navigation vers la page détail
[2.c] Scénario: Affichage des données de la randonnée en cours
Soit L’utilisateur a une randonnée en cours
Alors Le temps depuis le début de la randonnée est affichée en bas de la page
Quand L’utilisateur clique sur le cadre du bas de page indiquant le temps
Alors Il est redirigé vers la page indiquant la randonnée en cours [4.]
[3.] Page: Détail d’une randonnée
[3.a] Feature: Affichage des randonnées
[3.a.1] Scénario: Affichage des randonnées
Soit L’utilisateur arrive sur la page Détail d’une randonnée [3.]
Alors Les informations relatives à la randonnées téléchargées depuis le serveur sont affichées sur la page
[3.b] Feature: Démarrer la randonnée
[3.b.1] Scénario: Démarrage de la randonnée
Quand L’utilisateur clique sur l’un des boutons start
Alors Il est redigiré vers la page de la randonnées en cours [4.]
Et Alors La randonnée courante est considérée comme la randonnée active
[4.] Page: Randonnée en cours
[4.a] Feature: Démarrage de la randonnée
[4.a.1] Scénario: Démarrage du chronomètre
Soit L’utilisateur a cliqué sur un des boutons starts de la page [3.] (ref. Scénario 3.b.1)
Quand L’utilisateur arrive sur la page Randonnée en cours [4.]
Alors Le chronomètre est initialisé à 0
Et Alors Le chronomètre démarre
[4.a.2] Scénario: Démarrage de la géolocalisation
Soit L’utilisateur est sur la page [4.]
Quand Toutes les 5 secondes
Alors la position de l’utilisateur est rafraîchie
Et Alors Le curseur de position est déplacé sur la carte
[4.b] Feature: Validation d’une étape
[4.b.1] Scénario: L’utilisateur valide une étape
Soit L’utilisateur est en mouvement
Quand La position de l’utilisateur rencontre une zone de validation de l’étape (un geofence)
Alors L’étape courant devient la précédente et la suivante devient la courante
Et alors La liste des étapes scrolle automatiquement vers l’étape courant
[4.b] Feature: Fin de la randonnée
[4.b.1] Scénario: L’utilisateur valide la dernière étape
Soit L’utilisateur est en mouvement
Quand Il valide la dernière étape
Alors Le chronomètre s’arrête
[4.b.1] Scénario: L’utilisateur termine manuellement la randonnée
Soit L’utilisateur est en mouvement
Quand Il clique sur le bouton Finish
Alors Le chronomètre s’arrête