#pagebreak(weak: true) == Ouverture Au cours des trois années d'alternance passées au sein de l'entreprise Unit Solution, j'ai activement pu participer au développement et à la maintenance du projet InfSuite. Comme pour l'année dernière, j'ai apporté des améliorations à l'outil d'administration. Toujours orienté sur la gestion de la base de données, j'ai pu créer une fonctionnalité pour vérifier les scripts exécutés précédemment sur la base de données. Comme expliqué plus tôt dans ce document, InfSuite utilise des scripts SQL pour permettre de mettre à jour les schéma de base de données et ainsi éviter des modifications manuelles en base de données. Pour garder une liste des scripts déjà exécutés sur le serveur, un écran dans l'application permet de voir rapidement l'historique d'exécution des scripts. Ajouter ce genre de gestion de base de données dans l'application permet également de remettre en question la manière actuelle de faire les choses pour tenter d'améliorer le processus.\ Actuellement, pour gérer les schémas de base de données, nous utilisons le logiciel Power Designer. Il permet de gérer les définitions des modèles de données avec les relations, les définitions de clés primaires, etc. Il ne permet cependant que de générer des définitions, il ne permet pas d'effectuer les actions sur la base de données, il reste totalement hors connexion.\ Une fois les modifications effectuées dans l'outil, il génère le nouveau schéma de base avec les définitions de tables, colonnes... Pour créer les scripts qui vont mettre à jour la base de données avec ces nouvelles définitions, il faut aller chercher dans le fichier de schéma de base de données, modifié par Power Designer, les différentes modifications. On peut alors créer un nouveau fichier ``` .sql``` dans lequel on va y ajouter les instructions SQL permettant d'effectuer ces modifications. Une fois le script rédigé, on peut tester que tout fonctionne correctement sur une base de développement. Si tout fonctionne comme prévu, alors il faut le dupliquer dans les dossiers de configuration spécifiques à chaque environnement et pousser toutes ces modifications sur Azure Devops. Toute cette gestion complexifie la simple de tâche de mettre à jour les informations en base de données. Il serait plus convenant de trouver une alternative moins complexe pour effectuer cette tâche. Après avoir mis à jour la base de données, on peut alors légitimement se poser la question : Comment simplifier l'administration d'une base de données. On pourrait alors partir par exemple sur une implémentation dans l'outil d'administration du projet pour effectuer cette tâche longue et récurrente, ce qui élminierait une grande partie de ressource temps liée à la main d'oeuvre pour réaliser ce genre d'actions.\ Etudier la faisabilité et l'importance d'une telle tâche est de la même importance qu'étudier une migration de base de données. Il faut s'assurer que le temps de recherche et de développement confèrent plus d'avantage et libère plus de temps que ce qui est requis pour mettre en place la solution.