Environement de développement avec Homestead et Vagrant

Vagrant  – Homestead – Laravel 5.5

L’objectif de cette suite de tutoriels sur Laravel 5.5 et de permettre au développeur Web de déployer une API REST de qualité sur le Net.

La première étape consiste à mettre en place les outils et l’environnement de développement.

Tel que proposé sur le site du cadriciel Laravel, la machine virtuelle Homestead sera utilisée conjointement avec Vagrant et Virtual Box.

1 – Notes avant de débuter

Cette procédure a été testée sur GNU Linux et Mac OS X.

Logiciels à installer

Favoriser le logiciel libre

Il est proposé de passer à GNU Linux pour toute la durée du cours.
Une partition dédiée à ce système d’exploitation est conseillé.

À propos de Homestead

Homestead est la machine virtuelle favorite pour les développeurs Web qui utilisent le cadriciel Laravel. Découvrez Homestead :

Le symbole $

Le symbole $ signifie que la commande doit être exécutée dans un terminal. Pour $ cd home, il faut exécuter la commande « cd home »

Le symbole ~

Le symbole ~ représente le dossier personnel de l’utilisateur actif. Sur Windows, il doit être remplacé par c:\users\nomutilisateur

En cas de problème

En cas de problème d’installation avec Vagrant, référez-vous à la procédure d’installation officielle sur le site de Laravel.

2 – Installer et configurer Vagrant et Homestead

Télécharger les logiciels essentiels

  • Télécharger et installer VirtualBox
    • VirtualBox vous permettra de virtualiser des systèmes d’exploitations. Dans notre cas, GNU Linux sera virtualisé.
  • Télécharger et installer Vagrant
    • Vagrant permet de simplifier la gestion de vos machines virtuelle. Vous pourrez installer et configurer facilement votre machine Linux à partir de la ligne de commande.
  • Télécharger et installer Git
    • En plus de Git, il est conseillé d’installer Git Bash. Vous pourrez donc accéder à quelques commandes GNU Linux essentielles à partir de Windows (ssh-keygen).

Ajouter la machine virtuelle (box) Homestead

Ouvrez un terminal afin d’exécuter quelques commandes qui vous permettront de configurer la machine virtuelle de développement Homestead.

$ vagrant box add laravel/homestead

# Sélectionner VirtualBox

# Cette étape pourrait prendre quelques minutes. La machine Homestead sera téléchargée et configurée pour vous.

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

$ bash init.sh         # sur GNU Linux

$ init.bat                 # sur Windows

Explorer le fichier de configuration Homestead.yaml

Lancer Vagrant dans le dossier où se trouve Homestead.yaml

$ vagrant up

Vous pouvez maintenant vous connecter à la machine de développement

$ vagrant ssh

Si la commande ne fonctionne pas, il vous faut créer une clé SSH.
Sur Linux ou avec Git Bash.

$ ssh-keygen -t rsa -C « you@homestead »

Note pour les utilisateurs de Windows

Une fois connecté via SSH, tester les commandes suivantes :

$ php -v

$ composer -version

$ npm -v

$ yarn -v

Vous devriez avoir accès aux versions récentes de tous ces logiciels utiles au développement de votre application Web.

Modifier le fichier Homestead.yaml afin d’y ajouter le site info.test

Note

Il est important de conserver l’indentation dans les fichiers .yaml.
Un niveau d’indentation correspond à 4 espaces.

Homestead.yaml – sur Linux

folders:
– map: ~/www
to: /home/vagrant/www

Confirmer que l’attribut folders est bien configuré. Cet attribut permet de définir le dossier local qui sera partagé avec la machine virtuelle. Vous devez donc créer le dossier www à la racine de votre dossier personnel.

Homestead.yaml – sur Windows

folders:
– map: c:/users/guillaume/codevagrant
to: /home/vagrant/codevagrant

Note : Attention aux chemins avec espace ou avec caractères accentués (é, è, ç, …). Ces chemins pourraient vous donner du file à retordre.

Ajouter le site info.test dans le fichier de configuration Homestead.yaml

sites:
– map: info.test
to: /home/vagrant/www/info/

vagrant provision pour actualiser votre configuration

Suite à la modification du fichier yaml, il est recommandé de lancer la commande provision pour mettre à jour les changements sur votre VM.

$ vagrant provision
$ vagrant reload –provision

Tester le bon fonctionnement de votre configuration Homestead avec un script PHP

Déposer un fichier index.php dans votre le dossier /info/

Configurer un nom de domaine

Configurer le nom de domaine pour le nom de domaine info.test

Cette étape permet de créer un nom de domaine virtuel sur votre poste. Vous pourrez donc entrer info.test dans votre navigateur afin d’accéder à votre application web en développement. Cela évite d’entrer une adresse plus difficile à retenir comme http://localhost/nomDeMonApp. De plus, l’application sera hébergée à la racine du nom de domaine et non dans un sous-dossier. Cette configuration est donc similaire à celle d’une application en production.

Modifier le fichier hosts

GNU Linux ou Mac

$ sudo nano /etc/hosts

Pour Windows

c:\winows\System32\drivers\etc\hosts

Ajouter la ligne suivante :

192.168.10.10 info.test

# 192.168.10.10 correspond à l’adresse IP de votre serveur de développement. Cette adresse est spécifié dans le fichier Homestead.yaml.

# info.test correspond au nom de domaine de test. Vous avez la liberté de choisir le nom qui vous plaît (monapp.com, api.app, atomrace.com, …)

Tester dans votre navigateur

La dernière étape consiste à vérifier sur le nom de domaine ainsi que le script fonctionnent correctement. En ouvrant votre navigateur à l’adresse suivante, vous devriez obtenir une page avec la configuration PHP du serveur.

  • http://info.test/index.php

Commandes Vagrant utiles

$ vagrant up
$ vagran up –provision
$ vagrant reload –provision
$ vagrant halt
$ vagrant global-status
$ vagrant ssh
$ vagrant ssh-config

Créer un nouveau nom de domaine pour votre API REST

Modifier le fichier Homestead.yaml afin d’y ajouter le site api.test.
Créer un nouveau site (/www/api) avec le nom de domaine api.test.

Y déposer le fichier api.php

$data = array(‘fruits’ => [‘pomme’, ‘banane’, ‘kiwi’, ‘bleuet’]);

header(‘Content-Type: application/json’);

echo json_encode($data);
?>

Tester dans votre navigateur

  • http://api.test/api.php

Finalement, installer Postman et lancer une requête GET vers l’API REST :

  • GET http://api.test/api.php

Bravo!

Bravo, votre environnement de développement avec Homestead, Vagrant, PHP, MySQL est fonctionnel.

Configurons une application qui utilise le cadriciel Laravel.

Références et lectures

  • https://www.getpostman.com/
  • https://github.com/symfony/symfony/
  • https://vagrantup.com/downloads.html

Configuration d’une application Laravel 5.5

Maintenant que votre environnement de développement est fonctionnel, la prochaine étape consister à installer et configurer le cadriciel Laravel 5.5.

Pour terminer en beauté, merci de partager!


Comments

comments