# Comment héberger un site Laravel sur Plesk ## Ce dont vous aurez besoin Avant de commencer, assurez-vous d'avoir : - Un serveur Plesk avec l'**extension Laravel Toolkit** installée - Votre application Laravel prête à être téléchargée (ou créez-en une nouvelle) - Accès à une base de données (MySQL/MariaDB) - Connaissance de base de Laravel **Note :** Ce guide suppose que votre hébergeur a déjà installé l'extension Laravel Toolkit. Si l'option Laravel n'apparaît pas dans votre panneau Plesk, contactez votre hébergeur. ## Qu'est-ce que Laravel Toolkit ? Le Laravel Toolkit est une extension Plesk qui simplifie l'hébergement des applications Laravel. Il fournit : - **Installation Laravel en un clic** - Créez de nouvelles applications Laravel instantanément - **Outils intégrés** - PHP, Composer, Artisan, npm, MySQL et Git en un seul endroit - **Pas de SSH requis** - Gérez tout depuis l'interface Plesk - **Commandes Artisan** - Exécutez les commandes Laravel directement depuis le panneau - **Intégration Git** - Déployez et mettez à jour depuis des dépôts distants - **Gestion d'environnement** - Modifiez facilement les fichiers `.env` - **Visualisation des logs** - Accédez aux logs Laravel depuis Plesk - **SSL automatique** - Sécurisez votre application avec Let's Encrypt ## Méthode 1 : Créer une nouvelle application Laravel C'est le moyen le plus simple de démarrer avec Laravel sur Plesk. ### Étape 1 : Ajouter un nouveau domaine 1. **Connectez-vous à Plesk** 2. Allez dans **Sites web et domaines** 3. Cliquez sur le bouton **Ajouter un domaine** ### Étape 2 : Sélectionner site Laravel 1. Dans la liste des options disponibles, sélectionnez **Site Laravel** 2. Vous verrez un écran de configuration spécifique à Laravel ### Étape 3 : Configurer les paramètres du domaine Remplissez les informations suivantes : **Nom de domaine :** - Entrez votre nom de domaine (par ex., `monapplaravel.com`) - Ou sous-domaine (par ex., `app.mondomaine.com`) **Version PHP :** - Sélectionnez la version PHP pour votre application Laravel - Laravel 10.x nécessite PHP 8.1 ou supérieur - Laravel 9.x nécessite PHP 8.0 ou supérieur - Choisissez la dernière version compatible **Nom du projet :** - Donnez un nom à votre projet Laravel - Ceci sera utilisé pour la structure des répertoires **Méthode d'installation :** Choisissez l'une des options suivantes : **Option A : Créer une nouvelle application** - Crée une installation Laravel fraîche - Meilleur pour les nouveaux projets **Option B : Déployer depuis un dépôt Git** - Entrez l'URL de votre dépôt Git - Fournissez les identifiants si dépôt privé - Meilleur pour les projets Laravel existants ### Étape 4 : Démarrer l'installation 1. Cliquez sur **Installer l'application** (ou bouton similaire) 2. Plesk va automatiquement : - Installer Laravel via Composer - Configurer la structure des répertoires - Configurer les paramètres PHP - Générer la clé d'application - Définir les permissions appropriées 3. Attendez que l'installation se termine (1-3 minutes) ### Étape 5 : Accéder à votre application Une fois l'installation terminée : - Vous verrez un message de confirmation - Cliquez sur **Ouvrir dans le navigateur** pour voir votre application Laravel - Vous devriez voir la page d'accueil par défaut de Laravel ## Méthode 2 : Télécharger une application Laravel existante Si vous avez déjà une application Laravel, vous pouvez la télécharger sur Plesk. ### Étape 1 : Télécharger les fichiers de l'application **Utilisation du Gestionnaire de fichiers :** 1. Allez dans **Sites web et domaines** 2. Trouvez votre domaine et cliquez sur **Fichiers** 3. Accédez à la racine du document (généralement `/httpdocs`) 4. Téléchargez vos fichiers d'application Laravel 5. Préservez la structure des répertoires **Utilisation de FTP/SFTP :** 1. Connectez-vous avec votre client FTP 2. Téléchargez tous les fichiers Laravel dans votre répertoire de domaine 3. Ne téléchargez pas le fichier `.env` (vous le configurerez dans Plesk) **Utilisation de Git :** 1. Allez dans **Sites web et domaines** 2. Cliquez sur **Git** 3. Clonez votre dépôt ### Étape 2 : Configurer Laravel dans Plesk 1. Allez dans **Sites web et domaines** 2. Cliquez sur **Gérer l'application Laravel** sur votre domaine 3. Plesk détectera votre installation Laravel ## Configurer votre application Laravel Après l'installation, vous devez configurer correctement votre application. ### Étape 1 : Accéder au tableau de bord Laravel 1. Allez dans **Sites web et domaines** 2. Trouvez votre domaine Laravel 3. Cliquez sur **Gérer l'application Laravel** Vous verrez le tableau de bord de gestion Laravel avec plusieurs onglets : - **Information** - Aperçu et actions rapides - **Environment** - Modifier le fichier `.env` - **Artisan** - Exécuter les commandes Laravel Artisan - **Composer** - Gérer les dépendances PHP - **NPM** - Gérer les dépendances JavaScript - **Deployment** - Configurer les déploiements Git - **Scheduled Tasks** - Voir les tâches planifiées Laravel - **Logs** - Voir les logs de l'application ### Étape 2 : Créer et configurer la base de données Les applications Laravel nécessitent généralement une base de données. #### Créer la base de données 1. Depuis le tableau de bord Information de Laravel, cliquez sur **Gérer le domaine** 2. Cliquez sur **Bases de données** 3. Cliquez sur **Ajouter une base de données** 4. Entrez les détails de la base de données : - **Nom de la base de données :** par ex., `myapp_db` - **Utilisateur de la base de données :** par ex., `myapp_user` - **Mot de passe :** Créez un mot de passe fort 5. Cliquez sur **OK** **Mémorisez ces identifiants** - vous en aurez besoin pour l'étape suivante. ### Étape 3 : Configurer les variables d'environnement Laravel utilise le fichier `.env` pour la configuration. Modifiez-le dans Plesk : 1. Retournez à **Gérer l'application Laravel** 2. Cliquez sur l'onglet **Environment** 3. Cliquez sur **Modifier** sur le fichier `.env` Mettez à jour les valeurs suivantes : ```env APP_NAME="Mon App Laravel" APP_ENV=production APP_DEBUG=false APP_URL=https://votredomaine.com DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=myapp_db DB_USERNAME=myapp_user DB_PASSWORD=votre_mot_de_passe_base_de_donnees ``` **Paramètres importants :** **APP_ENV :** - Utilisez `local` pour le développement - Utilisez `production` pour les sites en ligne **APP_DEBUG :** - Définir sur `true` pour le développement (affiche les erreurs détaillées) - Définir sur `false` pour la production (masque les informations sensibles) **APP_KEY :** - Devrait être généré automatiquement - Si manquant, générez-le en utilisant Artisan (voir ci-dessous) **Paramètres de base de données :** - Utilisez les identifiants de l'étape 2 4. Cliquez sur **Enregistrer** lorsque terminé ### Étape 4 : Générer la clé d'application (Si nécessaire) Si votre fichier `.env` n'a pas de `APP_KEY` : 1. Allez dans l'onglet **Artisan** 2. Trouvez et exécutez la commande `key:generate` 3. Cela ajoutera une clé sécurisée à votre fichier `.env` ### Étape 5 : Exécuter les migrations de base de données Créez vos tables de base de données : 1. Allez dans l'onglet **Artisan** 2. Trouvez la commande `migrate` 3. Cliquez sur **Exécuter** 4. Attendez que les migrations se terminent **Ce que cela fait :** - Crée toutes les tables de base de données - Configure le schéma pour votre application Si vous devez alimenter les données : 1. Exécutez la commande `db:seed` 2. Ou exécutez `migrate:fresh --seed` pour réinitialiser et alimenter ## Gérer votre application Laravel ### Exécuter les commandes Artisan Artisan est l'outil en ligne de commande de Laravel. Dans Plesk, vous pouvez exécuter les commandes Artisan sans SSH : 1. Allez dans l'onglet **Artisan** 2. Sélectionnez une commande dans le menu déroulant : - `cache:clear` - Effacer le cache de l'application - `config:cache` - Mettre en cache la configuration - `route:list` - Lister toutes les routes - `migrate` - Exécuter les migrations - `db:seed` - Alimenter la base de données - `queue:work` - Traiter les tâches en file d'attente - `storage:link` - Créer un lien symbolique pour le stockage 3. Ajoutez des paramètres si nécessaire 4. Cliquez sur **Exécuter** **Commandes personnalisées :** - Entrez des commandes Artisan personnalisées dans le champ texte - Exemple : `make:controller UserController` ### Gérer les dépendances Composer Lorsque vous mettez à jour votre fichier `composer.json` : 1. Allez dans l'onglet **Composer** 2. Sélectionnez une commande : - `install` - Installer les dépendances - `update` - Mettre à jour les dépendances - `dump-autoload` - Régénérer les fichiers autoload 3. Cliquez sur **Exécuter** **Cas d'utilisation courants :** - Après avoir récupéré les mises à jour du code - Lors de l'ajout de nouveaux packages - Après changement de namespace ### Gérer les dépendances NPM Pour les ressources frontend : 1. Allez dans l'onglet **NPM** 2. Exécutez les commandes : - `npm install` - Installer les packages - `npm run dev` - Compiler pour le développement - `npm run prod` - Compiler pour la production - `npm run build` - Compiler les ressources ### Voir les tâches planifiées Si votre application Laravel utilise la planification de tâches : 1. Allez dans l'onglet **Scheduled Tasks** 2. Visualisez toutes les tâches planifiées 3. Voyez quand elles s'exécutent et leur statut **Note :** Le planificateur Laravel nécessite une tâche cron. Plesk la configure généralement automatiquement. ### Voir les logs de l'application Pour dépanner ou surveiller votre application : 1. Allez dans l'onglet **Logs** (ou cliquez sur le bouton **Logs** sur le domaine) 2. Visualisez les logs de l'application Laravel 3. Filtrez par niveau de log (error, warning, info) 4. Téléchargez les logs si nécessaire **Emplacement des logs :** - Les logs Laravel sont généralement dans `storage/logs/laravel.log` ## Déployer depuis un dépôt Git Maintenez votre application Laravel à jour avec Git. ### Étape 1 : Configurer le déploiement 1. Allez dans l'onglet **Deployment** 2. Entrez l'URL de votre dépôt Git 3. Si dépôt privé : - Ajoutez une clé SSH ou - Entrez nom d'utilisateur/mot de passe 4. Sélectionnez la branche (généralement `main` ou `master`) ### Étape 2 : Configurer le script de déploiement Plesk exécutera ces commandes après avoir récupéré le code : **Script de déploiement par défaut :** ```bash composer install --no-dev php artisan migrate --force php artisan config:cache php artisan route:cache php artisan view:cache ``` Vous pouvez personnaliser ce script : 1. Cliquez sur **Modifier le script de déploiement** 2. Ajoutez ou modifiez les commandes 3. Cliquez sur **Enregistrer** **Ajouts courants :** ```bash npm install npm run prod php artisan queue:restart ``` ### Étape 3 : Déployer les mises à jour Pour mettre à jour votre application : 1. Cliquez sur le bouton **Update** 2. Plesk va : - Récupérer le dernier code depuis Git - Exécuter Composer install - Exécuter les migrations - Effacer et mettre en cache les configs 3. Visualisez les logs de déploiement pour vérifier le succès ## Optimiser votre application Laravel ### Mettre en cache la configuration pour la production 1. Allez dans l'onglet **Artisan** 2. Exécutez ces commandes dans l'ordre : - `config:cache` - Mettre en cache les fichiers de configuration - `route:cache` - Mettre en cache les routes - `view:cache` - Mettre en cache les vues Blade - `event:cache` - Mettre en cache les événements **Quand mettre en cache :** - Après déploiement en production - Après modification des fichiers de configuration - Pour de meilleures performances **Effacer le cache quand :** - Après modifications du code - Si vous voyez des données obsolètes - Pendant le développement ### Lien de stockage Si votre application utilise le stockage public : 1. Allez dans l'onglet **Artisan** 2. Exécutez la commande `storage:link` 3. Cela crée un lien symbolique de `public/storage` vers `storage/app/public` ## Résumé Pour héberger une application Laravel sur Plesk : 1. **Créer un site Laravel** depuis le menu Ajouter un domaine 2. **Configurer la base de données** et mettre à jour le fichier `.env` 3. **Exécuter les migrations** en utilisant les commandes Artisan 4. **Déployer depuis Git** (optionnel) pour des mises à jour faciles 5. **Mettre en cache les configs** pour les performances en production 6. **Activer SSL** pour la sécurité 7. **Surveiller les logs** pour les problèmes Votre application Laravel est maintenant en ligne et prête à l'emploi ! Laravel Toolkit rend l'hébergement d'applications Laravel simple et efficace !