Mission de consultance · Banque · Maintenance legacy
Keytrade Bank — Web Platforms Maintenance
Maintenance de plusieurs plateformes web bancaires : site public, extranet client et intranet administratif, dans un environnement PHP legacy soumis à des contraintes opérationnelles strictes.
Expérience associée
Blubird
Développeur PHP backend / consultant · 2018 — 2019
Voir l’expérience correspondanteContexte du projet
Keytrade Bank est une banque en ligne belge fournissant des services bancaires numériques et des outils de trading en ligne.
Pendant cette mission, j’ai rejoint une petite équipe de développement PHP responsable de la maintenance de plusieurs plateformes web utilisées par la banque.
Ces plateformes étaient distinctes mais interconnectées : le site public, utilisé comme portail marketing et d’onboarding pour les clients potentiels ; l’extranet, une application web privée utilisée par les clients de la banque une fois leur compte créé ; et l’intranet, une interface administrative interne utilisée par les employés de la banque pour gérer certaines opérations clients.
Les systèmes de transactions financières eux-mêmes étaient gérés par d’autres systèmes internes et ne faisaient pas partie des applications sur lesquelles j’ai travaillé.
Architecture du système
Les applications étaient construites avec PHP 5.6, dans une version personnalisée de PHP compilée et certifiée pour les exigences de sécurité de la banque.
Les systèmes reposaient sur une architecture legacy sans framework moderne et étaient maintenus dans une base de code monolithique traditionnelle.
Les composants principaux incluaient des applications backend PHP, des bases de données MySQL, une infrastructure de déploiement interne et des intégrations avec d’autres systèmes bancaires internes.
Mon rôle
J’intervenais comme développeur backend intégré en support de l’équipe de maintenance PHP.
La mission portait principalement sur des activités de maintenance et de debugging.
- Correction de bugs sur le site public, l’extranet et les applications intranet
- Investigation de problèmes de production signalés via le système de tickets interne
- Implémentation de petites corrections et améliorations
- Support à l’équipe existante dans la maintenance des systèmes PHP legacy
Structure d’équipe
L’équipe de développement PHP était relativement réduite.
Des rôles supplémentaires existaient en dehors de l’équipe, notamment une équipe QA responsable de la validation, sans collaboration directe au quotidien, et un release manager responsable des merges SVN et de la validation des releases.
Les développeurs n’étaient pas autorisés à effectuer eux-mêmes les merges de production.
- Un technical lead agissant à la fois comme architecte et coordinateur de département
- Un consultant freelance
- Moi-même comme consultant via Blubird
- Une équipe QA responsable de la validation
- Un release manager responsable des merges SVN et de la validation des releases
Technologies utilisées
Backend
- PHP 5.6 avec build personnalisé certifié pour la sécurité
Base de données
- MySQL
Version control
- SVN
DevOps
- Jenkins, version legacy utilisée pour les déploiements
Gestion de projet
- Jira
Pratiques de développement
Le processus de développement suivait un workflow relativement traditionnel.
Le processus n’était pas Agile au sens moderne du terme et correspondait davantage à un workflow continu de maintenance.
- Contrôle centralisé des merges dans SVN
- Code reviews réalisées manuellement par le release manager
- Processus de déploiement basé sur Jenkins
- Maintenance et correction de bugs pilotées par les tickets
Défis techniques
Base de code PHP legacy
Les applications étaient construites sur une large base de code legacy avec une structure architecturale limitée.
Comprendre le système et implémenter des corrections nécessitait de naviguer prudemment dans le code existant afin d’éviter d’introduire des régressions.
Contraintes de sécurité
En raison du contexte bancaire, le runtime PHP lui-même était une version compilée sur mesure et certifiée pour la sécurité.
Cela imposait des contraintes supplémentaires sur l’environnement de développement et les processus de déploiement.
Résultats / impact
Mon travail a soutenu la stabilité de plusieurs plateformes web utilisées par Keytrade Bank, en corrigeant des bugs et en maintenant des fonctionnalités existantes.
La mission a permis de réduire la charge de travail de la petite équipe PHP interne responsable de ces systèmes.
Apprentissages personnels
Bien que la mission ait été courte, elle m’a exposé au fonctionnement interne d’une organisation bancaire.
Les principaux apprentissages incluaient la découverte de l’environnement opérationnel d’une banque digitale, la compréhension des contraintes que les secteurs régulés peuvent imposer à l’évolution technologique, et le travail dans une base de code PHP legacy maintenue sous des procédures opérationnelles strictes.
L’expérience a également mis en évidence l’écart qui peut exister entre les pratiques modernes de développement et les systèmes legacy maintenus dans des environnements fortement régulés.