ParcMan est une application développée initialement en PHP, connectée à plusieurs bases de données, notamment MySQL et Oracle. Elle utilise le framework CakePHP basé sur le modèle MVC (Modèle-Vue-Contrôleur). Ce framework gère tous les aspects de l'application avec peu de dépendances externes, hormis quelques bibliothèques JavaScript comme jQuery ou Highcharts pour générer des graphiques.

L'application comprend deux parties distinctes : la partie Automation pour l'équipe du même nom, et la partie Network pour l'équipe réseau.

Cependant, ParcMan sert aussi à de nombreux autres membres du service DTIT. Ils l'utilisent pour consulter les informations sur les équipements, car l'interface web offre un accès plus simple et rapide que les requêtes SQL ou les scripts manuels. Cette accessibilité fait de ParcMan un outil central pour la gestion quotidienne et la prise de décision. C'est pourquoi l'application doit être maintenue et mise à jour en permanence. Sa stabilité, sa cohérence et sa fiabilité sont essentielles, tant pour les équipes directement concernées que pour l'ensemble des collaborateurs qui s'appuient sur ses données.

L'évolution constante des équipements et des besoins implique que ParcMan doit être flexible et facilement adaptable pour rester un outil fiable et performant.

La nouvelle version sur laquelle je travaille est développée en Java, compilée au format .war avec Maven, puis déployée sur un serveur WildFly. Le cycle de déploiement se déroule en trois étapes : d'abord en local sur mon poste de travail, ensuite sur jenkins pour compiler le projet et enfin sur un serveur de test wildfly.

Pour le versionnage du code, j'utilise Git, intégré à une instance Tuleap interne appelée Codex. La communication avec les utilisateurs et clients internes se fait principalement via Microsoft Teams ou Outlook.

La base de données est organisée de manière hiérarchique pour gérer les différents types d'équipements. Un "Node" regroupe les informations communes à tous les équipements, tandis que les informations spécifiques sont stockées dans des sous-types dédiés. Les tables enfants sont reliées par des associations 0..1 (champ optionnel) ou 1..1 (champ obligatoire). Des pages supplémentaires permettent de visualiser graphiquement les données. Les graphiques sont générés via Highcharts à partir des données des différentes bases.

Technologies

Travail à réaliser

Corriger l’application/ les bugs