PROJET-INFO5 2021 Artiphonie (saison 2)

=Le projet=

Le projet Artiphonie a débuté en 2020, il porte sur le développement d'une application mobile à destination des enfants atteints de troubles du langage. Le projet est réalisé en partenariat avec une orthophoniste du CHU de Grenoble. Le but de l'application est d’une part d’aider les enfants à améliorer leur prononciation de manière autonome, en dehors des séances d’orthophoniste. D’autre part, de permettre aux orthophonistes de suivre la progression de leurs patients et d’adapter les exercices à leur trouble. L'apprentissage et l'entraînement sur l'application se fait par l'intermédiaire de mini-jeux et de la méthode Borel-Maisonny.

Des applications similaires existent déjà, cependant elles sont soit payantes, soit disponibles uniquement pour d’autres langues. L’idée est donc de créer une application gratuite et collaborative.

=Les objectifs=

Les objectifs de départ:
 * Une réflexion autour du backend de l'application
 * Une analyse critique de la version actuelle pouvant mener différents développements (refontes partielles, extensions, améliorations)
 * Le développement d'une nouvelle application dans le même domaine

Après des réunions avec le porteur de projet et l'orthophoniste qui collabore sur le projet, les objectifs ont été revus :
 * Redéfinition de l'architecture de l'application pour qu'elle puisse accueillir différente sous application
 * Mise en place de cette nouvelle architecture
 * Réalisation du back end de l'application

=L'équipe=
 * Morgan Crociati
 * Gaëtan Rival
 * Rémy Ruzafa
 * Claire Velut

En collaboration avec : Bastien De Araujo, Guillaume Denis, Estelle Gillet-Perret et Olivier Richard

=Sprints =

Sprint 0
Backend
 * Schéma d'architecture
 * Schéma de BDD relationnelle

Frontend
 * Prise en main du projet
 * Prise en main de Godot

Sprint 1
Backend
 * Poc de l'API

Frontend
 * Review de code
 * Critique constructive de l'application actuelle
 * Définition d'une architecture pour l'ajout de nouvelles applications facilement

Sprint 2
Backend
 * Mise en place de l'API
 * Poc HTTPS

Frontend
 * Implémentation de la nouvelle architecture de l'application
 * Passage d'Artiphonie sous cette nouvelle architecture
 * Ajout de nouvelles fonctionnalités

=Journal=

Sprint 0
 Vendredi 29 Janvier 


 * Découverte du projet
 * Installation des outils et du code déjà existant
 * Réunion avec le client : Olivier Richard, pour préciser le projet et ses objectifs

 Lundi 08 Février 

Réunion avec le client Olivier Richard et les 2 anciens INFO5 ayant continué à travailler sur le projet pour définir ce qui a été fait et ce qui doit être fait.

 Mercredi 10 Février 


 * Retour sur la réunion et discutions autour de la gestion de projet
 * Définition des objectifs principaux du projet et des milestones
 * Planification du rétro planning et des sprints
 * Répartition des rôles :
 * Equipe Backend : Gaëtan et Rémy
 * Equipe Frontend : Claire et Morgan


 * Réunion avec les 2 anciens INFO5 pour obtenir les fichiers manquants sur le git et les informations nécessaires à l'exportation du projet godot sous Android afin de tester la version final.

 Jeudi 11 Février 


 * Prise en main de Godot Engine
 * Création d'un mini projet à part pour découvrir et tester les fonctionnalités de Godot Engine
 * Elaboration diagramme de l'architecture de l'application Artiphonie
 * Elaboration diagramme BDD

 Vendredi 12 Février 


 * Poursuite du travail de découverte de Godot
 * Mise en place d'une interface graphique sur le mini projet
 * Découverte et mise en place de tests unitaires en Godot sur le mini projet qui pourraient être ajouté au projet Artiphonie
 * Approfondissement diagramme de l'architecture de l'application Artiphonie
 * Approfondissement diagramme BDD
 * Elaboration de la preuve de concept (POC) sur le backend avec une application Godot liée à une base de donnée par requête HTTP
 * Réflexion sur les choix de technos utilisées pour la POC sur l'API et la BDD
 * Commencement du développement de l'API en Spring pour la POC

Sprint 1
 Lundi 22 Février 


 * Revue de code
 * Discussion sur le diagramme de BDD en groupe complet
 * Mise en place d'issues liées l'amélioration de l'application existante
 * Peaufinement diagramme BDD avec l'ajustement de certaines tables
 * Réalisation de la doc sur le diagramme BDD

 Mardi 23 Février 


 * Revue de code
 * Test de l'exportation du projet sous Android
 * Réalisation d'une doc pour l'exportation sous Android
 * Réflexion sur la maintenance à long terme de l'application
 * Finition du développement de l'API avec la liaison avec la BDD PostSQL pour la POC

 Mercredi 24 février 


 * Résolutions d'issues soulevées lors de la revue de code
 * Développement de l'application GODOT pour la POC avec l'envoi de requetes HTTP POST et GET
 * Mise à jour de la partie permission Android de l'application, retirer la partie deprecated et faire avec les fonctions built-in

 Jeudi 25 Février 


 * Résolutions d'issues soulevées lors de la revue de code
 * Réunion avec Estelle GILLET-PERRET pour parler de l'application existante et de la nouvelle application.
 * Fusion des deux parties de la POC avec l'application GODOT communiquant avec la BDD par l'intermédiaire de l'API
 * Redéfinition des entités de l'application (à penser en lien avec la BDD)

 Vendredi 26 Février 


 * Préparation de la soutenance intermédiaire
 * Soutenance intermédiaire
 * Réflexion autour de la RGPD accès sur le projet
 * Création de l'entité Word, Words, ... sur l'application

Sprint 2
 Lundi 01 Mars


 * Réunion avec le porteur de projet (M. Richard) pour redéfinir les objectifs suite à la réunion avec l'orthophoniste
 * Réalisation du poster de présentation du projet en anglais
 * Finalisation de la POC avec l'affichage du résultat d'une requête GET sur Godot
 * Adaptation du bouton à propos à la nouvelle architecture
 * Mise en place des templates (shared dans le projet).
 * Premier template réalisé home (menu des applications).

 Mardi 02 Mars 


 * Redaction de la documentation (Markdown) de la POC Godot HTTP connectée à une base de donnée PostgreSQL par l'intermédiaire d'une API Spring
 * Création de la scène partagé s'entrainer
 * Template "Learning" implémenté
 * Template "playing" implémenté avec un système de difficulté

 Mercredi 03 Mars 


 * Mise en place de la VM Azure et configuration de cette dernière pour heberger notre base de donnée et API
 * Deploiement de l'API et BDD, puis phases de tests à distance
 * Adaptation du memory à la nouvelle architecture
 * Conversion du jeu goose game sur la nouvelle application.
 * Création du template de prononciation utilisé pour Artiphonie

 Jeudi 04 Mars


 * Correction du poster de présentation du projet en anglais
 * Ajustement de l'API avec correction de bug
 * Basculement des requetes HTTP en HTTPS avec la mise en place d'un certificat sur la VM Azure
 * Adaptation de la scène de fin de jeu
 * Implémentation de la partie learning (qui est non partagé)

 Vendredi 05 Mars 


 * Rédaction de la spécification de l'API
 * Création des scores des jeux
 * Implémentation d'un système de liste de mot, changeable depuis le menu principal.
 * Définition des difficultés pour les jeux existant.

 Lundi 08 Mars 


 * Mise à jour de la structure de la BDD avec l'avancé et les changements de l'application Artiphonie
 * Adaptation du jeu écoute et choisis à la nouvelle architecture
 * Réflexion autour de la façon de trouver si un mot prononcé est correct, la méthode employé précédemment était d'entrer tous les homonymes d'un mot (ce qui n'est pas envisageable pour la version finale)

 Mardi 09 Mars 


 * Création d'un espace de création de mot en lien avec Lexique sur l'application (Fonctionnalité supprimé post-réunion).
 * Découverte de l'API ARASAAC.
 * Réunion avec M. Richard sur l'avancé du projet
 * Redéfinition de Word, pour savoir si un mot prononcé est correct on se fit à sa phonétique obtenue grâce à Lexique.

Mercredi 10 Mars 


 * Amélioration de l'ergonomie de la BDD pour stocker des images
 * Modification de l'entitée Mot sur le front-end et back-end (normalisation avec les données de Lexique)
 * Création d'un script d'export pour les mots lexiques.
 * Création d'un script d'export pour les images d'ARASAAC.

 Jeudi 11 Mars 


 * Elaboration du POC HTTPS avec une application GODOT
 * Développement des fonctions dans l'API
 * Création de la page principal de l'application qui mène vers les sous application tel qu'Artiphonie
 * L'espace avatar est repensé et recréer avec des objets que le joueur peut acheter avec des étoiles qui viennent améliorer l'avatar
 * Création d'un script exportant tous les données nécessaire à la BDD (Lexique + ARASAAC)

 Vendredi 12 Mars 


 * Déboggage certificat HTTPS sur le serveur Artiphonie
 * Développement des fonctions dans l'API
 * Travail sur l'espace d'avatar
 * Redéfinition de la relation mot - image, un mot peut être lié à une image et une image peut être lié à plusieurs mot
 * Pour limiter le nombre d'image dans la BDD, création d'un algorithme de regroupement des mots (manger, mangé, mangerais == même image)

 Lundi 15 mars 


 * Déboggage certificat HTTPS sur le serveur Artiphonie
 * Ajout des instructions
 * Création de liste de mot par défaut (générale, monosyllabique, bisyllabique, ...)
 * Redéfinition du nom des fichiers images généré par la fonctionnalité d'export car non supporté sur Android (nom donné en ASCII)
 * Affichage de l'avatar sur les menus
 * Ajout de la difficulté phonétique
 * Insertion et conversion des fichiers vidéos dans la partie Learning

 Mardi 16 mars 


 * Correction de bugs relevé après des tests utilisateurs
 * Amélioration de l'espace avatar
 * Ajout du dictionnaire Lexique en local sur l'application
 * Correction de la comparaison des mots avec le nouvelle algorithme

 Mercredi 17 mars 


 * Correction de derniers bugs
 * Ajout de commentaires sur le code dans Godot
 * Rédaction des différentes documentation :
 * Documentation des éléments composant l'application sous Godot
 * Tuto sur comment ajouter une nouvelle sous application
 * Tuto sur comment ajouter un nouveau jeu
 * Rédaction du rapport

 Jeudi 18 mars 


 * Finalisation du rapport
 * Rédaction du rapport technique
 * Préparation de la présentation finale
 * Enregistrement du screencast

 Vendredi 19 mars 


 * Soutenance finale sur le projet Artiphonie

=Liens=
 * Depôt Git
 * Rapport Final
 * Rapport Technique
 * [[Media:Artiphonie_presentation_final.pdf|Présentation Finale]]
 * [[Media:Presentation_Intermediaire_INFO5_ProjetS10_groupe_13.pdf|Présentation Mi-Projet]]
 * Screencast
 * [[Media:Poster_Atrhiphonie.pdf|Poster]]
 * [[Media:Flyer_-_Atrhiphonie.pdf|Flyer]]