Alternance · 2025 – en cours
S-Print v4
La refonte de la plateforme de déclaration des titulaires de marchés de la Société des Grands Projets, de Java/Vue vers Symfony et React.
L'histoire
S-Print est la plateforme que la SGP met à disposition de ses partenaires contractuels pour déclarer et faire contrôler leurs données : l'activité économique et les emplois créés pour la construction du Grand Paris Express, et la sécurité des chantiers. Elle suit des engagements précis des marchés, comme réserver au moins 20 % du montant aux TPE/PME et 10 % des heures à des personnes éloignées de l'emploi.
La version 3 repose sur Java et Vue.js. La version 4, que je contribue à construire, la remplace par Symfony et API Platform côté serveur, TypeScript et React côté interface. Le but : remplacer les fichiers Excel que les entreprises envoyaient par une interface de saisie ergonomique, avec des référentiels contrôlés, et automatiser le déversement des données dans l'outil d'analyse Cockpit. Il s'agit aussi de moderniser la base technique, de réduire la dette et de faciliter les évolutions.
Je suis chargé de développement dans l'équipe S-Print du pôle Développement. Je reconstruis, fonctionnalité par fonctionnalité, ce que fait la version 3 : pages et composants React/TypeScript (liste et recherche des entreprises, consultation des données d'accidentologie, listes et formulaires d'empreinte économique, création de marché), un mécanisme réutilisable d'appel d'API avec gestion propre des erreurs, des évolutions de services Symfony et leurs tests d'API. Je relis du code, j'écris et lance des tests, je documente, et j'anime les cérémonies agiles à tour de rôle.
Tant que la v4 n'est pas complète, la v3 reste en production : je dois donc toujours analyser l'existant pour ne rien oublier. Un de mes objectifs avec mon tuteur : contribuer à la livraison de la version 4.0.0 et participer activement aux revues de code.
Ce que j'en retiens
Reconstruire sans casser : comprendre l'ancienne version, la réécrire proprement, comparer champ par champ. Derrière chaque champ d'un formulaire, il y a un engagement réel envers l'emploi local et les petites entreprises, donc la justesse des données est une priorité.