Plateforme de catalogage de données techniques
Remplacer un outil historique par une plateforme interne, développée de zéro.
Chiffres clés
- personnes dans l'équipe
- 7
- de couverture de tests exigée
- 80 %
Contexte
Un grand groupe industriel gère un patrimoine de données techniques réparti entre supports physiques et stockage en ligne. L'outil historique limitait la recherche et s'intégrait mal au reste du système d'information.
Mon rôle
Je porte l'architecture, les choix techniques, les modules transverses et la revue de code d'une équipe de sept.
Solution
Une interface React et TypeScript, une API Python et une base PostgreSQL. L'authentification passe par le fournisseur d'identité de l'entreprise, et les autorisations sont tranchées côté serveur : l'interface ne fait que masquer ce qui est déjà interdit.
Deux modules transverses évitent la duplication : un pipeline de fichiers unique piloté par une table de règles, et un moteur de recherche partagé par tous les domaines. Un flux d'événements tient l'utilisateur informé de l'avancement des traitements longs.
Fonctionnalités clés
Un seul pipeline de fichiers
Chaque type de document déclare ses règles : aucun cas métier ne contourne un contrôle, et aucun n'ajoute d'endpoint.
Autorisations côté serveur
Le filtrage est appliqué dans la requête, jamais après coup.
Temps réel sans saturer le navigateur
Un onglet détient le flux d'événements et le rediffuse aux autres, ce qui contourne la limite de connexions par site.
Reprise des données historiques
Migration table par table, rejets journalisés avec leur motif et statistiques de validation.
Défis d'ingénierie
- 1
Frontières d'architecture vérifiées par le linter
Chaque couche déclare les couches dont elle peut dépendre ; l'intégration continue échoue si l'une est franchie.
- 2
Tests de bout en bout entre deux dépôts
Le pipeline apparie les branches des deux dépôts et démarre la vraie API sur une base éphémère.
- 3
Portes qualité calculées sur le diff
Audit informatif sur tout le dépôt, barrière bloquante sur les fichiers modifiés, synthèse unique en commentaire de pull request.
- 4
Garde-fou d'intégrité du schéma
Une empreinte du schéma généré empêche de démarrer sur une base de développement périmée.
Stack technique
- Frontend
- ReactTypeScriptViteTanStack QueryMUI
- Backend
- PythonFastAPISQLModelPydantic
- Data
- PostgreSQL
- Sécurité
- OpenID ConnectCoffre-fort de secrets
- Infra
- Conteneurs OCINginxGitHub Actions
- Qualité
- pytestVitestPlaywrightRuffmypyESLint
Un projet de cette envergure ?
Parlons de votre contexte : je vous dis franchement ce qui est faisable, et en combien de temps.