morgane 5a50403e52
CI / PHP Syntax Check (push) Has been cancelled
CI / JavaScript Lint (push) Has been cancelled
CI / Docker Build Test (push) Has been cancelled
CI / Validate Translation Files (push) Has been cancelled
Security Scan (Trivy) / Trivy — Docker image scan (push) Has been cancelled
Security Scan (Trivy) / Trivy — Filesystem scan (push) Has been cancelled
CI / Auto-merge develop → main (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
Actualiser api/index.php
2026-06-27 17:05:42 +00:00
2026-06-27 17:05:42 +00:00
2026-06-20 08:59:36 +00:00
2026-06-17 08:07:28 +00:00
2026-06-17 07:57:39 +00:00
2026-06-19 16:29:00 +00:00
2026-04-10 05:24:27 +00:00
2026-06-20 08:08:12 +00:00
2026-06-27 16:28:57 +00:00

🏠 EverShelf for Ricardo

Fork personnalisé d'EverShelf, adapté pour servir de backend stock/recettes à Ricardo, l'application bartender. Garde toutes les fonctionnalités d'EverShelf, avec des ajustements pour la gestion de bar (catégorie boissons, sous-catégories alcools, intégration directe avec Ricardo).


License: MIT PHP SQLite Docker


Fonctionnalités principales

📦 Gestion des stocks

  • Inventaire alimentaire complet
  • Gestion des emplacements :
    • 🏠 Placard
    • ❄️ Réfrigérateur
    • 🧊 Congélateur
    • 📍 Emplacements personnalisés, entièrement gérés depuis une page 🔧 Configuration dédiée (ajout, modification, suppression sans toucher au code)
  • Sous-catégorie dédiée aux boissons (vin, bière, spiritueux, soda, jus, eau...) pour filtrer et trier l'inventaire plus précisément
  • Scan de codes-barres avec la caméra du téléphone
  • Ajout rapide de produits
  • Suivi des dates de péremption
  • Gestion des produits ouverts
  • Support des produits sous vide
  • Détection des incohérences de stock

🤖 Intelligence artificielle (Google Gemini)

EverShelf peut utiliser l'IA pour :

  • 📸 Identifier un produit depuis une photo
  • 📅 Lire automatiquement une date limite de consommation
  • 🧊 Proposer un stockage adapté
  • 🍳 Générer des recettes selon votre inventaire
  • 💬 Répondre aux questions sur vos produits
  • 🛒 Améliorer les suggestions de courses

L'IA est optionnelle. EverShelf fonctionne sans clé Gemini.


🛒 Liste de courses intelligente

  • Création automatique depuis les ruptures de stock
  • Prévisions de besoins
  • Synchronisation avec Bring!
  • Nettoyage automatique des doublons
  • Suggestions d'achat personnalisées

🍳 Mode cuisine

  • Recettes étape par étape
  • Mode mains libres
  • Synthèse vocale (TTS)
  • Minuteurs automatiques
  • Suivi des ingrédients utilisés
  • Conseils anti-gaspillage

♻️ Réduction du gaspillage

  • Suivi des aliments consommés ou jetés
  • Analyse des pertes
  • Alertes de péremption
  • Suggestions pour utiliser les produits bientôt périmés

🏡 Intégrations

Home Assistant

Intégration native disponible :

  • Capteurs de stock
  • Dates de péremption
  • Liste de courses
  • Calendrier des produits
  • Actions personnalisées
  • Suggestions de recettes IA

Compatible avec une installation 100% locale.


📱 Application mobile / PWA

  • Interface adaptée smartphone
  • Installation comme une application
  • Synchronisation multi-appareils
  • Mode hors-ligne :
    • consultation du stock
    • actions mises en attente
    • synchronisation automatique au retour réseau

📺 Mode tablette (Kiosque Android)

  • Affichage plein écran
  • Verrouillage kiosque
  • Scan caméra
  • Support TTS natif Android
  • Découverte automatique du serveur
  • Support des balances Bluetooth

🚀 Installation rapide

Prérequis

  • PHP 8.0+
  • SQLite 3
  • Extensions PHP :
    • pdo_sqlite
    • curl
    • mbstring
    • json

Docker est recommandé.


🐳 Installation Docker (CLI)

git clone https://git.mashome.fr/morgane/EverShelf.git
cd EverShelf
cp .env.example .env
nano .env
docker compose up -d

Puis ouvrez : http://localhost:8080


🐳 Déploiement via Portainer

  1. Dans Portainer, va dans StacksAdd stack
  2. Donne un nom à la stack (ex : evershelf)
  3. Colle le contenu de ton docker-compose.yml dans l'éditeur web (ou utilise l'option Repository en pointant vers https://git.mashome.fr/morgane/EverShelf.git et le chemin du fichier compose)
  4. Renseigne tes variables d'environnement dans la section Environment variables (ou via un fichier .env à la racine du repo)
  5. Clique sur Deploy the stack

Pour mettre à jour après une modification de code :

  • Va dans Stacks → ta stack → Update the stack
  • Coche bien « Re-pull image » / « Re-build image » avant de valider — sinon Portainer redémarre le conteneur avec l'image déjà construite en cache, sans prendre en compte tes changements.

⚙️ Configuration

Exemple de fichier .env :

# IA Google Gemini (optionnel)
GEMINI_API_KEY=votre_cle

# Bring! (optionnel)
BRING_EMAIL=email@example.com
BRING_PASSWORD=motdepasse

# Sécurité API
API_TOKEN=

# Nettoyage automatique
RECIPE_RETENTION_DAYS=7
TRANSACTION_RETENTION_DAYS=90

🔒 Vie privée

EverShelf est conçu pour fonctionner en auto-hébergement :

  • Pas de compte obligatoire
  • Pas de cloud imposé
  • Données stockées localement
  • SQLite comme base de données
  • Les fonctions IA utilisent uniquement les services configurés par l'utilisateur

🛠️ Développement

Technologies principales :

  • PHP
  • SQLite
  • JavaScript
  • HTML/CSS
  • Docker

📜 Licence

Projet sous licence MIT.


🙏 Crédits

Ce fork, EverShelf for Ricardo, est maintenu par Morgane pour servir de système de gestion de stock/recettes à l'application Ricardo.

Projet original :

https://github.com/dadaloop82/EverShelf

Ce dépôt contient des améliorations et adaptations personnelles, incluant un système d'export/import avec fusion intelligente des données.

S
Description
EverShelf: Your pantry's best friend. A self-hosted, open source smart pantry manager with AI expiry tracking, barcode scanning, smart shopping lists, and Android Kiosk support.
Readme MIT 87 MiB
Languages
JavaScript 42.5%
PHP 33.8%
CSS 8.3%
Kotlin 8%
HTML 6.5%
Other 0.7%