#Introduction
Cette semaine, on note plusieurs avancées intéressantes autour de Laravel et de son écosystème. Freek Van der Herten dévoile comment générer des passes mobiles pour Apple et Google Wallet directement depuis Laravel, une fonctionnalité clé pour intégrer des tickets ou abonnements digitaux dans les applis mobiles. On trouve aussi une comparaison détaillée entre Scotty, le nouvel outil de déploiement signé Spatie, et Laravel Envoy, avec un focus sur l’amélioration des workflows SSH. Enfin, il est question de validation avancée en Laravel pour éviter les pièges classiques de performance lors de la gestion des entrées en tableaux imbriqués.
#Releases et mises à jour
#Génération de passes Apple et Google Wallet depuis Laravel
Freek Van der Herten présente une méthode pour créer des passes numériques fonctionnant sur les applications Wallet d’Apple et Google. Ces passes peuvent être des billets d’avion, tickets de concert, cartes de fidélité, etc. L’intérêt est de pouvoir distribuer et mettre à jour ces passes en temps réel via Laravel, automatisant ainsi la gestion côté serveur et offrant une meilleure expérience utilisateur mobile.
Un extrait simple d’utilisation pourrait ressembler à :
1$pass = WalletPass::create($data);2return $pass->download();1$pass = WalletPass::create($data);2return $pass->download();
Cela facilite la gestion d’abonnements numériques directement intégrés dans les écosystèmes mobiles les plus utilisés.
#Scotty vs Laravel Envoy : le nouvel outil déploiement signé Spatie
Hafiz compare l’outil Scotty récemment développé par Spatie avec Laravel Envoy. Scotty mise sur un format bash simple, une meilleure sortie terminale, et un flux de déploiement permettant un zéro-downtime sans complexité. Scotty s’adresse particulièrement aux développeurs qui préfèrent manipuler directement SSH sans surcouche complexe, rendant les déploiements plus transparents et faciles à maintenir.
Exemple d’un script Scotty :
1scotty deploy --server production1scotty deploy --server production
Ce nouvel outil pourrait devenir un standard pour ceux qui veulent un déploiement Laravel rapide et propre.
#Nouveaux packages et outils
#Validation performante des entrées tableau dans Laravel
Dans cet article, Freek explique comment valider efficacement des entrées de formulaire sous forme de tableaux imbriqués en évitant le problème classique de performance connu sous le nom de N+1. La solution consiste à précharger les données nécessaires dans la méthode prepareForValidation d’une FormRequest, puis à effectuer la validation en mémoire, ce qui évite les requêtes répétées et améliore significativement les performances.
Exemple :
1protected function prepareForValidation() 2{ 3 $this->lookupData = Model::whereIn('id', $this->input('items.*.id'))->get(); 4} 5 6public function rules() 7{ 8 return [ 9 'items.*.id' => ['required', Rule::in($this->lookupData->pluck('id'))],10 ];11} 1protected function prepareForValidation() 2{ 3 $this->lookupData = Model::whereIn('id', $this->input('items.*.id'))->get(); 4} 5 6public function rules() 7{ 8 return [ 9 'items.*.id' => ['required', Rule::in($this->lookupData->pluck('id'))],10 ];11}
Cette méthode est précieuse pour les projets Laravel avec des formulaires complexes et de gros volumes de données à valider.
#Tutoriels et articles notables
#En faveur de l’option --dry-run
Henrik Warne défend l’idée d’intégrer un mode --dry-run à des commandes qui modifient l’état d’une application. Ce mode permet d’exécuter une simulation rapide sans effets secondaires, utile pour tester des configurations et vérifier des comportements avant déploiement.
#Intelligence artificielle comme outil de développement
Freek partage sa réflexion sur l’IA et le futur des développeurs, insistant sur le fait que l’IA doit rester un outil d’appoint. L’article encourage à bien maîtriser les usages pour s’en servir efficacement sans perdre le contrôle des décisions stratégiques.