# JF Freight — instance publique (ops sans Marché + shop)

Installation guidée, en ligne de commande, depuis ce dossier (celui qui contient `ops/` et `shop/`) :

```
php install.php
```

Le script :
1. contrôle le serveur (PHP 8.1+, pdo_sqlite, curl, `data/` inscriptibles, `.htaccess` présents) ;
2. demande les URL du shop et d'ops, le mot de passe admin, le mot de passe d'homologation du shop, la corpo / alliance autorisée, le nom du service et les persos (contrats, paiements, contacts) ;
3. génère le `SHOP_TOKEN` de l'instance ;
4. affiche les deux applications à créer sur https://developers.eveonline.com/applications (nom, type, scopes, Callback URL exacts) et demande leurs Client ID / Secret ;
5. écrit `shop/config.php` et `ops/config.php` ;
6. crée la base d'ops (avec Gebuladi et la route NS directe), y enregistre les réglages et l'application ops, puis fait la première synchro ops → shop ;
7. affiche ce qui reste à faire (relier les persos, stations, tarifs, crontab).

Le shop doit déjà être en ligne à son URL pour la synchro de l'étape 6 (sinon : ops → Synchro → « Synchroniser maintenant » plus tard).

`config.php` existant : le script s'arrête. `php install.php --force` refait la config et sauvegarde l'ancien fichier en `config.php.bak-AAAAMMJJ-HHMMSS`. Une base déjà présente est gardée : supprime `ops/data/freight.sqlite` avant pour repartir de zéro.
