Retour à l'accueil

Crédits — Sources de données

Date d’entrée en vigueur : 2026-08-18 Version : 0.6.0


KCalories repose sur plusieurs bases de données nutritionnelles publiques pour fournir les informations sur les aliments. Cette page recense les sources utilisées et leurs conditions de réutilisation, conformément aux licences applicables.

1. Table de composition nutritionnelle des aliments Ciqual 2025 (ANSES)

  • Source : Agence nationale de sécurité sanitaire de l’alimentation, de l’environnement et du travail (ANSES) — Observatoire des aliments
  • Référence : Table de composition nutritionnelle des aliments Ciqual 2025, version 2025-11-03
  • DOI : 10.57745/RDMHWY
  • URL publique : https://ciqual.anses.fr/
  • Licence : Licence Ouverte / Open Licence v2.0 (Etalab 2.0)
  • Couverture : ~3 500 aliments génériques (français), profil macronutriments + micronutriments complet
  • Utilisation dans KCalories : socle de référence pour les recherches d’aliments en français

Attribution requise (Etalab 2.0) : “Source : Table de composition nutritionnelle des aliments Ciqual 2025, ANSES, https://ciqual.anses.fr/, licence Etalab 2.0.”

Transformations appliquées par KCalories : les glucides CIQUAL suivent déjà la convention européenne (fibres exclues) et sont repris tels quels. Lorsque la table ne publie pas de valeur énergétique, celle-ci est calculée à partir des macronutriments déclarés (coefficients d’Atwater, règlement UE 1169/2011) ; si ce calcul n’est pas possible non plus, l’énergie reste non renseignée et l’aliment est signalé comme incomplet.

2. USDA — FoodData Central & Pesticide Data Program

  • Source : United States Department of Agriculture (USDA) — Agricultural Research Service, Beltsville Human Nutrition Research Center
  • URL publique : https://fdc.nal.usda.gov/
  • Licence : Domaine public (U.S. Government work, aucun droit d’auteur applicable)
  • Données utilisées — SR Legacy (National Nutrient Database for Standard Reference, Legacy Release — avril 2018) : jeu de données figé d’aliments génériques (anglais). Le jeu de données SR Legacy compte environ 7 800 aliments ; un sous-ensemble dédupliqué vis-à-vis de CIQUAL est intégré à la recherche par nom, en complément anglophone des entrées Ciqual.
  • Données utilisées — FoodData Central, Branded Foods : interrogé en direct (live) via l’API FDC lors d’un scan de code-barres, lorsqu’un produit est absent d’Open Food Facts. Le résultat est mis en cache côté serveur pour éviter de ré-interroger l’API au prochain scan du même code-barres ; ce cache est temporaire, sa durée de conservation étant décrite dans la Politique de Confidentialité. Aucun corpus Branded n’est constitué ni redistribué.
  • Données utilisées — Pesticide Data Program (PDP) (https://www.ams.usda.gov/datasets/pdp) : programme officiel de surveillance des résidus de pesticides (États-Unis). KCalories agrège les données brutes du PDP (rapport 2024 + consensus multi-années) en un indicateur de charge en résidus par denrée, utilisé pour moduler la pertinence du « bio » selon la denrée (faible écart bio/non-bio quand les résidus mesurés sont faibles). Données publiques traitées hors-ligne et intégrées de façon statique (aucun appel runtime, aucune donnée utilisateur transmise).

Mention obligatoire (USDA) : « Mention of trade names, commercial products, or companies does not imply recommendation nor endorsement by the U.S. Department of Agriculture. » (La mention de noms commerciaux, de produits commerciaux ou de sociétés n’implique ni recommandation ni approbation de la part du Département de l’Agriculture des États-Unis.)

Bien que la licence n’impose aucune attribution, KCalories cite la source par courtoisie scientifique.

Transformations appliquées par KCalories : l’USDA publie les glucides « by difference » (fibres incluses) ; les fibres déclarées en sont donc retirées pour obtenir des glucides disponibles, seule convention utilisée dans l’application. Pour le corpus SR Legacy intégré à la recherche, les protéines, glucides et lipides absents sont enregistrés 0, et une valeur énergétique absente est calculée depuis les macronutriments (coefficients d’Atwater). Sur le repli Branded interrogé en direct (scan de code-barres), une valeur absente reste manquante — elle n’est jamais remplacée par 0 — et la fiche à laquelle il manque l’un des quatre macronutriments n’est pas servie.

3. Open Food Facts

Attribution (ODbL v1.0) : « Contient des informations d’Open Food Facts (https://world.openfoodfacts.org/), disponibles sous licence Open Database License (ODbL) — https://opendatacommons.org/licenses/odbl/1-0/. »

Attribution des photos (CC BY-SA 3.0) : « Photo : contributeurs d’Open Food Facts, sous licence CC BY-SA 3.0 — https://creativecommons.org/licenses/by-sa/3.0/. » Conformément aux conditions d’utilisation d’Open Food Facts, les contributeurs sont crédités par un lien vers la page du produit auquel ils ont contribué — c’est la forme de crédit que la base désigne pour ses contributeurs.

Modifications appliquées par KCalories — énoncées précisément, parce qu’une attribution qui les passe sous silence n’en est pas une. Aux données Open Food Facts :

  • Conversions d’unités : sel converti en sodium ; énergie convertie en kilocalories lorsque la source ne publie que des kilojoules ; unités de micronutriments harmonisées.
  • Glucides ramenés au modèle européen : lorsque la source déclare des fibres, celles-ci sont retirées du chiffre des glucides, afin de publier partout des glucides disponibles. Sans cela, les fibres seraient comptées deux fois sur les fiches qui suivent la convention américaine. Lorsque la source ne déclare pas de fibres, le chiffre des glucides est repris tel quel.
  • Valeurs pour 100 g reconstituées : lorsque la source ne publie une valeur que par portion, l’équivalent pour 100 g est calculé au prorata de la quantité déclarée pour la portion.
  • Valeurs manquantes : lorsque la source ne déclare pas l’un des quatre macronutriments (énergie, protéines, glucides, lipides), la valeur est conservée comme manquante — jamais remplacée par 0. Une fiche à laquelle il manque l’un de ces quatre n’est pas servie dans l’app : elle est refusée au moment de la consultation. La valeur énergétique absente est reconstituée par calcul depuis les macronutriments dans la base dérivée d’Open Food Facts que KCalories publie ; elle ne l’est pas lorsque la fiche est interrogée en direct chez Open Food Facts. Les autres valeurs manquantes sont affichées comme « non renseigné ».
  • Mise en forme : projection dans le modèle de données de KCalories, harmonisation des catégories, indexation pour la recherche, agrégation avec les autres sources ci-dessus.

Le retrait des fibres s’applique aussi aux données USDA (section 2), qui suivent la même convention américaine. Les données CIQUAL (section 1), déjà exprimées selon la convention européenne, n’y sont pas soumises.

Limites des licences — telles qu’Open Food Facts les énonce elle-même : la licence CC BY-SA ne couvre que la photographie et les droits des contributeurs qui l’ont prise. D’autres droits de tiers peuvent subsister sur ce qu’elle représente (design et éléments graphiques de l’emballage, marques, droit à l’image des personnes figurant sur le packaging).

4. Images d’aliments — Wikimedia Commons & Openverse

  • Sources : Wikimedia Commons et Openverse (qui agrège Flickr, des musées et d’autres fournisseurs Creative Commons)
  • Licences : seules les images sous licences autorisant réutilisation et modification sont publiées — CC0, Public Domain Mark, Creative Commons Attribution (CC-BY) et Creative Commons Attribution-ShareAlike (CC-BY-SA). Les œuvres sans dérivés (CC-BY-ND) et non commerciales (NC) sont exclues, car l’app redimensionne les images. Chaque image publiée enregistre sa propre licence + attribution (auteur, licence, page source).
  • Couverture : photos illustratives des aliments génériques (entrées « overlay »).
  • Modifications appliquées : la photo d’origine est redimensionnée en variantes responsives (vignette / carte / original) et ré-encodée en WebP. Aucune autre altération n’est faite.

Attribution requise (CC-BY / CC-BY-SA) : pour chaque image publiée, l’auteur, la licence et la page source sont enregistrés à la publication (par exemple « Photo : [auteur], [licence], via Wikimedia Commons / Openverse, [URL source] »). Cette page crédite les banques sources de façon agrégée ; les crédits par image sont prévus pour une version ultérieure.

5. Engagement de KCalories

  • KCalories n’altère jamais arbitrairement une valeur nutritionnelle publiée par les sources ci-dessus (Ciqual, USDA, Open Food Facts). Les transformations appliquées sont limitées, documentées et systématiques : conversions d’unités, harmonisation de la convention de calcul des glucides entre sources européennes et américaines, reconstitution de la valeur énergétique depuis les macronutriments lorsqu’elle est absente, reconstitution des valeurs pour 100 g depuis la portion, et normalisations de format. Elles ne sont pas les mêmes pour toutes les sources : le détail figure à la fin de chaque section (1, 2 et 3).
  • Lorsqu’une donnée est manquante dans la source, KCalories ne l’invente pas — mais il ne la traite pas partout de la même façon, et voici la règle exacte. Les champs optionnels (fibres, sucres, polyols, acides gras saturés) sont affichés comme « non renseigné ». Une exception, nommée : le sodium absent est déduit du sel déclaré lorsque la source publie l’un et pas l’autre (les deux expriment la même donnée à un facteur près). La valeur énergétique absente est calculée depuis les macronutriments pour les aliments CIQUAL, pour le corpus USDA SR Legacy (sections 1 et 2) et pour la base dérivée d’Open Food Facts publiée par KCalories (section 3) ; elle ne l’est pas pour une fiche interrogée en direct chez Open Food Facts, ni pour le repli USDA Branded en direct. Au scan, les protéines, glucides et lipides absents restent manquants, et une fiche à laquelle il manque l’un des quatre macronutriments n’est pas servie : un « 0 » y signifie « zéro déclaré par la source ». Les fiches mémorisées automatiquement avant cette règle peuvent encore en porter un ; elles expirent d’elles-mêmes sous 30 jours. Une fiche publiée par un administrateur ne périme pas — mais sa valeur est une décision humaine, jamais une estimation de KCalories. Il en va autrement des corpus CIQUAL et USDA SR Legacy intégrés à la recherche, où une macro absente est enregistrée 0 : un « 0 » y signifie soit « zéro déclaré », soit « non déclaré ». Dans aucun cas il ne s’agit d’une estimation de KCalories.
  • Les aliments personnalisés ajoutés par l’utilisateur via l’app (recette maison, plat custom) restent la propriété exclusive de l’utilisateur et ne sont pas redistribués.
  • Les statistiques agrégées et anonymisées (par exemple : popularité d’un aliment dans l’app) peuvent être utilisées pour améliorer le classement de recherche, dans le strict respect de la Politique de Confidentialité.

6. Mise à jour des données

  • Ciqual : refresh annuel (chaque automne, lorsque l’ANSES publie une nouvelle version), piloté manuellement par l’équipe KCalories.
  • USDA SR Legacy (recherche par nom) : aucun refresh prévu, le jeu de données est figé depuis 2018.
  • USDA FoodData Central — Branded (scan de code-barres) : temps réel via API, automatique.
  • Open Food Facts : temps réel via API, automatique.
  • Images d’aliments (Wikimedia Commons / Openverse) : à la demande, avec revue humaine avant publication, piloté manuellement par l’équipe KCalories.

La version exacte de chaque dataset utilisée par l’app est consultable dans cet écran. En cas de mise à jour majeure d’une source (par exemple migration USDA SR Legacy > USDA Foundation Foods), une nouvelle version de ce document sera publiée et soumise à votre attention via la procédure de mise à jour de l’application.

7. Contact

Pour toute question relative à l’origine des données ou à la conformité licence :


Dernière mise à jour : 2026-08-18

Dernière mise à jour : 18 août 2026