Traçabilité
Sources, fraîcheur et correction du guide PaniPrix
Comprendre le rôle de chaque référence, dater une observation, résoudre un conflit et corriger le guide sans transformer une donnée absente en prix.
Pourquoi une page de sources est indispensable
Un prix n’est pas une propriété permanente d’un produit. C’est une observation rattachée à un article, un point de vente ou canal, une date et une provenance. Une méthode, un référentiel géographique et une règle réglementaire sont encore d’autres types de sources. Les confondre produit une apparence de certitude que les données ne permettent pas.
Cette page explique comment le guide PaniPrix attribue les faits et comment une future donnée pourrait être contrôlée. Elle ne constitue pas une base de prix et ne complète aucune ligne absente. Les exemples des guides restent explicitement fictifs.
La personne doit pouvoir répondre à trois questions : d’où vient l’information, quand a-t-elle été vérifiée, et à quelle affirmation précise sert-elle ? Si l’une de ces réponses manque, le contenu doit être corrigé ou maintenu hors classement.
Cinq familles de sources, cinq rôles différents
Le registre sépare les contrats de données, les référentiels, les sources opérationnelles, les textes ou fiches réglementaires et la vérité produit. Une source peut être fiable dans son rôle tout en étant incapable de répondre à une autre question.
Par exemple, le Code officiel géographique identifie une commune mais ne fournit aucun prix. Une fiche DGCCRF explique l’information du consommateur mais ne prouve pas une offre observée. La transparence PaniPrix décrit l’état du produit, pas le tarif d’une enseigne.
| Famille | Question couverte | Ne prouve pas |
|---|---|---|
| Contrat de données | Quels champs et formats une observation utilise-t-elle ? | Qu’une observation existe ou reste fraîche |
| Référentiel | Quel identifiant ou territoire employer ? | Un prix, un stock ou une disponibilité |
| Source opérationnelle | Quelle valeur a été publiée à quelle date ? | Une généralisation hors de son périmètre |
| Source réglementaire | Quel cadre public s’applique en général ? | La conformité juridique d’un cas individuel |
| Vérité produit | Quelles capacités PaniPrix sont publiées ? | Une couverture commerciale non mesurée |
Open Prices : contrat d’observation, pas garantie de couverture
La documentation publique Open Prices sert à comprendre la structure d’une observation : produit, prix, lieu, date et autres champs documentés. Elle aide à conserver une provenance et à éviter une simple valeur sans contexte.
La présence d’une API ne signifie pas que chaque enseigne, magasin, produit ou date est couvert. Une ligne absente reste une absence de donnée admissible. Une observation ancienne ne devient pas actuelle par sa présence dans l’historique.
Le guide cite la documentation du contrat ; il ne reprend aucune donnée Open Prices comme prix réel sans qualification distincte. L’adaptateur public valide trois scénarios classables à Nancy, sans étendre cette mesure aux zones à zéro ni au territoire national.
Insee : borner la géographie sans inventer une couverture
Le Code officiel géographique de l’Insee fournit des identifiants et libellés territoriaux. Il sert à nommer précisément Nancy, Le Mans, Mamers, La Flèche, Sablé-sur-Sarthe, Allonnes et Lyon sans transformer ces zones en couverture nationale.
Un code de commune ne prouve ni la présence d’un magasin, ni son assortiment, ni un prix. La couverture géographique résulte seulement des observations admissibles effectivement publiées et datées.
Une future extension de zone devra ajouter ses identifiants et ses sources par configuration, puis mesurer la couverture réelle. Une liste de villes ne doit pas être confondue avec une disponibilité nationale.
DGCCRF et EUR-Lex : cadre public, pas avis individuel
Les fiches DGCCRF soutiennent les repères sur l’information des prix, les annonces de réduction, l’étiquetage et certaines promotions. EUR-Lex fournit le texte du règlement européen 1169/2011 sur l’information alimentaire.
Le guide utilise ces références pour définir les champs à lire et distinguer prix public, avantage différé ou information d’étiquette. Il ne conclut pas qu’une offre, une étiquette ou un professionnel particulier est conforme ou non conforme.
Une règle peut évoluer. La date de vérification visible dans le registre indique quand le lien et son usage éditorial ont été relus. Pour une décision réglementaire, consultez le texte en vigueur et l’autorité compétente.
CNIL : distinguer comparaison publique et données de fidélité
La CNIL documente le traitement de données dans les programmes de fidélité, notamment certaines informations et promotions attribuables à une personne. Cette source soutient le garde-fou éditorial : un prix public n’a pas besoin d’un numéro de carte, d’une identité ou d’un historique d’achats.
Les guides peuvent expliquer le fonctionnement d’un coupon ou d’une cagnotte avec des exemples fictifs. Ils ne doivent jamais recevoir un solde, un code personnel ou une carte dans l’URL, les logs ou l’analytics.
Une future enveloppe personnalisée doit rester hors indexation et être fournie par le moteur canonique du produit, pas reconstituée dans le contenu statique.
Carburants et recharge : sources séparées de l’alimentaire
Le site gouvernemental des prix des carburants et ses données publiques documentent stations, carburants, valeurs et mises à jour selon leur périmètre. La base nationale IRVE et son schéma décrivent localisation et caractéristiques de points de recharge.
Ces sources ne sont pas interchangeables. Un prix de carburant se lit par produit et station ; une borne se décrit aussi par puissance, connecteur, accès et tarification. Une localisation IRVE n’est pas un tarif et une donnée statique ne prouve pas une disponibilité en temps réel.
PaniPrix publie un catalogue énergie réel issu des sources officielles. Les références soutiennent la lecture des stations, points de charge, valeurs et dates ; elles ne justifient ni disponibilité déduite ni classement entre unités incompatibles.
La page de transparence PaniPrix : vérité du produit
La page publique de transparence PaniPrix 0.6.17 décrit la PWA, la couverture observée et l’indépendance du classement. Elle constitue la source produit à privilégier pour les capacités publiées.
Au 31 août 2026 à 09:47:45 UTC, le snapshot alimentaire comptait 23 produits, 3 magasins et 32 observations, toutes à Nancy. Le stock est inconnu, les données de démonstration sont fictives et aucune couverture nationale n’est revendiquée.
Une nouvelle passation produit versionnée peut modifier cet état. Le guide doit alors mettre à jour la date, le périmètre et la preuve ; il ne doit pas anticiper la capacité.
Fiche minimale d’une observation
Une observation exploitable garde la donnée source et le contexte nécessaire au contrôle. La normalisation produit une valeur dérivée sans écraser l’original.
Le statut indique si la ligne est comparable, incomplète, expirée ou non comparable. Une valeur sans lieu, sans date ou sans produit suffisamment qualifié reste hors classement.
| Champ | Pourquoi | Si absent |
|---|---|---|
| Produit | Savoir ce qui est comparé | Identité incomplète |
| Quantité et unité | Normaliser sans ambiguïté | Pas de prix unitaire fiable |
| Prix observé | Conserver le fait source | Aucun calcul |
| Point de vente et canal | Borner le contexte | Pas de généralisation |
| Date et heure | Évaluer la fraîcheur | Ligne hors classement courant |
| Provenance | Revenir à l’origine | Observation non vérifiable |
| Conditions | Lire lot, carte ou remise | Prix public seulement ou ligne incomplète |
| Statut | Expliquer inclusion ou exclusion | Aucun résultat publié |
Fraîcheur : la date du guide ne rajeunit pas les prix
Les méthodes éditoriales changent lentement ; les prix et promotions peuvent changer vite. Chaque type d’information possède donc sa propre date. Une page révisée aujourd’hui ne rend pas actuelle une observation ancienne.
Le manifeste d’un futur dataset courant devrait avoir un TTL court et pointer vers un snapshot immuable et versionné. Une observation dépassant la fenêtre métier reste disponible pour l’historique si cela est utile, mais sort du classement courant.
La fenêtre de fraîcheur doit être publiée avec la source. Elle ne se déduit ni du cache HTTP ni de la date du fichier.
- Date de l’observation.
- Date de collecte.
- Fenêtre métier applicable.
- Date de publication du snapshot.
- Date de révision éditoriale séparée.
- Statut expiré explicite après la limite.
Résoudre un conflit entre deux sources
Deux valeurs différentes ne sont pas nécessairement contradictoires : elles peuvent concerner un autre format, canal, point de vente ou instant. Comparez d’abord l’identité et le contexte.
Si le conflit porte réellement sur la même observation, conservez les deux provenances, marquez la ligne en quarantaine et recherchez une source plus proche du fait. Ne choisissez pas automatiquement la valeur la plus basse, la plus récente ou la plus avantageuse.
La résolution documente le champ corrigé, la source retenue, la date et la raison. Le snapshot suivant est publié atomiquement ; l’ancien reste disponible pour rollback sans redevenir courant.
- Comparer produit, format, magasin, canal et date.
- Vérifier les conditions de promotion ou de fidélité.
- Conserver les valeurs et provenances concurrentes.
- Mettre la ligne hors classement pendant l’examen.
- Publier la correction avec justification et version.
- Garder le rollback du snapshot précédent.
Données manquantes : ne rien déduire
Une donnée manquante ne signifie ni rupture de stock, ni prix élevé, ni retrait du produit, ni absence du magasin. Elle signifie seulement qu’aucune observation admissible n’est disponible pour la question posée.
Le total d’un panier incomplet ne se compare pas au total d’un panier complet. Une ligne absente ne vaut pas zéro. Une promotion manquante ne vaut pas prix standard si ce prix n’est pas lui-même observé.
La démonstration PaniPrix reste fictive et ne complète jamais les zones ou observations absentes du snapshot réel. Le guide explique les calculs avec des exemples annoncés comme fictifs.
Importer sans perdre provenance et rollback
Toute nouvelle ingestion doit passer par un port et un connecteur versionnés. La configuration de source précise l’origine, le schéma, la cadence et les limites de débit. Un seul ordonnanceur traite une même source afin d’éviter des courses concurrentes.
Le pipeline conserve des checkpoints incrémentaux, déduplique les observations, applique un retry borné, valide le schéma et met en quarantaine les lignes invalides. Il mesure fraîcheur et erreurs sans publier automatiquement une donnée non validée.
La publication est atomique : un snapshot validé remplace le manifeste courant et l’ancienne version reste disponible pour rollback. Ces exigences préparent une extension ; elles ne prouvent pas qu’un connecteur est actif.
- Connecteur et schéma versionnés.
- Configuration sans réécriture du cœur.
- Checkpoint, idempotence et déduplication.
- Retry avec backoff et limite de débit.
- Validation, quarantaine et revue humaine.
- Provenance et fraîcheur par observation.
- Snapshot immuable, manifeste courant et rollback.
Cache et fraîcheur ne sont pas synonymes
Un artefact immuable peut recevoir un cache long parce que son URL ou son hash désigne une version fixe. Le petit manifeste courant garde un TTL court et peut employer une revalidation. Cette architecture évite de retélécharger un snapshot inchangé.
Le cache ne doit jamais prolonger artificiellement la validité métier d’un prix, d’une promotion ou d’une disponibilité. Une réponse peut être techniquement en cache et fonctionnellement expirée ; le statut métier doit alors l’exclure du résultat courant.
Aucune réponse personnalisée ou authentifiée ne rejoint un cache partagé. Les résultats personnels restent noindex et les listes privées hors URL.
Politique de correction éditoriale
Une correction peut porter sur une définition, une source, une date, une affirmation produit ou un calcul fictif. Le signalement contient l’URL, le passage, la raison et une référence publique lorsque cela est possible.
Ne transmettez pas de ticket nominatif, numéro de fidélité, adresse, identité, liste d’achats ou autre donnée personnelle. Le guide n’a pas besoin de ces informations pour corriger sa méthode.
La modification est relue, datée et publiée avec un rollback. Une information instable ne doit pas être mise à jour automatiquement sans validation humaine.
Checklist pour citer une source dans un guide
Avant publication, vérifiez que la source soutient exactement la phrase visible. Une source officielle mais hors sujet n’améliore pas l’affirmation. Une page secondaire ne remplace pas un texte primaire lorsqu’il est nécessaire à la compréhension.
La citation reste proche du contenu qu’elle soutient et la date de vérification est visible. Si l’information dépend d’une période, ajoutez la période et un mécanisme de révision.
- Éditeur et titre identifiables.
- URL officielle ou de référence accessible.
- Rôle exact de la source expliqué.
- Date de vérification visible.
- Périmètre géographique et temporel conservé.
- Aucune déduction au-delà du contenu source.
- Conflits et données manquantes signalés.
- Révision humaine avant republication.
État public et limite du moteur Sites
PaniPrix 0.6.17 est accessible sur sa PWA et propose une démonstration distincte. Le snapshot alimentaire réel reste local, avec des observations courantes uniquement à Nancy ; le catalogue énergie utilise les sources officielles et conserve ses unités et dates propres.
L’adaptateur public `paniprix.sites-comparison-adapter.v1` 1.0.0 autorise le navigateur de paniprix.com à afficher trois scénarios réels à Nancy. Le site reste fail-closed : il vérifie contrat et empreinte, ne réordonne aucun groupe et renvoie vers l’application au moindre échec.
Cette intégration ne reçoit ni liste privée, ni identité, ni fidélité. Les résultats sont rendus sur une route noindex et les capacités sans donnée ou logique livrée restent fermées.
Révision du registre
Dernière révision humaine : 25 août 2026. Les dates individuelles du registre indiquent la dernière vérification de chaque référence. Les contenus produits conservent leur propre version et les observations futures leur propre fraîcheur.
Le registre doit être relu lorsqu’une URL disparaît, qu’un texte évolue, qu’une passation PaniPrix change de version ou qu’un nouveau connecteur est effectivement qualifié. Une source retirée reste documentée dans l’historique ; elle n’est plus utilisée pour soutenir une affirmation courante.
Sources
- Documentation de l’API Open Prices · Open Food Facts · vérifié le 10 août 2026
- Code officiel géographique 2026 · Insee · vérifié le 27 août 2026
- L’information sur les prix · DGCCRF · vérifié le 10 août 2026
- Transparence PaniPrix 0.6.17 · PaniPrix by DOHM · vérifié le 31 août 2026
- Catalogue réel public PaniPrix 0.6.17 · PaniPrix by DOHM · vérifié le 31 août 2026
- Adaptateur public Sites PaniPrix 1.0.0 · PaniPrix by DOHM · vérifié le 31 août 2026
- Étiquetage des denrées alimentaires : les règles à connaître · DGCCRF · vérifié le 25 août 2026
- Règlement (UE) n° 1169/2011 concernant l’information des consommateurs sur les denrées alimentaires · EUR-Lex · vérifié le 25 août 2026
- Guide utilisateur — Prix des carburants en France · Ministère de l’Économie · vérifié le 24 août 2026
- Données publiques — Prix des carburants · Ministère de l’Économie · vérifié le 24 août 2026
- Base nationale des infrastructures de recharge pour véhicules électriques · data.gouv.fr · vérifié le 24 août 2026
- Schéma national IRVE statique · schema.data.gouv.fr — Etalab · vérifié le 24 août 2026
- Lignes directrices relatives à l’encadrement des promotions · DGCCRF · vérifié le 25 août 2026
- Des règles plus claires contre les faux rabais · DGCCRF · vérifié le 25 août 2026
- Programmes de fidélité : la CNIL précise l’application du droit à la portabilité des données · CNIL · vérifié le 25 août 2026