# Installation sur o2switch

## 1. Créer le sous-domaine

Dans cPanel, ouvrez **Domaines**, créez `diaspora.fip-forum.com` et activez HTTPS. Vérifiez ensuite que le certificat AutoSSL est actif.

## 2. Créer la base MySQL

Dans **Bases de données MySQL** :

1. Créez une base, par exemple `VOTRECOMPTE_fipdiaspora`.
2. Créez un utilisateur, par exemple `VOTRECOMPTE_fipapp`, avec un mot de passe fort.
3. Ajoutez cet utilisateur à la base avec **tous les privilèges**.
4. Dans phpMyAdmin, sélectionnez la base, cliquez sur **Importer** et importez `database.sql`.

## 3. Importer le ZIP

Dans le Gestionnaire de fichiers cPanel :

1. Créez `/home/VOTRECOMPTE/apps/diaspora` hors de `public_html`.
2. Téléversez le ZIP dans ce dossier et extrayez-le.
3. Vérifiez que `package.json` et `server.js` sont directement dans `/home/VOTRECOMPTE/apps/diaspora`.
4. Créez `storage/uploads`, `storage/backups`, `storage/updates` et `storage/staging` avec les permissions `700`.

## 4. Créer l’application Node.js Passenger

Dans **Setup Node.js App** :

1. Version Node.js : **22**.
2. Mode : **Production**.
3. Racine : `apps/diaspora`.
4. URL : `diaspora.fip-forum.com`.
5. Fichier de démarrage : `server.js`.
6. Enregistrez, puis cliquez sur **Run NPM Install**.

Dans le Terminal cPanel :

```bash
cd /home/VOTRECOMPTE/apps/diaspora
npm run build
```

## 5. Variables d’environnement

Ajoutez dans **Setup Node.js App** :

```text
NODE_ENV=production
APP_URL=https://diaspora.fip-forum.com
DB_HOST=localhost
DB_PORT=3306
DB_NAME=VOTRECOMPTE_fipdiaspora
DB_USER=VOTRECOMPTE_fipapp
DB_PASSWORD=LE_MOT_DE_PASSE_MYSQL
DB_CONNECTION_LIMIT=8
SESSION_TTL_HOURS=12
STORAGE_PATH=/home/VOTRECOMPTE/apps/diaspora/storage
SMTP_HOST=mail.fip-forum.com
SMTP_PORT=465
SMTP_ENCRYPTION=SSL
SMTP_USER=contact@fip-forum.com
SMTP_PASSWORD=LE_MOT_DE_PASSE_SMTP
SMTP_FROM=contact@fip-forum.com
SMTP_FROM_NAME=Forum des Investissements et des Partenariats
```

Ne placez aucun mot de passe dans `NEXT_PUBLIC_*`.

## 6. Démarrer et vérifier

1. Dans **Setup Node.js App**, cliquez sur **Restart**.
2. Ouvrez `https://diaspora.fip-forum.com`.
3. Ouvrez `/admin` et utilisez `IDENTIFIANTS-SUPER-ADMIN.txt`.
4. Changez immédiatement le mot de passe dans **Profil**.
5. Dans **Paramètres**, enregistrez le mot de passe SMTP puis testez une inscription et un message de contact.
6. Vérifiez qu’un média importé apparaît dans `storage/uploads`.

## 7. Mises à jour

Le menu **Mises à jour** accepte un ZIP de 25 Mo maximum. Il contrôle les chemins, refuse les fichiers `.env`, sauvegarde automatiquement l’application et les données essentielles dans `storage/backups`, remplace uniquement les éléments applicatifs autorisés, lance `npm install` puis `npm run build`, et demande à Passenger de redémarrer. En cas d’échec, les fichiers sauvegardés sont restaurés.

Une mise à jour ne doit jamais contenir `storage`, `.env`, `.git` ou `node_modules`.
