Le Grain — cahier

Ce qui se transporte

Retours d'expérience, patterns et gabarits génériques, écrits pour être repris tels quels par d'autres collectifs.

La boucle d'une décision Une proposition est écrite, les objections sont recueillies et intégrées, la décision est tranchée puis consignée, et une date de réexamen est fixée dès le départ. une proposition écrite, datée, signée les objections recueillies, puis intégrées on tranche et on consigne le motif on revoit à date fixée dès le départ

CoMons : Collectif du Mons, Vitrac-sur-Montane (Corrèze)

9 fiches · septembre 2026 · CC BY-SA 4.0

comons.actitude.org

Ce cahier rassemble les fiches publiées du Grain de CoMons. Chacune existe aussi en ligne, en version A5 séparée et en Markdown. Textes sous licence CC BY-SA 4.0 : copiez, adaptez, republiez, en citant la source et sous la même licence.

Composé avec Paged.js. Aucune fiche n'est un avis juridique ; celles qui touchent au droit disent leurs sources et leurs limites.

Un motif, huit contrôles — le digest portable

Extrait du projet « Domaine du Mons » pour servir ailleurs. Rien de ce qui suit ne dépend du lieu. Septembre 2026.

Famille
Le digest
Généricité
GÉNÉRIQUE
Statut
EXPLORÉ — production du corpus, non validée par une décision
Écrit le
18 septembre 2026
Licence
CC BY-SA 4.0 (documentation) / MIT (code)

Un seul motif de défaillance, six fois

Six enquêtes indépendantes — juridique, climatique, hydrologique, associative, cartographique, topographique — ont produit six erreurs qui n'ont qu'une forme :

Un résultat propre, plausible, et faux — sans que rien dans la sortie ne le signale.

Le mode de défaillance ne se voit pas parce qu'il ne casse rien. La requête est juste, le code tourne, le chiffre s'affiche, et il ressemble à un chiffre qu'on connaît. C'est précisément cette ressemblance qui le fait passer.

l'erreurce qui l'a révélée
Le panoramaUne recherche par les cas trouve les solutions adoptées, pas les solutions disponibles. La recommandation juridique s'est inversée entre deux passes.Une seconde passe d'un autre angle
Le seuil empruntéUn seuil repris d'une source sans recalage sur la donnée locale décalait un stade phénologique d'un mois.Le résultat était inexplicable sur le terrain
L'indicateur en butéeUne colonne officielle donnait la même valeur à deux états différents. Deux faux épisodes dans un tableau publié.Une valeur impossible : huit écarts-types
Le registre trop étroitCompter des associations dans un fichier qui n'immatricule que celles ayant une existence financière : 1 952 au lieu de 8 340.La recherche d'un autre champ
Le code d'erreur mal luUn 504 pris pour « votre requête est mauvaise » alors qu'il dit « l'instance est chargée ». Une journée perdue à chercher un contournement.La patience, le lendemain
L'inventaire aberrantUn algorithme correct sur une donnée correcte : 66 % du volume inventorié était un artefact d'ouvrage d'art.Ramener le total à une grandeur familière

Les huit contrôles qui les attrapent

Ils coûtent des minutes. Chacun a été écrit après avoir manqué.

Demander au registre son critère d'entrée — et sa date. La question n'est pas « cette source est-elle à jour ? » mais « qu'est-ce qui fait entrer une ligne dans ce fichier ? », avant la première requête. Un registre ne se trompe jamais sur ce qu'il contient ; il se tait sur ce qu'il ne contient pas. Une source renvoie une liste complète — complète de ce qu'elle contient.

Préférer le registre dont l'objet même est de dénombrer la population cherchée, même s'il est plus pénible d'accès qu'une API commode portant une population voisine.

Et un catalogue de sources se date, sinon il ment : trois services publics ou parapublics sur lesquels ce corpus s'appuyait ont fermé ou changé d'adresse dans la même année.

Deux sources sur tout dénombrement. Un chiffre unique n'est pas un chiffre vérifié, aussi propre soit sa provenance. Quand l'écart est notable, il est lui-même une information : le rapport entre deux comptages mesure quelque chose, et cette mesure n'existait pas avant de trouver l'erreur.

Le test de saturation. Trier la colonne et chercher des valeurs identiques, à la précision publiée, sur des entrées différentes. La question n'est pas « la valeur est-elle grande ? » mais « deux entrées différentes donnent-elles la même sortie ? ». Une valeur impossible est un cadeau ; une butée discrète ne se signale pas.

Et contrôler toute grandeur dérivée contre la grandeur brute dont elle dérive.

La conversion en grandeur familière. « 3,5 millions de m³ » ne dit rien ; « quatre mètres de profondeur moyenne sur un plateau » se réfute en une seconde. Publier avec le total la part portée par ses trois plus gros éléments : une somme dominée par deux objets décrit ces objets, pas la population.

Vérifier qu'un total égale la somme de ses parties. Le contrôle le plus bête est celui qui trouve. Il a ramené un parc de logements de 292 à 146.

Écrire les hypothèses tacites du modèle sur le monde. Un calcul d'écoulement de surface suppose que l'eau ne circule que par la surface ; toute buse viole cette hypothèse sans que rien ne le signale. Les hypothèses non écrites ne sont jamais testées. Croiser avec une source indépendante, même approximative.

Distinguer les codes d'erreur qui parlent de vous de ceux qui parlent de l'autre. 400, 404, 422 appellent une correction. 429, 502, 503, 504 appellent une attente qui double. Réessayer vite est la seule réaction qui aggrave la panne qu'on constate. Et mesurer la liaison avant de l'accuser. Un quota n'est pas une panne : c'est une information sur le volume demandé, souvent corrigible par le cadrage plutôt que par le code.

Éprouver les deux chemins. Un dossier écrit puis relu n'est pas le même objet : en mémoire une année est un entier, relue depuis un fichier c'est une chaîne. Le défaut n'apparaît que sur l'un des deux chemins, et une relecture ne le voit jamais — seul un essai de bout en bout, dans les deux sens, l'attrape.

Et, avant tout cela : vérifier la mesure avant de croire ce qu'elle dit. Quand un contrôle annonce qu'une chose ne marche pas, suspecter d'abord le contrôle. Deux correctifs ont été déployés sur un faux diagnostic parce qu'un harnais réutilisait la même adresse et mesurait l'état précédent. Une sonde de surveillance a signalé une source morte qui allait très bien, parce qu'elle lisait mal une réponse. Un outil qui crie au loup finit par ne plus être lu : lui déclarer les réponses attendues, et le faire réessayer avant de conclure.

Rendre les corrections cumulatives

Les huit contrôles ci-dessus trouvent des erreurs. Sans ce qui suit, ils les trouvent à chaque fois, sur chaque nouveau territoire, chaque nouveau jeu de données. Quatre gestes, le jour même, transforment un travail répété en travail qui progresse.

Une correction sans test n'est pas une correction. Elle est corrigée pour ce cas-là. Extraire du brut fautif le fragment minimal qui portait l'erreur, l'enregistrer tel quel, écrire l'essai avec sa date, son objet, ce que la sortie affichait et ce qui l'a démasquée. Ces essais-là valent plus que les autres : ils décrivent des erreurs qui se sont produites, pas des erreurs imaginées.

Ce qui ne se rejoue pas n'est pas reproductible. Garder chaque réponse brute telle quelle, avec son empreinte, et une ligne de provenance — adresse, producteur, licence, date. L'épreuve tient en une commande : refaire tout le travail hors ligne, depuis le cache. La première collecte prend des minutes, le rejeu quelques secondes. C'est ce qui distingue un travail vérifiable d'un travail à croire sur parole — et ce qui permet à une source fermée de ne pas emporter l'analyse avec elle.

Sonder les sources, et comparer au sondage précédent. Un état daté qui distingue trois choses que rien d'autre ne distingue : un refus temporaire (quota), un refus durable (la source a changé), un injoignable (souvent la liaison). La comparaison est ce qui a de la valeur : elle affiche d'elle-même ce qui a bougé depuis la dernière fois.

Tenir un journal de ce sur quoi l'outil a réellement tourné. Une ligne par cas : date, échelle, ce qui a été collecté, ce qui a manqué, ce qui a été signalé. C'est la seule façon de savoir ce que « ça marche » veut dire — sur combien de cas réellement différents, et non sur combien de fois sur le même.

Ce qui se mesure d'une fois à l'autre : part de ce qui se collecte sans intervention (doit monter) · manques par cas (doit baisser) · corrections trouvées après coup (doit baisser, et chacune a son test) · délai entre collecte et livraison (doit baisser sans que les corrections montent). Un cinquième compte davantage et ne se mesure pas : le résultat a-t-il servi à décider quelque chose.

Quatre règles d'écriture

Séparer la matière du commentaire. Tant que les deux sont mêlés, le commentaire précède le contrôle. Une fois séparés, le texte ne peut citer qu'un chiffre déjà contrôlé, et la matière n'a plus à être jolie.

Ne rien imputer. Une valeur absente vaut « nd » jusque dans le texte final. Une tendance ne s'annonce que si l'intervalle de confiance exclut zéro — sinon on écrit « pas de tendance détectable ». Une source qui échoue se déclare, elle ne se comble pas en silence.

Publier l'incertitude coûte moins cher que publier une certitude fausse. Une page qui dit « à l'étude » n'a jamais à être rétractée. Marquer dans le texte ce qui est vérifié et ce qui ne l'est pas, et conserver ces marques : sans elles, une information de seconde main devient indiscernable d'un texte contrôlé au bout de trois mois.

Publier le doute plutôt que de trancher en silence. Un tri silencieux n'est pas contestable ; un doute affiché l'est. C'est la différence entre un travail qu'on peut vous reprendre et un travail qu'il faut vous croire.


Trois outils prêts à l'emploi

La grille d'intérêt général

Trier un tissu associatif sur ce que les organisations disent faire, et non sur leur statut, leur code d'activité ou leur nom.

Cinq faits font entrer — un seul suffit, s'il est net : ouverture (mettre un lieu ou une ressource à disposition de non-membres), transmission (former, accompagner des personnes extérieures), commun (prendre soin d'un bien qui n'appartient à personne en particulier), solidarité (aider des personnes en difficulté qui ne sont pas les membres), territoire (soutenir une activité non marchande ou coopérative).

Trois motifs font sortir, et l'emportent sauf action déclarée vers l'extérieur en plus : cercle, économique, politique.

Trois verdicts : retenu, douteux, hors — et les douteux sont publiés.

Trois extensions, nées de l'application à un corpus de nature différente : qualifier la nature de l'acteur avant d'appliquer les faits, car pour un acteur marchand la transaction ne compte pas et il faut un fait en plus de la vente ; publier la base de preuve avec chaque verdict — objet déclaré, réseau tiers qui atteste une pratique, ou rien, une fiche sans objet et sans réseau ne pouvant jamais être retenue ; distinguer hors périmètre de hors intérêt général.

Écrire la grille avant la première lecture, et ne pas l'ajuster après coup. Sa valeur est dans les cas limites : sans eux, ce n'est qu'une déclaration d'intention.

Le diagnostic de territoire

Produire, à partir des données publiques françaises, un dossier de données daté, sourcé, contrôlé et rejouable — puis le rapport qui s'écrit dessus, puis la boucle qui fait que le territoire suivant coûtera moins cher.

Deux échelles, qui ne se confondent pas : un lieu (ferme collective, site habité) et une commune rurale. Une étude tient dans un fichier de configuration ; changer de territoire, c'est changer ce fichier. Le brut n'est jamais modifié. Les contrôles tournent à chaque collecte. Rien n'est imputé.

Contre-indication majeure : la chaîne pré-localise, elle ne qualifie pas. Zones humides, périmètres de captage, débroussaillement — le critère réglementaire reste pédologique, floristique ou administratif, et le terrain reste à faire.

La cartographie honnête

Cartes web sans requête sortante, à partir des données publiques françaises. Quatre modes de rendu, trente-cinq règles opposables, et trois refus codés en dur : une choroplèthe d'effectifs bruts, un rayon proportionnel à la valeur, des zones sans donnée coloriées dans la palette. Ils se contournent, en l'écrivant dans la fiche de la carte — donc à un endroit où le lecteur le verra aussi.


CC BY-SA 4.0 pour la documentation, MIT pour le code.

CoMons, Collectif du Mons — Un motif, huit contrôles — le digest portable. Fiche du Grain, CC BY-SA 4.0. Version en ligne : comons.actitude.org/grain-digest.html

RX-02Un seuil repris de la littérature a produit un résultat nul, qu'on a failli prendre pour une bonne nouvelle

Retour d'expérience. Une analyse climatique locale, deux versions du même calcul, deux conclusions opposées.

Famille
Retours d'expérience
Généricité
GÉNÉRIQUE
Statut
EXPLORÉ — production du corpus, non validée par une décision
Écrit le
14 septembre 2026
Licence
CC BY-SA 4.0

L'attendu

Vérifier localement une affirmation bien établie : le débourrement des arbres fruitiers avance plus vite que la dernière gelée de printemps ne recule, donc l'exposition au gel augmente alors même qu'il gèle moins souvent. Le chiffre national — 3 à 6 jours d'avance par décennie — circule partout ; personne ne l'avait recalculé sur ce point de la Corrèze.

La méthode était écrite d'avance dans le document de travail : croiser une somme de températures (proxy du débourrement : ~250 °C·j base 5 depuis le 1ᵉʳ février pour un pommier) avec les gelées postérieures, année par année depuis 1950.

Le déroulé

Le calcul a tourné et a donné : débourrement médian au 12 mai, et 3 % des années comptant une gelée après ce stade, sans tendance, sur les trois périodes de trente ans comparées.

Résultat parfaitement présentable. Il aurait tenu dans une page du site : « contrairement à ce qu'on lit, l'exposition au gel de printemps n'augmente pas ici. »

Il était faux. Un débourrement médian au 12 mai est absurde pour un pommier à 590 m en Corrèze — le stade réel se situe fin mars ou début avril. Le seuil plaçait le stade après la fenêtre où il gèle encore. L'analyse comptait donc des gelées dans une période où il n'y en a plus, et ne pouvait produire qu'un résultat nul.

Recalage : le seuil qui place la médiane au 4 avril est 80 °C·j, et non 250. Le seuil qui place la floraison au 24 avril est 150.

Avec les bons seuils, la conclusion s'inverse :

Seuil 250 °C·jSeuils 80 / 150 °C·j
Débourrement médian12 mai4 avril
Années avec gelée après débourrement3 %47 à 60 %
Années avec gelée sur fleur ouverte, 1961-1990—3 %
Années avec gelée sur fleur ouverte, 1996-2025—17 %

Pourquoi l'écart

Une somme de températures n'est pas une grandeur physique unique : elle dépend de la base (0, 5, 10 °C), de la date de départ (1ᵉʳ janvier, 1ᵉʳ février, date de fin de dormance), et de la méthode de cumul (moyenne simple, méthode sinusoïdale, troncature des minimales sous la base). Deux publications sérieuses peuvent citer 250 et 80 pour le même stade sans qu'aucune ne se trompe — elles ne comptent pas la même chose.

Le chiffre repris avait perdu ses conventions en route. C'est le sort ordinaire d'un seuil qui voyage de source en source.

Et le mode de défaillance est le pire possible. Un seuil trop haut ne provoque ni erreur, ni valeur aberrante, ni série vide. Il produit un résultat propre, calculé sur 76 ans, avec son test statistique et son intervalle de confiance — et ce résultat est rassurant. Rien dans la sortie ne signale le problème. Seule la confrontation de la date médiane au bon sens agronomique l'a fait apparaître.

Les leçons

Un seuil repris d'ailleurs se recale sur la série locale avant d'en tirer quoi que ce soit. Le recalage le plus économique : vérifier que la grandeur intermédiaire — ici la date médiane du stade — tombe où un praticien du lieu l'attend. Cinq minutes, et c'est ce qui a sauvé l'analyse.

Toujours sortir les grandeurs intermédiaires, pas seulement le résultat. Si le script n'avait affiché que « 3 % des années », l'erreur passait. Il affichait aussi la date médiane, et c'est elle qui a alerté.

Se méfier particulièrement des résultats nuls et rassurants. Une analyse qui ne trouve rien mérite la même vérification qu'une analyse qui trouve un effet spectaculaire — et elle la reçoit rarement, parce qu'elle ne surprend personne. C'est l'asymétrie qui laisse passer les erreurs.

Un paramètre sans ses conventions n'est pas un paramètre. Toute somme de températures citée dans le corpus porte désormais sa base, sa date de départ et sa méthode de cumul, ou n'est pas citée.

Les changements

Portée

Générique, et pas limitée au climat. Le même mode de défaillance guette tout indicateur à seuil repris d'une source extérieure : seuils de tension d'un sol, périodes de retour hydrologiques, ratios financiers, critères d'éligibilité. Un seuil mal calé ne casse rien — il rend l'instrument aveugle.

Fiches liées

RX-01 · PA-02

CoMons, Collectif du Mons — RX-02, Un seuil repris de la littérature a produit un résultat nul, qu'on a failli prendre pour une bonne nouvelle. Fiche du Grain, CC BY-SA 4.0. Version en ligne : comons.actitude.org/grain-rx-02-seuil-recale.html

RX-03Un indicateur officiel donnait la même valeur à deux situations différentes

Retour d'expérience. Une colonne d'un fichier public, reprise telle quelle, portait une butée invisible.

Famille
Retours d'expérience
Généricité
GÉNÉRIQUE
Statut
EXPLORÉ — production du corpus, non validée par une décision
Écrit le
15 septembre 2026
Licence
CC BY-SA 4.0

L'attendu

Publier l'humidité des sols au Domaine du Mons depuis 1958, à partir de la réanalyse SIM2 de Météo-France. Le fichier fournit deux colonnes : SWI, l'humidité du sol ramenée à sa réserve utile, et SSWI_10J, cette même humidité ramenée à la normale du jour, en écarts-types. La seconde est précisément l'indicateur sur lequel les services de l'État constatent une sécheresse des sols, au seuil de −1,5. Il n'y avait qu'à la lire.

Le déroulé

Le tableau des épisodes de sécheresse les plus longs, une fois affiché, portait une ligne étrange : décembre 1985, −8,2 écarts-types.

Un écart de huit sigmas n'existe pas dans une série de soixante-dix ans. Sous hypothèse normale, c'est une chance sur 10¹⁵. Vérification dans la série brute :

DateSWISSWI_10J
16 décembre 19780,73−8,169
16 décembre 19850,569−8,169

Deux états de sol nettement différents, le même chiffre à la troisième décimale. Ce n'est pas une valeur extrême, c'est une butée : l'indicateur sature, et au-delà d'un certain point il cesse de distinguer quoi que ce soit.

La raison est structurelle. En décembre, sur ce point, le sol est presque toujours à sa capacité au champ. La distribution de référence du jour y est étroite et bornée d'un côté. Toute standardisation appliquée à une distribution qui n'a presque pas de largeur produit des écarts-types énormes, puis butte sur la limite numérique de l'ajustement.

L'effet sur les résultats publiés

L'indicateur alimentait trois choses : le compte annuel de jours de sécheresse, la plus longue suite de l'année, et la liste des épisodes. Deux des six épisodes les plus longs étaient des épisodes d'hiver fabriqués par la butée. Le classement des étés, lui, reposait sur le SWI brut et n'était pas touché — c'est ce qui a sauvé la conclusion principale.

Remplacement : l'écart est recalculé par rang normalisé. La valeur du jour est située dans l'échantillon de toutes les journées de 1958 à 2020 situées à moins de dix jours de la même date dans l'année — environ 1 300 valeurs — et ce rang est converti en écart-type. L'indicateur est alors borné par l'échantillon lui-même : avec 1 300 valeurs, il ne peut pas dépasser ±3,4.

SSWI_10J reprisRang normalisé
Valeur extrême de la série−8,17−3,37
Valeurs identiques pour des sols différentsouinon
Épisodes d'hiver aberrants2 sur 60
Classement des étés les plus secsinchangéinchangé

Et la valeur devient vérifiable. « −3,4 σ le 14 septembre 2026 » se traduit en une phrase qu'on peut contrôler à la main : aucune des 1 323 journées de référence de la mi-septembre n'a été plus sèche. C'est exact ; la plus sèche jusqu'ici était le 21 septembre 2019, à 0,193 contre 0,167.

Les leçons

Une valeur impossible est un cadeau ; une valeur presque plausible ne l'est pas. −8,2 sautait aux yeux. Si la butée avait été à −3,5, rien ne l'aurait signalée, et deux faux épisodes seraient restés dans le tableau. Le test qui a tranché n'est pas « la valeur est-elle grande ? » mais « deux entrées différentes donnent-elles la même sortie ? » — une question qu'on peut poser à n'importe quel indicateur, en triant la colonne et en cherchant les doublons exacts.

Un indicateur dérivé se vérifie contre la grandeur dont il dérive. Le SSWI se contrôle contre le SWI ; c'est en les affichant côte à côte que l'anomalie est apparue. Un indicateur publié sans la grandeur brute qui le nourrit n'est pas contrôlable.

Officiel ne veut pas dire sans butée. La colonne vient de Météo-France, elle est juste pour l'usage auquel elle est destinée — le suivi de la sécheresse en saison végétative, où la distribution a de la largeur. Elle est reprise ici hors de cet usage, sur l'année entière. Le défaut n'est pas dans la source, il est dans la reprise.

Préférer une statistique bornée par les données à une statistique bornée par un modèle. Un rang ne peut pas sortir de l'échantillon. Un ajustement paramétrique, si. À qualité d'information égale, la première est plus sûre en bout de distribution — et elle s'explique en une phrase à quelqu'un qui n'est pas statisticien.

Les changements

Portée

Générique. La butée guette tout indice standardisé appliqué hors de sa saison ou de son domaine : SPI de précipitations sur un mois sec, z-scores de séries bornées, indices de forme sur des distributions à queue courte, scores normalisés d'un petit échantillon. Elle guette aussi, hors du climat, tout score composite plafonné en amont sans que le plafond soit documenté.

Une valeur en butée ne se signale pas comme erreur. Elle se signale comme record.

Fiches liées

RX-01 · RX-02 · PA-02

CoMons, Collectif du Mons — RX-03, Un indicateur officiel donnait la même valeur à deux situations différentes. Fiche du Grain, CC BY-SA 4.0. Version en ligne : comons.actitude.org/grain-rx-03-indicateur-en-butee.html

RX-04Nous avons compté les associations d'un territoire dans un fichier qui n'en voit qu'un quart

Retour d'expérience. Un chiffre publié, faux d'un facteur quatre, et rien dans la donnée ne le signalait.

Famille
Retours d'expérience
Généricité
GÉNÉRIQUE
Statut
EXPLORÉ — production du corpus, non validée par une décision
Écrit le
15 septembre 2026
Licence
CC BY-SA 4.0

L'attendu

Dénombrer les associations actives dans un rayon de 45 km, pour pouvoir dire ce que contient le milieu associatif qu'on prétend soutenir. Source retenue : l'annuaire des entreprises et associations (recherche-entreprises.api.gouv.fr), en filtrant sur le code d'activité 94.99Z, « autres organisations fonctionnant par adhésion volontaire ». API publique, à jour, requête géographique native, CORS ouvert. Le choix allait de soi.

Résultat publié : 1 952 associations actives, soit une pour 122 habitants, avec le commentaire « le tissu associatif est dense ».

Le déroulé

En cherchant à obtenir l'objet déclaré de chaque association — que cet annuaire ne fournit pas — il a fallu descendre jusqu'au Répertoire national des associations, tenu par le ministère de l'Intérieur. Le même périmètre, les mêmes 284 communes, le même filtre « active » y donne :

8 340 associations.

annuaire des entreprisesRépertoire national des associations
Associations comptées dans la zone1 9528 340
Une association pour122 habitants29 habitants
Objet déclaré disponiblenonoui, renseigné à 100 %

L'écart n'est pas une erreur de requête. Il est structurel, et il a un nom : une association n'a de numéro SIREN que si elle emploie, perçoit des subventions publiques, ou exerce une activité assujettie. Dans le dump du RNA pour la Corrèze, 197 lignes sur 9 434 portent un SIRET — 2 %. L'annuaire des entreprises ne voit que la minorité immatriculée.

Autrement dit : nous avions publié le nombre d'associations qui ont une existence financière, en l'appelant le nombre d'associations. Ce n'est pas la même population, et la différence est exactement celle qui compte pour un projet rural — les associations sans salarié, sans subvention, sans comptabilité, qui sont l'immense majorité du tissu qu'on voulait décrire.

Pourquoi rien ne l'a signalé

La requête était juste. Le filtre était le bon, la géolocalisation fonctionnait, le dédoublonnage était fait, les établissements fermés étaient exclus, et le siège hors zone était correctement remplacé par l'établissement local. Techniquement, le comptage était propre.

Le résultat était plausible. Une association pour 122 habitants est un chiffre crédible — c'est à peu près la moyenne nationale telle qu'elle circule. Rien n'appelait la vérification. Un chiffre faux d'un facteur quatre a passé le contrôle de vraisemblance parce qu'il ressemblait à un chiffre connu.

Le champ manquant n'était pas vide, il était absent. Si l'annuaire avait renvoyé une liste avec des trous, on l'aurait vu. Il renvoie une liste complète — complète de ce qu'il contient. Une source ne dit jamais ce qu'elle ne contient pas.

C'est la recherche d'un autre champ qui a révélé le problème. Nous ne cherchions pas à vérifier le total ; nous cherchions l'objet déclaré. La correction est un effet de bord. Sans ce besoin, le chiffre serait encore en ligne.

Les leçons

Un registre a un critère d'entrée, et ce critère est une définition cachée. SIRENE n'immatricule pas les associations : il immatricule celles qui font quelque chose d'économiquement visible. Compter dans SIRENE, c'est donc compter cette population-là. La question à poser à toute source de dénombrement n'est pas « est-elle à jour ? » mais « qu'est-ce qui fait entrer une ligne dans ce fichier ? » — et cette question se pose avant la première requête.

Pour un dénombrement, chercher le registre dont l'objet est de dénombrer. Le RNA existe pour recenser les associations ; SIRENE existe pour immatriculer des unités économiques. Les deux contiennent des associations ; un seul les compte. À chaque fois, préférer le registre dont la population cible est exactement la population cherchée, même s'il est plus pénible d'accès — ici, 408 Mo à télécharger contre une API avec CORS.

Croiser deux sources sur le même comptage, avant de publier. Le contrôle qui aurait tout révélé tient en une comparaison de deux totaux, et prend une heure. Il n'a pas été fait parce que la première source semblait suffire. Un chiffre unique n'est pas un chiffre vérifié, aussi propre soit sa provenance.

Le rapport entre les deux sources est lui-même une information. 1 952 sur 8 340, soit 23 %, est une mesure de la part du tissu associatif qui a une existence financière. Elle vaut d'être publiée, et elle n'existait qu'une fois l'erreur trouvée. Une erreur corrigée laisse souvent un indicateur derrière elle.

Les changements

Portée

Générique, et fréquent. Le même piège guette : compter les exploitations agricoles dans le registre parcellaire graphique (il ne voit que les déclarants PAC), les entreprises dans les greffes (pas les auto-entrepreneurs), les logements dans la taxe d'habitation, les habitants dans les listes électorales, les cours d'eau dans les stations hydrométriques (voir tdb-eau : 43 km² mesurés, le chevelu invisible). À chaque fois, la source est officielle, la requête est juste, et le résultat décrit une population plus étroite que celle qu'on nomme.

Un registre ne se trompe jamais sur ce qu'il contient. Il se tait sur ce qu'il ne contient pas.

Fiches liées

RX-01 · RX-02 · RX-03 · PA-02

CoMons, Collectif du Mons — RX-04, Nous avons compté les associations d'un territoire dans un fichier qui n'en voit qu'un quart. Fiche du Grain, CC BY-SA 4.0. Version en ligne : comons.actitude.org/grain-rx-04-source-hors-de-son-domaine.html

RX-05Le correctif était d'attendre, pas de changer de code

Retour d'expérience. Une extraction de données abandonnée un jour, réussie le lendemain sans qu'une ligne de la requête ait changé.

Famille
Retours d'expérience
Généricité
GÉNÉRIQUE
Statut
EXPLORÉ — production du corpus, non validée par une décision
Écrit le
17 septembre 2026
Licence
CC BY-SA 4.0

L'attendu

Ajouter l'eau — rivières, plans d'eau — au fond de la carte du réseau, en l'extrayant d'OpenStreetMap par l'API Overpass au moment de la publication. Le code était écrit et testé sur les couches précédentes, routes et toponymes, qui étaient passées sans incident.

Le déroulé

L'extraction a rendu 504 Gateway Timeout. Réessai immédiat : 504. Découpage en seize morceaux au lieu d'un : 504.

J'ai arrêté là, et j'ai consigné : « l'extraction a échoué sur un délai dépassé d'Overpass », en ajoutant que c'était une ressource bénévole et que j'y avais déjà beaucoup puisé ce jour-là. La formulation était courtoise et le diagnostic était faux. J'avais rangé l'échec du côté de la requête ne passe pas ici — d'où l'idée, pour la reprise, de chercher une autre instance ou d'alléger encore la requête.

Le lendemain, la même requête a abouti. Sur les trente-six morceaux :

premier essaideuxièmetroisième
morceaux aboutis24 sur 3634 sur 3636 sur 36

Un tiers ont échoué d'abord, aucun au troisième essai. Le seul changement de fond : l'attente entre deux tentatives, portée de 8 secondes fixes à 15, puis 30, puis 60, puis 120.

Entre-temps, une mesure qui aurait dû être la première : ping vers l'instance, 100 ms aller-retour, 0 % de perte. La liaison depuis ici était effectivement mauvaise ces jours-là — elle n'était pour rien dans cet échec.

Les leçons

Un 504 ne décrit pas votre requête, il décrit l'état du serveur. C'est une information sur l'autre, pas sur soi. Les codes qui parlent de la requête — 400, 404, 422 — appellent une correction ; ceux qui parlent de la charge — 429, 502, 503, 504 — appellent une attente. Les traiter pareil conduit à modifier du code qui marche.

Réessayer vite est la seule réaction qui aggrave la panne qu'on constate. Une instance saturée l'est par la somme des demandes qu'elle reçoit. Trois essais en dix secondes ajoutent à ce qui bloque. L'attente qui double n'est pas de la résignation, c'est la seule contribution utile qu'un client puisse apporter à sa propre réussite.

Mesurer la liaison avant de l'accuser. « Le réseau est mauvais » était vrai de la maison et faux de cette panne. Deux commandes auraient tranché avant qu'une journée ne soit perdue à imaginer des contournements.

Un travail long sur une ressource distante doit être reprenable. Chaque morceau obtenu est désormais gardé sur disque. Reprendre repart du morceau qui a échoué, et surtout ne redemande pas à l'instance ce qu'elle a déjà rendu — la politesse et l'efficacité vont ici dans le même sens. Sans ce cache, la reconstruction du fichier, refaite trois fois ce jour-là pour en ajuster le contenu, aurait coûté trois extractions complètes ; elle n'a coûté aucun appel.

L'abandon documenté est meilleur que l'abandon silencieux, et moins bon que le diagnostic. Avoir écrit ce qui manquait a permis de reprendre proprement. Mais la note portait une cause supposée, présentée sans marque de doute, et cette cause a orienté la reprise dans la mauvaise direction. Consigner ce qu'on a observé — le code d'erreur, le nombre d'essais, l'état de la liaison — plutôt que ce qu'on en déduit.

Les changements

Portée

Générique. Vaut pour toute API publique ou bénévole — Overpass, Hub'Eau, les services de la Géoplateforme, les points d'accès d'open data —, et plus largement pour tout travail long mené à travers une liaison qu'on ne maîtrise pas. Le motif se reconnaît à ceci : l'échec est intermittent et l'erreur ne parle pas de vous. Dans ce cas, le correctif est du temps, pas du code.

Fiches liées

RX-01 · RX-04 · PA-02

CoMons, Collectif du Mons — RX-05, Le correctif était d'attendre, pas de changer de code. Fiche du Grain, CC BY-SA 4.0. Version en ligne : comons.actitude.org/grain-rx-05-la-patience-comme-correctif.html

RX-06Un inventaire automatique dont le total brut était faux de deux ordres de grandeur

Retour d'expérience. Un algorithme correct, appliqué à une donnée correcte, a produit un inventaire dont 66 % du volume était un artefact d'infrastructure.

Famille
Retours d'expérience
Généricité
GÉNÉRIQUE
Statut
EXPLORÉ — production du corpus, non validée par une décision
Écrit le
17 septembre 2026
Licence
CC BY-SA 4.0

L'attendu

Inventorier les dépressions fermées du secteur — mares, fosses, micro-cuvettes — à partir du modèle numérique de terrain LiDAR HD de l'IGN, pour pré-localiser les habitats humides à prospecter. Méthode standard : remplir les dépressions par inondation prioritaire, soustraire la surface remplie du terrain d'origine, et compter ce qui reste.

Le déroulé

L'algorithme a rendu 180 dépressions totalisant 3,5 millions de mètres cubes sur 576 hectares. Soit, rapporté à la surface concernée, une profondeur moyenne de près de quatre mètres sur soixante-dix-neuf hectares de plateau granitique. Le chiffre est absurde, mais il fallait le rapporter à quelque chose pour le voir : pris seul, « 180 dépressions » ne choque pas.

Deux contrôles ont suffi.

La forme. La plus grande dépression couvre 45 hectares dans une boîte englobante de 1 180 × 1 972 mètres qu'elle n'occupe qu'à 19 % — un ruban sinueux, logé entre 540 et 552 mètres, c'est-à-dire au point le plus bas de l'emprise. À elle seule, elle porte 58 % du volume. Une dépression fermée est compacte ; un ruban de deux kilomètres est un fond de vallée.

Le recoupement. Rastérisation des ponts, de la voie ferrée et des plans d'eau cartographiés dans OpenStreetMap, puis test de contact avec chaque dépression :

part du volume total
jouxte un pont ou la voie ferrée66 %
recouvre un plan d'eau cartographié15 %

Le mécanisme est connu et il est structurel : un modèle numérique de terrain restitue les remblais mais pas les ouvrages qui les traversent. Tout busage, tout pont, toute digue ferroviaire barre la vallée dans le modèle. L'eau, dans le calcul, ne passe pas — elle s'accumule jusqu'à déborder par-dessus le remblai, et l'algorithme enregistre une retenue de plusieurs centaines de milliers de mètres cubes là où il y a une buse de quatre-vingts centimètres.

Après filtrage sur la compacité, la population de véritables dépressions fermées est de 59 objets, 2,7 hectares, 24 000 m³ — deux ordres de grandeur sous le chiffre brut.

Pourquoi rien ne l'a signalé

L'algorithme est correct. L'inondation prioritaire fait exactement ce qu'elle promet : elle trouve toute cuvette d'où l'eau ne peut sortir sans monter. Un fond de vallée barré par un remblai est une telle cuvette, dans le modèle.

La donnée est correcte. Le MNT LiDAR HD est complet sur l'emprise — vérifié, aucun pixel manquant — et restitue fidèlement la surface du sol, remblai compris. Il ne lui est pas demandé de connaître les buses.

L'erreur est dans la correspondance entre le modèle et le monde, et cette correspondance n'est écrite nulle part dans la chaîne. Personne ne la déclare, donc personne ne la vérifie.

Et le format de sortie masque le problème. Un total en mètres cubes n'a pas d'échelle intuitive. Ce qui a alerté, c'est de le ramener à une profondeur moyenne par hectare — une grandeur dont on sait à quoi elle ressemble.

Les leçons

Un total agrégé ne se publie pas sans sa distribution. Ici, un seul objet portait 58 % du volume. Toute somme dominée par un ou deux éléments décrit ces éléments, pas la population. Regarder qui pèse, avant de publier combien.

Ramener tout agrégat à une grandeur dont on connaît l'ordre de grandeur. « 3,5 millions de m³ » ne dit rien ; « quatre mètres de profondeur moyenne sur un plateau » se réfute en une seconde. Le contrôle de vraisemblance ne marche que sur des grandeurs familières, et la conversion est presque toujours possible.

La forme d'un objet trahit sa nature avant toute mesure. Compacité, allongement, taux de remplissage de la boîte englobante : trois nombres qui distinguent une mare d'un fond de vallée sans rien savoir d'hydrologie. Quand un inventaire mélange des natures, la géométrie sépare souvent mieux que le seuil.

Croiser avec une source indépendante, même approximative. OpenStreetMap n'est pas une référence topographique, et le test de contact est un test de coïncidence, non une preuve. Il a suffi : quand 66 % d'un volume touche des ouvrages qui couvrent une fraction infime de la surface, la coïncidence n'en est pas une. Un croisement imparfait vaut mieux qu'un contrôle absent.

Un modèle physique a des hypothèses tacites sur le monde. L'inondation prioritaire suppose que l'eau ne circule que par la surface. Tout ouvrage souterrain — buse, drain, karst, canalisation — viole cette hypothèse sans que rien ne le signale. Écrire les hypothèses tacites du modèle est la seule façon de les tester.

Les changements

Portée

Générique. Le même piège guette tout inventaire produit par un algorithme correct sur une donnée correcte : le comptage de bâtiments sur un modèle qui confond hangar et couvert d'arbres, la détection de haies qui compte les alignements de pylônes, la mesure de surfaces imperméabilisées qui range l'ombre avec l'asphalte, l'extraction de réseaux hydrographiques qui prend un fossé de route pour un ruisseau.

Un algorithme juste, sur une donnée juste, peut rendre un résultat faux — quand le modèle et le monde ne se correspondent pas là où personne ne l'a écrit.

Fiches liées

RX-03 · RX-04 · RX-05 · PA-02 · ANALYSE-LIDAR

CoMons, Collectif du Mons — RX-06, Un inventaire automatique dont le total brut était faux de deux ordres de grandeur. Fiche du Grain, CC BY-SA 4.0. Version en ligne : comons.actitude.org/grain-rx-06-inventaire-faux-de-deux-ordres.html

PA-01Le verrou doit être structurel, pas contractuel

Répartir le pouvoir de vendre entre deux personnes morales qui ne peuvent agir que d'un commun accord, et faire de cet accord une impossibilité pratique.

Famille
Patterns
Généricité
GÉNÉRIQUE
Confiance
★★ éprouvé ailleurs, pas encore ici
Statut
EXPLORÉ — production du corpus, non validée par une décision
Écrit le
14 septembre 2026
Licence
CC BY-SA 4.0

Contexte

Un collectif veut soustraire durablement un bien commun — une terre, un bâtiment, un outil — au marché. Il dispose d'une structure porteuse (fondation, fonds de dotation, coopérative, association) et d'un collectif d'usagers. La question qui se pose à tous : qu'est-ce qui empêchera la vente dans trente ans, quand plus aucune des personnes présentes ne sera là ?

Forces en tension

Solution

Répartir le pouvoir de vendre entre deux personnes morales qui ne peuvent agir que d'un commun accord, et faire de cet accord une impossibilité pratique.

Trois mises en œuvre observées :

Conséquences et coûts

Ce qu'on gagne. Un verrou qui survit aux personnes. Une crédibilité immédiate auprès des donateurs, des notaires et de l'administration. Et, au passage, une protection contre la capture interne : personne ne peut s'approprier le commun, pas même une majorité du collectif.

Ce qu'on paie. Deux structures à faire vivre — deux comptabilités, deux assemblées, deux registres, deux jeux d'obligations déclaratives. Une lourdeur réelle pour un petit collectif. Et un risque symétrique : un veto peut aussi bloquer une décision légitime. Il faut donc écrire à l'avance les cas où le veto s'applique, et ceux où il ne s'applique pas.

Contre-indications

Vérification

Le test : écrire le scénario de la vente. Qui devrait signer ? Combien de personnes, dans combien de structures, avec quelles majorités ? Si le scénario tient en une signature, le verrou n'existe pas. S'il exige l'accord de deux organes dont l'un a intérêt à refuser, il existe.

Patterns liés

PA-02 — l'autre condition de survie du montage. RE-01 — comment choisir l'outil juridique qui porte l'usage.

Sources

Mietshäuser Syndikat — les briques du réseauhttps:/​/​www.syndikat.org/​en/​the-building-blocks-of-the-network/​ · La Terre en Commun — gouvernancehttps:/​/​encommun.eco/​fonds-de-dotation/​gouvernance-et-fonctionnement · Stiftung triashttps:/​/​www.stiftung-trias.de/​stiftung/​ · Ostrom, Governing the Commons (1990), principes 3 et 7

CoMons, Collectif du Mons — PA-01, Le verrou doit être structurel, pas contractuel. Fiche du Grain, CC BY-SA 4.0. Version en ligne : comons.actitude.org/grain-pa-01-verrou-structurel.html

PA-02L'intérêt général se prouve par les faits, pas par les statuts

Faire des membres les opérateurs et non les bénéficiaires, puis tenir le comptage au fil de l'eau, dès le premier jour.

Famille
Patterns
Généricité
GÉNÉRIQUE
Confiance
★★ éprouvé ailleurs, pas encore ici
Statut
EXPLORÉ — production du corpus, non validée par une décision
Écrit le
14 septembre 2026
Licence
CC BY-SA 4.0

Contexte

Un collectif dont les membres vivent du lieu qu'ils gèrent veut être reconnu d'intérêt général — pour recevoir des dons ouvrant droit à reçu fiscal, pour accéder à des financements, ou simplement pour être défendable. Il se heurte au critère qui écarte les organismes fonctionnant au profit d'un cercle restreint de personnes.

Forces en tension

Solution

Faire des membres les opérateurs et non les bénéficiaires, puis tenir le comptage au fil de l'eau, dès le premier jour.

Deux volets indissociables.

La rédaction. L'objet associatif nomme des bénéficiaires qui excèdent clairement les membres : le public accueilli, les personnes formées, les collectifs essaimés, la collectivité au titre de la protection du milieu. Les membres y figurent comme ceux qui font, pas comme ceux qui reçoivent. Complété par une ouverture réelle de l'adhésion (critères publiés, pas de cooptation discrétionnaire, recours possible contre un refus) et par la non-appropriation (aucun lot privatif attribué, redevance couvrant au moins les charges, dévolution désintéressée).

Le registre. Un comptage daté et chiffré, tenu comme un relevé de pluviomètre :

Conséquences et coûts

Ce qu'on gagne. Un dossier de preuve constitué le jour où il faut le produire. Une position défendable devant l'administration, et — ce qui compte davantage — une raison d'être vérifiable par le collectif lui-même. Le registre répond à la question qui décide de l'avenir d'un lieu : est-ce qu'on fait réellement ce qu'on dit qu'on fait ?

Ce qu'on paie. Une discipline de comptage, tous les mois, y compris les mois où rien ne se passe — et surtout ceux-là, parce qu'un registre qui montre des creux est plus crédible qu'un registre lisse. Et une contrainte de fond : s'ouvrir réellement. Le pattern ne consiste pas à décrire une ouverture, il consiste à la produire. Un collectif qui ne veut pas recevoir de public ne doit pas prétendre à l'intérêt général.

Contre-indications

Vérification

Le test : décrire l'année écoulée sans nommer aucun membre. Que reste-t-il ? Si la description est vide, l'intérêt général n'existe pas encore — quels que soient les statuts.

Patterns liés

PA-01 — l'autre condition de survie du montage.

Sources

BOFiP BOI-IR-RICI-250-10-10https:/​/​bofip.impots.gouv.fr/​bofip/​5825-PGP.html/​identifiant=BOI-IR-RICI-250-10-10-20170510, § 90 et 130-210 · TA Pau, 16 juin 2025, n° 2301412 — France générositéshttps:/​/​www.francegenerosites.org/​actualites/​jurisprudence-la-notion-de-cercle-restreint-de-personnes/​ · Associathèque — le cercle restreinthttps:/​/​www.associatheque.fr/​fr/​focus-cercle-restreint.html · La Terre en Commun — statuts et objethttps:/​/​encommun.eco/​fonds-de-dotation/​statuts-et-objet-du-fonds · rapport Yves Blein (2016)

CoMons, Collectif du Mons — PA-02, L'intérêt général se prouve par les faits, pas par les statuts. Fiche du Grain, CC BY-SA 4.0. Version en ligne : comons.actitude.org/grain-pa-02-preuve-par-les-faits.html

GA-01Le faisceau de droits, un gabarit vierge

Décrire le rapport d'un collectif à chacune de ses ressources par cinq droits distincts, plutôt que par la propriété. Le tableau vide, à copier tel quel, et les trois pièges qu'il évite.

Famille
Gabarits
Généricité
GÉNÉRIQUE
Statut
EXPLORÉ
Écrit le
24 septembre 2026
Licence
CC BY-SA 4.0

Pourquoi un faisceau plutôt qu'un schéma de propriété

Dire « le fonds est nu-propriétaire, l'association a l'usage » décrit un montage juridique. Ça ne dit pas qui peut entrer, qui peut couper un arbre, qui décide d'ouvrir une parcelle au public, ni ce qui se passe quand quelqu'un part. Ces questions-là ne se lisent pas dans un régime de propriété ; elles se lisent dans un faisceau.

Elinor Ostrom et Edella Schlager ont montré en 1992 qu'un rapport à une ressource commune se décrit par cinq droits distincts, qui ne vont pas ensemble et se répartissent entre des mains différentes. C'est ce qui permet de dire, sans contradiction, qu'une terre n'appartient à personne et que tout le monde n'y fait pas n'importe quoi.

Les cinq droits, définis

Les définitions comptent : deux personnes qui n'appellent pas « gestion » la même chose ne peuvent pas se mettre d'accord sur qui l'exerce.

DroitCe qu'il permetLa question qui le révèle
AccèsEntrer, être là, jouir de ce qui ne se consomme pas — traverser, regarder, se reposerQui peut venir sans demander ?
PrélèvementPrendre des unités de la ressource — récolter, couper, puiser, pâturerQui peut emporter quelque chose ?
GestionTransformer la ressource et régler son usage interne — planter, construire, drainer, fixer les règles de prélèvementQui décide de ce qu'on fait du lieu ?
ExclusionDécider qui détient l'accès et le prélèvement, et comment ces droits se transmettentQui décide qui entre ?
AliénationVendre ou céder les droits de gestion et d'exclusionQui peut faire sortir la ressource du dispositif ?

Les quatre positions qui en découlent, dans l'ordre croissant :

Un projet de sortie du marché tient en une phrase : faire que personne n'occupe la position de propriétaire, et que le droit d'aliénation soit non pas détenu mais structurellement empêché — voir PA-01.

Le gabarit vierge

À copier tel quel. Une ressource par tableau ; une colonne par ayant droit ; un statut par cellule, jamais une case vide — « on n'y a pas pensé » est une réponse, et elle se distingue de « pas encore tranché ».

RESSOURCE : ...........................

| Droit        | ..... | ..... | ..... | ..... | Statut | Par quel acte ? |
|--------------|-------|-------|-------|-------|--------|-----------------|
| Accès        |       |       |       |       |        |                 |
| Prélèvement  |       |       |       |       |        |                 |
| Gestion      |       |       |       |       |        |                 |
| Exclusion    |       |       |       |       |        |                 |
| Aliénation   |       |       |       |       |        |                 |

Statuts : ACTÉ (acte signé, décision datée) · PROPOSÉ (soumis, en attente)
          EXPLORÉ (piste) · NON TRANCHÉ (identifié, pas instruit)
          NON POSÉ (personne n'y a encore pensé)

La colonne « par quel acte ? » est celle qui fait le travail. Un droit sans instrument est une intention. Si la colonne est vide, la cellule n'est pas ACTÉ, quoi qu'en dise la première.

Trois questions à se poser avant de remplir, dans cet ordre :

  1. Qui exerce ce droit aujourd'hui, en fait ? Pas qui devrait. Le tableau des faits avant le tableau des titres.
  2. Que se passe-t-il quand cette personne part ? C'est le test qui sépare un droit personnel d'un droit réel.
  3. Qui peut retirer ce droit, et comment ? S'il n'y a pas de réponse, le droit n'est pas encadré — il est seulement toléré.

Ressources à ne pas oublier, parce qu'elles reviennent partout et qu'on ne les liste presque jamais : les outils apportés par les personnes · l'eau · le nom et l'image · les données · et le travail lui-même — qui décide de ce qui doit être fait, et qui décide que c'est fait.

Trois pièges

Confondre gestion et prélèvement. Ramasser du bois mort et abattre une haie ne sont pas le même droit, même s'ils produisent tous deux du bois. Le second modifie la ressource pour les suivants. Un collectif qui délègue les deux au même niveau se réveille avec un versant ouvert.

Croire que l'aliénation se supprime. Elle ne se supprime pas, elle se répartit et se verrouille. Un droit que personne ne détient est un droit que le premier juge saisi réattribuera. Le verrou doit être structurel, pas contractuel.

Remplir le tableau au présent quand on décrit un projet. La tentation est d'écrire ce que le montage fera, et de le lire six mois plus tard comme ce qu'il fait. D'où le statut par cellule.

Fiches liées

PA-01 · PA-02

Sources

Schlager & Ostrom, Property-Rights Regimes and Natural Resources: A Conceptual Analysis, Land Economics, 1992 — les cinq droits et les quatre positions · Ostrom, Governing the Commons, 1990.

CoMons, Collectif du Mons — GA-01, Le faisceau de droits, un gabarit vierge. Fiche du Grain, CC BY-SA 4.0. Version en ligne : comons.actitude.org/grain-ga-01-faisceau-de-droits.html