Accueil » Blog » Hébergement Web » Laravel, pourquoi faire et pour qui ?

Laravel, pourquoi faire et pour qui ?

Dressons un bref historique.

Laravel a été créé par Taylor Otwell en juin 2011. Framework web open source entièrement écrit en Php en programmation orientée Objet, il est basé sur le code de Symfony dont il partage à ce jour encore 30% du code par l’utilisation de « Symfony component ». Il est distribué sous licence MIT et Ses sources se trouvent hébergées sur GitHub.

Très rapidement Laravel a suscité un engouement qui depuis ne s’est pas démenti. Projet PHP le mieux noté de GitHub en 2016, Laravel a su se créer une communauté d’utilisateurs très actifs. Ainsi, près de 135 000 projets ont été construits sur Laravel plutôt que sur d’autres frameworks PHP en 2020.

Laravel se distingue de ses comparses et concurrents open source tels que Yii, CakePHP, CodeIgniter, Slim Framework, Symfony et quelques autres par la richesse de ses fonctionnalités et de ses outils de développement que nous allons détailler plus avant. Cette richesse, recherchée par les codeurs, facilite le développement rapide d’applications Web adéquates.

Pourquoi utiliser cette application ?

Laravel est un Framework bien documenté. Ce point permet de gagner du temps, notamment vis-à-vis de se concurrents directs. Cet avantage est encore accru par la présence d’une communauté active sans cesse grandissante. On comprend bien qu’une telle communauté permet des réponses rapides aux problèmes et doutes qui peuvent survenir dans le cadre du développement. Elle assure de même la pérennité de la plateforme car, par un effet boule de neige, plus l’outil est utilisé par les développeurs et plus les développeurs se tourneront vers l’outil…

Les avantages :

Afin de comprendre cette progression de Laravel, il convient de se pencher plus en détails sur ses fonctionnalités et avantages.

Parmi les vertus intrinsèques de l’outil on citera tout d’abord la propreté et la souplesse du code généré. Laravel est assurément très complet sans l’être trop. Cela permet, outre une documentation cohérente, une durée d’apprentissage contenue. Le code, par sa simplicité, sa lisibilité, sa concision reste accessible.

On retrouve dans ce code les standards attendus de programmation ainsi que la possibilité d’ajouter facilement des extensions. Le processus de développement se trouvera simplifié dans son déroulement par un code propre et réutilisable.

Laravel s’inspire par ailleurs de l’existant en ce qui concerne les fonctionnalités de déploiement et reprend à son compte le système de routage de symfony en l’étoffant pour le rendre plus performant.
Il est ainsi aisé de regrouper des routes, créer des ressources pour les pages CRUD (create, read, update, delete), attacher des filtres et lier automatiquement des modèles aux paramètres de la demande.

Le package API dingo intégré étend encore davantage les possibilités de routage (personnalisateur des réponses par les transformateurs, protection des routages et fournisseurs d’authentification personnalisés, mécanisme de requêtes en interne sur l’API…). On perçoit immédiatement ce qu’a d’avantageux cette propreté, cette efficacité du routage : une économie de code, donc de temps.

Les fonctionnalités :

  • Le noyau intègre un modèle IoC (inversion of control) :

Ce dernier permet la personnalisation et la réécriture de n’importe quelle partie du framework. Rapide, fonctionnel, il peut aussi être étendu librement selon le contexte de développement. La bibliothèque swiftmailer est reprise comme d’autres modules éprouvés auxquels Laravel ajoute ses propres composants pour consolider l’ensemble du process. De plus, Laravel facilite l’intégration de bibliothèques tierces par Composer ou Packagist dans les projets si nécessaire.

  • Les Concepteurs de Laravel ont repris la console en ligne de commandes (CLI) de Symfony qui a été étendue:

Nommée Artisan, elle rend le processus de développement simple et rapide. Les migrations de données, la gestion de bases de données s’en trouvent facilitées. Par l’usage de code squelette ou de modèles de contrôleurs, Artisan fait disparaitre tout l’aspect manuel et répétitif de l’activité de codage. Le développeur pourra en outre générer des fichiers MVC et gérer les configurations de données en créant ses propres commandes.

  • Laravel utilise Eloquent ORM (Object-Relational Mapping) implémentant Active Record :

Il est possible de créer une correspondance entre les classes PHP et la base de données et ainsi maintenir une interaction facile avec les objets de la base de données de l’application en utilisant une syntaxe éloquente ou expressive. Cet outil sera précieux aux yeux des développeurs qui pourront effectuer des requêtes de base de données avec une syntaxe PHP simple. Encore une fois la simplicité, cette possibilité de s’affranchir de requêtes SQL complexes et alambiquées, est gage de temps gagné.

  • L’intégration de moteur de création de modèles Blade :

Il s’agit d’un moteur aux multiples possibilités qui aidera les développeurs Web à rendre le processus de développement plus fluide et aisé par l’usage de mises en page prédéfinies. Blade permet d’afficher les données et d’étendre les dispositions sans affecter les performances et la vitesse de l’application. La mise en page est facilitée par la création de layouts, de sous templates et de composants réutilisables.

  • L’outil est livré avec un ensemble spécifique de fonctionnalités pour effectuer des tests unitaires sur vos applications Web / applications mobiles via PHPUnit. L’outil peut exécuter des tests unitaires, concernant de petites portions de codage (Feature) ou tests de fonctionnalités concernent des bases de code plus importantes avec plusieurs objets (Unit).
  • Laravel est capable d’exécuter plusieurs tests unitaires simultanément pour s’assurer que toute nouvelle modification du code est correctement testée et évaluée dans le contexte. Ces fonctions de test étendu assurent absence de bogue et performance à l’application.

Le patron de Laravel est le MVC (Modèle-Vue-Contrôleur) :

Globalement, le déroulé est le suivant : le modèle gère les données, la vue s’affiche chez l’utilisateur, le contrôleur gère l’ensemble. On connait les avantages et contraintes à suivre un modèle d’organisation. La contrainte est évidente : on ne peut pas toujours organiser son code comme on le voudrait. Mais le corollaire présente un avantage évident : cela confère de la rigueur et de l’ordre au sein de l’application, choses précieuses dans un cadre collaboratif…

Une fois acquise, la logique MVC de Laravel crée des automatismes chez le développeur, dans la structure de codage de l’application, et facilite grandement également la recherche de fichiers dans leurs répertoires logiques des grands projets.

Conclusion :

Voilà en bref ce que Laravel pourra offrir aux développeurs web, et on pourrait ajouter d’autres points cruciaux tels que le constructeur de formulaires très complet, le système d’envoi de mail, la file d’attente asynchrone et tâches d’arrière-plan pour les tâches de longue durée, etc. Mais nous dépasserions le simple aperçu de ce vaste outil.

Laravel c’est quoi ? C’est le framework du moment. Pour qui ? Pour tous ceux qui veulent développer en PHP sur une plateforme pérenne.

NUXIT WEB

Concevez et hébergez facilement votre site web

HÉBERGEMENT WEB E-COMMERCE

Solution fiable et sécurisée pour votre boutique en ligne

HÉBERGEMENT WEB PRIVÉ MANAGÉ

Support téléphonique

Que vous soyez client Nuxit ou non, contactez nos conseillers du lundi au vendredi de 9h à 18h au +33 (0)4 86 57 60 00 | commercial@nuxit.com

HÉBERGEMENT WEB GRATUIT 1 MOIS

Découvrez la puissance de l'hébergement web sans engagement avec notre offre d'essai gratuit pendant un mois
TEST D'ÉLIGIBILITÉ

  • ADSL Max. : 20 Mbps

  • SDSL Max. : 16 Mbps

  • VDSL Max. : 100 Mbps

  • FTTH Max. : 1 Gbps

  • Fibre dédiée Max. : 1 Gbps





conseils dimensionnement

Site Vitrine

Pour un site vitrine ou plus globalement des sites ne contenant que peu de contenu dynamique, la configuration de base suffit.

<!-- Appliquer la recommandation pour un site vitrine -->

conseils dimensionnement

Blog

Les besoins en performance pour un blog dépendent principalement du trafic que vous aurez. Par exemple, pour un blog en cours de création ou pour un blog famillial, nul besoin de prendre des ressources supplémentaires. Si votre blog accueille plus de 500 visiteurs uniques par jour, nous vous conseillons de sélectionner des ressources de 1 CPU et 1 Go de RAM pour les serveurs WEB et SQL. Si vous dépassez les 3000 visiteurs uniques par jour, nous vous conseillons au moins 2 threads et 2 Go de RAM pour le serveur WEB et 1 CPU et 1 Go de RAM pour le serveur SQL.

<!-- Appliquer la recommandation pour un blog avec un trafic faible
Appliquer la recommandation pour un blog avec un trafic Moyen
Appliquer la recommandation pour un blog avec un trafic élevé -->

conseils dimensionnement

Site E-commerce

Les sites E-commerce sont des sites gourmants en ressources et nécessitent des ressources allouées.
Si vous êtes en phase de développement ou que vous ne vendez pas trop d'articles différents, vous pouvez vous contenter de 1 thread CPU et d’un 1 Go de Ram.
Si vous avez beaucoup d’articles avec des déclinaisons multiples, le besoin en ressources va rapidement augmenter.

<!-- Appliquer la recommandation pour un E-commerce avec un trafic faible
Appliquer la recommandation pour un E-commerce avec un trafic Moyen
Appliquer la recommandation pour un E-commerce avec un trafic élevé
-->