Laravel 5

Cours Laravel 5.3 – les bases – un environnement de développement

Pour fonctionner Laravel a besoin d’un certain environnement :

  • un serveur,

  • PHP,

  • MySql,

  • Node,

  • Composer…

Il y a de plus en plus d’environnements disponibles dans le cloud avec des options gratuites comme chez c9. Mais rien ne vaut un bon système local : c’est rapide, sûr et on peut tout gérer. Mais évidemment il faut se le construire !

Heureusement il existe des solutions toutes prêtes, par exemple pour PHP + MySql : wampserver, xampp, easyphp

Ces solutions sont intéressantes mais pour ce cours je vous conseille plutôt Laragon. Je l’apprécie de plus en plus en abandonnant peu à peu wamp que j’utilise depuis des années. Il est simple, rapide, convivial, non intrusif, complet, et en plus pensé pour Laravel ! Mais il ne fonctionne que sur Windows.

Pour les utilisateurs de Linux il faut se tourner vers l’une des solutions évoquées ci-dessus ou alors Homestead qui est l’environnement officiel de Laravel. Pour son installation il suffit de suivre la procédure décrite dans la documentation. Par contre je déconseille aux utilisateurs de Windows d’installer Homestead, sauf s’ils ont envie de passer de longues heures à configurer leur système.

Donc en résumé :

  • pour Windows : Laragon,

  • pour Linux ou Mac : Homestead.

Laragon

Pour récupérer Laragon il faut se rendre sur le site :

Il n’y a que cette page, ne cherchez pas de documentation (mais ne vous en faites pas, il n’y en a pas vraiment besoin), il y a juste un bouton pour aller sur le forum de discussion ainsi que deux autres boutons pour le téléchargement.

Je vous conseille la version complète (Download Laragon 2.0.5). Vous aurez sans doute une version ultérieure à celle affichée ici. Vous récupérez ainsi un installeur qu’il suffit de lancer.

Une fois l’installation effectuée vous ouvrez Laragon :

Vous n’avez plus qu’à cliquer sur « Tout démarrer » pour créer le serveur :

Serveur démarré

Vous avez maintenant à disposition :

Hôte virtuel

Cerise sur le gâteau : Laragon crée automatiquement des hôtes virtuels pour les dossiers qui se trouvent sur le serveur (www). Pour ceux qui ne savent pas de quoi il s’agit voici un exemple avec justement le cas de Laravel. Le fichier de démarrage de Laravel est placé en www/monsite/public/index.html. Donc à partir de localhost il faut entrer : localhost/monsite/public. Ce n’est ni pratique ni élégant. Un hôte virtuel permet de définir une adresse simplifiée. Par exemple ici Laragon va définir automatiquement monsite.dev. Avouez que c’est quand même mieux !

Mais ce n’est pas seulement une histoire d’esthétique ou d’économie de clavier. Le fait de disposer d’un hôte virtuel permet d’avoir en local exactement le même comportement que sur le serveur de production. Par exemple si vous avez sur une page HTML une image avec ce genre de référence : /images/bouton.png, vous serez tout à fait heureux d’avoir un hôte virtuel pour que l’image s’affiche !

Composer

Présentation

Je vous ai dit dans le précédent chapitre que Laravel utilise des composants d’autres sources. Plutôt que de les incorporer directement, il utilise un gestionnaire de dépendances : composer. D’ailleurs pour le coup les composants de Laravel sont aussi traités comme des dépendances. Mais c’est quoi un gestionnaire de dépendances ?

Imaginez que vous créez une application PHP et que vous utilisez des composants issus de différentes sources : Carbon pour les dates, Redis pour les données… Vous pouvez utiliser la méthode laborieuse en allant chercher tout ça de façon manuelle, et vous allez être confronté à des difficultés :

  • télécharger tous les composants dont vous avez besoin et les placer dans votre structure de dossiers,

  • traquer les éventuels conflits de nommage entre les librairies,

  • mettre à jour manuellement les librairies quand c’est nécessaire,

  • prévoir le code pour charger les classes à utiliser…

Tout ça est évidemment faisable mais avouez que s’il était possible d’automatiser les procédures ce serait vraiment génial. C’est justement ce que fait un gestionnaire de dépendances !

JSON

Pour comprendre le fonctionnement de composer, il faut connaître le format JSON qui est l’acronyme de JavaScript Object Notation. Un fichier JSON a pour but de contenir des informations de type étiquette-valeur. Regardez cet exemple élémentaire :

{
  "nom": "Durand",
  "prénom": "Jean"
}

Les étiquettes sont « nom » et « prénom » et les valeurs correspondantes « Durand » et « Jean ». Les valeurs peuvent être aussi des tableaux ou des objets. Regardez ce second exemple :

{
    "identité1" : {
	  "nom": "Durand",
	  "prénom": "Jean"
	},
	"identité2" : {
	  "nom": "Dupont",
	  "prénom": "Albert"
	}	
}

Composer a besoin d’un fichier composer.json associé. Ce fichier contient les instructions pour composer : les dépendances, les classes à charger automatiquement… Par exemple :

"require": {
    "php": ">=5.6.4",
    "laravel/framework": "5.3.*",
},

Ici on dit qu’on veut (require) que PHP soit au moins en version 5.6.4 et on veut également charger le composant « laravel/framework ».

On verra comment se présente le fichier composer.json de Laravel dans le prochain chapitre.

Packagist

Tous les composants disponibles se trouvent sur le site Packagist :

Le site Packagist

Par exemple il me faut un composant pour l’envoi d’email, j’entre ceci dans la zone de recherche :

Recherche des composants pour les emails

J’obtiens une liste assez longue et je n’ai plus qu’à fouiller un peu pour trouver ce que je cherche.

Packalyst

Le site Packalyst est spécialisé dans les composant conçus pour Laravel :

Packalyst recense les composants pour Laravel

Là vous êtes sûr que le composant va fonctionner directement dans Laravel ! IL faut toutefois vérifier qu’il correspond au numéro de version que vous utilisez.

Les éditeurs de code

Choisir un éditeur de code n’est pas évident, les critères sont nombreux. Laragon embarque Sublime Text qui jouit d’une grande popularité :

Sublime Text

Son grand avantage est de proposer de très nombreux plugins pour étendre ses possibilités, et il y en a pas mal pour Laravel. Mais pour ça il faut commencer par installer le Package Control. Vous trouvez la procédure d’installation ici.

Ensuite vous pouvez installer tous les plugins que vous voulez. Pour trouver ceux qui concernent Laravel vous avez une zone de recherche :

Recherche des plugins pour Laravel

Personnellement j’utilise beaucoup Sublime Text en association avec Netbeans qui est quant à lui un IDE assez complet et gratuit.

Dans la communauté Laravel l’IDE qui a le plus de succès est PhpStorm‌. Il est vraiment puissant et complet mais il n’est pas gratuit, contrairement à Netbeans.

En résumé

  • Laravel a besoin d’un environnement de développement complet : PHP, MySql, composer…

  • Il existe des solutions toutes prêtes : Homestead pour Linux et Laragon pour Windows.

  • Composer est le gestionnaire de dépendances utilisé par Laravel.

  • Sublime Text est l’éditeur de code le plus utilisé, il est prévu dans l’installation de Laragon.

 

Print Friendly, PDF & Email

Laisser un commentaire