AlimCheck est une application Web de recherche et de comparaison de produits alimentaires.
Elle permet aux utilisateurs de rechercher un aliment par son nom, sa marque ou sa catégorie, puis de consulter et comparer ses caractéristiques selon plusieurs critères : ingrédients, valeurs nutritionnelles, allergènes, présence d’additifs, certification bio, information halal, régime vegan/végétarien, sans gluten, sans lactose, origine du produit ou encore certains critères environnementaux.
Nous avons choisi ce sujet car l’alimentation occupe une place importante dans la vie quotidienne, et il est parfois difficile pour les consommateurs de trouver rapidement des informations fiables et compréhensibles sur les produits qu’ils achètent.
Aujourd’hui, lorsqu’une personne veut vérifier la composition d’un produit ou le comparer avec d’autres, elle doit souvent lire les étiquettes, consulter plusieurs sites ou utiliser différentes applications. Cela prend du temps et rend la comparaison moins simple.
AlimCheck a pour objectif de regrouper ces informations dans une seule application afin d’aider l’utilisateur à mieux comprendre les produits alimentaires et à faire un choix plus adapté à ses besoins.
L’utilité sociale d’AlimCheck repose sur plusieurs aspects.
- Meilleure information des consommateurs : l’application aide à mieux comprendre les produits alimentaires grâce à un accès plus simple aux ingrédients, aux nutriments et aux différentes caractéristiques.
- Aide à la santé et à l’alimentation : elle permet d’identifier plus facilement certains produits selon des besoins particuliers, par exemple peu sucrés, riches en protéines, sans gluten ou sans lactose.
- Prise en compte des contraintes personnelles : chaque utilisateur peut filtrer les produits selon ses propres critères, comme la présence d’allergènes, le bio, le vegan ou l’information halal.
- Aide à la comparaison : l’application facilite la comparaison entre plusieurs produits sans devoir consulter plusieurs sources.
- Consommation plus réfléchie : en rendant les informations plus accessibles, AlimCheck encourage des choix plus informés.
Comme tout service numérique, AlimCheck présente des effets positifs mais aussi certaines limites qu’il faut prendre en compte.
L’application permet de regrouper dans un même espace plusieurs informations qui sont aujourd’hui dispersées entre les emballages, les sites des marques et d’autres plateformes.
Cela simplifie la recherche et permet à l’utilisateur d’accéder plus rapidement aux informations qui l’intéressent.
La numérisation rend plus simple la comparaison entre plusieurs produits.
Par exemple, un utilisateur peut comparer rapidement plusieurs aliments selon :
- la quantité de sucre ;
- la teneur en protéines ;
- les allergènes ;
- la présence d’additifs ;
- le caractère bio ;
- l’information halal ;
- ou encore certains critères environnementaux.
Même si AlimCheck peut apporter une utilité réelle, son fonctionnement a lui aussi un impact environnemental.
L’application nécessite :
- un hébergement ;
- une base de données ;
- des échanges de données ;
- l’utilisation d’un smartphone ou d’un ordinateur ;
- l’affichage d’images et d’informations ;
- éventuellement des traitements supplémentaires.
Le service doit donc rester simple, léger et limité aux fonctionnalités réellement utiles.
AlimCheck peut se substituer à certaines pratiques actuelles.
Aujourd’hui, un utilisateur peut :
- lire l’étiquette directement sur le produit ;
- consulter le site d’une marque ;
- utiliser un moteur de recherche ;
- consulter d’autres applications de comparaison ou d’analyse alimentaire.
AlimCheck pourrait rassembler une partie de ces démarches dans un seul outil.
Cependant, cette substitution n’est pas forcément totale.
Si l’utilisateur continue à utiliser les autres sites ou applications en plus d’AlimCheck, alors le service ne remplace pas réellement les pratiques existantes : il s’y ajoute simplement.
AlimCheck peut également avoir un impact indirect sur les pratiques de consommation.
- aider l’utilisateur à mieux choisir selon ses besoins ;
- rendre les critères alimentaires plus visibles ;
- encourager une consommation plus informée ;
- faciliter la recherche de produits adaptés à certaines contraintes.
Comme la recherche devient plus facile, l’utilisateur pourrait être amené à consulter plus de produits qu’avant, à multiplier les comparaisons ou à passer plus de temps sur l’application.
Il existe aussi un risque si l’application met trop en avant de nouveaux produits ou de nombreuses alternatives : cela pourrait encourager une augmentation de la consommation au lieu de simplement aider au choix.
L’application devra donc éviter d’ajouter des fonctionnalités inutiles ou trop gourmandes en ressources, et se concentrer sur l’essentiel.
AlimCheck ne doit pas décider à la place de l’utilisateur.
Son rôle est de fournir des informations claires et de permettre à chacun de choisir les critères qui lui semblent importants.
Par exemple, certains utilisateurs vont privilégier :
- le bio ;
- l’absence d’allergènes ;
- l’information halal ;
- les valeurs nutritionnelles ;
- l’origine du produit ;
- ou encore un critère environnemental.
L’application doit donc laisser une liberté de choix importante, être compréhensible et signaler clairement lorsqu’une information n’est pas disponible.
Nous avons retenu deux scénarios représentant deux usages différents d'un service de recherche d'informations alimentaires.
Cas étudié : rechercher un produit connu, par exemple Nutella, afin de consulter sa composition et ses informations nutritionnelles.
- Rechercher Nutella par son nom ou sa marque.
- Sélectionner le produit dans les résultats.
- Consulter les ingrédients, les allergènes et les valeurs nutritionnelles.
- Revenir à la liste des résultats.
Cas étudié : rechercher une catégorie de produits, par exemple céréales, afin de comparer plusieurs produits selon leurs caractéristiques.
- Rechercher la catégorie céréales.
- Consulter la liste des produits proposés.
- Sélectionner un premier produit et consulter ses nutriments, ingrédients et labels/certifications disponibles.
- Revenir à la liste.
- Sélectionner un deuxième produit.
- Comparer les informations disponibles : sucre, protéines, ingrédients, allergènes, bio ou autres labels.
L'EcoIndex d'une page est calculé en fonction de plusieurs indicateurs, notamment :
- le nombre de requêtes lancées ;
- le poids des téléchargements ;
- le nombre d'éléments du document (DOM).
Nous avons choisi de comparer l'impact de nos scénarios sur deux services proposant des fonctionnalités proches d'AlimCheck : Open Food Facts et FatSecret.
| Service | Score (sur 100) | Classe | Détail des mesures |
|---|---|---|---|
| Open Food Facts | 23,44 | F | Scénario 1 / Scénario 2 |
| FatSecret | 59,08 | C | Scénario 1 / Scénario 2 |
Tab. 1 : Mesure de l'EcoIndex moyen des services de recherche d'informations alimentaires. Les mesures montrent une différence importante entre les deux services étudiés.
FatSecret obtient un EcoIndex moyen de 59,08/100, contre seulement 23,44/100 pour Open Food Facts.
Dans le détail, Open Food Facts présente en moyenne davantage de requêtes, un DOM beaucoup plus complexe et des pages plus lourdes que FatSecret.
Open Food Facts compte environ 2239 éléments dans le DOM en moyenne, contre environ 445 éléments pour FatSecret.
Le nombre moyen de requêtes est également plus élevé pour Open Food Facts, avec environ 115 requêtes par page, contre environ 76 pour FatSecret.
Le poids moyen des pages est d'environ 1298 Ko pour Open Food Facts, contre environ 1049 Ko pour FatSecret.
Ces résultats montrent que la complexité du DOM, le nombre de requêtes et le poids des ressources ont une influence importante sur l'impact du service.
Pour la conception d'AlimCheck, nous chercherons donc à limiter le nombre d'éléments affichés, les requêtes réseau et le poids des ressources afin de proposer un service plus sobre.
Le modèle économique d'AlimCheck doit permettre de garantir la viabilité du service tout en restant cohérent avec notre objectif de sobriété numérique.
Le marché des services d'information alimentaire comporte plusieurs acteurs proposant des fonctionnalités proches : recherche de produits, informations nutritionnelles, ingrédients, allergènes ou comparaison entre produits.
Cependant, ces services sont différenciés. Certains sont davantage orientés vers la nutrition, d'autres vers la composition des produits ou le suivi alimentaire.
AlimCheck cherche à se différencier en regroupant dans une même application plusieurs critères de recherche : ingrédients, nutriments, allergènes, bio, certifications disponibles, préférences alimentaires et comparaison entre produits.
Il existe également plusieurs produits de substitution : l'utilisateur peut consulter directement l'étiquette d'un produit, utiliser un moteur de recherche ou consulter une autre application alimentaire.
Nous pouvons donc considérer qu'AlimCheck évolue dans un marché de concurrence monopolistique : plusieurs offreurs proposent des services proches mais différenciés.
Nous avons choisi un modèle économique freemium, complété éventuellement par des financements publics.
Le principe serait de conserver gratuitement les fonctionnalités essentielles afin que l'information alimentaire reste facilement accessible, tout en proposant certaines fonctionnalités avancées dans une offre Premium.
| Fonctionnalité | Utilisateur gratuit | Utilisateur Premium |
|---|---|---|
| Recherche par nom, marque ou catégorie | Oui | Oui |
| Consultation des ingrédients et nutriments | Oui | Oui |
| Consultation des allergènes et labels disponibles | Oui | Oui |
| Filtres avancés et multicritères | Limités | Oui |
| Comparaison avancée de plusieurs produits | Limitée | Oui |
| Sauvegarde des préférences | Non | Oui |
| Favoris et historique | Limités ou absents | Oui |
Le financement principal pourrait donc reposer sur les abonnements Premium.
Des subventions publiques pourraient également compléter ce financement, notamment dans le cadre de projets liés à l'information des consommateurs, à la transition numérique ou à la consommation responsable.
Nous ne souhaitons pas baser principalement AlimCheck sur la publicité.
Un modèle publicitaire pourrait encourager l'ajout de contenus, de traceurs et de ressources supplémentaires afin de capter davantage l'attention des utilisateurs, ce qui serait peu cohérent avec notre objectif de conception frugale.
Nous ne souhaitons pas non plus baser le modèle économique sur la vente des données personnelles des utilisateurs.
Notre modèle repose donc principalement sur :
- un accès gratuit aux fonctionnalités essentielles ;
- un abonnement Premium pour les fonctionnalités avancées ;
- éventuellement des subventions publiques.
Ce modèle permettrait de financer le développement, l'hébergement, la maintenance et les ressources humaines nécessaires au fonctionnement d'AlimCheck tout en limitant les fonctionnalités susceptibles d'augmenter inutilement son impact environnemental.
Au vu des services comparés, des scénarios retenus et des objectifs de sobriété définis précédemment, nous allons maintenant définir les principales ressources Web manipulées par AlimCheck.
L'application ne sera pas pensée uniquement comme un ensemble de pages, mais comme un ensemble de ressources identifiées par des URI et reliées entre elles.
Les principales ressources de notre application sont :
| Ressource | Patron d'URI | Exemple |
|---|---|---|
| Liste / recherche de produits | /products |
/products?q=nutella |
| Produit alimentaire | /products/{id} |
/products/3017620425035 |
| Marque | /brands/{name} |
/brands/ferrero |
| Catégorie | /categories/{name} |
/categories/cereales |
| Ingrédient | /ingredients/{name} |
/ingredients/huile-de-palme |
| Label / certification | /labels/{name} |
/labels/bio |
La ressource principale est le produit alimentaire.
Nous utiliserons de préférence un identifiant stable, par exemple le code-barres du produit, pour construire son URI.
Exemple :
/products/3017620425035
Cette ressource correspond au produit lui-même, indépendamment de la manière dont il est affiché à l'utilisateur.
La recherche correspond à une représentation filtrée de la collection de produits.
Par exemple :
/products?q=nutella
permet de rechercher les produits correspondant au terme "Nutella".
D'autres critères peuvent être ajoutés sous forme de paramètres :
/products?category=cereales&bio=true
ou :
/products?q=chocolat&sans_gluten=true
Ces paramètres permettent de conserver une URI compréhensible et directement liée aux critères choisis par l'utilisateur.
Une même ressource pourra avoir plusieurs représentations.
Par exemple, un produit pourra être représenté :
- en
text/htmlpour l'affichage dans le navigateur ; - en
application/jsonpour permettre l'accès aux données depuis une API.
Exemple :
/products/3017620425035
peut représenter le même produit sous forme d'une page HTML ou de données JSON.
La représentation HTML pourra afficher notamment :
- le nom du produit ;
- la marque ;
- l'image du produit ;
- les ingrédients ;
- les allergènes ;
- les valeurs nutritionnelles ;
- les labels disponibles ;
- les informations concernant le bio ou les certifications renseignées.
La représentation JSON contiendra les mêmes informations sous une forme structurée.
Les représentations contiendront des liens vers les autres ressources associées.
Par exemple, depuis la fiche d'un produit, l'utilisateur pourra accéder :
- à sa marque ;
- à sa catégorie ;
- à certains ingrédients ;
- aux labels associés ;
- à d'autres produits appartenant à la même catégorie.
Exemple :
Produit : /products/3017620425035
peut contenir des liens vers :
/brands/ferrero/categories/pates-a-tartiner/ingredients/noisettes/labels/bio
Ainsi, l'utilisateur peut naviguer d'une ressource à une autre sans devoir effectuer systématiquement une nouvelle recherche.
La maquette comportera principalement trois types d'écrans :
-
Recherche de produits
- barre de recherche ;
- recherche par nom, marque ou catégorie ;
- filtres principaux.
-
Liste des résultats
- nom du produit ;
- marque ;
- quelques informations essentielles ;
- accès à la fiche détaillée.
-
Fiche produit
-
ingrédients ;
-
allergènes ;
-
valeurs nutritionnelles ;
-
labels et certifications disponibles ;
-
liens vers la marque et la catégorie.
-
À partir de la maquette, nous avons identifié les principaux composants métiers réutilisables de l'application.
Nous retenons deux types de pages principales.
Cette page correspond à la recherche et à la consultation d'une liste de produits.
Elle est composée de :
AppHeader: en-tête commun de l'application ;SearchBar: recherche par nom, marque ou catégorie ;FilterPanel: sélection des différents critères de filtrage ;ProductList: affichage de la liste des produits correspondant à la recherche.
Cette page correspond à la consultation détaillée d'un produit.
Elle est composée de :
AppHeader: en-tête commun réutilisé ;Breadcrumb: navigation vers les ressources précédentes ;ProductContent: informations principales du produit ;RelatedProducts: produits similaires ou appartenant à la même catégorie.
Fig. 1 : Découpage de l'interface AlimCheck en composants React : (a) page de recherche et liste des produits ; (b) page de consultation d'un produit.
Afin de construire le prototype d'AlimCheck sans dépendre immédiatement d'une base
de données externe, nous avons généré un échantillon de données avec dummy-json.
Le modèle contient les principales informations manipulées par l'application : produits, marques, catégories, ingrédients, allergènes, valeurs nutritionnelles, labels et préférences alimentaires.
