
Pour fonctionner, Laravel nécessite un environnement spécifique. Il requiert notamment un serveur, PHP, SQLite ou MySQL, Node avec NPM, et Composer. De plus en plus d'environnements cloud sont disponibles avec des options gratuites, comme c9. Cependant, rien ne vaut un bon système local : c'est rapide, sûr, et vous avez un contrôle total. Mais évidemment, il faut le configurer !
Heureusement, il existe des solutions toutes prêtes. Par exemple, pour PHP + MySQL, vous pouvez utiliser WampServer ou XAMPP.
Ces solutions sont intéressantes, mais pour ce cours, je vous recommande plutôt Laragon. Il est simple, rapide, convivial, non intrusif, complet, et spécialement conçu pour Laravel ! Cependant, il ne fonctionne que sous Windows.
Pour les utilisateurs de Linux, il est préférable de se tourner vers l'une des solutions mentionnées précédemment ou vers Homestead, l'environnement officiel de Laravel. L'installation de Homestead est bien documentée et relativement simple à suivre. En revanche, je déconseille aux utilisateurs de Windows d'installer Homestead, sauf s'ils sont prêts à passer de longues heures à configurer leur système.
Pour les utilisateurs de Mac, Valet est la solution idéale. Valet est un outil de développement minimaliste pour Mac qui configure votre environnement PHP en quelques minutes.
En résumé :
- Pour Windows : Laragon
- Pour Linux : Homestead
- Pour Mac : Valet
Ces outils vous permettront de mettre en place un environnement de développement Laravel efficace et adapté à votre système d'exploitation.
Laragon
Installation
Pour récupérer Laragon, il faut se rendre sur le site :
Ne cherchez pas trop de documentation (mais ne vous en faites pas, il n’y en a pas vraiment besoin), il y a surtout un bouton pour aller sur le forum de discussion ainsi qu'un autre pour le téléchargement. Vous verrez que vous avez plusieurs possibilités pour le téléchargement, choisissez celle qui vous convient, a priori Laragon full qui comporte Apache 2.4, Nginx, MySQL 9.1/8.4, PHP 8, Redis, Memcached, Node.js 22/23, npm, git…
Une fois l’installation effectuée, ouvrez Laragon et cliquez sur « Tout démarrer » pour créer et lancer le serveur (l'illustration est un peu ancienne, mais j'utilise encore cette version parce que j'ai mis tous les éléments à niveau, ce qui constitue d'ailleurs un grand avantage de Laragon) :
Vous avez maintenant à disposition :
- un serveur Apache
- PHP 8 (8.4 et inférieurs)
- MySQL 9.1/8.4
- le terminal Cmder (une console améliorée par rapport à l’horrible de Windows !)
- Notepad++
- composer
- nodejs
- putty
- memcached
- git
- redis...
Avec Homestead on obtient pratiquement les mêmes possibilités.
Ne vous inquiétez pas si vous ne connaissez pas la moitié de ces outils ! D’une part, nous ne les utiliserons pas tous, d’autre part, je détaillerai l’utilisation de ceux qui vous seront nécessaires.
Hôte virtuel
L'une des fonctionnalités les plus appréciables de Laragon est sa capacité à créer automatiquement des hôtes virtuels pour les dossiers situés dans le répertoire serveur (www). Pour ceux qui ne sont pas familiers avec ce concept, voici un exemple concret avec Laravel.
Le fichier de démarrage de Laravel est généralement placé dans www/monsite/public/index.php
. Pour y accéder via localhost
, il faudrait entrer une URL du type 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, Laragon va automatiquement configurer monsite.test
comme hôte virtuel. Avouez que c'est bien plus agréable !
Mais l'intérêt des hôtes virtuels ne se limite pas à l'esthétique ou à l'économie de frappe. Disposer d'un hôte virtuel permet de reproduire en local le même comportement que sur le serveur de production. Par exemple, si vous avez une image référencée dans une page HTML avec un chemin absolu comme /images/bouton.png
, un hôte virtuel garantit que l'image s'affichera correctement, tout comme elle le ferait en production.
Créer manuellement un hôte virtuel sous Windows n'est pas compliqué, mais cela peut être fastidieux. Il faut modifier le fichier hosts
de Windows ainsi que le fichier httpd-vhosts.conf
d'Apache. Autant laisser Laragon s'en charger automatiquement ! Cela vous fait gagner du temps et réduit les risques d'erreurs de configuration.
Laravel Herd
Laravel Herd est un outil de développement conçu pour simplifier la gestion des environnements de développement Laravel. Il permet aux développeurs de créer et de gérer facilement des conteneurs Docker pour leurs projets Laravel, en assurant une configuration cohérente et reproductible. Avec Herd, les développeurs peuvent se concentrer sur le code plutôt que sur la configuration des serveurs, ce qui accélère le processus de développement et réduit les erreurs liées à la configuration.
Herd offre plusieurs fonctionnalités clés :
- Configuration Automatique : Herd génère automatiquement les fichiers de configuration Docker nécessaires pour exécuter un projet Laravel, y compris les services comme PHP, MySQL, Redis, et plus encore.
- Environnements Isolés : chaque projet Laravel peut être exécuté dans son propre conteneur Docker, ce qui garantit que les dépendances et les configurations d'un projet n'interfèrent pas avec celles d'un autre.
- Facilité d'Utilisation : Herd est conçu pour être simple à utiliser, même pour les développeurs qui ne sont pas familiers avec Docker. Il suffit de quelques commandes pour démarrer un nouvel environnement de développement.
- Intégration avec Laravel : Herd est spécifiquement conçu pour Laravel, ce qui signifie qu'il prend en charge toutes les meilleures pratiques et configurations recommandées par le framework.
En résumé, Laravel Herd est un outil puissant pour les développeurs Laravel qui souhaitent gérer leurs environnements de développement de manière efficace et cohérente, en tirant parti des avantages de Docker sans la complexité habituelle.
A vous de voir si vous préférez Herd à Laragon.
Composer
Présentation
Dans le chapitre précédent, j'ai mentionné que Laravel utilise des composants provenant de diverses sources. Plutôt que de les intégrer directement, Laravel utilise un gestionnaire de dépendances appelé Composer. En fait, même les composants internes de Laravel sont gérés comme des dépendances via Composer. Mais qu'est-ce qu'un gestionnaire de dépendances ?
Imaginez que vous développez une application PHP et que vous souhaitez utiliser des composants externes, comme Carbon pour la gestion des dates ou Redis pour la gestion des données. Vous pourriez adopter une méthode manuelle, mais cela vous exposerait à plusieurs défis :
- Télécharger manuellement tous les composants nécessaires et les placer dans la structure de votre projet.
- Gérer les éventuels conflits de nommage entre les différentes bibliothèques.
- Mettre à jour manuellement les bibliothèques lorsque de nouvelles versions sont disponibles.
- Écrire du code pour charger les classes nécessaires.
Bien que faisable, cette approche manuelle est fastidieuse et sujette aux erreurs. C'est là qu'intervient un gestionnaire de dépendances comme Composer.
Composer automatise toutes ces tâches. Il permet de définir les dépendances de votre projet dans un fichier composer.json
, puis de les installer et de les mettre à jour automatiquement. Voici quelques-uns des avantages de Composer :
- Simplicité d'installation : avec une simple commande, Composer télécharge et installe toutes les dépendances spécifiées.
- Gestion des versions : vous pouvez spécifier les versions exactes ou les plages de versions des bibliothèques que vous souhaitez utiliser.
- Résolution des conflits : Composer gère automatiquement les conflits de versions entre les différentes dépendances.
- Autoloading : Composer génère un fichier d'autoloading qui permet de charger automatiquement les classes nécessaires, sans avoir à écrire de code supplémentaire.
En résumé, Composer simplifie grandement la gestion des dépendances dans vos projets PHP, vous permettant de vous concentrer sur le développement de fonctionnalités plutôt que sur la gestion manuelle des bibliothèques.
JSON
Pour comprendre le fonctionnement de Composer, il est essentiel de connaître le format JSON, qui signifie JavaScript Object Notation. Un fichier JSON est conçu pour contenir des informations structurées sous forme de paires clé-valeur. Voici un exemple simple :
{
"nom": "Durand",
"prénom": "Jean"
}
Dans cet exemple, les clés sont
"nom"
et "prénom"
, et les valeurs correspondantes sont "Durand"
et "Jean"
. Les valeurs peuvent également être des tableaux ou des objets imbriqués. Voici un exemple plus complexe :
{
"identité1": {
"nom": "Durand",
"prénom": "Jean"
},
"identité2": {
"nom": "Dupont",
"prénom": "Albert"
}
}
Dans ce cas, les valeurs des clés
"identité1"
et "identité2"
sont elles-mêmes des objets JSON contenant d'autres paires clé-valeur.
Composer et le fichier composer.json
Composer utilise un fichier nommé composer.json
pour gérer les dépendances et les configurations de votre projet. Ce fichier contient des instructions sur les dépendances à installer, les versions requises, et d'autres configurations. Voici un exemple de section require
dans un fichier composer.json
:
{
"require": {
"php": "^8.2",
"laravel/framework": "^12.0"
}
}
Dans cet exemple :
- La clé
"require"
spécifie les dépendances nécessaires pour le projet. "php": "^8.2"
indique que le projet nécessite PHP version 8.2 ou supérieure."laravel/framework": "^12.0"
indique que le projet nécessite le framework Laravel version 12.0 ou supérieure.
Le fichier composer.json
peut contenir bien d'autres informations, comme les scripts à exécuter, les configurations d'autoloading, et les dépendances de développement. Nous explorerons en détail la structure et le contenu du fichier composer.json
de Laravel dans le prochain chapitre.
Packagist
Tous les composants disponibles se trouvent sur le site Packagist :
Par exemple, s'il me faut un composant pour l’envoi d’email, j’entre ceci dans la zone de recherche :
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 composants conçus 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. J'aime bien Visual Studio Code qui jouit d’une grande popularité :
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. Vous pouvez installer tous les plugins que vous voulez. Pour trouver ceux qui concernent Laravel, vous avez une zone de recherche :
Dans la communauté Laravel l’IDE qui a un grand succès est PhpStorm. Il est vraiment puissant et complet, mais il n’est pas gratuit (sauf pour les étudiants qui ont une carte internationale à jour).
Les IA
Les IA deviennent incontournables pour le codage parce qu'elles font gagner beaucoup de temps. Il y a plusieurs façons de les utiliser mais la plus pratique est sans doute d'en avoir une intégrée à l'éditeur qu'on utilise. Il devient classique d'ajouter Copilot à Visual Studio :
Vous avez ainsi un assistant bien pratique.
Mais une autre solution est d'utiliser un éditeur intégrant déjà une IA comme Windsurf de Codium. C'est d'ailleurs ce que j'utilise au quotidien.
En résumé
Pour développer avec Laravel, vous avez besoin d'un environnement complet incluant PHP, MySQL, et Composer. Voici les solutions recommandées :
-
Environnements de développement :
-
Homestead pour Linux
-
Valet pour Mac
-
Laragon pour Windows
-
-
Gestion des dépendances : utilisez Composer.
-
Éditeur de code : Visual Studio Code est performant et gratuit, mais n'hésitez pas à utiliser la version Windurf qui intègre une IA efficace.
-
Intelligence Artificielle : les outils d'IA sont désormais indispensables pour les développeurs.
Par bestmomo
Nombre de commentaires : 2