# Installation sur OVH mutualisé — Limbus Monitoring v0.1

Ce guide t'amène de zéro jusqu'au premier site synchronisé. Compte ~30 minutes
la première fois.

## 1. Préparer le sous-domaine

Dans le manager OVH, dans l'onglet `Hébergements > limbus.fr > Multisite` :

1. Ajouter le sous-domaine **monitoring.limbus.fr**
2. Cocher **SSL** (Let's Encrypt — la génération du certificat prend ~15 min)
3. Pour le **dossier racine**, deux options :
   - **Option A (recommandée)** : `monitoring/public` — DocumentRoot directement
     sur le dossier `public/`, c'est plus propre côté sécurité
   - **Option B (fallback)** : `monitoring` — le dossier racine est tout le
     projet. Le `.htaccess` racine bloque les fichiers sensibles, ça fonctionne
     mais c'est moins isolé

## 2. Créer la base de données

Dans le manager OVH, onglet `Bases de données` :

1. Créer une base MySQL (offre Privée si possible, sinon Mutualisée Premium ou
   Mutualisée selon ton plan)
2. Noter : **nom de la base**, **utilisateur**, **mot de passe**, **serveur**
   (de la forme `monitoringlimbus.mysql.db`)
3. Vérifier la version : MySQL 5.7+ ou MariaDB 10.3+ requis (toutes les offres
   OVH récentes le sont)

## 3. Téléverser les fichiers via FTP

Avec FileZilla ou équivalent (host : `ftp.cluster0XX.hosting.ovh.net`) :

1. Décompresser localement `limbus-monitoring-v0.1.zip`
2. Téléverser **tout le contenu** dans le dossier choisi à l'étape 1
   - Si Option A : tu uploades à la racine du sous-domaine, le DocumentRoot
     pointe vers `public/`
   - Si Option B : pareil, et le `.htaccess` à la racine bloquera les dossiers
     sensibles

## 4. Configurer l'environnement

1. Renommer `config/.env.example` en `config/.env`
2. L'éditer (par FTP en mode édition, ou local + ré-upload) avec :

```
APP_URL=https://monitoring.limbus.fr
APP_DEBUG=false

DB_HOST=monitoringlimbus.mysql.db
DB_PORT=3306
DB_NAME=monitoringlimbus
DB_USER=monitoringlimbus
DB_PASS=ton_mot_de_passe_BDD
```

Le reste peut rester par défaut — le `CRON_KEY` sera généré à l'install.

## 5. Lancer l'installateur

Dans ton navigateur :

> https://monitoring.limbus.fr/install.php

L'installateur :

- vérifie les prérequis (PHP, extensions, fichiers)
- teste la connexion BDD
- crée toutes les tables
- te demande de créer le compte admin (nom, email, mot de passe ≥ 10 car.)
- génère et affiche la **clé cron**

**Important** — note bien la clé cron affichée et **supprime `public/install.php`
du serveur** dès que c'est terminé (l'installateur empêche déjà la
ré-exécution, mais autant retirer la surface d'attaque).

## 6. Configurer le cron OVH

Dans le manager OVH > Hébergements > Tâches planifiées :

- Commande : `wget -q -O /dev/null "https://monitoring.limbus.fr/cron.php?key=TA_CRON_KEY"`
- Périodicité : toutes les 15 minutes (ou ce que ton offre permet — l'offre
  Perso ne permet que 1×/jour minimum, l'offre Pro autorise 10 min)
- Type : **HTTP** si dispo, sinon shell `wget`

Vérifier au bout d'une heure que `storage/logs/cron.log` contient bien des
entrées "Cron tick".

## 7. Se connecter

> https://monitoring.limbus.fr/login

Avec le compte admin créé à l'étape 5. Tu arrives sur le tableau de bord vide.

## 8. Ajouter le premier site et installer Limbus Monitoring WP

1. Sur la plateforme : `+ Ajouter un site` → renseigner nom + URL → `Créer`
2. La page suivante affiche la **clé API** et le **secret HMAC** —
   garder cette page ouverte
3. Sur le site WordPress du client :
   - Extensions > Ajouter > Téléverser une extension
   - Choisir `limbus-sentinel-v0.1.zip` → Installer → Activer
4. Réglages > Limbus Monitoring WP
5. Coller : URL de la plateforme + clé API + secret HMAC → Enregistrer
6. Cliquer **Tester la connexion** : doit afficher "Plateforme joignable ✓"
7. Cliquer **Synchroniser maintenant** : doit afficher "Sync envoyée ✓"
8. Sur la plateforme, recharger la fiche du site : les données apparaissent.

## Dépannage rapide

| Symptôme | Vérifier |
|---|---|
| `install.php` affiche erreur BDD | DB_HOST/USER/PASS dans `.env`, droits MySQL |
| Page blanche après login | `storage/logs/php_errors.log` par FTP, mettre `APP_DEBUG=true` temporairement |
| Plugin "HTTP 401 invalid_signature" | Recopier secret + clé API sans espace ni saut de ligne |
| Plugin "HTTP 401 invalid_api_key" | Vérifier que le site est bien créé côté plateforme avec ce key |
| Cron jamais déclenché | Tester l'URL en GET dans un onglet — la clé doit correspondre à `.env` |
| HTTPS bloqué | Patienter 15 min après l'activation Let's Encrypt OVH |

## Mise à jour future

Pour passer à v0.2 sans perdre les données :

1. Sauvegarder : dump MySQL via phpMyAdmin + ZIP du `/storage`
2. Téléverser le nouveau ZIP par-dessus (ne pas écraser `config/.env` ni
   `storage/`)
3. Si une migration SQL est fournie : l'exécuter via phpMyAdmin
