# Les Vertes Prairies - Site E-commerce de Miel 🍯

Site e-commerce artisanal pour la vente de miel, développé en Python/Flask.

## Fonctionnalités

- 🛒 Boutique en ligne complète
- 🔐 Authentification utilisateurs
- 👤 Gestion des comptes clients
- 📦 Suivi des commandes
- 🔧 Panel d'administration
- ⏰ Ouverture/Fermeture saisonnière de la boutique
- 🖼️ Upload d'images pour les produits

## Installation sur Debian

### Installation automatique (recommandé)

```bash
chmod +x install.sh
sudo ./install.sh
```

Le script effectue automatiquement :
- Installation des dépendances système
- Création d'un environnement virtuel Python
- Installation des packages Python
- Configuration du fichier `.env`
- Initialisation de la base de données
- Configuration du service systemd
- Création des scripts de gestion

### Scripts de gestion

Après installation :
```bash
./start.sh    # Démarrer le serveur
./stop.sh     # Arrêter le serveur
./restart.sh  # Redémarrer le serveur
./status.sh   # Voir le statut
./logs.sh     # Voir les logs en temps réel
```

### Installation manuelle (développement)

```bash
# Créer l'environnement virtuel
python3 -m venv venv
source venv/bin/activate

# Installer les dépendances
pip install -r requirements.txt

# Créer le fichier de configuration (optionnel)
cp .env.example .env

# Lancer le serveur
python server.py
```

Le serveur démarre sur http://localhost:8080

## Configuration

Fichier `.env` :
```
SECRET_KEY=votre_cle_secrete
DATABASE_URL=sqlite:///data/miel.db
UPLOAD_FOLDER=uploads
PORT=8080
DEBUG=false
```

## Accès

- **Site public** : http://localhost:8080
- **Administration** : http://localhost:8080/admin

### Compte administrateur par défaut
- **Email** : admin@vertesprairies.fr
- **Mot de passe** : admin123

⚠️ Pensez à changer ce mot de passe en production !

## Fonctionnalités

### 🛍️ Boutique
- Catalogue de produits avec filtres par catégorie et prix
- Panier d'achat persistant
- Processus de commande complet
- Gestion des stocks en temps réel

### 👤 Espace Client
- Inscription / Connexion
- Profil utilisateur avec adresse de livraison
- Historique des commandes

### ⚙️ Administration
- Tableau de bord avec statistiques
- Gestion des produits (CRUD complet)
- Gestion des commandes et statuts
- Liste des clients
- **Gestion saisonnière** : Ouvrir/Fermer la boutique avec message personnalisé

### ❄️ Gestion Saisonnière
La boutique peut être fermée pendant les périodes où le miel n'est pas disponible (hiver). 
Dans l'administration > Paramètres :
- Toggle pour ouvrir/fermer la boutique
- Message personnalisable affiché aux visiteurs

## Technologies

- **Backend** : Python 3 + Flask
- **ORM** : SQLAlchemy
- **Base de données** : SQLite
- **Serveur WSGI** : Gunicorn (production)
- **Frontend** : HTML/CSS/JavaScript (Vanilla)

## Structure du projet

```
vertesprairies/
├── server.py           # Application Flask principale
├── requirements.txt    # Dépendances Python
├── install.sh          # Script d'installation Debian
├── .env               # Configuration (créé à l'installation)
├── data/              # Base de données SQLite
├── uploads/           # Images uploadées
└── public/            # Fichiers statiques
    ├── index.html     # Page d'accueil
    ├── boutique.html  # Catalogue
    ├── panier.html    # Panier
    ├── checkout.html  # Commande
    ├── compte.html    # Espace client
    ├── admin.html     # Administration
    ├── css/           # Styles
    ├── js/            # Scripts
    └── images/        # Images statiques
```

## API

### Authentification
- `POST /api/auth/register` - Inscription
- `POST /api/auth/login` - Connexion
- `POST /api/auth/logout` - Déconnexion
- `GET /api/auth/me` - Utilisateur connecté
- `PUT /api/auth/profile` - Modifier profil
- `PUT /api/auth/password` - Changer mot de passe

### Produits
- `GET /api/products` - Liste des produits
- `GET /api/products/categories` - Catégories
- `GET /api/products/:id` - Détail produit

### Panier
- `GET /api/cart` - Contenu du panier
- `POST /api/cart/add` - Ajouter au panier
- `PUT /api/cart/update/:id` - Modifier quantité
- `DELETE /api/cart/remove/:id` - Retirer du panier
- `DELETE /api/cart/clear` - Vider le panier

### Commandes
- `POST /api/orders/create` - Créer commande
- `GET /api/orders/my-orders` - Mes commandes
- `GET /api/orders/:orderNumber` - Détail commande

### Paramètres
- `GET /api/settings` - Tous les paramètres
- `GET /api/settings/:key` - Paramètre spécifique

### Administration (requiert auth admin)
- `GET /api/admin/stats` - Statistiques
- `GET/POST /api/admin/products` - Gestion produits
- `PUT/DELETE /api/admin/products/:id` - Modifier/supprimer produit
- `GET /api/admin/orders` - Toutes les commandes
- `PUT /api/admin/orders/:id/status` - Modifier statut
- `GET /api/admin/customers` - Liste clients
- `GET/POST/DELETE /api/admin/categories` - Catégories
- `GET/PUT /api/admin/settings` - Paramètres

## Personnalisation

### Modifier les informations de la miellerie
Éditez `public/index.html` pour changer :
- Nom de la miellerie
- Description
- Coordonnées de contact
- Témoignages clients

### Ajouter des produits
Connectez-vous à l'administration et utilisez l'interface pour :
1. Créer des catégories
2. Ajouter des produits avec images

## Licence

© 2024 Les Vertes Prairies
