#Introduction
Cette semaine, notre veille se concentre sur des sujets d'architecture applicative et de sécurité côté Laravel, ainsi que sur les nouveautés attendues pour PHP 8.6. Nous explorons aussi une nouvelle approche pour visualiser la base de données Laravel et la prévention des attaques SSRF.
#Releases et mises à jour
#Découvrez PHP 8.6 : Les grandes nouveautés
La version PHP 8.6 apporte plusieurs améliorations importantes, notamment l'introduction de la fonction d'application partielle des fonctions, un nouvel API de polling, ainsi que la prise en charge des propriétés readonly par défaut. Ces changements améliorent la lisibilité du code et la gestion des ressources, tout en posant quelques dépréciations à surveiller. Brent met en avant que la mise à jour facilite la programmation fonctionnelle en PHP et optimise la gestion des événements asynchrones.
#Nouveaux packages et outils
#Laravel SSRF Protection : Pourquoi bloquer les IP privées ne suffit pas
Face à l'absence de librairie complète pour prévenir les SSRF (Server Side Request Forgery) dans Laravel, un développeur a conçu un package robuste intégrant une panoplie de tests adaptés. Le package vérifie et bloque les requêtes exposant les vulnérabilités SSRF, démontrant cependant que la simple interdiction des IP privées se révèle insuffisante. L'approche est basée sur des recherches récentes et présente une solution fiable pour sécuriser les applications Laravel contre ce type d'attaque.
1// Extrait d'utilisation simplifiée du package2use Securized\LaravelSSRF\SSRF;34if(SSRF::checkRequest($url)) {5 throw new \Exception('SSRF attack prevented!');6}1// Extrait d'utilisation simplifiée du package2use Securized\LaravelSSRF\SSRF;34if(SSRF::checkRequest($url)) {5 throw new \Exception('SSRF attack prevented!');6}
#Artisan schema:show pour visualiser votre base Laravel
Un outil artisan innovant permet de générer en temps réel un diagramme ER (entité-relation) zoomable à partir de la structure de la base de données Laravel. Cette commande ne lit que la structure, sans interroger les données, ce qui garantit sa sécurité en production. Il s'agit d'un outil précieux pour comprendre visuellement la relation entre les tables et faciliter les interventions sur les bases complexes.
#Tutoriels et articles notables
#Modular Monoliths : Créer de vraies frontières avant les microservices
Un article approfondi explique comment construire des monolithes modulaires bien découplés avant de se lancer dans des architectures microservices. L'auteur détaille la définition claire des API de modules, la possession des bases de données, la communication inter-module et les tests d'architecture. Cette approche graduelle permet d'éviter les complexités prématurées et facilite la migration incrémentale vers des microservices quand le besoin réel s'en fait sentir.
#Workflow d'exécution de commandes dans Laravel
Steve King partage un tutoriel pratique pour gérer des processus long-running dans Laravel via un moteur de workflow. Il aborde les étapes, la gestion des signaux, les tentatives de reprises automatiques, les branches conditionnelles, l'approbation humaine et la compensation en cas d'erreur. Ce guide démontre une méthode robuste pour organiser des tâches métiers complexes dans Laravel.
#Frontend et écosystème JavaScript
Aucune mise à jour majeure spécifiquement liée à l’écosystème frontend JavaScript dans la sphère Laravel/PHP cette semaine.