Conférence · 2026
Data-first or Contract-first?
Jochen Christ (CTO & Co-Founder, Entropy Data) · 11 juin 2026
Quand vous construisez un produit de données, par où commencez-vous ? Jochen parcourt deux itinéraires qui mènent à la même destination. La voie traditionnelle, data-first, extrait les données de production, les explore et livre ce qui s'y trouve. La voie contract-first commence par une conversation, écrit le contrat avant même que les données existent et laisse un agent de code construire le produit à partir de là. En chemin : les Data Contracts, l'Open Data Contract Standard, la Data Contract CLI et la construction en direct du fameux produit shelf warmers, en une dizaine de minutes.
Notes annotées des diapositives de la conférence de Jochen Christ. Le texte ci-dessous est un résumé édité.
Questions du public
Une sélection de questions du public après la conférence.
Q : Si l'agent génère les modèles dbt, qui les maintient ensuite ? Est-ce que je modifie le code dbt, ou est-ce que je reviens au contrat pour régénérer ?
Cela dépend de votre culture et de votre maturité en engineering, mais personnellement je ne regarderais plus trop le code dbt. Je changerais les besoins dans le contrat, et si le résultat n'est pas bon, j'améliorerais les skills. Mettez en place une boucle de feedback dans votre dépôt de skills et optimisez à partir de là, plutôt que de rafistoler le code généré à la main.
Q : Faites-vous une distinction entre une marketplace et un catalogue de données, ou est-ce la même chose pour vous ?
Nous faisons la distinction. Un catalogue est un index technique de tous les jeux de données qui existent, souvent des millions d'actifs. Une marketplace ne contient que les produits de données destinés à être partagés et consommés par d'autres équipes, en général quelques centaines. C'est dans la marketplace que vivent les informations contextuelles, au niveau du contrat.
Q : Le data-first fait souvent émerger des enseignements que personne n'avait demandés. En faisant systématiquement du contract-first, ne répond-on pas seulement aux questions que les gens savent déjà poser ?
La remarque est juste, et il faut effectivement conserver une capacité d'exploration. La clé, c'est la frontière : à l'intérieur de votre propre domaine, où vous comprenez déjà ce que veulent dire les données, gardez un accès exploratoire simple, en data-first. Les Data Contracts prennent leur sens quand vous franchissez une frontière organisationnelle, parce que c'est là que commence un nouveau bounded context et que les données partagées ont besoin d'une interface convenue et documentée.
Q : Le contrat doit-il spécifier le schéma physique dès le départ, ou seulement la finalité et le modèle conceptuel, en laissant l'agent déterminer le schéma physique ?
Dans le contrat, je définirais le modèle conceptuel et logique et je laisserais l'implémentation physique et technique à la skill ou à la plateforme data cible. La connaissance métier va dans le modèle ; les détails spécifiques à la plateforme vont dans les skills.
Q : Nous voyons les Data Contracts aux extrémités du flux de données, sur les sources et juste avant la consommation. Les voyez-vous aussi au milieu, à chaque étape du lineage ?
Pour moi, un Data Contract crée une nouvelle frontière de confiance. Vous n'avez sans doute pas besoin d'un contrat qui remonte jusqu'à la toute première source à chaque saut ; il vous faut un lineage qui remonte jusqu'au dernier Data Contract sur lequel vous vous appuyez. Entre deux contrats, vous pouvez utiliser le lineage technique, c'est-à-dire le câblage interne du pipeline d'un produit de données. La confiance est ancrée au contrat source.