Laravel – Généralités et Installation

20 décembre 2017 - : MVC Laravel - : Pas de commentaire

Laravel – Généralités et Installation

Laravel est un framework PHP permettant de développer des applications Web en utilisant les concepts du MVC.

Avant de commencer à parler de Laravel en particulier, il est important de bien assimiler le concept MVC.

Le MVC

Qu’est-ce que le MVC ?

Le MVC (Model View Controller) est une méthode d’organisation du développement d’applications Web permettant de séparer les différents concepts résultant de nos pages PHP.

En effet, trois grandes « actions » peuvent être identifiées lorsque nous développons en PHP :

  • Les requêtes en base de données (Model)
  • Le traitement des données (Controller)
  • L’affichage de pages HTML (View)

Dans les faits, le navigateur de l’utilisateur chargera le contrôleur, qui interrogera la base de données par l’intermédiaire du modèle, celui-ci répondra au contrôleur qui traitera les données et les passera à la vue (View), celle-ci étant en charge de générer le code HTML qui est renvoyé au navigateur.

Les Modèles (Models)

Ce que nous appelons un Modèle est en réalité un fichier PHP qui ne fait que gérer les échanges avec la base de données. Lorsque nous avons besoin de lire ou écrire dans la base de données, nous faisons appel au Modèle.

Les Vues (Views)

Les vues sont principalement des fichiers HTML contenant le code destiné à être transmis au navigateur de l’utilisateur. Nous disposerons des données transmises par le contrôleur afin de les intégrer dynamiquement dans nos pages.

Les Contrôleurs (Controllers)

Véritable tour de contrôle de notre application, le contrôleur a pour fonction de faire l’interface entre les modèles et les vues. Il est chargé de demander les données par l’intermédiaire des modèles, de traiter ces données et de les transmettre aux vues, prêtes à être utilisées.

Le routing

Bien qu’indépendant de l’architecture MVC, le routing fait partie intégrante de tous les frameworks PHP.

Dans une architecture classique, nous pointons vers des fichiers :

  • http://monsite.fr/index.php
  • http://monsite.fr/inscription.php
  • http://monsite.fr/login.php

Dans une architecture MVC, nous allons pointer vers des dossiers virtuels appelés routes

  • http://monsite.fr/user/inscription
  • http://monsite.fr/user/login
  • http://monsite.fr/blog/article

Cette architecture offre de nombreux avantages :

  • Protection des fichiers, ceux-ci n’étant plus affichés par le navigateur
  • Des URLs plus simples à mémoriser pour les utilisateurs
  • Amélioration du référencement si les routes contiennent des mots-clé contenus dans la page correspondante

Laravel

Comment installer Laravel ?

Installer Laravel peut s’effectuer de plusieurs façons mais nous vous conseillons d’utiliser Composer, celui-ci étant chargé de gérer les dépendances éventuelles entre les différents composants de votre application.

La ligne de commande ci-dessous sera à utiliser depuis le dossier correspondant à la racine de votre serveur web (c:\xampp\htdocs par exemple dans le cas de Xampp)

composer create-project --prefer-dist laravel/laravel monbloglaravel
  • composer : lance l’outil composer
  • create-project : demande de créer un projet
  • –prefer-dist : demande d’installer la dernière version stable
  • monbloglaravel : chemin vers le dossier du projet (par rapport au dossier en cours). Ici Laravel sera installé dans un dossier monbloglaravel créé directement dans le dossier htdocs

Une fois la commande lancée, quelques secondes/minutes s’écouleront avant la fin du processus d’installation

Structure de dossiers de Laravel

Voici une copie d’écran de la structure par défaut d’un dossier dans lequel Laravel est installé

  • app : dossier contenant la quasi intégralité des fichiers de notre application
  • bootstrap : contient le fichier app.php qui « démarre » notre application, ainsi que le cache, par exemple.
  • config : contient les fichiers de configuration, comme son nom l’indique
  • database : Utilisé pour les migrations de données et les bases de données SQLite
  • public : partie publique du site, contiendra TOUT ce qui doit être accessible par le navigateur (js, css, images, vidéos…)
    • index.php est le fichier chargé par le navigateur pour TOUTES les pages
  • resources : contiendra nos vues, mais également du CSS non compilé (SASS) par exemple
  • routes : ce dossier contiendra toutes nos définitions de routes
  • storage : contient les fichiers qui pourraient être générés durant l’utilisation de l’application (logs, avatars utilisateurs (dans app/public),…)
  • tests : dossier utilisé pour les tests
  • vendor : dossier contenant tous les composants tiers utilisés par Laravel (Symfony, swiftmailer, doctrine…)

Cet article est le 1er d’une série permettant d’apprendre pas à pas l’utilisation de Laravel.

Commentaires

Pas encore de commentaire

Laisser un commentaire