Le php : oui, mais avec Laravel
Avez déjà entendu parlé de Laravel ? Quel framework remporte un franc succès grâce à tous ses atouts ?
Sommaire
- Qu'est-ce qu'un framework ?
- Est-ce qu'un framework est vraiment utile ?
- Laravel
- Mais que peut-on faire avec Laravel ?
- Le modèle MVC
- Historique des Versions de LARAVEL
- Laravel 1.x (2011)
- Laravel 2.x (2011)
- Laravel 3.x (2012)
- Laravel 4.x (2013)
- Laravel 5.0 (2015)
- Laravel 5.1 (2015) - Version LTS
- Laravel 5.2 (2015)
- Laravel 5.3 (2016)
- Laravel 5.4 (2017)
- Laravel 5.5 (2017) - Version LTS
- Laravel 5.6 (2018)
- Laravel 5.7 (2018)
- Laravel 5.8 (2019)
- Laravel 6.x (2019) - Version LTS
- Laravel 7.x (2020)
- Laravel 8.x (2020)
- Laravel 9.x (2022) - Version LTS
- Laravel 10.x (2023)
- Laravel 11.x (2024)
- Le bilan sur LARAVEL
Qu’est-ce qu’un framework ?
Un framework c’est tout simplement un ensemble d’outil venant à faciliter le travail du développeur lui permettant d’obtenir des gains en productivité.
Il constitue une base cohérente et regroupe en général les fondations d’un logiciel informatique ou d’une application web.
Dans le cas du php, les frameworks regroupent un ensemble de fonctions de base que l’on retrouve sur la plupart des applications php.
C’est le cas, pour exemple :
- du système d’authentification,
- de la gestion des erreurs,
- ou encore la gestions des droits (administrateurs, rédacteurs, visiteurs…).
Est-ce qu’un framework est vraiment utile ?
Voilà, vous vous lancez dans la conception d’un site internet et vous ne connaissez pas de framework php. Alors la question à se poser est : vais-je prendre plus de temps à apprendre comment mon framework fonctionne qu’à coder mon site ?
Et bien c’est possible, les framework les plus gros sont comme des nouveaux langages à connaitre, où plutôt comme d’importantes extensions de ces langages.
Le temps de la prise en main d’un framework peut prendre un certain temps, il faut souvent :
- savoir et respecter des règles plus ou moins strictes,
- lire de la documentation en permanence,
- et connaitre les outils à dispositions, etc.
Cependant l’utilité d’un framework de ce genre est d’éviter de passer son temps à développer des fonctions déjà créés par d’autres.
Une fois le framework maîtrisé, vous irez bien plus vite, votre code ressemblera probablement à quelque chose, et surtout, la personne qui passera derrière vous comprendra rapidement votre code.
C’est essentiel pour toute maintenance, ajout ou correction.
Laravel
Laravel est un framework bien documenté qui permet de faire gagner du temps face à ces concurrents.
Il possède une communauté importante, ce qui nous donne la possibilité de trouver rapidement une réponse en cas de doute, c’est aussi le gage d’une certaine pérennité pour le framework.
Plus les développeurs l’utiliseront, plus longtemps il existera.
Laravel est aussi très complet sans trop l’être ! Et grâce à sa documentation bien fournie, la durée d’apprentissage reste contenue. Son plus gros point fort est sa simplicité !
Le code que l’on écrit avec Laravel est toujours simple, lisible, concis et agréable à lire. On y retrouve les standards de programmation ainsi que la possibilité d’ajouter facilement des extensions.
Mais que peut-on faire avec Laravel ?
Alors oui, qu’est-ce qu’on peut bien faire avec ce dernier ? Et bien Laravel est un framework s’inspirant de ce qui existe de mieux :
- il reprend le système de routage de Symfony en l’étendant de manière efficace,
- il utilise la bibliothèque SwiftMailer pour l’envoi de mail,
- et bien d’autre encore.
Tout en ajoutant ces propres composants originaux pour former au final Laravel.
Laravel nous offre :
- un système d’envoi de mail
- un système de routage performant
- un moteur de Template efficace
- un constructeur de formulaire très pratique
- un système d’authentification pour les connexions
- un créateur de requêtes SQL et un ORM performants (éloquent)
En prime, Laravel intègre un système de migration pour les bases de données, un système de cache, une gestion des sessions, etc.
Le modèle MVC
Le patron de Laravel est le MVC (Modèle-Vue-Contrôleur).
Suivre un modèle d’organisation est à la fois une contrainte et un avantage. C’est une contrainte dans le sens où l’on ne peut pas toujours organiser son code comme on le souhaiterait. Mais c’est un avantage car cela offre de la rigueur et de l’ordre au sein de l’application.
C’est un cadre capital quand plusieurs personnes travaillent sur le même projet.
Globalement,
- Le modèle gère les données
- La vue s’affiche chez l’utilisateur
- Le contrôleur gère l’ensemble
Une fois que l’on a compris le principe du MVC de Laravel, le développement d’une application se fait de manière plus rapide, fluide et naturelle. Créant des automatismes chez le développeur.
Historique des Versions de LARAVEL
Depuis sa première version en 2011, Laravel a connu de nombreuses évolutions pour s’adapter aux nouvelles technologies et aux besoins des développeurs.
Laravel 1.x (2011)
Première version du framework créée par Taylor Otwell. Laravel 1.0 s’appuyait sur CodeIgniter mais ajoutait des fonctionnalités comme l’authentification et la gestion des modèles. Cette version n’avait pas encore de système de migration.
Laravel 2.x (2011)
Introduction du système d’authentification intégré et du support des contrôleurs, permettant d’améliorer la structure des applications. Toutefois, Laravel 2.x n’était pas compatible avec Composer.
Laravel 3.x (2012)
Un grand bond en avant avec des fonctionnalités telles que le système de migration, le gestionnaire de paquets (Bundles), les commandes artisan, et l’interface de ligne de commande (CLI). Cette version a été le début du framework moderne que l’on connaît aujourd’hui.
Laravel 4.x (2013)
Complète refonte du framework en s’appuyant sur le composant Symfony. Laravel 4 introduit le système de Composer pour la gestion des dépendances, les jobs en arrière-plan (queues), et les facades. Cette version était beaucoup plus modulaire.
Laravel 5.0 (2015)
Nouvelle architecture introduisant les Service Providers, le Middleware, et les Form Requests. L’ORM Eloquent a été amélioré, et la structure des répertoires a été modifiée pour une meilleure organisation.
Laravel 5.1 (2015) – Version LTS
Première version avec Support à Long Terme (LTS). Des améliorations en termes de stabilité et de performance ont été ajoutées, avec un support étendu pour les versions PHP plus récentes.
Laravel 5.2 (2015)
Amélioration des notifications, des jobs, et des systèmes d’authentification avec les Guards. Introduction des politiques d’autorisation pour une meilleure gestion des accès.
Laravel 5.3 (2016)
Introduction de Laravel Scout (pour la recherche plein texte), Laravel Passport (authentification API), et Laravel Echo pour la gestion des WebSockets.
Laravel 5.4 (2017)
Ajout des Composants de Vue et des collections améliorées avec des méthodes comme when()
et unless()
. De nouvelles notifications ont été ajoutées pour les canaux comme Slack.
Laravel 5.5 (2017) – Version LTS
Deuxième version LTS. Ajout des migrations sans rollback, des jobs invocables, et des améliorations du système de validation.
Laravel 5.6 (2018)
Introduction des jobs à taux de tentative et Logging amélioré avec le support de Monolog 2.0.
Laravel 5.7 (2018)
Introduction de Laravel Nova, un tableau de bord d’administration, ainsi que des notifications par e-mail et une meilleure gestion des URL signées.
Laravel 5.8 (2019)
Amélioration des queues, introduction des tests Eloquent, et meilleure prise en charge de Carbon 2.0 pour la gestion des dates.
Laravel 6.x (2019) – Version LTS
Introduction de Semantic Versioning (versionnement sémantique), Laravel Vapor (support de Serverless avec AWS), et des jobs invocables. Cette version a aussi ajouté Laravel UI pour la gestion des interfaces utilisateur.
Laravel 7.x (2020)
Introduction des routes avec nom de domaine personnalisé, du templating Blade optimisé, et de Laravel Sanctum pour l’authentification des API SPAs.
Laravel 8.x (2020)
Ajout de Laravel Jetstream pour les projets démarrage rapide, modèle de Factory amélioré, et Laravel Sail pour le développement local avec Docker. Introduction de la fonctionnalité de modèles Eloquent avec attributs de casting personnalisés.
Laravel 9.x (2022) – Version LTS
Initialement prévu pour 2021, mais repoussé à février 2022 pour des raisons de qualité. Support pour PHP 8, introduction de Flysystem v3, amélioration des queues et des jobs, ainsi qu’une refonte des notifications.
Laravel 10.x (2023)
PHP 8.1 est requis. Amélioration des fonctionnalités avec des types natifs, refonte des classes artisan, des tests de validation, et des collections immutables.
Laravel 11.x (2024)
Introduction de Livewire v3 intégré nativement pour une meilleure gestion des interfaces réactives, amélioration des tests d’intégration et des performances. Cette version met l’accent sur l’optimisation des applications pour les environnements serverless.
Ces évolutions ont permis à Laravel de rester en tête des Framework PHP, en offrant toujours plus de fonctionnalités, de performance et de flexibilité.
Le bilan sur LARAVEL
En conclusion, Laravel est un framework très complet et très puissant.
Il a la particularité d’être plus permissif et plus souple que son confrère Symfony. Le fait qu’il soit très facile d’accès avec sa documentation complète et sa communautés active rend Laravel très attractif lors du choix d’un framework.
Une fois pris en main, il en devient compliqué de s’en défaire.