### Laravel Homestead Ceci est une adaptation des distributions officielles, pour le montage d'un environnement de développement complet sur un ordinateur personnel. ## Préparation du déploiement Clôner le dépôt sur la machine. Dans le fichier `Homestead.yaml`, renseigner : ``` authorize: ## Le chemin de la clé publique de la machine ## keys: - ## Le chemin de la clé privée de la machine ## folders: - map: ## Le répertoire de montage pour le code du projet (à créer sur la machine) ## to: /home/vagrant/code ``` ## Création de la VM Depuis la racine du dépôt, lancer l'import de la box et son provisionning avec `vagrant up` ## Création d'un projet Laravel Se connecter au terminal de la VM depuis la racine du dépôt, avec `vagrant ssh`. Pour le premier projet, récupérer l'installeur : ``` composer global require laravel/installer ``` Puis, construire le projet au niveau du point de montage entre la VM et la machine : ``` cd code laravel new test_app ``` Possibilité de choisir un starter kit (pas utile pour tester), un système de test, d'initialiser immédiatement un dépôt git pour le projet... Quand prompt, sélectionner MySQL comme SGBD. Ne PAS demander à faire automatiquement les premières migrations. ## Configuration de la base de données Une fois connecté en root (`mysql -u root`), créer l'utilisateur de l'application et la base de données de cette dernière : ``` CREATE USER 'admin_test'@'%' IDENTIFIED BY 'mdp_test'; CREATE DATABASE test_app; GRANT ALL PRIVILEGES ON test_app.* TO 'admin_test'@'%'; FLUSH PRIVILEGES; ``` Ensuite, dans les fichiers du projet au niveau du point de montage, aller éditer dans le fichier `.env` : ``` DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=test_app DB_USERNAME=admin_test DB_PASSWORD=mdp_test ``` ## Première migration Réaliser la première migration (utilisation des classes du code pour structurer la base de données) : ``` cd test_app php artisan make:migration 1st_tables php artisan migrate ``` ## Démarrage du serveur web et connexion Démarrer le serveur web de la VM avec : ``` php artisan serve --port=8000 --host=0.0.0.0 ``` L'application est alors accessible via : http://192.168.56.56:8000/ ## Ressources officielles
Laravel Homestead is an official, pre-packaged Vagrant box that provides you a wonderful development environment without requiring you to install PHP, a web server, or any other server software on your local machine. No more worrying about messing up your operating system! Vagrant boxes are completely disposable. If something goes wrong, you can destroy and re-create the box in minutes! Homestead runs on any Windows, Mac, or Linux system, and includes the Nginx web server, PHP, MySQL, Postgres, Redis, Memcached, Node, and all of the other goodies you need to develop amazing Laravel applications. Official documentation [is located here](https://laravel.com/docs/homestead).