Journal de Bord - Artiphonie 2022


 * 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 BDDAPIs 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.