# Installation sur cPanel

Ce guide concerne le site heberge qui recoit les donnees des bornes.

## 1. Creer la base MySQL

Dans cPanel :

1. Ouvrir `MySQL Databases`.
2. Creer une base, par exemple `votreuser_zbooth_monitor`.
3. Creer un utilisateur MySQL.
4. Ajouter l'utilisateur a la base avec tous les droits.

## 2. Importer les tables

Dans phpMyAdmin :

1. Selectionner la base.
2. Onglet `Import`.
3. Importer le fichier :

```text
cpanel/install.sql
```

## 3. Envoyer les fichiers

Envoyer le contenu du dossier `cpanel/` dans :

```text
public_html/monitor
```

Le dashboard sera ensuite disponible ici :

```text
https://votre-domaine.fr/monitor/dashboard.php
```

## 4. Creer config.php

Sur le serveur, copier :

```text
config.example.php
```

vers :

```text
config.php
```

Puis modifier :

```php
'db' => [
    'host' => 'localhost',
    'name' => 'votreuser_zbooth_monitor',
    'user' => 'votreuser_monitor',
    'pass' => 'mot-de-passe-mysql',
],

'api_keys' => [
    'une-cle-secrete-longue',
],

'dashboard_token' => 'mot-de-passe-dashboard',
```

La cle dans `api_keys` doit etre la meme que `apiKey` dans `agent.config.json` sur chaque borne.

Si les agents utilisent la reprise d'historique par dossier evenement, mettre aussi a jour les fichiers PHP cPanel fournis avec cette version. Le dashboard distant sait alors compter les sessions inferees depuis les prints/GIF/videos deja presents.

## 5. Tester l'acces

Ouvrir :

```text
https://votre-domaine.fr/monitor/dashboard.php
```

Entrer le `dashboard_token`.

## 6. URL a mettre dans les agents

Dans `agent.config.json` de chaque borne :

```json
{
  "remoteIngestUrl": "https://votre-domaine.fr/monitor/api/ingest.php",
  "apiKey": "une-cle-secrete-longue"
}
```

## Mise a jour v0.4

Importer a nouveau `install.sql` dans phpMyAdmin pour creer la table `remote_commands` si elle n'existe pas.

Dans `config.php`, tu peux ajouter :

```php
'online_threshold_seconds' => 240,
'event_list_limit' => 25,
```

`online_threshold_seconds` evite qu'une borne en 4G soit trop vite affichee hors ligne.

`event_list_limit` limite l'historique visible dans le dashboard; les statistiques restent calculees.

## Securite minimale

- Ne jamais envoyer `config.php` publiquement.
- Utiliser une cle API longue et non devinable.
- Utiliser HTTPS.
- Changer le `dashboard_token`.
