# Mise en ligne FTP (copier-coller)

Ce guide vous permet de preparer un package pret a uploader sur un hebergement mutualise (OVH ou equivalent) via FTP, sans refaire de build sur le serveur.

## 1. Preparation locale (une seule fois)

Depuis la racine du projet, executer:

```powershell
php artisan down
composer install --no-dev --optimize-autoloader
npm ci
npm run build
Copy-Item .env.example .env
php artisan key:generate --force
```

Ensuite, editer le fichier `.env` avec vos vraies valeurs hebergeur:
- APP_ENV=production
- APP_DEBUG=false
- APP_URL=https://votre-domaine.tld
- DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD
- DB_PREFIX=cellier_

Option recommandee avant packaging:

```powershell
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache
```

## 2. Generer le package FTP

```powershell
powershell -ExecutionPolicy Bypass -File .\deploy\prepare-ftp-package.ps1
```

Alternative tout-en-un (etapes 1 a 4 automatisees):

```powershell
powershell -ExecutionPolicy Bypass -File .\deploy\build-prod-package.ps1
```

Le script genere:
- `deploy/ftp-ready/app`
- `deploy/ftp-ready/www`

Le `www/index.php` est automatiquement adapte pour pointer vers `../app`.

## 3. Upload FTP (copier-coller)

Sur votre FTP, a la racine du compte:
1. Uploader le dossier `app` dans la racine FTP
2. Uploader le dossier `www` dans la racine FTP

Structure finale attendue:

- `/app`
- `/www`

Le domaine doit pointer vers `www`.

## 4. Base de donnees

### Option A (sans SSH, recommande)
Importer `database/sql/schema.sql` via phpMyAdmin de l'hebergeur.

### Option B (si SSH disponible)

```bash
php artisan migrate --force
php artisan db:seed --force
```

## 5. Verification post mise en ligne

- Page d'accueil accessible
- Connexion admin OK
- Espace CA accessible
- Pages publiques OK
- CSS/JS charges (fichiers dans `www/build`)

## 6. Identifiants admin de demonstration

- Email: admin@celliers-coudraye.fr
- Mot de passe: password

## 7. Important

- Ne pas uploader `node_modules`.
- Le script exclut deja `.env` pour eviter de publier des secrets par erreur.
- Le template de configuration serveur est genere dans `app/.env.production.template`.
  - Copiez ce fichier en `app/.env` sur le serveur, puis completez les variables.
