Application web développée en **PHP 8 / HTML5 / CSS3 / JavaScript** suivant le patron de conception **MVC (Modèle - Vue - Contrôleur)**, spécialement adaptée pour consommer l'API REST de gestion de véhicules disponible sur [VoituresApi-API](https://code.erwann-philippe.xyz/wktr/VoituresApi-API).
---
## 🚀 Connexion à l'API locale
- **URL de l'API locale** : `http://localhost:8888`
- **Fichier de configuration** : `config/config.php`
- **Authentification** : Jeton Bearer (`Authorization: Bearer <token>` et `X-API-KEY: <token>`) stocké en session après connexion via `POST /auth/login`.
### 🔑 Comptes de démonstration préconfigurés dans l'API :
| Rôle | Identifiant | Mot de passe | Accès |
|---|---|---|---|
| **Admin** | `admin` | `adminpassword` | Accès total à tous les véhicules, entretiens et notes |
| **Utilisateur** | `user` | `userpassword` | Gestion de ses propres véhicules, entretiens et notes |
*(Sur la page de connexion `/login`, deux boutons de raccourci permettent de vous connecter en 1 clic avec ces comptes).*
---
## 📁 Architecture du projet MVC
```text
voituresAPI-Front/
├── config/
│ └── config.php # Base URL (http://localhost:8888), timeouts & constantes
│
├── public/ # Dossier public exposé par le serveur web
│ ├── .htaccess # Redirection Apache vers index.php
│ ├── index.php # Front Controller (point d'entrée unique & déclaration des routes)
- **Privatisation de `GET /cars`** : L'accès à la flotte complète est restreint au rôle `admin` (`401` si non authentifié, `403` si `user`). Les utilisateurs accèdent automatiquement à leurs véhicules déclarés (`GET /cars/mes-voitures`).
- **Privatisation de la recherche d'immatriculation** : `GET /cars/immatriculation/{plaque}` est réservé aux administrateurs.
- **Page d'accueil dédiée** : Route `/` présentant le projet et disposant d'un appel à l'action pour créer une voiture (orientant les visiteurs non connectés vers la page d'authentification).