Aller au contenu
openplate

Prends une photo d'assiette, vois tes glucides.

openplate est un compteur de calories et journal alimentaire open source pour ton téléphone et ton ordinateur. Choisis la formule qui te convient.

Utiliser l'application

Suis simplement ce que tu manges

Enregistre tes repas, ou prends une photo d'assiette pour obtenir une estimation de ses glucides. L'application tourne dans ton navigateur web, sans rien à installer, et nous gérons le serveur pour toi.

10 analyses IA gratuites ou 14 jours, selon la première échéance atteinte, sans carte bancaire requise. Ensuite, 5,00 € par mois ou 40,00 € par an.

Le journal est chiffré sur ton appareil avant son envoi. Comme nous gérons le serveur, nous détenons la clé de secours pour réinitialiser les mots de passe. Cette clé de secours nous permet de lire ton journal.

Auto-hébergement

Fais tourner ta propre instance

L'auto-hébergement signifie qu'openplate tourne sur ton propre ordinateur ou serveur au lieu du nôtre, sans frais. openplate est un logiciel open source : le code est public, tout le monde peut donc le lire et le vérifier.

L'analyse des photos peut tourner sans le cloud. openplate-inference exécute des modèles d'IA aux poids ouverts sur ton propre matériel, avec ou sans carte graphique. Les photos ne quittent jamais ton réseau.

Sur ta propre instance, cette clé de secours t'appartient.

Le film est en allemand.

Ces écrans affichent des données d'exemple, pas un vrai journal.

Pourquoi openplate existe

La plupart des applications de suivi alimentaire stockent ton journal sur leurs serveurs, où tu n'as aucun contrôle dessus. openplate le conserve d'abord sur ton appareil. Le code source est public, n'importe qui peut donc l'auditer. Notre application hébergée garde aussi une copie chiffrée sur nos serveurs, et notre clé de secours peut la lire. Sur ta propre copie, chaque service est facultatif, y compris la synchronisation et l'analyse de photos, et tu peux héberger toi-même chaque composant.

Aucun magasin d'applications intermédiaire

openplate est une application web (une PWA) que tu installes depuis le navigateur, sur un téléphone ou un ordinateur. Il n'y a pas de magasin d'applications. Personne n'a besoin d'un compte Apple ou Google, et aucune validation ni commission de boutique ne s'interpose entre une version et ton appareil. Une institution qui héberge openplate la distribue depuis son propre domaine, et chaque mise à jour est appliquée sur chaque appareil à la prochaine ouverture de l'application.

Ce qu'est openplate

Tout ce qu'un utilisateur possède (repas enregistrés, pesées, aliments personnels, objectifs, réglages de l'IA) est écrit dans l'IndexedDB du navigateur sur l'appareil où la saisie a eu lieu (app/lib/local-store/). Les données y sont stockées en clair, car c'est ton appareil, et elles n'en sortent jamais sauf sous deux formes que tu choisis : un export JSON que tu télécharges, ou un blob de synchronisation chiffré.

Le serveur applicatif est un simple conteneur sans état. Ni base de données, ni ORM, ni migrations, et aucun secret nécessaire pour démarrer. Il peut conserver exactement un secret optionnel, la clé de la base de données d'aliments de l'administrateur, décrite ci-dessous. Détruire le conteneur ne détruit rien. Ce n'est pas de la frugalité, c'est tout l'engagement du projet : voir ADR-0006.

Ce que tu peux faire avec openplate

Ces écrans affichent des données d'exemple, pas un vrai journal.

  • L'écran d'ajout d'aliment : un champ de recherche, ton dîner habituel, un bouton pour scanner une assiette, et les aliments récemment enregistrés avec leurs glucides nets.

    Enregistrer un aliment

    Cherche dans la base d'aliments ou choisis un aliment déjà saisi, et l'entrée s'ajoute à la journée sous le repas sélectionné.

  • L'écran de scan, qui propose de connecter un fournisseur d'IA avant d'analyser une photo, et un moyen de consigner l'aliment sans IA.

    Scanner une assiette

    Prends ton assiette en photo et un modèle d'IA estime les glucides. Sur l'application hébergée, notre serveur transmet la photo au fournisseur d'IA sans la conserver. Sur ta propre copie, elle n'est transmise qu'au service d'IA que tu connectes.

  • L'écran d'alimentation et des cibles : les options de style d'alimentation, du régime pauvre en glucides au suivi simple, et les limites quotidiennes de glucides prédéfinies.

    Choisis ta façon de manger

    Pauvre en glucides, calories, riche en protéines, ou suivi simple. Le style que tu choisis définit l'objectif qui évalue la journée, et chaque objectif reste facultatif.

  • L'écran de vue d'ensemble : glucides nets, calories, protéines, lipides et fibres du jour, affichés chacun avec une barre par rapport à sa cible.

    Suivre la journée

    Glucides nets, calories, protéines, lipides et fibres pour la journée, chacun comparé à sa cible, et le nombre de jours enregistrés sur les sept derniers.

Où vont tes données

Trois programmes, un produit et deux modules facultatifs, plus un service externe qui répond aux noms d'aliments. Cette page détaille ce que chacun stocke, et qui se trouve sur le trajet de tes données.

Le schéma ci-dessous résume tout le système en cinq flèches. Ton appareil conserve le journal et la photo d'assiette. Le journal part chiffré vers openplate-core. La photo part vers l'API d'IA que tu as configurée. Le serveur applicatif fournit la page web, puis transmet les noms des aliments recherchés à une base de données d'aliments. Il ne se trouve ni sur le trajet du journal, ni sur celui des photos.

Trois options s'offrent pour « votre endpoint IA » : un fournisseur cloud chez qui tu détiens une clé, une machine openplate-inference sur ton propre matériel, ou, sur une instance gérée, le serveur central lui-même, qui transmet la photo et la décompte de ton quota. topologies.md illustre les quatre façons de faire tourner openplate, chacune avec un petit schéma.

12341234Serveur d'appopenplateBase de donnéesalimentaireTon service d'IAopenplate-coreTon appareilla pagenomsphotojournal, chiffré
  1. Tu saisis un aliment

    Son nom transite par le serveur applicatif jusqu'à la base de données alimentaire.

  2. Tu scannes une assiette

    La photo est envoyée à ton point de terminaison d'IA. Sur l'application hébergée, il s'agit de notre serveur, qui la transmet à un fournisseur d'IA sans la conserver.

  3. Quand la synchronisation est activée

    Il quitte l'appareil sous forme chiffrée pour rejoindre openplate-core. Un compte sur l'application hébergée se synchronise, et notre clé de secours peut lire cette copie.

  4. Tout le reste reste local

    Ton journal reste sur l'appareil. Sur ta propre copie avec la synchronisation désactivée, aucun serveur n'en conserve de copie.

Trois composants, facultatifs au-delà de l'application en Auto-hébergement

L'application fonctionne seule pour tenir un journal. Le serveur central et le moteur d'inférence ajoutent des fonctionnalités. Tous deux sont des programmes distincts. Sur ta propre copie, tu peux les exécuter toi-même ou t'en passer totalement. L'application hébergée synchronise toujours via le serveur central.

  • Application

    Un suivi nutritionnel open source, en Auto-hébergement avec Identification de photo d'assiette par IA avec ta propre clé (BYOK). Prends une photo d'assiette. Ton propre fournisseur d'IA (OpenRouter, Mistral, tout point d'accès compatible OpenAI, ou Anthropic) estime les macros. Sur une instance que tu fais tourner toi-même, tu gardes la main sur ta clé, ton fournisseur et tes données. Une instance hébergée avec des comptes diffère sur deux points : l'opérateur fournit l'IA, et il conserve une clé de récupération capable d'ouvrir ton journal (docs/sync.md).

  • Serveur central

    Le service de compte pour openplate. Sa première fonctionnalité est la synchronisation chiffrée entre tes appareils : le journal est chiffré sur chaque appareil avant d'être envoyé, et l'opérateur conserve une copie scellée de chaque code de récupération, de sorte que l'opérateur peut restaurer un mot de passe oublié et peut aussi lire le journal.

  • Moteur d'inférence

    Un scanner de photo d'assiette que tu fais tourner toi-même. Vise ton dîner avec ton téléphone, obtiens une liste d'aliments avec des estimations de portions en grammes, calculée sur ton matériel, à partir de modèles aux poids ouverts, sans compte, sans clé API de quiconque, et sans qu'aucune photo ne quitte ton réseau.

Sur ta propre instance, tu choisis l'IA

Envoie tes photos d'assiette vers une machine que tu contrôles, vers un fournisseur avec une clé personnelle, ou via un serveur partagé du foyer.

L'application hébergée sur app.openplate.de inclut l'accès à l'IA dans l'abonnement et ne nécessite aucune clé.

  • Sur ton propre matériel

    openplate-inference exécute des modèles open-weight, comme Qwen3-VL, sur une machine que tu contrôles. L'application se connecte aussi à Ollama, vLLM, LM Studio ou llama.cpp en tant que point de terminaison compatible OpenAI.

  • Avec ta propre clé

    Dans les paramètres d'IA de l'application, connecte OpenRouter en un clic, ou saisis une clé pour Anthropic, Mistral ou tout point de terminaison compatible OpenAI. OpenRouter donne aussi accès aux modèles de Google, OpenAI, Qwen, DeepSeek et Kimi. Ta clé reste dans ton navigateur et n'est transmise qu'au fournisseur.

  • Sur un serveur familial

    La personne qui gère openplate-core configure une clé de fournisseur sur le serveur. Chaque personne invitée utilise cette clé, respecte un quota quotidien, et ne voit jamais la clé elle-même.

  • OpenRouter
  • Anthropic
  • Mistral AI
  • OpenAI
  • Google Gemini
  • Qwen
  • DeepSeek
  • Kimi
  • Ollama

Les noms et logos appartiennent à leurs propriétaires respectifs. Aucun fournisseur n'approuve ni ne sponsorise openplate.

Qui détient quoi

Le dessin montre ce que chacun stocke. Le tableau ajoute ce que chacun voit pendant que tes données y transitent.
ComposantCe qu'il stockeCe qu'il voit passer
Ton navigateurL'intégralité du journal, en clair, dans IndexedDB. Ta clé d'IA. Les photos d'assiette en cache.Absolument tout. C'est ton appareil.
Serveur d'application openplatePas de base de données, pas de comptes, pas de journal. Au plus un secret, la clé de l'administrateur pour la base de données alimentaire.Les requêtes de pages, ainsi que les noms des aliments que tu cherches ou scannes, qu'il relaie vers la base de données alimentaire. Jamais une photo, jamais ta clé d'IA, jamais une entrée de journal, jamais un blob de synchronisation.
openplate-core (facultatif)Une adresse e-mail, un vérificateur d'authentification, les paramètres de KDF, le journal sous forme de texte chiffré, et le code de récupération sous séquestre capable de le déchiffrer. Sur une instance gérée, également le quota journalier et le décompte d'utilisation de chaque compte. Si les fonctionnalités ci-dessus sont activées, également ce que chacune énumère.Taille du blob, horodatage d'écriture, métadonnées de session. Sur une instance gérée, également la photo relayée au proxy d'IA, uniquement le temps de la relayer, lue une seule fois, non stockée.
openplate-inference (facultatif)Rien par utilisateur : aucun compte, aucune session, aucun cookie. Les poids du modèle et un jeu de données alimentaires.La photo que tu lui as envoyée, uniquement le temps que dure la requête. Avec la source alimentaire par défaut, il n'effectue aucun appel sortant, mis à part le téléchargement unique des poids. Avec FOOD_SOURCE=lcc ou off, il envoie des noms d'aliments à l'extérieur, jamais la photo.
Base de données d'aliments LowCarbCheck (activé sauf si désactivé)Un décompte d'utilisation par clé, ou par adresse réseau pour un appelant qui n'en a pas.Des noms d'aliments et une langue, en provenance du serveur de l'application, avec la clé de l'instance. Jamais une photo, et jamais ton identité.
Fournisseur d'IA dans le cloud (approche BYOK)Ce que prévoient leurs règles de confidentialité.La photo, et ta clé. Leurs conditions générales s'appliquent, pas les nôtres.

Partenaires de recherche

Nous recherchons des universités, des chercheurs en nutrition et des équipes cliniques qui souhaitent travailler avec openplate. Un journal stocké sur l'appareil du participant, un code vérifiable par un comité d'éthique et des données d'étude enregistrées uniquement avec consentement en font une base pratique pour les études nutritionnelles.

Ce que nous mesurons

openplate n'enregistre rien tant qu'un administrateur n'active pas le suivi. L'instance hébergée sur openplate.de comptabilise les pages visitées et les fonctionnalités utilisées. Elle ne sait jamais ce que tu manges, ce que tu pèses ou ce que tu saisis. Quiconque héberge sa propre copie choisit parmi trois niveaux, des simples visites de pages jusqu'à un niveau de recherche qui enregistre les comportements liés à la santé pour une étude auprès de participants consentants. Aucun tiers n'intervient. Les données arrivent sur une instance Matomo que nous gérons nous-mêmes, cookies désactivés. Configuration détaille chaque événement pour chaque niveau.

Obtenir l'accès

Tout le monde peut créer un compte avec une adresse e-mail sur l'instance hébergée à l'adresse app.openplate.de. Aucune invitation n'est requise, ni aucune carte bancaire. Un nouveau compte reçoit 10 analyses IA gratuites ou 14 jours, selon la première échéance atteinte. Ensuite, l'application se bloque jusqu'à ce que tu choisisses une formule. Tout ce que tu as consigné reste accessible, et tu peux l'exporter ou supprimer ton compte à tout moment. Faire tourner ta propre copie ne coûte rien. Consulte Auto-hébergement.

Calculateurs de santé

Calcule ton IMC et tes besoins quotidiens en énergie, protéines et eau à partir de quelques données.

Open source

openplate et openplate-core utilisent la licence MIT. openplate-inference a ses propres conditions, définies par les poids du modèle qu'il intègre. Son guide des licences les détaille. Les trois projets se trouvent dans un seul dépôt, github.com/LowCarbCheck/openplate. Lis le code, modifie-le et exécute-le toi-même. Les deux services y possèdent leurs propres dossiers, openplate-core et openplate-inference.