Phase 3

Améliorations variées

Dans cette phase 3, nous allons apporter des améliorations à votre projet.

Les étapes
  • HTTPS
  • Authentification par Cookie
  • Attente dans l'interface graphique
  • Multilingue

2 points HTTPS

Certificat et serveur

Vous devez créer votre propre certificat avec un mot de passe sécurisé et configurez votre serveur pour qu'il ne s'exécute que en HTTPS sur le port qui vous a été attribué ou 8443.

Client HTTP et application Android

Vous devez configurer l'application Android pour qu'il se connecte en HTTPS. Vous devez faire la configuration nécessaire pour que l'application accepte un certificat auto-signé.

Pointage
  • 1 point serveur en HTTPS, fonctionne dans un navigateur / PostMan
  • 1 point fonctionne dans le client Android

7 points Authentification par Cookie

Serveur

Vous devez implanter une authentification par token. Cela inclut la création, le stockage et la vérification des token et leur transport à travers un cookie.

Vous devez limiter l'accès à l'application en conditionnant l'accès au serveur à l'existence d'un cookie transportant un token valide.

Vous devez également valider qu'un utilisateur ne peut accéder qu'à ses données et pas à celles des autres.

Client Android

Vous devez programmer le support des cookies dans votre client afin de permettre le stockage et le ré-envoi du cookie d'authentification.

Pointage
  • 2 points les tokens sont implantés sur le serveur
  • 2 points les tokens sont transportés via des cookies
  • 1 point les accès sont conditionnés à un token valide
  • 1 point un utilisateur ne peut pas accéder aux informations d'un autre en étant connecté
  • 1 point le client Android gère les cookies

4 points Attente au niveau de l'interface graphique.

Attente artificielle

Étant donné la proximité entre votre serveur et votre application (sur le même réseau), vous n'aurez presque pas d'attente au niveau de vos appels réseau. Vous devez donc introduire un délai sur chaque appel réseau de 2 secondes (ajoutez un Thread.sleep(2000) à chaque méthode de votre web service).

Indicateur de l'attente

Vous devez ajouter des indicateurs visuels qui indiquent qu'une requête réseau est en cours jusqu'à un éventuel échec ou succès.

Vous devez vous assurer qu'une action ne peut pas être répétée si l'utilisateur l'a déjà déclenchée (exemple: désactiver le bouton jusqu'à la réponse pour éviter d'envoyer 2 requêtes).

Pointage
  • 1 point délai au niveau du serveur
  • 3 points affichage de l'attente, désactivation des actions

4 points Multilingue

Anglais et français

Vous devez implanter au minimum 2 langues dans l'interface de votre application:

  • les éléments d'interface graphique sont dans les 2 langues
  • les différents messages (confirmation, erreur, etc.) sont dans les 2 langues
  • les messages sont correctement orthographiés dans les 2 langues
Pointage
  • 2 points tous les éléments demandés existent dans les 2 langues
  • 2 points orthographe

Fonctionnement global

5 points négatifs Votre application doit fonctionner sans plantage et correctement. Ce pointage fonctionne en négatif. Si l'application fonctionne correctement en tout temps, vous conservez votre note. Dans le cas contraire, vous perdez des points avec un maximum de 5.

  • plantage de l'application -1 point
  • interface illisible -1 point
  • information affichée incohérente -1 point
  • autre cas ...