Formation PUB030 : Laravel, 2019 Travailler avec Laravel

Installation de Homestead sous Mac pour développer en Laravel


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.

  1. 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.

  2. 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) : http://www.vagrantup.com/downloads.html. Important : effectuez l'installation à partir de ce lien et non à partir d'un gestionnaire de version pour vous assurer d'avoir la dernière version (j'ai vu des étudiants perdre beaucoup de temps à cause d'un téléchargement à partir de apt-get).

  3. Vérifiez si Vagrant a bien été installé sur votre ordinateur. Pour ce faire, ouvrez une fenêtre Terminal (dans Applications / Utilitaires) puis entrez cette commande :

    Terminal

    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).

    Version de Vagrant

  4. 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 :

    Terminal

    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.

    vagrant box add laravel/homestead

  5. 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 :

    Terminal

    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.

  6. Faites ensuite un clone des scripts et des fichiers de configuration de Homestead disponibles sur Git à l’aide de la commande :

    Terminal

    git clone https://github.com/laravel/homestead.git ~/Homestead

    Cloner Homestead

  7. 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).

    Fichiers créés par clonage Homestead

  8. Dans le terminal, déplacez-vous dans le dossier Homestead :

    Terminal

    cd ~/Homestead

  9. Les fichiers clonés incluent tous les fichiers versionnés (gestion des versions avec git). La commande checkout permet de rendre actifs les fichiers correspondant à une version particulière. Pour vous assurer de travailler avec la dernière version stable, retrouvez le numéro de cette version sur GitHub (https://github.com/laravel/homestead/releases) puis faites un checkout sur cette version ou, plus simplement, demandez la dernière version stable à l'aide du mot release.
    Console Git Bash

    git checkout release

  10. Pour lancer le script init.sh présent dans le dossier Homestead, entrez la commande :

    Terminal

    bash init.sh

    bash init.sh

  11. 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 :

    Console Git Bash

    cd ~

    Pour générer la clé, entrez la commande :

    Console Git Bash

    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.

    Génération de la clé SSH

  12. À 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).

  13. Modifiez le nom du dossier où votre code sera stocké (par défaut, ~/code). Suggestion : placez le dossier sous Documents (ex : ~/Documents/CodeLaravel).

    Ex :

    Fichier Homestead.yaml

    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é.

    Fichier Homestead.yaml

    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 ».

  14. Si vous utilisez Vagrant 2.1.0 ou plus récent, vous pouvez configurer votre machine Homestead pour qu'elle fasse une copie de sécurité automatique de ses bases de de données avant d'être détruite lorsque la commande vagrant destroy est lancée. Il suffit d'ajouter, au bas du fichier Homestead.yaml, la configuration backup: true.
    Fichier Homestead.yaml

    ip: "192.168.10.10"
    memory: 2048
    cpus: 1
    provider: virtualbox

    authorize: ~/.ssh/id_rsa.pub

    backup: true

  15. Créez sur votre ordinateur le dossier où votre code sera stocké, tel que spécifié dans le fichier Homestead.yaml (ex : ~/Documents/CodeLaravel) :

    Terminal

    mkdir ~/Documents/CodeLaravel

  16. 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 :

    Fichier hosts

    192.168.10.10    homestead.test

  17. Vous êtes maintenant prêt à lancer votre machine virtuelle.

    Dans le terminal, assurez-vous d'être dans le dossier Homestead :

    Terminal

    cd ~/Homestead

    Pour démarrer vos serveurs, lancez la commande :

    Terminal

    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.

  18. 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.

    PHP

    <!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.

    Hello World

  19. 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 ».

  20. Si vous désirez connaître l’état de votre machine virtuelle, entrez la commande suivante :

    Terminal

    vagrant global-status

    vagrant global-status

  21. Lorsque vous serez prêt à refermer votre machine, vous pourrez le faire à l’aide de :

    Terminal

    vagrant halt

    vagrant halt

    Il est également possible de détruire la machine virtuelle avec la commande « vagrant destroy ».

    Terminal

    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.

▼Publicité

Pour plus d'information

« Tutoriel Vagrant ». SUPINFO International University. https://www.supinfo.com/articles/single/6606-tutoriel-vagrant

Dernière révision le 16 juin 2020
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre