# Maison BLG V7 — OVH PERSO (PHP + MySQL)

Version convertie pour un hébergement mutualisé OVH **PERSO**. Aucun serveur Node.js n’est nécessaire.

## Architecture

- `public/` : racine web du sous-domaine `maison.blgkitchen.com`
- `public/api/` : API PHP
- `app/` : configuration privée et connexion PDO MySQL
- `database/schema.sql` : schéma MySQL
- `data/products.json` : catalogue de démonstration chargé au premier démarrage
- `scripts/import-catalogue.php` : import JSON du futur feed LABEL51

## Installation OVH

1. OVH > Hébergement > **Multisite** : ajouter `maison.blgkitchen.com`.
2. Dossier racine conseillé : `maison/public`.
3. Activer SSL.
4. OVH > **Bases de données** : créer une base MySQL dédiée.
5. Envoyer le projet par FTP dans le dossier `maison/`.
6. Copier `app/config.example.php` vers `app/config.php` et compléter les identifiants MySQL.
7. Ouvrir `https://maison.blgkitchen.com/api/health`.

Au premier appel API, les tables sont créées automatiquement et le catalogue de démonstration est inséré si la table `products` est vide.

## Exemple `app/config.php`

```php
<?php
return [
  'db' => [
    'host' => 'VOTRE_SERVEUR_MYSQL_OVH',
    'port' => 3306,
    'name' => 'VOTRE_BASE',
    'user' => 'VOTRE_UTILISATEUR',
    'password' => 'VOTRE_MOT_DE_PASSE',
    'charset' => 'utf8mb4',
  ],
  'base_url' => 'https://maison.blgkitchen.com',
  'mollie_api_key' => '',
  'admin_password' => 'UN_MOT_DE_PASSE_FORT',
  'admin_token' => 'UN_TOKEN_ALEATOIRE_TRES_LONG',
  'shipping_flat' => 59.00,
  'free_shipping_from' => 1500.00,
  'currency' => 'EUR',
];
```

## Tests après mise en ligne

- `/api/health`
- `/api/products`
- `/catalogue.html`
- `/product.html?id=1`
- `/checkout.html`
- `/contact.html`
- `/admin.html`

## Mollie

Laisser `mollie_api_key` vide au départ. Le site enregistre alors les commandes en mode manuel. Ajouter ensuite une clé `test_...`, tester entièrement le parcours, puis passer en `live_...` après validation.

## Feed LABEL51

Le catalogue frontend est maintenant chargé depuis `/api/products`. Dès réception du feed LABEL51, on adaptera le mapping exact XML/CSV/JSON/API.

Import JSON déjà prévu :

```bash
php scripts/import-catalogue.php /chemin/feed-label51.json
```

## Avant production

Compléter BCE/TVA, adresse, e-mail SAV, conditions de livraison et de retour, CGV, politique de confidentialité, images officielles, prix et stocks. Remplacer le mot de passe et le token admin par des secrets forts.
