Frigo Adaptatif

Cuisiner ce qu'on a, jeter moins, décider sans y penser — en production sur fridge.jjoly.eu

GoSQLitePWA Web PushRGPDTOTP 2FA IA optionnelle

Le problème

Un foyer jette en moyenne une part importante de ce qu'il achète, faute de savoir ce qui dort au fond du frigo et ce qui périme bientôt. Les apps de recettes proposent des plats qu'on ne peut pas faire avec ce qu'on a, ignorent les dates limites, et demandent de tout saisir à la main sans jamais rien apprendre des habitudes.

La solution

Un assistant de cuisine auto-hébergé qui part de l'inventaire réel du frigo et raisonne dessus : quoi cuisiner aujourd'hui, quoi acheter, quoi sauver avant qu'il ne périme. Toute la logique de décision tourne en local, sans IA ; l'IA n'est qu'un bonus optionnel et transparent.

Le parti pris : la science en arrière-plan, jamais à l'écran

Chaque suggestion porte un pourquoi — jamais un « tip » générique. La génération du planning ne passe jamais par un modèle de langage : c'est un moteur de scoring déterministe (couverture des ingrédients, anti-gaspi, habitudes, variété, récence) qui reste explicable et reproductible. L'IA, quand elle est activée, ne sert qu'à des tâches créatives isolées (vider le frigo, substituer un ingrédient, coach cuisine pas-à-pas, lecture de photo) et son échec est géré proprement, sans jamais bloquer l'app ni exposer de détail technique.

Choix techniques

Architecture de Frigo Adaptatif Une PWA parle en HTTPS à un binaire Go unique. Les données de chaque foyer sont dans leur propre base SQLite. Les notifications partent en Web Push. L'IA est optionnelle et appelée uniquement côté serveur. HTTPS Web Push PWA service worker hors-ligne installable fridge-app · Go binaire unique image distroless scoring déterministe 2FA TOTP RGPD natif SQLite 1 base / foyer WAL · backups IA optionnelle clé côté serveur désactivable Open Food Facts scan code-barres
Un binaire, une base par foyer ; l'IA est un module optionnel côté serveur, jamais dans le navigateur.

En production

déploiement   k3s + Flux CD (GitOps) — voir l'étude de cas infra
pipeline      push main → tests → build → scan Trivy → GHCR → staging
              tag vX.Y.Z → prod (rollback = git revert)
données       une base SQLite par foyer, backups chiffrés, WAL
statut        V3 déployée — zones de congélation, import de recettes, restes
              en inventaire, budget réel, nutrition de précision, courses
              prédictives, optimiseur de menu, rapports PDF, mode événement

La version réellement en production est affichée, et datée, sur la page d'accueil.