# COMPTOIR — web app Flask (Traiteur & Vinyles)

Vraie application web Flask, base de données SQLite **en dur sur le serveur**,
logique métier 100 % côté serveur (templates Jinja2).

## Accès

- **URL :** https://hermes.hanibal.fr/comptoir/ *(active après lancement de `~/comptoir-nginx.sh` en sudo)*
- **Mot de passe :** `comptoir` par défaut → à changer dans ⚙️ Réglages
- **Local :** `cd ~/.hermes/comptoir && .venv/bin/python app.py` → http://127.0.0.1:8790

## Installation serveur (une seule fois, sudo)

```bash
sudo bash ~/comptoir-nginx.sh
```
Crée le service systemd `comptoir` (redémarrage auto) + le proxy nginx `/comptoir/`.

## Architecture

```
~/.hermes/comptoir/
├── app.py            # routes Flask + logique métier (calculs, KPIs, optimiseur)
├── db.py             # schéma SQLite + données de démonstration
├── discogs.py        # client Discogs (recherche, prix, cache 24 h en base)
├── vision.py         # reconnaissance photo de pochette (gpt-4o-mini, clé Hermes)
├── templates/        # Jinja2 (base, login, dashboard, traiteur, recette, vinyles, vinyle, reglages)
├── static/           # style.css + chart.js (local, aucun CDN)
├── data/comptoir.db  # ⚠️ LA BASE DE DONNÉES (à sauvegarder)
└── .venv/            # environnement Python (flask, requests)
```

## Modules

| Module | Fonctions |
|---|---|
| 📊 Tableau de bord | KPIs combinés, CA mensuel vinyles vs traiteur, âge du stock |
| 🍽️ Traiteur | Ingrédients (prix/rendement/protéines), recettes composées, coût de revient, marge, PV conseillé, **optimiseur de mix protéines au coût min**, prestations/devis avec marge estimée |
| 💿 Vinyles | Catalogue SQL, recherche Discogs avec prix du marché (cache 24 h), **reconnaissance photo par vision IA**, prix médian/max si token Discogs, vente en 2 clics, KPIs rotation (stock moyen, dormants > 90 j), export CSV |
| ⚙️ Réglages | Token Discogs (optionnel), mot de passe, état vision |

## Sauvegarde

La base est un seul fichier : copier `~/.hermes/comptoir/data/comptoir.db`
(service arrêté ou `sqlite3 .backup`). Recommandé : un cron quotidien.

## Données de démonstration

Au premier lancement : 16 ingrédients, la recette « Salade bar signature »,
3 vinyles (Nevermind, Dark Side Of The Moon, Songs In The Key Of Life — dont
1 vendu) pour peupler les KPIs. Tout est effaçable dans l'app.
