Files
EverShelf/README.md
T
morgane 22dd77c879
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
CI / Auto-merge develop → main (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
Actualiser README.md
2026-06-27 16:28:57 +00:00

223 lines
5.4 KiB
Markdown

# 🏠 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.