Principe général
Lorsqu'une ou plusieurs pathologies sont sélectionnées dans le tableau de conseils nutritionnels, chaque aliment reçoit un score de 0 à 100 calculé côté serveur. Ce score mesure dans quelle mesure l'aliment respecte les recommandations nutritionnelles spécifiques à chaque pathologie.
Sous le score, des pastilles colorées indiquent le signal de chaque critère pris en compte : bon moyen mauvais
Algorithme de calcul
-
Fusion des règles (multi-pathologies)
Si plusieurs pathologies sont sélectionnées, leurs règles nutritionnelles sont fusionnées par champ : pour un même nutriment, on conserve les bornes les plus strictes de chaque pathologie. Le poids retenu est le plus élevé. -
Score par critère (0–100)
Chaque règle fusionnée donne un score entre 0 et 100 selon son type. Voir les trois types ci-dessous. -
Agrégation pondérée
Le score global est la moyenne pondérée des scores de chaque critère. Les critères principaux (poids = 1,0) comptent davantage que les critères secondaires.score_global = Σ(score_i × poids_i) / Σ(poids_i)∈ [0, 100] -
Signal par critère
Chaque critère reçoit un signal individuel affiché en pastille :score ≥ 75 → bon
45 ≤ score < 75 → moyen
score < 45 → mauvais
Types de règles
Trois directions de règle sont utilisées selon la pathologie et le nutriment.
Plus la valeur est haute, mieux c'est. Ex. fibres, protéines, fer.
50 × (v / seuil)Si valeur ≥ seuil_min :
50 + 50 × min(1, v / (seuil×3))
Atteindre le seuil → 50. Tripler le seuil → 100.
Moins la valeur est haute, mieux c'est. Ex. sodium, graisses sat., sucres.
100 × (1 − v/(seuil×5))Si valeur > seuil_max :
max(0, 100 − excès × 80)
Respecter le seuil → proche de 100. Dépasser → descente rapide.
Une plage idéale est définie. Ex. fibres pour le côlon irritable (1–6 g).
70 × (v / min)min ≤ v ≤ max_opt :
100v > max_opt : dégradation progressive
Score plein dans la fenêtre, pénalité hors des bornes.
Pathologies multiples et conflits
Certaines combinaisons de pathologies ont des exigences opposées sur un même nutriment. Par exemple, la mucoviscidose demande des lipides élevés (≥ 10 g), tandis que la pancréatite les limite à 3 g.
En cas de conflit sur un nutriment, le score sur ce critère représente un compromis — aucune valeur ne peut satisfaire les deux pathologies à la fois. Il est recommandé de consulter un diététicien dans ce cas.
Exemple concret
Pathologies : Diabète + Hypertension artérielle.
Diabète : fibres ≥ 3 g (×1,0), sucres ≤ 5 g (×1,0), protéines good_high (×0,2)
HTA : sodium ≤ 300 mg (×1,0), graisses sat. ≤ 5 g (×0,4), fibres good_high (×0,3)
Fusion : fibres good_high seuil=3 g poids=1,0 ; sucres ≤ 5 g poids=1,0 ; sodium ≤ 300 mg poids=1,0 ; graisses sat. ≤ 5 g poids=0,4 ; protéines good_high poids=0,2
| Critère | Type | Valeur | Seuil | Poids | Score |
|---|---|---|---|---|---|
| Fibres | good_high (≥3 g) | 7 g | 3 g | 1,0 | 50+50×min(1, 7/9) ≈ 89 |
| Sucres | good_low (≤5 g) | 1,5 g | 5 g | 1,0 | valeur ≤ seuil → 97 |
| Sodium | good_low (≤300 mg) | 4 mg | 300 mg | 1,0 | valeur ≤ seuil → 100 |
| Graisses sat. | good_low (≤5 g) | 0,1 g | 5 g | 0,4 | valeur ≤ seuil → 100 |
| Protéines | good_high | 9 g | — | 0,2 | valeur > 0 → 75 |
| Score global pondéré | ≈ 94 /100 | ||||
| Critère | Type | Valeur | Seuil | Poids | Score |
|---|---|---|---|---|---|
| Fibres | good_high (≥3 g) | 2 g | 3 g | 1,0 | 50 × (2/3) ≈ 33 |
| Sucres | good_low (≤5 g) | 0 g | 5 g | 1,0 | valeur ≤ seuil → 100 |
| Sodium | good_low (≤300 mg) | 550 mg | 300 mg | 1,0 | excès 83 % → 34 |
| Graisses sat. | good_low (≤5 g) | 8 g | 5 g | 0,4 | excès 60 % → 52 |
| Protéines | good_high | 5 g | — | 0,2 | valeur > 0 → 75 |
| Score global pondéré | ≈ 60 /100 | ||||
• Le score est calculé pour 100 g d'aliment. Il ne tient pas compte des portions habituelles.
• Les pathologies sans critères numériques (allergies, exclusions par groupe) ne génèrent pas de score — un — est affiché.
• En cas de pathologies contradictoires (⚡), le score est un compromis — aucun aliment ne peut parfaitement satisfaire les deux.
• Ce score est un outil d'aide à la lecture, non un avis médical ou diététique.
Critères par pathologie
Règles utilisées par le moteur de scoring côté serveur. Les poids indiquent l'importance relative du critère dans le calcul pondéré.
Toutes les valeurs nutritionnelles sont exprimées pour 100 g d'aliment. Ce document est un outil d'aide à la compréhension, non un avis médical.