L’idée principale consiste à produire la version 2.0 du créateur de personnage fait précédemment sous TKinter. Entamé 2 ans et demi après le premier projet, celui-ci est arrivé après une moitié d’école d’ingé faite et une bien meilleure maîtrise de l’informatique et ses usages. Concrètement, j’ai souhaité produire une application permettant de créer son personnage de par une interface graphique. J’ai conçu ce projet de façon à ce qu’il soit évolutif et que je puisse ajouter des fonctionnalités petit à petit. Ainsi, de façon fonctionnelle, j’ai décidé de permettre d’ajouter, supprimer et modifier des entrées dans une base de données ainsi que de créer son propre personnage de niveau 1 avec les éléments intégrés dans cette base.
Afin de produire un projet maintenable, j’ai fait le choix de commencer par imaginer la structure de ma base de données. En partant de mes contraintes techniques, j’ai défini très proprement mon graphe et annoté mes raisonnements dans une documentation dédiée afin de pouvoir aisément revenir sur une décision tout en en gardant une trace si jamais.
J’ai décidé de fonctionner avec Java car c’est un langage que je maîtrise et qui est adapté à la création d’applications. J’aurai également pu utiliser le C++ mais étant moins à l’aise avec, j’ai préféré le laisser de côté afin de me concentrer sur l’apprentissage des autres techniques et sur la structuration du projet en lui-même.
Ayant fait quelques recherches préalables et grâce à l’expérience acquise par Tkinter, je me suis intéressé à JavaFx et ai décidé de l’utiliser à travers l’interface graphique Scenebuilder qui me permets de modifier aisément mes visuels et d’avoir un retour direct, sans compilation de l’application (ce que j’avais dû faire pour le premier projet sous python).
Pour le système de gestion de données, j’ai choisi d’utiliser MariaDB puisque c’est un standard assez largement utilisé et documenté. Utilisant Manjaro, j’ai découvert DBeaver pour gérer mes tables et j’apprécie beaucoup son interface que je trouve ergonomique (ce qui n’est pas habituel pour un logiciel gratuit). Pour les premières versions du logiciel, j’ai décidé de conserver la base de données en local sur ma machine car je souhaitais me concentrer sur l’interface graphique et l’aspect fonctionnel sur mon pc avant tout.
Le projet est fonctionnel sur mon ordinateur portable s’il est lancé depuis maven mais je ne suis pas parvenu à intégrer javafx au package jar pour des raisons inconnues. Cela me bloque donc dans la création d’un exécutable et j’ai pour le moment mis le projet en pause pour me concentrer sur mes études et d’autres projets associatifs.