EPISODE 21:

He was aware that he was still a child.







ANR TypoRef

Ce projet était un projet scolaire de 3 mois pour mettre en pratique nos cours de génie logiciel et de Java. Nous avions le choix entre 3 sujets, et nous avons choisi le plus difficile mais aussi le plus intéressant. Le professeur qui nous a donné ce sujet avait besoin d'une application pour les chercheurs du CESR de Tours. Pour leurs recherches ils ont une base de donnée de lettrines datant de la Renaissance. Lorsqu'ils trouvent de nouvelles lettrines, ils doivent les comparer à celles qu'ils ont déjà, pour les dater, trouver leur créateur... Notre professeur devait développer une IA de reconnaissance de forme pour faciliter le processus de comparaison. Il nous a donc demandé de faire le logiciel qui hébergera son IA et qui sera utilisé par les chercheurs du CESR pour classer leurs images de lettrines. Le fait que ce projet soit un projet ANR le rend impressionnant car ce n'est pas juste un projet interne de l'Université de Tours, c'est un projet national, donc c'était une chance de pouvoir travailler sur un tel projet.

Nous avons découpé le projet en 3 parties :

  • La première partie était toute la conception de l'application, donc nous avons fait des diagrammes de cas d'utilisation, des diagrammes de séquence et à la fin un diagramme de package et de classe. Nous avons également réfléchi à la base de donnée pour notre application.
  • La deuxième partie était censée être sur la réalisation d'une application propre en faisant un Javadoc et en écrivant les tests unitaires de nos méthodes. Mais, vous souvenez-vous quand j'ai dit que les chercheurs avaient déjà une base de donnée de lettrines ? Eh bien ils nous ont donné la base de donnée et c'était un bordel sans nom. Nous avons donc dû faire un énorme travail de normalisation pour extraire les données intéressantes. Nous avons même fait des scripts Java uniquement pour récupérer des données problématiques qui étaient concaténées avec d'autres. A cause de ça nous avons rushé les tests unitaires et avons dû faire beaucoup de débogage dans la troisième partie.
  • Pour cette troisième et dernière partie, nous devions en fait écrire toute l'application. Nous avons écrit beaucoup de code et rushé la conception car nous avons un peu galéré avec l'interface JavaFX. A la fin l'application était pleinement fonctionnelle, mais bon, elle était... moche.

Donc la base de donnée initiale ressemblait à ça :

initial database image

et nous avons obtenu cette base de donnée qui est définitivement moins confuse.

after database image

Voici quelques visuels clés de l'application :

typoref image typoref image typoref image typoref image

Pour cette dernière image, comme les lettrines peuvent être décrites par des mots clés choisis par les chercheurs, nous avons pensé qu'il pourrait être une bonne idée de faire un nuage de mots des mots clés pour visualiser quels mots clés sont les plus utilisés. Nous avons fait ça avec un petit script Python.