Informations Notons

Méthode de reconstruction OFF

La méthode reproductible utilisée pour créer la projection technique du catalogue Open Food Facts.

Mis à jour le 4 septembre 2026
Objectif de publication

Décrire de manière reproductible les transformations appliquées au catalogue Open Food Facts, conformément à la voie prévue à la section 4.6(b) de l’ODbL 1.0, sans publier les comptes ni les contributions communautaires Notons.

Le dépôt public général de la méthode OFF permet de consulter le code et la documentation disponibles. Cette adresse de projet ne constitue pas, à elle seule, la preuve d’une génération active.

Entrée et périmètre

La source complète est l’export alimentaire officiel Open Food Facts au format TSV compressé. Le snapshot couvre tous les pays et toutes les catégories, sans limite métier Notons. Cette version de la méthode reconstruit une génération complète ; une éventuelle méthode différentielle devra être publiée et manifestée avant d’être utilisée pour une génération publique.

Une ligne dépourvue de code-barres valide ou de nom exploitable est rejetée et comptabilisée.

Étapes de reconstruction

  1. Identifier la source

    Télécharger l’archive officielle, relever son URL, sa date, sa taille et son empreinte SHA-256.

  2. Fixer le code

    Utiliser une URL HTTPS contenant la révision hexadécimale immuable du code de transformation et vérifier l’empreinte de chaque fichier normatif.

  3. Créer la base dédiée

    Initialiser une base PostgreSQL vide réservée à la projection Open Food Facts et appliquer ses migrations dans l’ordre.

  4. Projeter par lots

    Après une lecture séquentielle de contrôle du SHA-256, projeter l’archive en une passe, confirmer chaque offset source avec son lot de staging, puis activer par transactions de 100 000 produits au maximum.

  5. Vérifier avant publication

    Comparer compteurs, rejets et empreinte, construire les index nécessaires, analyser les statistiques puis activer atomiquement la génération.

Normalisations principales

Projection publiée à l’exécution

GroupeInformations conservéesRègle résumée
IdentificationGTIN, nom, nom générique, marque, quantité, emballagePremier champ OFF utilisable selon un ordre documenté.
ClassementCatégories, pays, magasins et lieux d’achat signalésNettoyage et listes bornées ; aucune promesse de disponibilité en temps réel.
NutritionNutri-Score, énergie, lipides, glucides, sucres, fibres, protéines, sel et autres nutrimentsValeurs structurées par 100 g et, si présentes, par portion.
EnvironnementNote et score environnementaux OFFValeurs reconnues uniquement ; absence conservée comme telle.
Source et imagesURL de la fiche OFF et URL HTTPS de l’image de faceHôtes Open Food Facts autorisés seulement ; aucun octet d’image dans la base.
FraîcheurDates de modification et de mise à jour OFFConversion en UTC ; à GTIN identique, la dernière occurrence valide dans l’ordre physique de l’archive est normative.

Séparation et activation

La projection est stockée dans la base dédiée notons_off_catalog. L’importeur refuse tout autre nom de base et ne lit jamais le secret générique de Notons Core. Les comptes, profils, avis, notes, favoris, scans, signalements, propositions et photos privées restent dans la base Notons Core. Il n’existe ni clé étrangère ni copie automatique entre les deux domaines.

Le chargement se fait dans une génération non publiée. Chaque lot confirme atomiquement son offset dans l’archive. Lors d’une reprise, le flux gzip est reparcouru jusqu’à cet offset, mais les lignes confirmées ne sont ni remappées ni réécrites. La vue utilisée par l’application ne bascule qu’après la vérification finale et la construction des index nécessaires aux scans, aux recherches textuelles et aux catégories.

Preuves associées à chaque génération

Dépôt public de la méthode
Consulter le dépôt général
Manifeste de reconstruction
https://notons.eu/public-metadata/reconstruction-manifest.json
Code source immuable
https://github.com/ElPape77/notons-off-reconstruction/tree/c817e3d2fce960d6e6067662833013b20036119a

Le manifeste doit identifier l’archive source par URL, date, taille et SHA-256, la révision immuable utilisée, les empreintes des fichiers de transformation ainsi que les compteurs traités et rejetés. Le lien général ci-dessus ne remplace aucune de ces deux preuves, qui devront être renseignées avant d’affirmer publiquement qu’une génération précise est reproductible.

Ce que cette méthode ne publie pas

Elle ne fournit ni dump, ni endpoint de listing massif, ni sauvegarde privée. Elle ne contient aucune donnée communautaire Notons. Les sauvegardes du catalogue et de Notons Core restent privées et physiquement séparées.

Références : notice Open Food Facts, ODbL 1.0, DbCL 1.0.