# Déploiement O2switch / cPanel

Objectif : obtenir un lien durable de démonstration pour les clients, par exemple :

```text
https://demo.votre-domaine.fr
```

## 1. Créer le sous-domaine

Dans cPanel :

1. Aller dans `Domaines`.
2. Créer un sous-domaine, par exemple `demo`.
3. Le document root peut rester séparé, par exemple :

```text
demo.votre-domaine.fr
```

Les fichiers de l'application Node.js ne doivent pas être placés directement dans `public_html`.

## 2. Créer l'application Node.js

Dans cPanel :

1. Aller dans `Setup Node.js App`.
2. Cliquer sur `Create Application`.
3. Renseigner :

```text
Node.js version: 22 si disponible, sinon 20
Application mode: production
Application root: portail-famille-tilleuls
Application URL: demo.votre-domaine.fr
Application startup file: server.js
```

4. Créer l'application.

## 3. Envoyer les fichiers

Envoyer le contenu de l'archive `portail-famille-tilleuls-o2switch.zip` dans le dossier :

```text
/home/VOTRE_COMPTE/portail-famille-tilleuls
```

Ne pas envoyer les dossiers locaux suivants :

```text
data/
screenshots/
tools/
run/
```

Le dossier `data/` sera créé automatiquement au premier lancement.

## 4. Installer et redémarrer

Dans `Setup Node.js App` :

1. Ouvrir l'application créée.
2. Si cPanel propose `Run NPM Install`, le lancer.
3. Cliquer sur `Restart`.

Le portail doit ensuite répondre sur :

```text
https://demo.votre-domaine.fr
```

## 5. Comptes initiaux

Espace parent :

```text
parent@example.com
Famille2026!
```

Back-office mairie :

```text
admin@arthon.fr
Mairie2026!
```

Pour une démonstration client, remplacer ces comptes avant de diffuser largement le lien.

## 6. SSL / HTTPS

Vérifier dans cPanel que le certificat SSL est actif pour le sous-domaine.

Si besoin :

1. Aller dans la zone SSL / TLS ou AutoSSL.
2. Lancer la génération du certificat.
3. Attendre quelques minutes puis tester l'URL en `https://`.

## 7. Points importants

- Ne pas saisir de vraies données personnelles dans une démo client.
- O2switch utilise Passenger pour lancer l'application Node.js.
- Le fichier `server.js` est déjà compatible avec Passenger.
- Les factures et documents seront stockés dans le dossier `data/` de l'application.
- Pour une vraie production mairie, il faudra ensuite traiter RGPD, sauvegardes, PayFiP réel, mentions légales et sécurité renforcée.
