Réarchitecture d'une application opérationnelle pour Gestical
Innowise a migré toutes les applications clients vers un écosystème unique basé sur Azure et utilisant une pile technologique unifiée.

Vue d'ensemble du client
Gestical est une entreprise suisse spécialisée dans l'efficacité énergétique, en particulier dans la mesure et la comptabilisation de la consommation de chaleur et d'eau pour les bâtiments résidentiels et industriels. Au cœur de ses opérations se trouve une suite propriétaire d'applications interconnectées qui prend en charge tous les aspects, de la planification des tâches et du travail sur le terrain à la production de rapports et à la facturation.
Bien que la complexité du projet ait été initialement sous-estimée, le renforcement ultérieur de l'équipe a considérablement amélioré l'organisation opérationnelle et la communication. Cela a permis à Innowise de gérer professionnellement des couches techniques complexes et de fournir des résultats de haute qualité répondant à nos objectifs commerciaux.

Défi
Au fil du temps, l'écosystème d'applications de Gestical - Gestical Web, Gestical Plan et Gestical MIF - s'est considérablement développé en termes de fonctionnalités et de charge système. Cependant, l'architecture, l'infrastructure et l'optimisation des performances n'ont pas évolué en conséquence. Innowise a été engagé pour moderniser l'application principale, Gestical Web.
- Ralentissements et pannes du système. Le système Gestical n'a pas été conçu pour une mise à l'échelle dynamique. Au fur et à mesure que le nombre de bâtiments, d'appareils et d'utilisateurs augmentait, le risque de pannes et de ralentissements du système s'accroissait.
- Une forte dépendance à l'égard des flux de travail documentés en dehors du système. De nombreux processus opérationnels fondamentaux n'avaient pas été intégrés dans le système ou documentés de manière adéquate, ce qui obligeait à tout documenter en dehors du système. Par conséquent, les employés devaient s'appuyer sur la documentation présente en dehors du système pour accomplir leurs tâches. Il en résultait une augmentation du travail manuel, un ralentissement des opérations et un risque accru de ne pas disposer d'informations complètes dans le système.
- Pile technologique dépassée. Les applications ont été créées avec une version obsolète de ASP.NET MVC et hébergées sur une seule machine virtuelle Azure.
- Base de données non optimisée. La base de données sur site du client manquait de normalisation et d'indexation, ce qui avait un impact sur les performances.
Modernisez vos systèmes internes avec Innowise
La solution que nous avons fournie
Modernisation progressive de la plate-forme Gestical
Innowise a mis en œuvre une stratégie de modernisation progressive qui a transformé le système patrimonial de Gestical en une plateforme évolutive et sécurisée.
La modernisation a porté sur l'application opérationnelle principale de Gestical, Gestical Web, que les utilisateurs utilisent pour gérer les bâtiments, contrôler les appareils, générer des rapports et les coûts énergétiques.
Refonte de l'architecture et modernisation de la plate-forme
La modernisation a commencé par une évaluation complète de l'écosystème Web existant de Gestical. L'ancienne application était construite à l'aide d'une version obsolète d'ASP.NET MVC et hébergée sur une seule machine virtuelle Azure, ce qui créait des contraintes d'évolutivité et des problèmes de performance.
Notre équipe a réimplémenté Gestical Web en utilisant Next.js et NestJS et l'a déployé sur Azure App Service, une plateforme PaaS gérée dans le nuage. Cette approche a permis au client de réduire ses efforts de gestion de l'infrastructure et ses coûts de maintenance.
Migration et optimisation des bases de données
La migration et l'optimisation de la couche de base de données ont constitué un élément essentiel de la modernisation. Pour résoudre les problèmes critiques de performance, nous avons migré la base de données MySQL auto-hébergée vers Azure Database for MySQL.
Introduction d'une couche d'API unifiée
Auparavant, plusieurs applications accédaient directement à la base de données, créant ainsi des dépendances cachées. Cela rendait les mises à jour risquées et augmentait la complexité de la migration.
Nous avons introduit une couche API REST centralisée qui sert désormais de point de communication unique entre les applications du client et la base de données. Cette approche a permis de normaliser l'échange de données, de renforcer la validation et le contrôle d'accès et de réduire considérablement la complexité de l'architecture.
Tous les composants du système de Gestical Web interagissent désormais par le biais de cette couche API sécurisée.
Travailler sur la plateforme Gestical a nécessité un alignement minutieux entre les systèmes existants et la nouvelle architecture. Notre équipe s'est concentrée sur la conception d'une base évolutive qui permet à la plateforme d'évoluer tout en maintenant la continuité des opérations en cours.

Aliaksandr Kavalchuk
Chef de projetTechnologies
Backend
NestJS
Frontend
React, TypeScript
Base de données et accès aux données
MySQL, TypeORM
Authentification et sécurité
Azure AD
Équipe
UX/UI

Résultats
La plateforme Web de Gestical fonctionne désormais au sein d'une architecture dorsale unifiée, ce qui améliore la fiabilité du système et crée un environnement plus stable pour la gestion des flux de travail opérationnels.
En déployant la plateforme sur Azure App Service, le client a réduit les coûts de maintenance de l'infrastructure et simplifié la gestion continue de la plateforme.
Avec l'introduction d'un couche API REST centralisée, La communication entre les applications et la base de données est désormais normalisée et plus sûre, ce qui réduit les dépendances cachées et facilite la mise en œuvre des futures mises à jour du système.
Ces étapes établissent une base cloud-native structurée, sécurisée et évolutive pour la poursuite de la modernisation progressive de la plateforme Gestical.









