Dans ce nouveau chapitre je vous propose de découvrir ensemble comment installer Laravel et on va voir la structure des dossiers. Petit rappel avant de commencer, si jamais vous avez besoin d'informations sur le framework et son fonctionnement, il ne faudra pas hésiter à aller sur la documentation. Malheureusement, elle n'est disponible qu'en anglais, mais elle est relativement complète et assez facile à comprendre.
Installation
Il y a différentes manières d'installer Laravel mais l'approche la plus simple est de se baser sur Composer avec la commande create-project.
composer create-project laravel/laravel=10 MonApp
Je précise ici la version afin que vous installiez la même version que la mienne. Cette commande va automatiquement construire la structure de notre application Laravel puis installer les différentes dépendances nécessaire à son fonctionnement.
Structure
Dès l'installation vous remarquerez que Laravel a créé plusieurs dossier et fichiers pour vous.
- A la racine de notre projet, on a un dossier app qui va contenir le code de notre application. Ce dossier sera aussi la racine du namespace
\App
. A l'intérieur de ce dossier là, on trouvera différents dossiers qui correspondent à des classes préconçues par Laravel, mais on aura l'occasion de revenir dessus lorsque l'on va commencer à écrire nos premières lignes de code. Pour l'instant, il faut juste savoir que c'est dans ce dossier là que vous allez écrire la plupart de votre code. - Le dossier bootstrap n'est pas forcément un dossier que vous allez toucher, mais il contient le code qui va permettre de faire démarrer une application Laravel.
- Le dossier config qui lui va être un dossier important qui va contenir la configuration des différents éléments du framework. Par exemple, le fichier "mail.php" permettra de configurer le système de mailing, le fichier "cache.php" permettra de configurer le cache et on a comme ça un fichier par type de configuration que l'on peut faire. A l'intérieur de ces fichiers la configuration est donnée sous forme de tableau associatif.
- Le dossier database contiendra les différents éléments concernant la base de données. A l'intérieur, on a trois dossiers, que l'on évoquera plus tard.
- Le dossier public servira de racine pour notre application. Lorsqu'on créera un serveur web, c'est ce dossier qui sera utilisé comme racine pour faire fonctionner notre application. Tout ce qui est dans le dossier "public" sera, comme son nom l'indique, publiquement accessible et on retrouve à l'intérieur le fichier "index.php" qui sera le véritable point d'entrée de Laravel.
- Le resources contient des ressources CSS et JavaScript qui serviront au front-end, mais il va aussi contenir un dossier view qui permettra de spécifier les fichiers qui vont permettre de générer les pages HTML.
- Le dossier routes va contenir les chemins de notre application. C'est ce qui permet de dire "lorsque je vais sur la page d'accueil, voilà ce que je dois faire". Donc, on a différentes catégories de routes en fonction de ce que l'on peut faire. Les routes pour la partie API, pour la partie application web, pour la console, et les channels pour les websockets.
- Enfin, le dossier storage va contenir les fichiers généré par l'application (cache et téléversement utilisateur).
Enfin, un fichier .env a aussi été créé pour vous et contient des variables d'environnements utilisées pour configurer le fonctionnement général de l'application. Ce fichier ne devra pas être versionné (un fichier .gitignore a déjà été créé).
La commande artisan
A la racine du projet on retrouvera aussi un fichier artisan
qui permet de piloter les opération de bases de Laravel depuis le terminal. Par exemple si on souhaite démarrer le serveur web qui fasse fonctionner notre application on pourra utiliser la commande serve.
php artisan serve
Cette commande permet de démarrer un serveur web sur le port 8000 ce qui rend votre application accessible (pendant le développement) via localhost:8000
.