Documentation autorisée: Tout ce que vous avez produit pendant le cours, ainsi que les repository utilisés et présentés pendant le cours.

Durée: Vous avez 2 heures pour compléter l'examen. Plus si vous avez le droit à du temps supplémentaire.

Firestore

Commence par faire une copie du projet de départ firebase_start et renomme le exo_firestore_creer. Le projet est déjà connecté à un projet firebase. L'initialisation est également déjà intégré.

Vous devez montrer une écriture dans Firestore.

  • 1 point Il faut un bouton au milieu de l'application qui déclenchera l'ajout d'un document dans le firestore.
  • 1 point A l'appui sur le bouton, vous devez créer un document avec
    • un champ "nomDeFamille" de type String où vous inscrirez votre nom de famille
    • un champ "date" de type Date avec la date d'aujourd'hui
  • 1 point Vous devez créer le document dans une collection appelée "extreme-nomdefamille-prenom" en remplaçant par votre nom de famille et prénom sans accents.

Traduction

Dans un projet séparé des autres exercices, vous devez produire l'interface suivante et implanter la traduction.

  • 1 point La mise en page respecte les copies d'écran.
  • 2 points Les traductions français et anglais sont telles que vues dans les copies d'écran.

HTTP JSON et erreurs

Dans un projet séparé des autres exercices, vous devez programmer une interface avec 2 champs de saisie et un bouton.

  • 1 point L'appui sur le bouton envoi une requête GET à l'URL suivante "https://4n6.azurewebsites.net/milieu/{a}/{b}" avec a et b remplacés par la valeur du premier champ texte et b par la valeur du 2ème champ texte. Le service renvoie la moyenne des 2 nombres si on fournit 2 nombres entiers. Il renvoie une erreur si ce ne sont pas des nombres ou si a est un entier plus grand que b.
  • 1 point Si tout se passe bien affiche un SnackBar indiquant "Yeah tout est beau" suivi de la valeur renvoyée.
  • 1 point Si le web service renvoit une erreur, vous affichez une erreur.
  • 1 point Si vous affichez un message différent et clair dans les 2 cas d'erreurs: si ce ne sont pas des nombres (exemple https://4n6.azurewebsites.net/milieu/pipo/popi) ou si ce sont des nombres mais que a est plus grand que B (exemple https://4n6.azurewebsites.net/milieu/5/2)