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
223 lines
5.4 KiB
Markdown
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)
|
|
[](https://www.php.net/)
|
|
[](https://www.sqlite.org/)
|
|
[](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. |