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

Créé un projet nommé exo_firestore_nomdefamille. Le projet est connecté à un projet firebase.

Note : à l'examen, un projet de départ où la connexion à un firebase vous sera fourni pour gagner du temps.

On veut un bouton au milieu de l'application qui déclenchera l'ajout d'un document dans le firestore. Il y a un champ texte sous le bouton qui permettra de fournir le contenu à sauvegarder.

1 point A l'appui sur le bouton, vous devez créer un document.

1 point Le document doit se trouver précisément dans: la collection "Examens" > le document dont l'ID est "FinalA23" > la collection "Eleves". L'ID de votre document doit être généré automatiquement par Firestore.

Le document doit contenir EXACTEMENT les champs suivants:
  • 1 point "contenu" de type String avec le contenu du champ texte
  • 1 point "numeroDePoste" de type entier avec les 2 derniers chiffres du nom de ton poste
  • 1 point "suisSurUneTableHaute" de type booléen qui indique si vous êtes sur un table haute


HTTP JSON et erreurs

Dans un dossier séparé exo_erreurs, vous devez programmer une interface avec 1 champ de saisie et un bouton.

Le serveur déployé :

https://examen-final-h23.azurewebsites.net/Exam2023/{nombre}
Exemple d'usage :
https://examen-final-h23.azurewebsites.net/Exam2023/42
Le but du jeu est de trouver le nombre mystère :
  • Si le nombre est trop petit, vous recevrez un message d'erreur (code 400).
  • Si le nombre est trop grand, vous recevrez un autre message d'erreur (code 400).
  • Si le nombre est invalide, vous recevrez un message d'erreur (code 404).
  • Si vous entrez le bon nombre, vous recevrez un message de succès (code 200)

  • 1 point L'appui sur le bouton envoi une requête GET à l'URL du serveur déployé. Remplacez {nombre} par le contenu du champ texte.
  • 1 point Si tout se passe bien (aucune erreur) affichez un SnackBar indiquant le message renvoyé.
  • 1 point Si le web service renvoit une erreur, affichez un SnackBar indiquant le message d'erreur renvoyé.
  • 1 point Vous affichez un message d'erreur clair dans le cas où le serveur indique que vous n'avez pas envoyé un entier valide.

Traduction

Dans un projet séparé dans un dossier exo_traduction.

1 point L'image à l'adresse "https://fourn6-mobile-prof.onrender.com/exos/image" est affichée en pleine largeur.

1 point On trouve 2 boutons Oui et Non qui prennent chacun la moitié de la largeur largeur.

1 point On trouve une liste avec les mois de l'année, chaque mois a un bouton pour le supprimer (qui ne fait rien).

1 point L'interface est traduite en français et en anglais pour le titre et les boutons.

1 point L'interface est traduite en français et en anglais pour la liste.

Question à développement

1 point Entre 2 et 4 lignes

Décrivez ce qu'est un Cookie, et dans quel contexte est-ce qu'on s'en sert?

___________________________________________________________________________

___________________________________________________________________________

___________________________________________________________________________

___________________________________________________________________________