# Déploiement OVH — Myconciergerie V10
*Généré : 2026-04-09 | Version : V10 — Plateforme connectée Supabase*

---

## Structure à uploader sur OVH (FTP)

```
www/                          ← racine OVH (ou public_html/)
├── index_v9.html             → renommer en index.html sur OVH
├── contact.php               → laisser tel quel
├── confidentialite.html      → page RGPD
├── sitemap.xml               → SEO multilingue
├── robots.txt                → SEO
├── js/
│   ├── supabase-config.js    → ⚠ remplacer VOTRE_ANON_KEY avant upload
│   ├── client-portal.js      → espace client complet
│   └── google-calendar.js    → ré-auth Calendar optionnelle
├── lang/
│   ├── fr.json               → servi statiquement (aucune config requise)
│   ├── en.json
│   └── es.json
└── assets/
    ├── noeud_icone.png
    ├── myconciergerie_white.png
    └── new_sans_slogan.png
```

> **IMPORTANT** : renommer `index_v9.html` en `index.html` avant upload,
> pour que OVH le serve comme page d'accueil.

---

## Étape 1 — Configurer Supabase (avant upload)

### 1a. Clé anon Supabase
Dans `js/supabase-config.js`, remplacer :
```js
const SUPABASE_ANON_KEY = 'VOTRE_ANON_KEY';
```
par la vraie clé anon (Dashboard → Settings → API → anon/public).

### 1b. Google OAuth provider
Dans le Dashboard Supabase → Authentication → Providers → Google :
- Activer le provider
- Renseigner Client ID + Client Secret (console Google Cloud)
- Redirect URL : `https://lbmqrfxtvfyjlxkbqfxv.supabase.co/auth/v1/callback`

### 1c. Extensions + migrations en attente
Dashboard Supabase → Database → Extensions :
- Activer `pg_cron` → puis exécuter migration `20260409_005_concierge_cron.sql`
- Activer `pg_net` → puis exécuter migration `20260409_007_concierge_webhooks.sql`
- Configurer GUC dans SQL Editor :
  ```sql
  ALTER DATABASE postgres SET app.settings.supabase_url = 'https://lbmqrfxtvfyjlxkbqfxv.supabase.co';
  ALTER DATABASE postgres SET app.settings.service_role_key = 'VOTRE_SERVICE_ROLE_KEY';
  ```

### 1d. Edge Functions
```bash
supabase functions deploy concierge-notify
supabase functions deploy concierge-booking-confirm
supabase functions deploy concierge-booking-reschedule
supabase functions deploy concierge-assign
supabase functions deploy store-google-token
```
Configurer les secrets :
```bash
supabase secrets set RESEND_API_KEY=re_XXXXXXXXX
supabase secrets set GOOGLE_CLIENT_ID=xxxx.apps.googleusercontent.com
supabase secrets set GOOGLE_CLIENT_SECRET=GOCSPX-xxxx
```

---

## Étape 2 — Configurer contact.php

Ouvrir `contact.php` et remplacer :

```php
define('SMTP_PASS', 'VOTRE_MOT_DE_PASSE_OVH');
```

par votre vrai mot de passe email OVH.

**Infos SMTP OVH (déjà pré-remplies) :**
| Paramètre | Valeur |
|-----------|--------|
| Serveur   | ssl0.ovh.net |
| Port      | 465 (SSL) |
| Utilisateur | contact@myconciergerie.fr |
| Expéditeur | contact@myconciergerie.fr |
| Destinataire | contact@myconciergerie.fr |

---

## Étape 3 — Configurer Google Analytics 4

Dans `index_v9.html` (ou `index.html` renommé), ligne ~86 :

```js
window.GA_ID = 'G-XXXXXXXXXX';
```

→ Remplacer `G-XXXXXXXXXX` par votre ID GA4 réel.

---

## Étape 4 — Upload FTP (FileZilla ou gestionnaire OVH)

### Connexion FTP OVH
| Champ | Valeur |
|-------|--------|
| Hôte | ftp.cluster0XX.hosting.ovh.net (voir Manager OVH) |
| Utilisateur | votre identifiant FTP OVH |
| Mot de passe | votre mot de passe FTP OVH |
| Port | 21 |

### Fichiers à uploader (dans cet ordre)
1. `lang/*.json` → `www/lang/`
2. `js/*.js` → `www/js/` (⚠ supabase-config.js configuré avec la vraie clé)
3. `assets/*` → `www/` (noeud_icone.png, myconciergerie_white.png, new_sans_slogan.png)
4. `confidentialite.html` → `www/confidentialite.html`
5. `sitemap.xml` → `www/sitemap.xml`
6. `robots.txt` → `www/robots.txt`
7. `contact.php` (configuré avec mdp) → `www/contact.php`
8. `index_v9.html` → `www/index.html` (**renommé**)

---

## Étape 5 — Tests post-déploiement

Sur https://www.myconciergerie.fr :

### Tests vitrine
- [ ] La page s'affiche correctement
- [ ] Cliquer FR → EN → ES → FR : le contenu bascule sans rechargement
- [ ] Recharger en mode EN : la langue est mémorisée (localStorage)
- [ ] Le formulaire de contact s'envoie (vérifier réception email)
- [ ] La vidéo brand film se charge
- [ ] FAQ accordion fonctionne
- [ ] Politique de confidentialité accessible depuis le footer
- [ ] sitemap.xml accessible à /sitemap.xml

### Tests espace client
- [ ] Bouton "Mon Espace" ouvre la modale de login
- [ ] Login Google OAuth fonctionne (redirect + session)
- [ ] Login Magic Link envoie un email
- [ ] Après login : dashboard "Espace Client" s'affiche
- [ ] Créer une demande : apparaît dans la liste
- [ ] Proposer un RDV : slots enregistrés
- [ ] Profil : nom + téléphone modifiables
- [ ] Déconnexion : retour à l'état initial

### Tests mobile iOS
- [ ] Slideshow pleine largeur
- [ ] i18n switch FR/EN/ES
- [ ] Login Google + espace client

---

## Base de données

**V10 utilise Supabase comme backend (pas MySQL OVH).**

Les tables concierge (services, requests, bookings, messages, google_tokens)
sont gérées dans le projet Supabase `lbmqrfxtvfyjlxkbqfxv`.

La BDD MySQL OVH reste disponible pour des usages futurs (logs contact, etc.)
mais n'est pas utilisée par cette version.
