# 🏠 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](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![PHP](https://img.shields.io/badge/PHP-8.0+-blue.svg)](https://www.php.net/) [![SQLite](https://img.shields.io/badge/SQLite-3-blue.svg)](https://www.sqlite.org/) [![Docker](https://img.shields.io/badge/Docker-Compatible-2496ED.svg)](Dockerfile) --- ## ✨ 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) ```bash 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 **Stacks** → **Add 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` : ```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.