Tous les articles
4 min·

Est-ce qu'Apple Intelligence peut remplacer un nutritionniste ? J'ai codé une app pour le tester

J'ai codé NutriScan, une app iOS qui analyse les repas avec Apple Intelligence. Test honnête : ce qui marche, ce qui marche pas, et comment OpenFoodFacts compense.

Par Carolane Lefebvre
Apple IntelligenceFoundationModelsSwiftUISwiftDataClaudeiOS
Est-ce qu'Apple Intelligence peut remplacer un nutritionniste ? J'ai codé une app pour le tester

En résumé : J'ai codé NutriScan, une app iOS qui analyse les repas avec Apple Intelligence (FoundationModels). L'IA embarquée fonctionne bien pour les plats maison, mais pas pour les produits emballés. La solution : combiner Apple Intelligence avec OpenFoodFacts. Tout tourne en local, sans serveur, sans compte.


On voit souvent des apps de calcul de macros. MyFitnessPal, Yazio, et des dizaines d'autres. Elles estiment les calories, les protéines, les glucides, les lipides de ce que tu manges. Et je me suis toujours demandée : comment ça marche vraiment ? Est-ce que c'est crédible ? Et surtout : est-ce qu'on peut faire confiance à une IA pour ce qu'on met dans notre corps ?

Alors j'ai décidé de répondre à mes propres questions en codant une app de ce genre. Mais avec un petit plus : Apple Intelligence, le framework d'Apple qui fait tourner un modèle de langage directement sur l'iPhone. Pas de serveur, pas de clé API, tout est local et privé.

Voici ce que j'ai appris.

FoundationModels : l'IA locale d'Apple

Depuis iOS 26, Apple propose FoundationModels, un framework qui permet d'accéder au modèle de langage embarqué sur l'appareil. Concrètement, tu crées une session, tu envoies un prompt en texte, et tu récupères une réponse. Trois lignes de code :

let session = LanguageModelSession()
let response = try await session.respond(to: prompt)
let texte = response.content

C'est asynchrone, ça tourne en local, et tes données ne quittent jamais ton téléphone. Pour une app de nutrition où tu décris ce que tu manges, c'est un avantage énorme en termes de vie privée.

Le prompt que j'utilise demande au modèle de retourner un JSON structuré avec le nom du repas, les calories, les protéines, les glucides et les lipides. Le parsing se fait avec JSONDecoder.

Ce qui marche

Pour les plats maison, les résultats sont raisonnables. "Un bol de pâtes bolognaise avec de la viande hachée" retourne des valeurs cohérentes avec ce qu'on trouve dans les tables nutritionnelles. C'est pas précis au gramme près, mais c'est suffisant pour avoir une idée de ce que tu manges.

L'analyse prend environ 2 secondes sur un iPhone 15 Pro. Pas d'attente réseau, pas de loading spinner qui tourne pendant 10 secondes. C'est rapide et fluide.

Et surtout : aucune donnée ne transite par un serveur. Tout reste sur l'appareil.

Ce qui marche pas

Le modèle est text-only. Il ne peut pas analyser une photo de ton assiette. C'est une limitation importante : si tu prends une photo de ton repas, tu dois quand même décrire ce qu'il y a dedans en texte.

Et pour les produits emballés, l'estimation est inutile. Pourquoi demander à une IA d'estimer les calories d'un paquet de chips alors que les vraies valeurs sont imprimées dessus ?

La solution : OpenFoodFacts

Pour compenser les limites d'Apple Intelligence, j'ai intégré OpenFoodFacts dans l'app. C'est une base de données ouverte avec les informations nutritionnelles de millions de produits. Gratuite, communautaire, avec une API.

L'utilisateur peut chercher un produit par son nom ou scanner directement le code-barres avec la caméra (via DataScannerViewController de VisionKit). Les données retournées sont les vraies valeurs nutritionnelles pour 100g.

Résultat : Apple Intelligence pour les plats maison, OpenFoodFacts pour les produits emballés. Les deux se complètent.

Le stack technique

L'app NutriScan est construite avec :

  • SwiftUI pour l'interface
  • SwiftData pour la persistance locale (le macro Model)
  • FoundationModels pour l'analyse IA on-device
  • PhotosUI pour la sélection d'images
  • VisionKit pour le scanner de code-barres
  • L'API OpenFoodFacts pour les données nutritionnelles réelles

Tout a été codé avec Claude Code. Les prompts utilisés sont disponibles gratuitement sur le Skool.

Le verdict

Est-ce qu'Apple Intelligence peut remplacer un nutritionniste ? Non. C'est un modèle de langage, pas une table nutritionnelle. Il estime, il ne mesure pas.

Mais c'est un outil utile. Pour un suivi rapide et privé de ce que tu manges au quotidien, sans créer de compte, sans payer d'abo, sans envoyer tes données sur un serveur, c'est une solution honnête.

Et c'est la V1 de FoundationModels. Quand Apple ajoutera la vision et des modèles plus puissants, ce genre d'app va devenir redoutable.

Ressources


Carolane Lefebvre, développeuse iOS indépendante. Je construis Keepio et je partage tout ce que j'apprends sur @okeep_tv.

Commentaires

Connecte-toi pour laisser un commentaire.

Aucun commentaire pour le moment. Sois le premier !

Voir d'autres articles

.task vs .onAppear vs .refreshable en SwiftUI

iOS 26 a livré 5 améliorations discrètes en SwiftUI

safeAreaInset vs safeAreaBar en SwiftUI