# ECOMOBILITY - Backend Laravel

## Migration de Flask vers Laravel

Ce projet a été migré de Flask vers Laravel pour assurer la compatibilité avec Hostinger Cloud Starter.

### Changements effectués

1. **Backend migré de Flask vers Laravel**
   - Modèles User et Booking recréés avec Eloquent ORM
   - API REST complète avec les mêmes endpoints
   - Base de données SQLite maintenue
   - CORS configuré pour les requêtes frontend

2. **Frontend intégré**
   - Fichiers statiques copiés dans le dossier public
   - Routes web configurées pour servir le SPA
   - Compatibilité totale maintenue

### Structure du projet

```
ecomobility-laravel/
├── app/
│   ├── Http/Controllers/
│   │   ├── BookingController.php
│   │   └── UserController.php
│   └── Models/
│       ├── Booking.php
│       └── User.php
├── database/
│   ├── migrations/
│   └── database.sqlite
├── public/
│   ├── assets/
│   └── index.html
└── routes/
    ├── api.php
    └── web.php
```

### API Endpoints

#### Users
- `GET /api/users` - Liste tous les utilisateurs
- `POST /api/users` - Créer un utilisateur
- `GET /api/users/{id}` - Récupérer un utilisateur
- `PUT /api/users/{id}` - Modifier un utilisateur
- `DELETE /api/users/{id}` - Supprimer un utilisateur

#### Bookings
- `GET /api/bookings` - Liste toutes les réservations
- `POST /api/bookings` - Créer une réservation
- `GET /api/bookings/{id}` - Récupérer une réservation
- `GET /api/bookings/code/{code}` - Récupérer par code
- `PUT /api/bookings/{id}/confirm` - Confirmer une réservation
- `PUT /api/bookings/{id}/cancel` - Annuler une réservation

### Installation et déploiement

1. **Prérequis**
   - PHP 8.1+
   - Composer
   - Extensions PHP : mbstring, xml, zip, curl, sqlite3

2. **Installation locale**
   ```bash
   composer install
   php artisan migrate
   php artisan serve
   ```

3. **Déploiement sur Hostinger Cloud Starter**
   - Uploader tous les fichiers
   - Configurer le document root vers `/public`
   - Configurer les variables d'environnement
   - Exécuter les migrations

### Compatibilité Hostinger

✅ **Compatible avec Hostinger Cloud Starter**
- PHP natif supporté
- SQLite pour la base de données
- Pas de dépendances système complexes
- CORS configuré
- Frontend intégré

### Tests effectués

- ✅ Création de réservation via API
- ✅ Récupération des réservations
- ✅ Interface frontend fonctionnelle
- ✅ Intégration complète frontend/backend

### Migration des données

Pour migrer les données existantes de Flask vers Laravel :

1. Exporter les données de l'ancienne base SQLite
2. Adapter le format si nécessaire
3. Importer dans la nouvelle base Laravel

### Support

Pour toute question concernant cette migration, consultez la documentation Laravel officielle ou contactez l'équipe de développement.

