Résultats

Les chiffres qu'un CTO veut connaître. Tous.

Va-t-il nous noyer sous les alertes ? Détectera-t-il les problèmes coûteux ? Fonctionnera-t-il sur nos machines ? Peut-on faire confiance aux chiffres ? Voici toutes les réponses que nous avons mesurées.

Datainspec 0.4.1Octobre 2026un ordinateur portable · aucune règle écrite
0constat sur 432 analyses de fichiers inchangés, couvrant 108 jeux de données
93,15 %des 628 défauts injectés dans de vrais jeux de données publics détectés, sans règles écrites
106 millionsde lignes comparées sur un ordinateur portable, avec 5 Go de mémoire
229 millionsde cellules de texte réelles, 0 fausse alerte de commande de base de données cachée

01Va-t-il nous noyer sous les alertes ?

Silencieux quand tout va bien.

La fatigue des alertes condamne les outils de données. Nous mesurons donc les alertes sur les données inchangées avec autant de rigueur que les détections.

0avertissement

sur un mois réel du répertoire français des entreprises

30 millions d'entreprises, septembre comparé à octobre 2025. Aucun contrôle de colonne n'a signalé quoi que ce soit. Les changements tiennent en trois lignes :

What changed · SIRENE · Oct 2025clean
  • VolumeRows: +128,055 (+0.43%), 30,020,346 to 30,148,401, within the usual range
  • Names, codes11 name or code columns: new and gone values, each under the alarm floors
  • Patterns5 columns: the share of values off their usual pattern moved 0.16 to 0.25 points, under the alarm
Notre méthode de mesure

StockUniteLegale de l'INSEE, septembre et octobre 2025 : 30 020 346 et 30 148 401 lignes, 35 colonnes, 4,3 Go de CSV, avec le mode à mémoire réduite, en 1 240 secondes et 10,1 Go au pic, sur l'ordinateur portable décrit ci-dessous. Deux avertissements provenaient du modèle à la ligne (des lignes dont la combinaison de valeurs est inhabituelle), comptés séparément ; aucun des contrôles de colonne.

0

constats sur 432 analyses de fichiers inchangés

Chacun des 108 jeux de données analysé par comparaison avec lui-même, selon quatre configurations. Rien n'a changé, et rien n'a été signalé.

Notre méthode de mesure

Le test de contrôle sur fichier identique : 108 jeux de données, chacun analysé par comparaison avec lui-même en mode à mémoire réduite selon trois budgets mémoire et une fois en mémoire vive : 432 analyses, aucun faux constat. Quatre analyses supplémentaires ont été refusées pour mémoire insuffisante avant tout traitement (README, Limits ; R8 section 2.4). Les deux campagnes ont été relancées pour la version 0.4.1 : résultats identiques.

229 millions

de cellules de texte réelles, 0 fausse alerte

Le contrôle des commandes de base de données cachées dans du texte n'a rien signalé sur 229 214 793 cellules réelles et a détecté 450 charges malveillantes cachées sur 450 dans le jeu de test.

Notre méthode de mesure

Le test sur données saines à la ligne : chaque cellule de texte de 11 jeux de données réels complets, soit 229 214 793 cellules, 0 faux positif ; rappel de 450 sur 450 sur le jeu de charges furtives (docs/COVERAGE.md). Les injections temporisées, encodées en URL et numériques sans guillemets sortent du périmètre de ce contrôle.

Silencieux ne veut pas dire aveugle

Une dérive lente reste visible.

Une colonne qui évolue de 1 % par mois reste sous le seuil d'alerte à chaque fois. L'onglet History suit chaque colonne sur toutes les analyses et toutes les versions que vous avez approuvées, classe celles qui ont le plus évolué et les représente graphiquement : douze petits pas se lisent comme une tendance.

Notre méthode de mesure

L'onglet History de l'application, depuis la version 0.4.0. Pour chaque colonne : la proportion de valeurs manquantes, le nombre de valeurs distinctes, la moyenne et les constats, sur toutes les analyses du jeu de données et toutes les versions approuvées, chaque approbation étant marquée sur le graphique. Il classe les 20 colonnes ayant le plus changé depuis la plus ancienne analyse, dès que 4 analyses sont enregistrées. Il montre la tendance ; il ne déclenche pas d'alerte sur celle-ci.

analyse 1analyse 13+12%
Illustration : environ 1 % par analyse. Chaque pas reste dans sa bande d'alerte (ombrée) ; la tendance en sort.

02Détectera-t-il les problèmes coûteux ?

Les problèmes coûteux, détectés. Sans règles écrites.

Chaque résultat présenté ici utilise les paramètres par défaut. Personne n'a écrit de règle, fixé de seuil ni indiqué quoi chercher.

585sur 628

défauts injectés détectés, soit 93,15 %

Colonnes supprimées, types modifiés, pics de valeurs manquantes, valeurs aberrantes, nouvelles catégories et dérives de format, injectés dans de vrais jeux de données publics. Paramètres par défaut ; personne n'a écrit de règle.

Notre méthode de mesure

628 défauts injectés un par un dans un corpus de 107 jeux de données publics réels de 5 000 lignes maximum chacun, chaque jeu étant comparé à son original sain avec les paramètres par défaut ; « détecté » signifie un avertissement ou un constat critique. Mesuré le 18 septembre 2026.

Calibration

Précis là où cela compte.

Ce sont les paramètres par défaut : le profilage et la calibration automatiques fixent chaque seuil pour que les mois normaux restent silencieux. Pour les colonnes les plus importantes, un ingénieur fixe un seuil précis dans l'onglet Calibration, avec un motif. Cette modification est consignée et peut être annulée.

Notre méthode de mesure

Dans l'onglet Calibration de l'application, par colonne et par contrôle (le taux de valeurs manquantes, le seuil des valeurs aberrantes et les autres contrôles de la colonne), une nouvelle valeur et un motif. Chaque modification est conservée avec son auteur et peut être annulée.

NOAA · relevés météo publics

1 420 faux relevés, signalés avec leurs lignes.

Des codes de remplacement se faisant passer pour des mesures : points de rosée à 9999.9, vitesses du vent à 999.9. Signalés avant que cette version puisse devenir la référence.

colonnevaleurlignes
DEWP9999.9347
WDSP999.9535
MXSPD999.9538
Notre méthode de mesure

NOAA GSOD 2023, 49 stations en Norvège et au Svalbard, 10 977 lignes : le bilan de santé exécuté avant l'approbation d'une version, chaque signalement accompagné d'exemples de lignes. Il signale ces trois colonnes ; d'autres colonnes contiennent aussi des codes NOAA sans être signalées.

Citi Bike · trajets à New York

Une station de test, dans les données publiques d'une ville.

Entre décembre et janvier, il a signalé 52 identifiants de station jamais vus auparavant, avec les lignes. 51 étaient de nouvelles stations. L'un était une station de test en laboratoire, présente sur 3 lignes, qui s'était glissée dans l'export public.

end_station_id jamais vuce que c'était
JC008nouvelle station, Newport Pkwy
HB305nouvelle station, 9 St HBLR
JC117nouvelle station, Dr. Lena Edwards Park
Lab - NYC - Monolithune station de test en laboratoire, 3 lignes
+ 48 autresnouvelles stations
Notre méthode de mesure

Trajets Citi Bike NYC, décembre 2025 comparé à janvier 2026 : 2 091 620 et 1 816 391 lignes. « Identifiants jamais vus auparavant » sur les stations d'arrivée et de départ (52 identifiants sur 15 085 lignes, 20 identifiants sur 11 178), deux constats critiques. Une personne a lu la liste et classé le constat en changement attendu, et la station de test en problème réel. Mesuré en août 2026 avec une version antérieure du moteur.

03Fonctionnera-t-il sur nos machines ?

Là où sont vos données. Sur un ordinateur portable.

Aucun des deux fichiers n'est chargé en entier : le traitement passe par un dossier sur disque, de sorte que la mémoire reste stable quand le volume augmente. Avant une analyse volumineuse, il calcule la mémoire nécessaire et refuse de démarrer plutôt que de planter.

Durée, lignes de chaque côté

1 million de lignes
35 s
5,3 millions de lignes
4,6 min
30 millions de lignes
21 min
53 millions de lignes
33 min

Un ordinateur portable. Chaque exécution compare deux fichiers de cette taille.

Pic mémoire : 10× plus de lignes, la même mémoire

5,3 millions de lignes
5,1 Go
53 millions de lignes
5,0 Go
L'ordinateur portable
32 Go

53 millions de lignes de chaque côté, 106 millions au total, avec 5 Go : environ un sixième de la mémoire de l'ordinateur portable.

Vos sources en lecture seuleAucune donnée, aucun profil ni constat envoyé à l'extérieurLigne de commande sous Windows et Linux, ou DockerCodes de sortie 0–3 et JUnit pour la CI
Notre méthode de mesure

Windows 11, Intel i9-13950HX, 32 Go. 1 million de lignes : un registre de population synthétique, commande complète chronométrée, démarrage inclus (32,6 et 34,5 s). 5,3 et 53 millions de lignes : trajets de véhicules avec chauffeur à New York, Parquet, 25 colonnes, deux plages de lignes des mêmes trois mois, mode à mémoire réduite ; le pic mémoire est le pic de mémoire engagée du processus (53 millions de lignes : 3,2 Go résidents). 30 millions : répertoire français des entreprises, CSV, 10,1 Go au pic. Le minimum mémoire annoncé est une estimation, dépassée de jusqu'à 5 % ; avec 355 colonnes, le modèle à la ligne n'a pas terminé sur cet ordinateur portable.

04Peut-on faire confiance à ces chiffres ?

Mesurés avant chaque version.

Chaque version passe la même mesure comparée à la précédente. Un résultat qui a changé est corrigé ou déclaré avec son motif, sinon la version n'est pas publiée.

  1. Chaquedéfaut injecté est revérifié face à la dernière version
  2. 4tests sur données saines, exécutés avant et après
  3. 2campagnes comparant chaque jeu de données à lui-même
  4. 1revue des résultats qui ont changé
  5. Publicationuniquement quand chaque changement est expliqué
Notre méthode de mesure

Avant la publication d'une version : les défauts injectés sont retestés face à la dernière version, quatre tests sur données saines sont exécutés avant et après (contrôles de plage, de ratio, à la ligne et pics de codes de remplacement), et chaque jeu de données est comparé à lui-même deux fois. Tout résultat modifié est classé.

05Pourquoi c'est important

Ce que coûte un fichier défectueux.

Deux erreurs ordinaires, sur des données synthétiques créées pour nos vidéos. Les constats sont ceux du moteur ; les chiffres sont notre lecture des fichiers.

Un distributeur fictif

Un magasin s'est mis à envoyer ses prix en centimes.

1 703 lignes, toutes d'un même magasin. Si le fichier d'octobre arrivait au rapport mensuel, les ventes afficheraient 13,2 M€ au lieu de 1,6 M€.

Voir la démo de 90 secondes

Un registre de population synthétique

Un bureau a ouvert son fichier dans Excel et l'a enregistré.

84 134 identifiants de personnes réécrits ; un traitement des paiements basé sur leur correspondance manquerait 17 282 personnes, soit 9,0 M€ en un mois.

Voir l'histoire de 70 secondes

Vérifiez-le sur vos données.

Un pilote sur un jeu de données récurrent, sur vos machines, avec des critères de réussite convenus par écrit avant le démarrage.