Journal de Bord - Artiphonie 2022

From air
Revision as of 15:16, 18 March 2022 by Daphne.Lambert (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • INFO5 Projets 2021-2022
  • Encadrants: Estelle Gillet-Perret (EGilletperret@chu-grenoble.fr) au CRTLA de Grenoble, et Olivier Richard (olivier.richard@imag.fr)


Journal de bord

01/02/2022 | Réunion avec Olivier Richard

  • Une semaine d'adaptation, de prise en main du projet
  • But version 3 : monter dans la mise en production (plus facilement utilisable, attaquer la partie Usage et Suivi des jeunes patients par les ortophonistes sur une cohorte d'enfants)
  • Partie évolution partie Godot-Androïd - Partie web-backend : à reprendre, changer l'API, Java Spring Boot - Partie frontend : à discuter
  • Contraintes : léger, facilité d'intervention
  • Prendre rdv avec Estelle pour discuter : - ce qu'elle souhaite voir, - ce qu'il est possible de faire de notre côté (communication dev-client) -> en petit groupe ou tous ensembles en fonction des rdvs : CHRU La Tronche
  • Programmer un rdv la semaine prochaine : rentrer dans le code, préparer les questions
  • Partie Tablette : jeu tactile, reconnaissance vocale, recueil de statistiques, paramétrages insuffisants, manipulable par le parent - Partie Ortophoniste - Service API REST : paramétrage à distance, recueil de statistiques, manipulation des statistiques -> garder la séparation API REST accès à la base de données - interface Web de l'ortophoniste ou du patient
  • Eventuellement problématique de droits d'accès : tous les ortophonistes peuvent ne pas avoir accès à toutes les données
  • Changement d'API ? Python, fast API, SQLite Alkini (object relational mapping) -> PostGres (à terme)
  • Base de données stockée où ? container Docker en local au départ, location d'un petit serveur virtuel chez OVH -> écriture d'une documentation sur la mise en place et l'évolution d'un tel serveur
  • documentation à des fins d'administration du système (à la fois pour le développement et l'exploitation)
  • Bonne prise en main de Godot - préférence pour VueJS pour le Frontend - avec Python, fast API
  • Point la semaine prochaine avec Olivier

07/02/2022 | Réunion avec Olivier Richard

  • 1ère approche : l'appli peut fonctionner sans cette banque de données
  • 1 set de données par semaine, comme dans la toute première version : l'orthophoniste rentre des mots dans l'appli
  • 2ème approche : piloté par le backend à distance
  • feuille excel fournie avec un ensemble d'attributs à rentrer dans la base de données + filtrage de la banque de mots vers un set spécifique + on peut aussi sélectionner les mots voulus parmi ceux rendus par le filtrage
  • évolution de cette banque de mots : pourrait être une appli à part
  • vocation à être remplie par plusieurs personnes + fautes possibles + une colonne par attribut + feuille excel plus facile à importer/exporter
  • Colonne de gauche : mots du Set a sélectionner - Colonne de droite : mots sélectionnés pour le patient
  • il faudrait même prévoir que la table évolue en nombre de colonnes (optionnel)
  • l'appli doit marcher avec une banque de mots évolutive, partielle
  • réaliser quelque chose de simple, à tester rapidement
  • Banque de données peut très bien être extérieure à l'appli, publique
  • Une partie du backend pourrait être publique, spécifique au paramétrage de la banque de données
  • En VueJS, possible d'exporter directement en XLS (voire JSON, voire opération à la mano en SQLite) : tout est une question de documentation
  • Olivier deviendrait développeur Androïd pour simplifier l'installation de l'appli hébergement : Docker dans un premier temps, machine virtuelle chez OVH dans un second temps
  • consignes doivent pouvoir être paramétrables depuis le site web -> dommage de redéployer l'appli en souhaitant modifier les consignes
  • prévoir un export externe des données brutes / statistiques avec potentiellement une anonymisation des patients
  • éventuellement : pouvoir diviser temporellement l'entraînement de l'enfant et la vérification par les parents
  • Separer la prod (prioritaire) des PoC (moins prioritaire)

14/02/2022 | Mini réu interne - Découverte du code

  • tous les projets ont été regroupés sous le sous-groupe project-info5-21-22
  • un nouveau projet artiphonie-doc a été créé qui regroupe la documentation
  • quelques premiers commits ont été effectués, notamment pour éditer les README et importer la doc et l'app Godot de WriteInGesture

22/02/2022 | Réunion backend entre Sami et Paul

  • Points sur les avancées de chacun
  • Éclaircissements des interrogations sur la BDD
  • Paul va intervenir sur la partie backend

02/03/2022 | Réunion en sortie des vacances d'hiver

  • Sami :
    • prise en main de FastAPI et SQL Alchemy
    • mise en place de la BDD
    • APIs qui fonctionnent
    • -> BDD à consolider
  • Paul :
    • tuto VueJS
    • génération d'une appli VueJS sans BDD
    • conteunerisation du backend : un conteneur à lancer pour avoir accès à l'API
    • pas encore de vraies requêtes mais requêtes factices réussies
    • -> appli VueJS à développer (interfaces dans un premier temps, puis collaboration avec Sami pour les requêtes backend)
  • Daphné :
    • remplacement de la reconnaissance vocale par une coche et une croix
    • changement des sons de récompense
    • -> ticket faire marcher le bouton Listen
  • Julien :
    • rajout du bouton Consignes parents
    • scène à remplir
    • -> s'inspirer du bouton Infos pour récupérer les consignes à partir d'un fichier texte issu des données

04/03/2022 | Daily Meeting

  • Sami :
    • on peut maintenant lancer les conteneurs pour lancer le backend
    • modification du code côté BDD : surtout relations mono-mono qui posent problème
    • -> rendre opérationnel la BDD d'ici ce soir
  • Paul :
    • 2 pr backend et frontend
    • code autogénéré VueJS
    • -> voir avec Daph le partage du code
  • Daphné :
    • tuto VueJS
    • -> lancer app et commencer à coder
  • Julien :
    • bouton consignes parents
    • scène avec fichier texte
    • -> faire marcher le bouton Listen, comment on gère les comptes des utilisateurs ?

05/03/2022 | Appel téléphonique avec Estelle

  • envoyer les consignes jouées dans l'application Godot avant dimanche
  • envoyer le résumé des attributs de la base de données pour chaque classe
  • consignes corrigées + consigne globale envoyées par Estelle lundi
  • retour d'Estelle sur les attributs à ajouter / enlever de la base de données (quid de ethnicité)
  • dictionnaire de mots envoyé par Estelle vendredi au plus tard
  • on garde : un dictionnaire associant un mot avec sa liste d'attributs ; la possibilité d'ajouter ou d'enlever un mot à ce dictionnaire
  • créer une liste de mots pour un patient devient : cocher pour chaque filtre OUI / NON / NEUTRE (si OUI : on garde les mots respectant l'attribut ; si NON : on garde les mots ne respectant pas l'attribut ; si NEUTRE : on ne filtre pas en fonction de cet attribut)
  • identifiants de connexion envoyés par mail + disponibles dans la fiche patient
  • au moins développer la mécanique de progression du système de récompense, pas forcément les items qui vont avec
  • dans la partie Jeu, il faut que les niveaux sup soient bloqués tant que les niveaux en dessous ne sont pas réussis à au moins 80 %
  • les mots servant de détracteurs dans le jeu "Ecoute et choisis" devraient être mieux choisis, pour mieux faire travailler l'enfant (filtres similaires)
  • Le niveau "phonétique" dans le jeu "Ecoute et choisis" devrait être déplacé dans Entraînement, étant donné que c'est de la reconnaissance de sons. La partie Entraînement aurait ainsi 2 manières de s'entraîner : par les mots, et par les sons

07/03/2022 | Daily Meeting

  • Sami :
    • reprise de la BDD
  • Paul :
    • modèles de tâches pour la conception de la plateforme web
  • Daphné :
    • fin du tuto VueJS
    • appel téléphonique et échange de mails avec Estelle
    • conception de la plateforme web avec Paul, + modifications en fonction des retours d'Estelle (modèles de tâches, IHM abstraites)
    • modification des consignes dans l'app + ajout d'une consigne globale au niveau du bouton de Julien
    • prise en main du projet Vue : page Accueil, page Compte, Footer, Header + responsivity
    • -> re-enregistrer les consignes orales avec le nouveau texte, poursuivre les interfaces Compte et Accueil en Vue
  • Julien :
    • essai de déploiement sur téléphone pour tester le bouton Listen
    • -> système de récompense, bug dans le jeu de l'oie (superposition dans les niveaux difficiles)

09/03/2022 | Réunion Poster

  • improvisation : tour du poster + questions
  • réponses préparées à quelques questions imaginées
  • ex: Borel-Maisonny, projet déjà existant, logiciels utilisés, CRTLA, rôles des enfants/parents/ortho, quels troubles, quel âge des enfants, notre plus-value, durée du projet, l'organisation interne, découpage du travail, outils de créativité, origines du projet, concurrents dans d'autres langues et pas gratuits

11/03/2022 | Réunion avec Estelle

  • Sets de mots courants + tokens de connection dans l'ancienne version
  • Première liste de mots avec filtres envoyée par mail
  • Estelle veut pouvoir choisir que des Co, que des CoVo, etc.. dans le choix des filtres
  • Proposer les filtres plutôt que laisser le libéral choisir
  • Plusieurs niveaux de hiérarchie : sous forme d'un arbre
  • D'abord le nombre de syllabes, puis la structure, puis les sons ...
  • Interface facile pour le libéral : interface phonétique : coche des sons, puis le système rangle dans l'ordre les consonnes/voyelles et leur donne une famille (labiale, etc...)
  • Permettre l'ordre comme une arborescence
  • Nouvelles consignes audio à enregistrer avec le micro de Julien
  • Pas de lien entre une liste de mots et une image
  • Maquettes de Estelle pour l'interface ortho à recevoir prochainement

11/03/2022 | Retour post-réunion

  • page de tri : ex. système de fichiers (tri par structure syllabique, tri par nombre de syllabes, tri par phonèmes)
  • système de fichiers type Discord
  • page d'ajout d'un mot au dictionnaire : juste besoin de l'écriture phonétique
  • clavier phonétique à mettre à disposition
  • maquette page de tri + photos de l'interface à envoyer à Estelle

11/03/2022 | Daily Meeting

  • Sami :
    • modèle de la nouvelle BDD
    • -> contacter Olivier Richard pour discuter de la table "filtres" en base de données, et de la bonne manière de les représenter en BDD
  • Paul :
    • modèle de la nouvelle BDD
    • réunions avec plusieurs membres de l'équipe
    • -> relancer Olivier Richard sur le déploiement sur le play store
  • Daphné :
    • ajout des boutons et des faux diagrammes dans la fiche patient
    • maquette de la page de tri
    • -> mail à Estelle pour lui demander quoi conserver pour les statistiques / résultats de l'enfant
    • -> maquette et photos à envoyer à Estelle
  • Julien :
    • niveaux supérieurs bloqués pour une première activité
    • redirection de la partie phonétique de "Ecoute et choisis" dans entraînement
    • -> comment stocker le taux de réussite pour le déblocage ?
    • -> finir le système de difficultés pour chaque activité
    • -> recréer la partie phonétique de "Ecoute et choisis" dans Entraînement
    • pour l'année prochaine : la régularité est récompensée, et on gagne des étoiles en entraînement

14/03/2022 | Daily Meeting

  • Sami :
    • travail sur la BDD : presque en marche, toutes les méthodes fonctionnent
    • échange avec Olivier : pas de Playstore, conflit ajout de mots avec/sans filtre, suppression de mots
    • -> encore une table ou 2 à tester
    • -> besoin d'une liste pour fournir des APIs
  • Paul :
    • travail avec Sami sur la BDD
    • échange avec Estelle : arbre des filtres, données résultats à stocker pour les statistiques d'un patient, retour maquette Daphné
  • Daphné :
    • maquette Page de filtre
    • résumé écrit du rdv avec Estelle
    • -> poursuite du travail sur la page Fiche Patient
    • -> page Ajout d'un mot au dictionnaire
  • Julien :
    • fix du bug sur le Jeu de l'Oie (superposition des éléments)
    • découverte d'un 2e bug à la fin de la partie
    • -> déplacement de la partie phonétique du Listen and Choose dans Entraînement
    • -> calcul du taux de réussite en cours
  • => à faire : liste de fonctions backend nécessaires pour le front (app et interface web)
  • => rapports à réaliser : diapo de présentation, rapport de projet (Rappel du sujet, Cahier des charges, Technologies employées, Architecture technique, Réalisation technique, Gestion de projet, Outils utilisés - collab et CI/CD, Métriques logicielles, Conclusion, Retour d'expérience), démo, glossaire, bibliographie, tuto de téléchargement de l'appli, schémas

16/03/2022 | Daily Meeting

  • Sami :
    • travail sur la BDD : création des méthodes pour l'orthophoniste
    • travail en parallèle avec Paul sur certains points de la BDD discussion (sur les méthodes posts et leur formats)
  • Paul :
    • Travail avec Julien sur la partie envoie de requête entre Godot et la BDD
    • Bugfix des méthodes posts traitées comme GET pour la connexion
    • Implementation d'API Backend pour la table enfant
    • Review merge request de Daphné côté front
  • Daphné :
    • 3 merges requests (page patient, formulaire pour ajouter un mot dans le dictionnaire, formulaire pour créer un patient dans la BDD)
    • A commencé la page des filtres, pop up de choix entre création d'une liste vide ou d'une liste existante
  • Julien :
    • Création compte d'enfant sur Godot
    • Requête godot vers la BDD
    • Les difficultés dans les jeux sont fonctionnelles
    • Appel avec Estelle. Elle est ravie du déroulé et de l'investissement de l'equipe
    • Apprend et écoute : volonté de changement d'Estelle. Les phonems devraient être déplacés de la section s’entraîner vers la partie apprendre car plus cohérent selon Estelle.