# Guide de Déploiement - Hostinger Cloud Starter ## Étapes de déploiement sur Hostinger Cloud Starter ### 1. Préparation des fichiers 1. **Compresser le projet** ```bash zip -r ecomobility-laravel.zip ecomobility-laravel/ ``` 2. **Fichiers à exclure** (optionnel pour réduire la taille) - `.git/` - `node_modules/` - `tests/` - `storage/logs/*` ### 2. Upload sur Hostinger 1. **Accéder au File Manager** dans hPanel 2. **Naviguer vers public_html** 3. **Uploader et extraire** le fichier zip 4. **Déplacer les fichiers** du dossier `ecomobility-laravel/` vers la racine ### 3. Configuration du Document Root 1. **Dans hPanel, aller dans "Advanced" > "Subdomains"** 2. **Modifier le document root** pour pointer vers `/public_html/public` 3. **Ou créer un sous-domaine** avec document root `/public_html/public` ### 4. Configuration des permissions ```bash chmod -R 755 storage/ chmod -R 755 bootstrap/cache/ ``` ### 5. Variables d'environnement Créer/modifier le fichier `.env` : ```env APP_NAME=ECOMOBILITY APP_ENV=production APP_KEY=base64:YQZbbn//t9vgkW58K+u4v/aRfkfae/tg+C2JLYkMXbo= APP_DEBUG=false APP_URL=https://votre-domaine.com DB_CONNECTION=sqlite DB_DATABASE=/home/username/public_html/database/database.sqlite LOG_CHANNEL=single LOG_LEVEL=error ``` ### 6. Optimisation pour la production ```bash php artisan config:cache php artisan route:cache php artisan view:cache ``` ### 7. Configuration Apache (.htaccess) Le fichier `public/.htaccess` est déjà configuré pour Laravel. Vérifier qu'il contient : ```apache Options -MultiViews -Indexes RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] ``` ### 8. Vérification du déploiement 1. **Tester l'accès au site** : `https://votre-domaine.com` 2. **Tester l'API** : `https://votre-domaine.com/api/bookings` 3. **Vérifier les logs** en cas d'erreur : `storage/logs/laravel.log` ### 9. Dépannage courant #### Erreur 500 - Vérifier les permissions des dossiers `storage/` et `bootstrap/cache/` - Vérifier le fichier `.env` - Consulter les logs d'erreur #### Base de données - Vérifier le chemin absolu dans `DB_DATABASE` - S'assurer que le fichier SQLite existe et est accessible #### CORS - La configuration CORS est déjà incluse dans `config/cors.php` - Vérifier que le middleware CORS est actif ### 10. Maintenance #### Mise à jour du code 1. Uploader les nouveaux fichiers 2. Vider les caches : `php artisan cache:clear` 3. Recréer les caches optimisés #### Sauvegarde - Sauvegarder régulièrement le fichier `database/database.sqlite` - Sauvegarder les fichiers uploadés dans `storage/` ### Support Hostinger En cas de problème : 1. Consulter la documentation Hostinger 2. Contacter le support technique 3. Vérifier les logs du serveur dans hPanel ### Notes importantes - **PHP Version** : Hostinger Cloud Starter supporte PHP 8.1+ - **Extensions** : Toutes les extensions nécessaires sont disponibles - **Limites** : Respecter les limites de ressources du plan Cloud Starter - **SSL** : Activer le SSL gratuit dans hPanel pour HTTPS