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 correspondante

Contexte 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.

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.

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.

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.