Y’a tellement de trucs, potentiellement tout dépend de ce que tu veux faire. Y’a 4 types de machins en tout cas :
1. Les packages qu’on trouve sur packagist.org, s’installent via Composer (ou bien à la main), et qui font partie de l’écosystème PHP, ce qui veut dire que tu peux les utiliser dans Wordpress, Symfony, dans ton machin perso ou dans Laravel ;
2. Les packages spécifiques à Laravel ; le mieux pour en découvrir est de zieuter une des listes
Awesome Laravel sur GitHub, ou de suivre
Laravel-News, ou de regarder
du côté de chez Spatie, agence belge qui produit des packages à tour de bras, ou certains de
ces gens sur Twitter, ou de regarder les
popular sur Packagist.
3. Les « packages officiels » de l’écosystème Laravel, dont certains sont gratuits, d’autres payants. En gratuit super cools, on a
Horizon, gestionnaire de
queues (uniquement utile si t’as besoins des
queues),
Telescope qui permet en développement d’avoir plein de détails sur ce qui se passe dans ton app à chaque page/requêtes/…,
Cashier pour faire du paiement en ligne avec Stripe (jamais utilisé), et encore plein d’autres machins. En payant, y’a
Nova, CMS plutôt bien.
4. Les outils de l’écosystème Laravel, dont Homestead (une VM assez facile à gérer pour le développement de machins PHP), Valet qui est un environnement de dév. super simple pour macOS (j’ai laissé tombé Homestead pour Valet), Forge (payant) qui permet de créer/gérer/déployer simplement ses serveurs et les apps qui tournent dessus, etc.
À titre personnel ou au boulot, voilà ce qui revient souvent :
-
Guzzle (guzzlehttp/guzzle), incontournable dès lors qu’on doit faire des requêtes HTTP côté back-end (pour faire appel à une API, par ex.) ;
-
Laravel Localization (mcamara/laravel-localization), pour du multilingue. Il n’est pas parfait, surtout pour la traduction d’URL, et des alternatives existent mais j’en ai encore jamais exploré.
-
CSV (league/csv), pour importer/exporter des CSV.
-
Agent (jenssegers/agent), qui facilite la connaissance du User Agent. Je m’en sers parfois quand j’ai un cas particulier à gérer côté front-end qui nécessite de foutre une classe <html class="ie"> quand l’utilisateur est sur IE, par ex.
- Côté CMS, on utilise Nova, mais j’aimerais bien creuser
Twill.
-
Laravel Medial Library (spatie/laravel-medialibrary), qui est pas mal pour gérer ta librairie d’image et opérer des compressions/redimensionnements. C’est couplable à Nova ou à d’autres CMS.
Et prochainement, je pense tenter
JIGSAW pour un futur projet. C’est un générateur de sites statiques basé sur Blade, le moteur de template de Laravel.
Après, vu que Laravel est déjà bien fourni de base et remplit beaucoup de besoins, ça restera vraiment du cas par cas, et potentiellement ça va dépendre de ton approche aussi.
J’crois quel le plus sain, c’est : tu te mets à faire un projet réel, et quand tu coinces ou que t’as des trucs qui te paraissent chelou même après avoir demandé aux internets, bah tu peux toujours me ping ici, sur Twitter, par mail, ou me partager du code ou un dépôt Git. \o/