# ATA France — Back-end (serveur)

Ce dossier contient le **serveur** du site ATA France : le « cerveau » caché qui
gère les comptes clients, calcule les tarifs de façon sécurisée, encaisse les
paiements et envoie les réservations vers Logipax.

Écrit en **PHP** (compatible avec l'hébergement OVH Hosting Performance).

---

## Ce qui est déjà en place (Étape 1 — le socle)

- Structure de dossiers propre et organisée
- Configuration sécurisée des secrets (clés Mapbox, Stripe, Logipax jamais dans le code)
- Connexion à la base de données MySQL
- Schéma complet de la base de données (comptes, réservations, adresses, factures)
- Un routeur qui aiguille les demandes du site vers le bon traitement
- Une première route de test qui prouve que tout fonctionne
- Sécurité de base : en-têtes HTTP, gestion des erreurs, journalisation

## Ce qui viendra ensuite (étapes suivantes de la feuille de route)

- Étape 2 : calcul de distance Mapbox sécurisé + anti-abus (Turnstile, rate limiting)
- Étape 3 : comptes clients (création, connexion, espace client)
- Étape 4 : paiement Stripe + factures
- Étape 5 : envoi automatique des réservations vers Logipax

---

## Organisation des dossiers

```
ata-backend/
├── public/              ← Le SEUL dossier exposé sur Internet
│   ├── index.php        ← Point d'entrée unique (toutes les demandes passent par là)
│   └── .htaccess        ← Redirige tout vers index.php + sécurité
│
├── config/              ← Configuration (HORS du dossier public = invisible du web)
│   ├── config.php       ← Charge les réglages
│   └── .env.exemple     ← Modèle du fichier secret (à copier en .env)
│
├── src/                 ← Le code du serveur (invisible du web)
│   ├── Core/            ← Les briques de base (base de données, routeur, réponses)
│   ├── Controllers/     ← Le traitement de chaque type de demande
│   └── Models/          ← L'accès aux données (comptes, réservations…)
│
├── database/
│   └── schema.sql       ← Le plan de la base de données (à importer dans MySQL)
│
└── storage/
    └── logs/            ← Les journaux (erreurs, événements)
```

---

## Installation sur OVH (résumé — détaillé au moment venu)

1. Créer une base de données MySQL dans l'espace client OVH.
2. Importer `database/schema.sql` dans cette base (via phpMyAdmin).
3. Copier `config/.env.exemple` en `config/.env` et y renseigner les vrais réglages.
4. Déposer les fichiers sur l'hébergement, en pointant le domaine vers le dossier `public/`.
5. Vérifier que tout fonctionne en ouvrant l'URL de test.

**Important :** le fichier `.env` contient les secrets. Il ne doit JAMAIS être
partagé ni déposé sur un dépôt public. Il reste uniquement sur le serveur.
