Projet client · Finance · Génération documentaire
Publifund Platform
Maintenance et évolution d’une plateforme interne d’agrégation de données financières, de génération de documents réglementaires KIID et de distribution d’informations vers des médias financiers.
Expérience associée
Financial Communication Consult
Développeur PHP backend · 2015
Voir l’expérience correspondanteContexte du projet
Publifund était une plateforme interne développée par Financial Communication Consult, une entreprise spécialisée dans la distribution d’informations financières pour des fonds d’investissement.
La plateforme agrégeait des données liées aux fonds d’investissement depuis plusieurs sources externes et générait des documents réglementaires standardisés appelés KIID, pour Key Investor Information Documents.
Ces documents sont requis par la réglementation financière européenne et doivent suivre des règles strictes de format et de contenu.
Les informations et documents générés étaient distribués à des fournisseurs d’informations financières et à des plateformes médias telles que Bloomberg et d’autres distributeurs de données financières.
Le système servait donc de plateforme d’agrégation de données, de génération documentaire et de distribution pour l’industrie des fonds d’investissement.
Objectifs du projet
- Collecter des données liées aux fonds d’investissement depuis des sources externes
- Traiter et normaliser les données collectées
- Générer des documents réglementaires KIID au format PDF
- Archiver les documents générés
- Fournir des données structurées et des documents à des médias financiers externes
- Offrir des outils internes de recherche et de gestion des données de fonds d’investissement
Vue d’ensemble du système
La plateforme fonctionnait globalement comme un pipeline de traitement de données.
Mon rôle
J’intervenais comme développeur backend au sein d’une petite équipe de développement.
- Développement et maintenance de générateurs de documents KIID
- Implémentation et mise à jour de la logique de génération PDF
- Maintenance de pages de listing complexes affichant des données financières
- Participation à la logique de parsing pour les données collectées par des bots automatisés
- Maintenance et évolution d’outils internes, incluant un système de ticketing personnalisé
- Travail au sein d’une base de code PHP monolithique existante
Structure d’équipe
L’équipe technique interne était composée d’environ sept personnes.
J’ai rejoint l’équipe comme l’un des développeurs juniors.
Les priorités de développement et la planification étaient principalement coordonnées par le lead developer avec la direction de l’entreprise.
- Lead developer
- Senior developer
- Backend developer
- Full-stack developer
- Deux développeurs frontend
- Administrateur système
Technologies utilisées
Langages principaux
- PHP
- SQL
Stockage de données
- MySQL pour le stockage des données financières
- MongoDB pour l’archivage des documents générés
Génération documentaire
- PDFLib pour la génération des documents KIID au format PDF
Frontend
- HTML
- CSS
- JavaScript
Infrastructure
- Serveurs Linux
- Cron jobs pour les processus automatisés
Traitement des données
Le système reposait sur des bots automatisés responsables de collecter des informations sur les fonds d’investissement depuis des sources externes.
Ces bots exécutaient périodiquement des tâches correspondant à un workflow de collecte, parsing, normalisation et stockage en MySQL.
Les documents KIID générés étaient ensuite créés à partir de ces données structurées.
Système de génération documentaire
Les documents KIID suivaient des structures réglementaires strictes définies par les autorités financières.
Le système implémentait une approche de génération flexible, avec un générateur KIID par défaut pour la plupart des fonds et des générateurs personnalisés pour certains fonds spécifiques.
La logique de génération était implémentée en PHP avec PDFLib.
Une fois générés, les documents étaient archivés dans MongoDB afin de conserver les versions historiques, permettre une récupération rapide et servir les documents aux clients externes et aux utilisateurs internes.
Volume de données
L’archive documentaire stockée dans MongoDB atteignait plusieurs centaines de gigaoctets de données, reflétant le grand nombre de documents générés et de versions historiques maintenues par le système.
Défis techniques
Travailler avec une large base de code existante
La plateforme avait été développée en interne pendant plusieurs années sans s’appuyer sur des frameworks mainstream.
Comprendre et naviguer dans cette architecture monolithique demandait un temps et un effort importants.
Contraintes de performance
Générer efficacement des documents réglementaires était un enjeu important en raison du nombre potentiellement élevé de documents demandés par les clients externes et les plateformes médias.
Certains choix d’implémentation privilégiaient la performance brute dans la génération documentaire.
Complexité du domaine financier
Le projet nécessitait de comprendre la structure des informations liées aux fonds d’investissement et la manière dont les documents réglementaires KIID devaient être générés.
Cela impliquait de travailler avec des données financières structurées, des formats documentaires stricts et des contraintes réglementaires sur le contenu.
Intégration avec des sources de données externes
Le système dépendait de sources externes pour les données financières, nécessitant un parsing et une normalisation fiables des informations entrantes.
Résultats / impact
La plateforme Publifund servait de système central pour agréger des données de fonds d’investissement, générer des documents réglementaires KIID et distribuer des informations financières structurées à des plateformes médias externes.
Le système gérait de grands volumes de documents générés et maintenait une archive documentaire significative.
Apprentissages personnels
- Développement au sein d’un système de production établi
- Maintenance d’une large base de code monolithique
- Considérations de performance dans la génération documentaire
- Pipelines de traitement de données financières
- Collaboration au sein d’une équipe de développement structurée
- Première expérience sur une plateforme responsable de produire des documents financiers réglementaires à grande échelle