#Releases et mises à jour
#Des tests d'intégration réalistes pour vos packages Laravel
L'équipe de Flare a partagé une approche poussée pour tester un package Laravel dans un contexte réaliste. Ils construisent des tests end-to-end d'intégration en utilisant une application Testbench complète accompagnée d'un vrai serveur HTTP et d'un worker de queue. Cette méthode leur permet de valider le comportement asynchrone avec des jobs en file, d'écrire les payloads sur disque, puis de vérifier les traces et erreurs attendues via des helpers spécifiques. Cette approche renforce la confiance dans la stabilité du package dans un environnement proche de la production.
1// Exemple de test envoyé dans l'article2$this->post('/api/send', $payload)3 ->assertStatus(200);4$this->assertDatabaseHas('jobs', ['payload' => $payload]);1// Exemple de test envoyé dans l'article2$this->post('/api/send', $payload)3 ->assertStatus(200);4$this->assertDatabaseHas('jobs', ['payload' => $payload]);
#laravel-query-builder v7.3.0: Recherche multi-colonnes avec un seul paramètre URL
La nouvelle version 7.3.0 de laravel-query-builder introduit une fonctionnalité facilitant la recherche sur plusieurs colonnes via un seul paramètre dans l'URL. Cette amélioration simplifie la construction de filtres complexes tout en gardant une API propre et intuitive. L'article détaille aussi les bases d'utilisation pour bien comprendre comment grouper plusieurs filtres sous une même clé.
1$builder->allowedFilters([2 AllowedFilter::callback('search', function ($query, $value) {3 $query->where('name', 'like', "%{$value}%")4 ->orWhere('email', 'like', "%{$value}%");5 })6]);1$builder->allowedFilters([2 AllowedFilter::callback('search', function ($query, $value) {3 $query->where('name', 'like', "%{$value}%")4 ->orWhere('email', 'like', "%{$value}%");5 })6]);
#Nouveaux outils et patterns
#Exploiter Claude Skills pour automatiser la génération de code Laravel
Dries expose comment ils utilisent Claude Skills, une technologie d'IA, pour automatiser la génération de code répétitif dans des projets clients Laravel. Cela inclut la création de requêtes Saloon, Data Transfer Objects (DTOs) et pages Livewire. Cet usage intelligent permet de gagner beaucoup de temps tout en soulignant l'importance de la relecture humaine pour éviter les erreurs dans le code généré.
#Event Sourcing et IA: Un tandem pour Laravel
Une démonstration encore plus poussée montre l'association du pattern event sourcing avec de l'IA, notamment dans la conception et la génération automatique de code domaine basé sur le package spatie/laravel-event-sourcing. Une piste prometteuse pour les architectures complexes souhaitant automatiser des aspects répétitifs tout en profitant des bonnes pratiques d'event sourcing.
#Tutoriels et réflexion
#Le pattern ADR (Action/Domain/Responder) appliqué à Laravel
Un article pédagogique explique le pattern ADR, un modèle architectural qui divise clairement les responsabilités entre l'action (contrôleur), le domaine (logique métier), et le répondeur (vue/retour). Appliqué à Laravel, ce pattern aide à structurer proprement les projets tout en améliorant la maintenabilité et la testabilité.
1class ShowUser implements ActionInterface2{3 public function handle($request): View4 {5 $user = User::find($request->id);6 return new UserResponder($user);7 }8}1class ShowUser implements ActionInterface2{3 public function handle($request): View4 {5 $user = User::find($request->id);6 return new UserResponder($user);7 }8}
#Contrôle d'accès RBAC sans packages externes
Un approfondissement sur la mise en œuvre de RBAC (Role-Based Access Control) dans Laravel explique comment gérer les rôles et permissions de manière native, avec un focus sur la prise en compte des équipes en mode collaboratif. Cela offre une alternative légère et flexible aux solutions tierces souvent trop lourdes.