Laravel: les développeurs au coeur de sa philosophie

Mar 18, 2020

Développer une application est un processus long et complexe. Que ce soit le fait de penser et conceptualiser la structure du code, la façon d’agencer les fonctionnalités, de tester le tout et surtout de le maintenir et mettre à jour. On observe un certain nombre de fonctionnalités et utilitaires qui se retrouvent dans beaucoup d’applications. Leur fonctionnement est connu et éprouvé, ces fonctionnalités ont déjà été développées. Ce sont, par exemple, les fonctionnalités d’authentification, de routage, de transactions avec la base de données, d’envoi d’e-mail, mais aussi, pour le confort et la pérennité du développement, de séparation entre les données et les vues, d’utilitaires de gestion des différents types de données, de collaboration à plusieurs sur le même code, d’architecture des dossiers et fichiers source.


Est-il nécessaire et logique de repenser et développer tout ceci à chaque nouvelle application ? Dans la majorité des cas, non. Si des applications peuvent avoir des besoins très spécifiques, non standardisés, ce n’est pas le cas de la plupart des projets. C’est dans cette démarche que ce sont créés les frameworks. Un « cadre de développement » qui met à disposition une architecture de code, des fonctionnalités et autres outils nécessaires aux développeurs. Ceci dans l’idée de faciliter le développement d’applications.


Dans cet article je vous parle de Laravel, un framework web open-source écrit en PHP, que j’utilise depuis un certain temps pour développer des applications. Je vous parle des différents points qui en font pour moi un bon choix. Cet article n’a pas vocation de comparaison avec d’autres frameworks, mais fait plutôt office de présentation de Laravel.

Laravel

« Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in most web projects. »

C’est à travers ce statement que l’équipe de développement de Laravel expose la philosophie du framework. Et c’est dans cette philosophie que je me retrouve. C’est pour moi la meilleure façon de permettre aux développeurs de se concentrer sur la résolution et le développement des problématiques métiers des projets de leurs clients et non pas sur des éléments « standards » récurrents à l’ensemble des applications web. Ceux-ci sont pris en charge par le framework.

En 2011, Taylor Otwell crée Laravel en se basant sur le framework Symphony, très populaire. Aujourd’hui, environ 30% du code de base de Laravel est pris de Symphony. On est, depuis mars 2020, à la version 7 du framework. C’est le projet PHP le plus populaire sur github, avec plus de 58’000 « étoiles ». Pour ne pas tomber dans les comparaisons basées sur les performances et les détails liés à la façon de coder, voyons ce qui fait la popularité de Laravel et pourquoi c’est mon choix pour les développements d’applications. Ce qui m’intéresse n’est pas d’avoir l’application la plus rapide et la plus optimisé possible, mais de développer rapidement une application qui résout les problématiques de mes clients et qui augmente la qualité de leurs prestations. Je ne fais pas d’application grand public.

Une fondation pour développer rapidement et proprement

Laravel, dans sa conception, offre un environnement dans lequel il est plus agréable et facile de développer des applications bien structurées, performantes et possible à maintenir. Structuré selon le principe MVC (Modèle – Vue – Contrôleur), l’architecture des fichiers permet d’agencer les différentes fonctionnalités et de s’y retrouver au fur et à mesure que l’application grandit. La style de code à écrire couplé à une documentation très bien écrite permet d’être très rapidement performant dans l’univers de Laravel.

Via la mise à disposition de commandes, il est possible d’automatiser la création de fichiers pour des tâches comme : la création de modèles, de contrôleurs, de migrations, etc. Laravel crée automatiquement le fichier au bon endroit et y intègre du code selon un modèle minimal.

Il y aurait encore beaucoup de choses à énumérer que Laravel gère pour le développeur mais ce n’est pas le but de cet article. En voici quelques unes, si nécessaire vous trouverez le reste sur le site du framework directement, dans sa documentation qui est très complète.

Gestion des routes et des groupes de routes, système d’authentification, système de templating pour le front-end, génération d’environnement ReactJS/VueJS, mise à disposition d’un ORM, variables d’environnement,…

Un écosystème complet

En plus de tout ce qu’apporte le framework, l’équipe de développement a créé et enrichi depuis plusieurs années un écosystème de produits et services autour de Laravel permettant de créer des applications web encore plus rapidement. Dans cet écosystème on retrouve : une plateforme de déploiement d’application Laravel, une interface d’administration pilotée par le code déjà écrit, un outil de compilation des assets de la partie front-end, une gestion simplifiée de l’authentification par les réseaux sociaux, un système de gestion d’abonnements. Et d’autres encore…

Ecosystème laravel

Autant de choses qui prendraient un certain temps à développer par soi-même et à gérer. Ici encore, c’est la rapidité et le confort de développement qui sont au coeur de la mise en place de chacun des éléments de l’écosystème.

Une communauté

La communauté de Laravel est grande et active. C’est un point essentiel à prendre en compte dans le choix d’un framework.  Une communauté large et pérenne est synonyme d’un produit qui a de l’avenir. Au-delà de ça, la communauté apporte sa propre valeur de différentes façons. De la documentation, de la formation, de l’entraide, des évènements.

En plus de la documentation officielle, déjà très complète, de nombreux sites proposent des actualités sur les nouveautés du framework comme https://laravel-news.com/ et https://laraveldaily.com/

De la formation
https://laracasts.com/skills/laravel
https://www.grafikart.fr/formations/laravel
https://www.tutorialspoint.com/laravel/index.htm

Des forums d’entraide
https://laravel.io/forum
https://laravel.fr/
https://laracasts.com/discuss

Des conventions « Laracon » en Europe et aux Etats-unis.

Et finalement, un nombre impressionnant de packages développés et mis à disposition par différents membres de la communauté Laravel. Ces packages, que l’on peut trouver ici sont des réponses aux problématiques rencontrées par différents développeurs que Laravel ne résout pas. Il en existe des milliers. Ce qui permet de développer encore plus rapidement les applications.

Peut-on dire que c’est le meilleur ?

On ne peut pas dire que Laravel est le meilleur framework web PHP. Pour cela, il faudrait s’appuyer sur des points de comparaison objectifs. En français, framework signifie littéralement « cadre de travail ». Il est de la responsabilité de chaque développeur de choisir le framework qui lui convient le mieux, en terme de confort de développement et en fonction de ses focus.

Pour ma part, la philosophie orientée « expérience développeur » couplée à l’importante quantité et qualité des ressources annexes à Laravel en fait mon outil préféré. Je peux m’autoriser à déléguer une partie des enjeux techniques pour me concentrer d’avantage sur la réflexion des problématiques métiers des projets que j’entreprend.

Est-ce que vous utilisez vous aussi Laravel ? Ou un autre framework ?

0 commentaires

Soumettre un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *