Tous les projets
ArchitectureBackendFrontendData

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