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)