Le contexte du projet
Aujourd'hui, l'une des entreprises leaders sur le marché européen de la sécurité repose sur un réseau étendu de centres de télésurveillance et d'assistance, garantissant un niveau de protection élevé.
Une plateforme web a été déployée à l'échelle nationale, permettant aux clients de centraliser les alertes issues de la vidéosurveillance et des alarmes incendie de leurs sites.
Initialement développée par une équipe externe, cette plateforme ne répondait plus aux attentes des utilisateurs ni aux standards de sécurité nécessaires au traitement de données sensibles. Une refonte complète de l'outil a donc été entreprise en étroite collaboration avec les équipes du client.
Le besoin
La plateforme initiale, devenue incapable de gérer efficacement les demandes des utilisateurs, nécessitait une stabilisation urgente pour rétablir l'accès à l'outil et éviter les crashs récurrents causés par un volume de données trop important (avec une base de données dépassant les 2 TB par an).
Une fois la stabilisation réalisée, le développement d'un nouvel outil plus robuste a été entrepris en parallèle de la version en production.
Une étude auprès des principaux clients a révélé que seule une fraction des fonctionnalités de l'outil initial était utilisée. Cela nous a permis de concentrer nos efforts sur les fonctionnalités dites primaires pour la nouvelle plateforme.
L'architecture des serveurs était complexe, avec de multiples couches de sécurité et des niveaux d'accès aux données sensibles, nécessitant une gestion complexe de l'affichage asynchrone des données sur la plateforme en ligne.
Les solutions apportées
La nouvelle plateforme a été développée avec Rails 6, TurboJS, Sidekiq et Redis.
Les statistiques de trafic et le système design ont révélé que l'outil était utilisé principalement de manière hebdomadaire et en cas d'alerte, avec une consommation importante des ressources serveurs pour la collecte de données.
Un connecteur entre la nouvelle application et la base de données (sous licence privée) a été développé pour améliorer les échanges entre les bases de données stockées sur un réseau local et l'outil web hébergé dans une DMZ.
L'application initiale étant déployée manuellement, j'ai opté pour une automatisation complète du déploiement en intégrant une étape de tests automatisés (CI/CD).
L'UX/UI a également été repensée pour faciliter la compréhension des données par les utilisateurs.
Enfin, une maintenance post-production de l'outil a été mise en place, ainsi qu'une formation de l'équipe technique du client pour prendre en main le projet.
Image under non-disclosure agreement.
Les résultats
La nouvelle plateforme a été livrée dans les délais, avec une mise en production progressive, permettant aux utilisateurs de se familiariser avec la nouvelle interface.
Les retours des clients ont été très positifs, et les premières demandes pour le développement de nouvelles fonctionnalités n'ont pas tardé à se manifester.
Aujourd'hui, l'outil est devenu le fer de lance de la société pour acquérir de nouveaux contrats.