🏠 EverShelf
Gestionnaire de garde-manger auto-hébergé — Suivez vos stocks alimentaires, scannez vos produits, recevez des suggestions de recettes avec l'IA et réduisez le gaspillage.
Fork amélioré du projet original EverShelf avec corrections, améliorations d'ergonomie, intégrations supplémentaires et optimisations.
✨ 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_sqlitecurlmbstringjson
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
- Dans Portainer, va dans Stacks → Add stack
- Donne un nom à la stack (ex :
evershelf) - Colle le contenu de ton
docker-compose.ymldans l'éditeur web (ou utilise l'option Repository en pointant vershttps://git.mashome.fr/morgane/EverShelf.gitet le chemin du fichier compose) - Renseigne tes variables d'environnement dans la section Environment variables (ou via un fichier
.envà la racine du repo) - 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
Projet original :
https://github.com/dadaloop82/EverShelf
Ce dépôt est un fork indépendant contenant des améliorations et adaptations personnelles.