Aller au contenu principal

Travail 2 : Interface graphique Android

Git et suivi du code​

1 point Tu dois utiliser le repo GitHub Classroom que ton professeur t'a envoyé. Un minimum de 8 commits de taille comparable est exigé. Il ne doit pas y avoir un gros commit contenant tout le projet et plusieurs autres commits presque vides. Les commits doivent décrire l'avancement du projet dans un français correct. Ces points sont conditionnels à la remise d'au moins deux commits par semaine de cours.

But du travail​

Dans ce TP, vous devez concevoir l'interface graphique d'une application de sondages permettant de consulter une liste de sujets, de proposer un nouveau sujet, de voter sur un sujet et d’en consulter les résultats. À ce stade, vous devez vous concentrer uniquement sur l'interface graphique de l'application :

  • La mise en page des activités doit respecter les captures d'écran fournies;
  • La liste des sujets de vote est codée en dur et demeure inchangée;
  • La liste n'a pas à être mise à jour à la suite de la création d'un nouveau sujet;
  • Quel que soit le sujet sélectionné, les écrans de vote et de résultats affichent toujours le même sujet.

Le but de ce TP est de mettre en place les éléments graphiques de l'application de sondage et non de gérer les données. La gestion et la validation des données, ainsi que l'affichage de messages d'erreur seront effectués lors du TP3.

Il y a 4 activités à faire :
  • Accueil
  • Création (d'un sujet)
  • Écran de vote (d'un sujet)
  • Écran de résultats (d'un sujet)

Activité 1 - Accueil​

Mise en page​

​1 point La mise en page respecte l'image suivante (titre de l'activité, etc.) :

​4 points La liste est fonctionnelle et occupe le reste de l'écran (hormis le bouton Ajouter).

​1 point La mise en page de chaque élément de la liste respecte l'image suivante. Vous devez coder la liste visuelle.

​1 point La liste codée en dur a au moins 100 sujets qui sont tous différents (on vous suggère d'utiliser ChatGPT pour générer le code pour remplir la liste).

​1 point Le bouton doit contenir une icône au choix.

Bouton Ajouter​

​1 point Le bouton Ajouter doit amener à l'activité de création d'un sujet.

Comportement​

​2 points Un appui sur le bouton avec l'icône amène aux résultats. Un appui sur tout autre endroit de la ligne amène à l'écran de vote.

Astuce

Si tu n'arrive pas à naviguer vers l'écran de vote et de l'écran des résultats à partir d'un élément de liste, tu peux ajouter des boutons pour t'y rendre directement. Nous pourrons alors au moins te donner des points pour ces activités.

phase 3 liste

Activité 2 - Création d'un sujet​

Mise en page​

​1 point La mise en page respecte l'image suivante (titre de l'activité, etc.) :

Fonctionnement correct​

​1 point On retourne à l'accueil quand on appuie sur le bouton.

À noter

Le sujet n'est pas ajouté à la liste de sujets (autrement dit, ça n'a pas à fonctionner).

phase2-ajout

Activité 3 - Écran de vote (d'un sujet)​

​1 point La mise en page doit correspondre (titre de l'activité, etc.), avec un moyen d'enregistrer une note de 0, 1, 2, 3, 4 ou 5 étoile(s) et un champ pour entrer le nom du votant. Le groupe d'étoiles doit être centré horizontalement.

​1 point On retourne à l'accueil quand on appuie sur le bouton.

phase 3 vote

Activité 4 - Écran de résultats (d'un sujet)​

​1 point La mise en page correspond (titre de l'activité, etc.) et permet d'afficher la moyenne.

​2 points Le graphique permet d'afficher la distribution des notes.

phase 3 resulats

Multilingue​

​1 point Vous devez traduire tous les textes de l'interface graphique (pas les données) existante en français et anglais.

​1 point L'orthographe doit être correcte, les textes ne doivent pas contenir de fautes dans la version française.

Fonctionnement global​

​5 points négatifs Fonctionnement correct et sans plantage. 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
  • autres cas...