🧠C’est quoi exactement un “cellier” dans Deazl ?

Ce n’est PAS juste “liste d’items que j’ai chez moi”. Pour être utile, il doit être :

✔ Intelligent

Connaître :

  • quantités

  • dates d’expiration

  • unités

  • catégories

  • niveau de stock (faible / normal / trop)

  • usage dans les recettes

✔ Connecté aux recettes

⇒ « Tu peux faire cette recette car tu as tout sauf X » ⇒ « Il te manque juste 200 g de beurre »

✔ Connecté à la liste de courses

⇒ « Ajout automatique des manquants » ⇒ « Ne pas racheter ce que tu as déjà » ⇒ « Proposer de vider les stocks avant achat »

✔ Connecté aux prix

⇒ « Le beurre que tu as chez toi vaut environ 1.50€ (prix moyen local) » ⇒ « Tu as déjà l’ingrédient le plus cher de la recette, tu économises X€ »

✔ Opportuniste

⇒ « Ce produit arrive en fin de vie → recettes adaptées »


🎯 2. Problèmes actuels sur les autres apps

Ex : OutOfMilk, Bring!, Cookidoo, Jow, SaveEat…

❌ Entrée utilisateur trop lourde

Les apps demandent :

  • la quantité exacte

  • l’unité

  • parfois même la marque → les gens abandonnent

❌ Pas de lien réel avec la cuisine

Pantry ≠ Recettes Pantry ≠ Liste de courses → c’est inutile.

❌ Pas intelligent : aucun raisonnement

Pas d’expiration Pas de suggestions Pas d’usage intelligent

❌ Pas de data produit fiable

Sans OpenFoodFacts → impossible d’être pertinent.

Deazl peut résoudre tout ça.


🚀 3. Solution Deazl — Vision complète (V1 → V2 → V3)


🟩 V1 — Cellier simple mais intelligent

Contenu :

  • 📦 Liste des produits possédés

  • 🔢 Quantité + unité

  • 🏷 Catégorie

  • 🧊 Frais / Sec / Congelé

  • ⏳ Expiration (optionnelle : date ou “≈” estimation IA)

  • 🏭 Marque (optionnel)

  • 📌 Lien avec productId si connu (OpenFoodFacts)

  • 📷 Ajout par scan (plus tard)

Automatisations intelligentes :

✔ Détection automatique de l’unité :

Si “lait 1L” → unité = L, qty = 1

✔ Suggestion d’expiration :

  • Lait → 3–7 jours

  • Riz sec → 24 mois

  • Œufs → 21 jours

(OpenFoodFacts + heuristiques internes)

✔ Détection du type par catégorie OpenFoodFacts

Permet classification automatique.


🟦 V2 — Connexion recettes

La vraie puissance :

✔ Affichage sur une recette :

⭐️ Vous avez 7 / 10 ingrédients ❌ Il manque : beurre (100g), sucre (50g)

✔ Bouton :

→ Ajouter les ingrédients manquants à ma liste de courses

✔ Mise à jour automatique :

Quand on coche des ingrédients dans la liste de courses :

  • ils arrivent dans le cellier

Quand on utilise une recette :

  • suggestion : “déduire les quantités du cellier ?”

✔ Calcul du coût réel d’une recette selon ton cellier

→ Tu économises automatiquement.


🟧 V3 — Prévention du gaspillage & suggestions

✔ Recettes basées sur ce que tu as :

Vous pouvez cuisiner 14 recettes sans rien acheter Voici les 5 meilleures

✔ Alertes expiration :

🔶 2 aliments expirent bientôt Propose des recettes pour les utiliser

✔ Suivi dynamique :

  • stock faible → automatiquement ajouté à prochaine liste

  • stock trop important → suggestions anti-gaspillage


🟥 V4 — Cellier collaboratif

Pour foyers/coloc :

  • plusieurs personnes partagent le même cellier

  • mises à jour synchronisées


🏗️ 4. Structure technique (BDD)

Voici ce qu’il faut ajouter au schéma Prisma :

📦 PantryItem (Cellier)

model PantryItem {
  id            String   @id @default(uuid())
  userId        String
  productId     String?  // si trouvé dans la DB produits
  name          String   // si produit inconnu
  quantity      Float
  unit          String   // g, kg, ml, L, unit...
  expiration    DateTime?
  location      String?  // frigo / congélateur / sec
  createdAt     DateTime @default(now())
  updatedAt     DateTime @updatedAt

  user    User    @relation(fields: [userId], references: [id])
  product Product? @relation(fields: [productId], references: [id])
}

🧮 5. Algorithmes essentiels


🎯 1. Match automatique entre un texte et un produit

User tape “lait” → Recherche fuzzy dans Product :

SELECT * FROM Product 
WHERE name ILIKE '%lait%' OR category.name ILIKE '%lait%'
ORDER BY similarity(name, 'lait') DESC
LIMIT 1

🎯 2. Détection du type & expiration (IA légère)

if (category == "Lait") → expiration = +4 jours
if (category == "Pâtes") → expiration = +2 ans
if (category == "Boisson sucrée") → expiration = +3 mois

🎯 3. Comparaison Recette ↔ Cellier

Pour chaque ingrédient :

if pantry.productId == ingredient.productId:
    missingQty = max(0, ingredient.qty - pantry.qty)

→ Pour le service RecipePricingService, recalcul ≈1 ligne de code.


🎯 4. Ajout automatique à la liste de courses

Si missingQty > 0 : → générer ShoppingListItem


🎨 6. UX mobile : le plus important

Le cellier doit être extrêmement rapide à utiliser, sinon personne ne l’utilise.

🔥 Interfaces essentielles :

🟣 Page “Mon cellier”

  • Catégories (Frais / Sec / Congelé)

  • Barre de recherche

  • Grosses cartes pour chaque item

🟣 Fiche d’un item

  • quantité

  • expiration

  • emplacement

  • lien "Voir le produit"

  • bouton "Utiliser dans une recette"

  • bouton "Ajouter au panier"

🟣 Flow “Ajouter un item”

3 modes :

  1. Scan code-barres (plus tard)

  2. Saisie rapide :

    • nom

    • quantité

    • unité

  3. Suggestion automatique de produit existant

🟣 Depuis une recette :

Déduire du cellier ? Ajouter les manquants ? Proposer recettes downgradées (par rapport au cellier)


🚨 7. Pièges à éviter

❌ Ne pas obliger le user à renseigner trop d’infos ❌ Ne pas demander d’expiration sauf si nécessaire ❌ Ne pas créer un cellier trop complexe dès le début ❌ Ne pas dépendre d’un scanner pour la V1 ❌ Ne pas forcer la correspondance produit ↔ OpenFoodFacts


⭐ 8. Innovations que seuls Deazl peut faire

✔ Calcul dynamique du coût d’une recette selon ce que tu possèdes

Unique.

✔ Recettes alternatives basées sur tes stocks

Unique.

✔ Optimisation des stocks avec prix locaux

Unique.

✔ Cellier relié à la liste de courses

Super rare.

✔ Gaming / récompenses anti-gaspillage

Ex : “Vous avez économisé 12€/mois en cuisinant vos stocks”.

Mis à jour

Ce contenu vous a-t-il été utile ?