Laravel est un framework PHP qui utilise le patron de conception MVC. Pour faciliter votre développement, il est conseillé de travailler avec Homestead. Il s’agit d’un environnement pré-configuré qui sera déployé sur une machine virtuelle.
Si vous travaillez sous Mac, vous serez heureux de constater à quel point l'installation de Homestead sous Mac est facile.
Si vous travaillez sous Windows, c'est tout de même possible mais plus complexe, tel qu'expliqué dans la fiche Installation de Homestead sous Windows pour développer en Laravel.
Cet article vous donne la procédure à suivre pour installer Homestead sur un poste de travail Mac.
Votre code tournera sur une machine virtuelle Linux Ubuntu installée sur votre ordinateur.
Vos fichiers de code seront enregistrés directement sur votre poste de travail dans un dossier qui sera partagé sur votre machine virtuelle.
Votre éditeur sera installé sur votre poste de travail.
Vous avez d’abord besoin d’une machine virtuelle.
Téléchargez et installez VirtualBox sur votre ordinateur (gratuit) : https://www.virtualbox.org/wiki/Downloads.
Vous n’avez pas besoin de démarrer votre logiciel de virtualisation à ce stade. Ne créez pas non plus de machine virtuelle pour l’instant. Homestead le fera pour vous un peu plus loin.
Vagrant est un outil permettant de monter un environnement de développement reproductible, de façon automatisée et dans un environnement virtualisé. L’environnement sera monté à partir de fichiers virtualisés, de scripts ainsi que de fichiers de configuration regroupés dans ce qu’on appelle une boîte Vagrant. Vous utiliserez donc Vagrant pour monter votre environnement de développement sur votre machine virtuelle.
Téléchargez et installez Vagrant sur votre ordinateur (gratuit) :
brew install vagrant
Vérifiez si Vagrant a bien été installé sur votre ordinateur. Pour ce faire, ouvrez une fenêtre Terminal (dans
/ ) puis entrez cette commande :vagrant -v
Le système devrait répondre en vous donnant la version installée (votre version sera probablement plus récente que celle indiquée sur l'impression d'écran).
Homestead est une boîte Vagrant, c’est-à-dire un regroupement de fichiers virtualisés, de scripts ainsi que de fichiers de configuration qui permettront à Vagrant de monter l’environnement de développement désiré.
Vous êtes maintenant prêt à ajouter la boîte Homestead dans Vagrant.
Sur votre ordinateur, ouvrez une fenêtre Terminal et lancez la commande :
vagrant box add laravel/homestead --force
Notez que le --force assure que la boîte sera installée de nouveau dans le cas où elle existait déjà.
Attention : cette étape peut être longue si vous n'avez pas accès à une connexion Internet rapide.
Il faut maintenant installer votre boîte Homestead, c’est-à-dire faire le nécessaire pour que l’environnement de développement soit créé dans une machine virtuelle.
D'abord, vous devez accepter les termes de la licence Xcode. Entrez la commande suivante :
sudo xcodebuild -license
Vous devrez entrer votre mot de passe (celui de votre compte sur votre Mac) puis appuyer sur la touche Entrée pour voir la licence. Appuyez sur la touche Espace pour faire défiler le texte jusqu'à la fin puis écrivez agree pour accepter.
Faites ensuite un clone des scripts et des fichiers de configuration de Homestead disponibles sur Git à l’aide de la commande :
git clone https://github.com/laravel/homestead.git ~/Homestead
Tel qu’indiqué dans le dernier paramètre de la commande git clone, ceci a créé un nouveau dossier nommé Homestead. Ce dossier est placé directement dans votre dossier personnel (/Users/monnom/Homestead).
Dans le terminal, déplacez-vous dans le dossier Homestead :
cd ~/Homestead
git checkout release
Pour lancer le script init.sh présent dans le dossier Homestead, entrez la commande :
bash init.sh
Vous aurez besoin d’une clé SSH (Secure SHell) afin de permettre à votre ordinateur d’accéder à votre machine virtuelle. La clé SSH vous évitera d'avoir à vous authentifier sur votre machine virtuelle grâce à un échange de clés publiques et privées.
Commencez par revenir à votre dossier personnel :
cd ~
Pour générer la clé, entrez la commande :
ssh-keygen -t rsa -C 'moncourriel@mondomaine.com'
Acceptez l’emplacement par défaut (Users/monnom/.ssh/id_rsa).
Puisque vous travaillez dans un environnement de développement local, vous pouvez laisser la phrase de sécurité (passphrase) à blanc. La phrase de sécurité est en fait un mot de passe.
Attention : si vous prévoyez utiliser cette même clé SSH pour gérer les versions de vos fichiers sur un serveur Git distant, il est conseillé d'entrer une phrase de sécurité. Cette phrase vous sera demandée lorsque vous voudrez envoyer ou récupérer des fichiers sur le serveur Git mais pas quand vous ouvrirez une console Vagrant SSH.
À l’aide de l’éditeur de votre choix (j'aime bien Geany), ouvrez le fichier Homestead.yaml que vous retrouverez dans le dossier Homestead (notez qu'avant Laravel 5.4, ce fichier était plutôt placé dans le dossier caché .homestead).
Modifiez le nom du dossier où votre code sera stocké (par défaut, ~/code). Suggestion : placez le dossier sous Documents (ex : ~/Documents/CodeLaravel).
Ex :
folders:
- map: ~/Documents/CodeLaravel
to: /home/vagrant/code
Attention : dans le fichier Homestead.yaml, vous devez utiliser des espaces et non des caractères de tabulation. De plus, pour éviter que des caractères invisibles indésirables ne soient insérés, il est conseillé de ne pas faire de copier-coller à partir du Web pour y ajouter des lignes.
Prenez note du nom de domaine local qui sera utilisé pour accéder à votre site Web et du nom du dossier qui lui est associé.
sites:
- map: homestead.test
to: /home/vagrant/code/public
Remarquez que Homestead utilise maintenant l'extension .test et non plus .app comme c'était le cas avant 2018.
C'est parce que depuis décembre 2017, Google Chrome exige que les noms de domaine qui se terminent par .app, .dev et .foo utilisent une clé SSL. Si vous tentez d'ouvrir un site qui a un tel nom de domaine sans passer par https, vous obtiendrez le message « Votre connexion n'est pas privée. NET::ERR_CERT_AUTHORITY_INVALID ».
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
backup: true
Créez sur votre ordinateur le dossier où votre code sera stocké, tel que spécifié dans le fichier Homestead.yaml (ex : ~/Documents/CodeLaravel) :
mkdir ~/Documents/CodeLaravel
Lorsque votre machine virtuelle sera fonctionnelle, vous pourrez accéder à son serveur Web à partir de l’adresse indiquée dans le fichier Homestead.yaml (192.168.10.10).
Si vous préférez utiliser un nom de domaine local, ajoutez une entrée dans le fichier hosts de votre système (présent dans le dossier /private/etc).
Ce fichier peut être édité à l'aide d'un éditeur de texte de votre choix.
Ajoutez-y la ligne suivante :
192.168.10.10 homestead.test
Vous êtes maintenant prêt à lancer votre machine virtuelle.
Dans le terminal, assurez-vous d'être dans le dossier Homestead :
cd ~/Homestead
Pour démarrer vos serveurs, lancez la commande :
vagrant up
La première fois que votre boîte Vagrant est lancée, certains fichiers doivent être téléchargés. De plus, Vagrant s'assurera que les clés SSH soient sécurisées et fera d'autres vérifications d'usage. Les fois suivantes, le lancement se fera plus rapidement.
Votre machine virtuelle est maintenant fonctionnelle, avec un serveur HTTP Ngnix et tout ce qu'il faut pour exécuter un programme PHP avec base de données MySQL, SQLite, PostgreSQL et plusieurs autres.
Vous pouvez tester votre machine virtuelle en créant un fichier nommé index.php dans le dossier Documents/CodeLaravel/public.
Ajoutez le code suivant dans index.php. Notez que ce code ne tire pas profit de Laravel. Il s’agit d’un simple fichier php qui tourne sur votre nouveau serveur pour des fins de tests. Vous pourrez installer les fichiers Laravel pour votre projet plus tard.
<!DOCTYPE html>
<html>
<body>
<?php echo 'Hello World in ' . date("Y"); ?>
</body>
</html>
Et pour tester le tout, ouvrez un navigateur et entrez-y l’URL http://homestead.test, tel que précisé dans le fichier Homestead.yaml.
Vous n’aurez probablement jamais besoin de lancer votre environnement de virtualisation (VirtualBox ou VMWare) pour travailler. En effet, vos fichiers de code seront placés dans le dossier créé plus tôt sur votre ordinateur et vous accéderez à votre base de données à distance, comme vous le feriez sur n’importe quel serveur. Quelques commandes devront être lancées dans la machine virtuelle mais il sera plus rapide de passer par une console SSH sur votre ordinateur.
Si vous désirez tout de même vous connecter à votre machine virtuelle, le code d’usager Ubuntu et son mot de passe sont tous deux « vagrant ».
Si vous désirez connaître l’état de votre machine virtuelle, entrez la commande suivante :
vagrant global-status
Lorsque vous serez prêt à refermer votre machine, vous pourrez le faire à l’aide de :
vagrant halt
Il est également possible de détruire la machine virtuelle avec la commande « vagrant destroy ».
vagrant destroy
Attention : les fichiers de vos projets sont stockés directement sur votre ordinateur mais votre base de donnée, elle, réside physiquement sur la machine virtuelle et sera détruite en même temps que la machine vituelle.
Avant de détruire une machine virtuelle, assurez-vous donc d'avoir en main un script SQL ou encore les fichiers de migration et de seed à jour pour pouvoir la recréer.
Une machine ainsi détruite pourra être rebâtie aussi facilement que si on l’avait refermée avec halt. Les fichiers de votre projet seront intacts mais vous devrez recréer la base de données à l'aide de votre script SQL.
« Tutoriel Vagrant ». SUPINFO International University. https://www.supinfo.com/articles/single/6606-tutoriel-vagrant
« ssh-keygen - Generate a New SSH Key ». ssh.com. https://www.ssh.com/ssh/keygen/
▼Publicité