DIAPASON
DIAPASON est la première application sur laquelle j'ai travaillé dans un contexte professionnel. En effet, il s'agit de l'application dont j'ai rejoint l'équipe à mon arrivée en stage. A mon arrivée, on m'a expliqué que DIAPASON serai un sujet compliqué car il s'agit d'une "vieille" application. En effet, son développement ayant débuté en 2002, l'application utilise des versions anciennes de Java, HTML, CSS et surtout le framework Struts en version 1.x, framework qui, selon mon tuteur, était déjà obsolète à la création du projet.
DIAPASON est une application qui est maintenu par SQLI pour le client RTE. Il s’agit d’une application permettant à RTE d’effectuer le calcul des consommation d'électricité de leurs clients ainsi que les facturations qui en découlent.
J'ai ainsi rejoint une petite équipe composée de mon chef de projet, d'un seul autre développeur qui était également mon tuteur et un testeur qui était disponible pour nous donner son avis, proche de celui d'un utilisateur "classique" et pour vérifier le bon fonctionnement de l'application lorsque des modifications étaient apportées. D'un point de vue non technique, c'est avec cette application que j'ai appris ce qu'était vraiment la méthodologie agile; les daily meetings, les échanges avec le client et le reste de l'équipe, etc.
Mon objectif et la raison pour laquelle j'ai rejoint ce projet était la mise en place d'une grosse évolution de l'application prévue sur 5 des 6 mois de mon stage et ayant pour but d'ajouter de nouveaux types de calculs dans l'application : les "Flexibilités locales".
Mes objectifs pour cette évolution étaient multiples :
-
la mise en place des règles de gestion pour les nouvelles courbes
-
le traitement en base de données des nouvelles courbes
-
définir le comportement des nouvelles courbes
Pour mon premier objectif, les règles de gestion que je devais implémenter m'ont été données par le client. Mon rôle était de faire en sorte que les fichiers .csv envoyé en entrée par les utilisateurs soient analysés puis, s'ils sont correctes, que les données qu'ils contiennent soient insérées dans la base de données de l'application. Le problème avec cette étape aura été de gérer les changements d'avis de mon client.
Pour mon deuxième objectif, le traitement des nouvelles courbes dans la base de données, j'ai dû faire deux sous-tâches. Premièrement, j'ai dû imaginer la table qui allait stocker les données des fichiers récupérés en entrée. Par la suite, j'ai dû définir les formules de calcul des "Flexibilités locales" dans la partie PL/SQL (PL/SQL est un langage procédural spécifiquement conçu pour accepter les instructions SQL au sein de sa syntaxe ) de l'application.
Pour mon troisième objectif, définir le comportement des nouvelles courbes, cela revenait à récupérer les données traitées en base afin de les rendre disponible à l'usage dans la partie frontend de l'application.
Pour faire un bilan de mon travail sur cette évolution, je dirais que le bilan est plutôt bon. J'ai réussi à remplir tous mes objectifs dans les temps alors qu'il s'agissait de ma première expérience professionnelle et que j'étais la majorité du temps seul pour travailler. Quand je suis parti de SQLI, l'évolution n'était malheureusement pas en production donc je ne suis pas entièrement sûr si celle-ci est actuellement disponible pour les utilisateurs de DIAPASON.
Par la suite, j'ai également fait un peu de ticketing sur le projet. Faire cela m'aura permis d'apprendre à travailler avec du code écrit par d'autres développeurs et à faire de l'analyse. Même si ce n'était pas la raison pour laquelle j'ai été pris sur DIAPASON, je suis content d'avoir pu faire ça car ce sont des compétences qui me servent encore aujourd'hui pour mon alternance.
Bien que je ne sois pas à jour sur les détails, je sais que le projet DIAPASON devait se terminer en été 2023, pour être remplacée courant 2024 par une version 2.0 du projet qui devait être une version modernisée de l'application.