Travail 1 - IdĂ©e d'application đĄ
Objectifâ
Planifier votre application mobile avant de commencer à coder. Ce TP est un document remis en markdown (texte, captures d'écran de wireframes ou photos de dessins à la main).
Utilisation de l'IAâ
Dans ce TP, l'utilisation est possible dans les cas suivants:
- correction du langage / français. "Corrige les fautes de français / orthographe dans le fichier tp1.md"
- suggérer / corriger des conditions de satisfactions "Vérifie mes conditions de satisfaction pour RU 8"
Remiseâ
Séance 2.1
Description de l'applicationâ
â2 points DĂ©crivez votre application en quelques paragraphes.
- Quel est le but de l'application ?
- Ă qui s'adresse-t-elle ?
- Quelles sont les fonctionnalités principales ?
FonctionnalitĂ© avancĂ©eâ
â1 point Vous devez choisir et dĂ©crire une fonctionnalitĂ© avancĂ©e que vous devrez implanter d'ici la fin de la session, parmi les choix suivants:
- implantation de notifications mobiles : l'utilisateur peut recevoir des notifications mĂȘme quand l'application n'est pas lancĂ©e
- déploiement sur le PlayStore : l'application est téléchargeable et fonctionnelle sur le PlayStore Android (attention nécessite de payer)
- support multi-plateforme : l'application fonctionne sur Android mais aussi en web et sur Windows
- API externe : l'application utilise une API externe REST pour l'essentiel des données (ex. utiliser l'API de Spotify pour une application de listes de lecture)
- utilisation de l'IA : l'application utilise des fonctionnalités d'IA comme la génération de messages ou d'images
- autre : validez avec votre enseignant si vous avez une autre idée, par contre il faut comprendre que le soutien technique n'est pas garanti (votre enseignant ne sait pas tout faire)
Dessins en wireframeâ
â3 points Dessinez les Ă©crans principaux de l'application (Ă la main ou avec un outil comme Figma, Excalidraw, etc.).
- Minimum 4 écrans différents (connexion, accueil, détail d'un truc, création d'un truc, etc.)
- La navigation entre les Ă©crans doit ĂȘtre clairement indiquĂ©e (flĂšches, liens, annotations, etc.)
- Chaque écran doit indiquer des données éventuelles, prenez une feuille complÚte pour dessiner un écran et avoir de la place.
RĂ©cits utilisateursâ
â3 points RĂ©digez au moins 10 user stories sous la forme :
En tant que [rÎle], je veux [fonctionnalité] afin de [bénéfice].
- Les récits doivent couvrir les fonctionnalités décrites et les écrans dessinés.
- Vous devez obligatoirement avoir un RU qui permet la création d'un compte / profil avec une image attachée que l'utilisateur peut choisir depuis la galerie du téléphone.
- Les rĂšgles de contrĂŽle d'accĂšs (qui peut faire quoi) doivent ĂȘtre clairement indiquĂ©es dans les rĂ©cits.
- Si un récit fait partie du produit minimal viable (MVP), indiquez-le clairement.
QualitĂ© du document / françaisâ
â1 point Le document doit ĂȘtre clair, bien structurĂ© et sans fautes.
- Fautes d'orthographe ou de grammaire importantes
- Document désorganisé ou difficile à lire
Annexe : exemple de l'application des profs
Montpetit Ami
Montpetit Ami est une application qui aide une personne Ă entretenir ses relations en centralisant les informations sur ses amis, les rappels importants, les notes de suivi et des suggestions intelligentes pour reprendre contact au bon moment.
Descriptionâ
L'objectif de l'application est de réduire l'oubli et de faciliter le maintien des liens sociaux. L'utilisateur peut gérer ses contacts importants, consigner des nouvelles aprÚs une rencontre ou un échange, visualiser ce qui s'en vient pour chaque ami et recevoir de l'aide intelligente pour résumer l'information utile et préparer un message à envoyer.
ĂlĂ©ment avancĂ©â
Catégorie choisie : IA
La fonctionnalité avancée principale est l'utilisation de Gemini via l'écosystÚme Firebase pour analyser les notes associées à un ami et générer :
- un court résumé contextualisé de ce qui est important à retenir à son sujet;
- une proposition de message personnalisé que l'utilisateur peut ensuite partager avec le menu de partage du téléphone.
Cette composante ajoute une valeur concrÚte à l'application en transformant des notes brutes en information exploitable rapidement, ce qui aide l'utilisateur à reprendre contact de façon plus naturelle et pertinente.
Stack technologiqueâ
| Composante | Technologie | RĂŽle |
|---|---|---|
| Application cliente | Flutter / Dart | Développement d'une application unique pour Android et iOS |
| Authentification | Firebase Authentication | Connexion par courriel/mot de passe et par numéro de téléphone |
| Données applicatives | Firebase (écosystÚme) / base de données cloud | Stockage des profils d'amis, notes, rappels et liens entre utilisateurs |
| Intelligence artificielle | Gemini via Firebase | Résumé automatique et génération de message |
| Partage natif | Menu de partage du téléphone | Envoi rapide d'un message généré vers une autre application |
| Saisie vocale | Reconnaissance vocale mobile | Dictée des notes ajoutées à un ami |
RĂ©cits utilisateurâ
Les récits utilisateur ci-dessous sont triés avec le MVP en premier, puis en ordre de priorité de réalisation pour deux sprints.
RU-01 : CrĂ©ation de compte (OBLIGATOIRE)â
Sprint : 1 MVP : Oui Points : 5
Description : En tant qu'utilisateur, je veux me créer un compte avec un nom d'utilisateur et un mot de passe afin de commencer à utiliser l'application et sauvegarder mes informations.
Conditions de satisfaction :
- Le systÚme valide la complexité minimale du mot de passe pour prévenir la création de comptes vulnérables.
- Je peux attacher une photo de profil (OBLIGATOIRE) de la galerie du téléphone à mon profil.
- Deux utilisateurs ne peuvent pas possĂ©der le mĂȘme nom d'utilisateur ou courriel.
RU-02 : Connexion sĂ©curisĂ©eâ
Sprint : 1 MVP : Oui Points : 5
Description : En tant qu'utilisateur, je veux me connecter avec un identifiant/mot de passe ou un numéro de téléphone via Firebase Authentication afin d'accéder à mon espace personnel de façon sécuritaire.
Conditions de satisfaction :
- L'accÚs aux fonctionnalités et données de l'application est formellement bloqué tant que l'authentification n'est pas complétée avec succÚs.
- Le processus d'authentification utilise un protocole sécurisé (Firebase) sans exposer d'identifiants en clair dans les logs ou en mémoire de façon persistante.