Newsletter Apprendre Laravel #1

Envoyée le 05 janvier 2019

Bonne année à tous et bienvenue dans cette première newsletter Laravel en français ! Vous faites maintenant officiellement partie des 30 premiers inscrits :-)

Bibliothèque

On commence avec une nouvelle bibliothèque de Spatie :

Laravel Honeypot https://github.com/spatie/laravel-honeypot

Un honeypot c'est une solution pour éviter le spam sans forcer l'utilisateur à remplir un captcha. C'est un champ caché que l'on met dans nos formulaires et que les robots vont généralement remplir. Il suffit alors de vérifier si ce champ est vide pour vérifier que c'est bien un humain qui a envoyé les données. La bibliothèque de Spatie ajoute également une vérification du temps de soumission : un formulaire soumis en moins d'une seconde n'est sans doute pas un formulaire envoyé par un humain.

Mise à jour

Pas de mise à jour du framework cette fois. Mais une grosse mise à jour de Laravel Mix. On passe de la version 2 à la version 4 en quelques semaines. J'ai fait la mise à jour sur quelques projets simples, aucun souci. À voir sur de plus gros projets ! Le plus gros changement est la nouvelle version de Webpack utilisé qui permet d'avoir des compilations plus rapides.

Annonce

Adam Wathan, un membre actif de la communauté Laravel (Test Driven Laravel, Refactoring UI…), a annoncé qu'il allait travailler à plein temps sur TailwindCSS pendant l'année 2019 : des améliorations du framework, une documentation plus complète, et bientôt une v1.0.

https://adamwathan.me/going-full-time-on-tailwind-css/

Une citation de @getify

I had some code implemented and fully tested, almost ready to release. Then I was writing the documentation for it, and I realized the code's behavior is wrong and should be changed. TDD wouldn't have saved me here. Docs are equally as important as tests in designing software.

https://twitter.com/getify/status/1079736206248820736

Parfois, écrire la documentation de nos applications / bibliothèques en français et avec de vraies phrases nous fait réaliser des problèmes logiques que l'on n'aurait pas découvert en codant et en testant simplement avec PHPUnit.

Morceau de code

Est-ce que vous saviez que vous pouviez créer des mocks et les insérer dans le conteneur de Laravel en une seule ligne dans vos tests ?

$stripe = Mockery::mock(Stripe::class);
$this->app->instance(Stripe::class, $stripe);

// Est équivalant à
$stripe = $this->mock(Stripe::class);

https://twitter.com/taylorotwell/status/1075867481548447744

Question de la semaine

Une question de @Jo sur le Discord (https://discord.gg/tPtVM9V) sur un thème qui revient régulièrement :

Je crois que tu n'aimes pas utiliser JQuery. Qu'est-ce que tu utilises par exemple si tu as un formulaire dans lequel l'action de l'utilisateur influe sur l'affichage ? J'ai créé un formulaire avec une case à cocher. Si l'utilisateur la coche, le prix d'un produit doit changer.

Effectivement, JQuery n'est pas mon framework préféré, ce n'est pas un mauvais projet mais son objectif initial était d'unifier les API JavaScript des différents navigateurs et les rendre plus agréables à utiliser. Aujourd'hui, JavaScript a beaucoup évolué, ses interfaces sont bien meilleures et la compatibilité des navigateurs est correcte (si vous ne visez pas la compatibilité avec IE).

Maintenant, pour la réponse à la question, si c'est simplement pour faire un changement de prix une fois ou deux j'utiliserais JavaScript natif sans bibliothèque. Et dès que le besoin se fait ressentir, je passerai à VueJS. Mais VueJS n'est pas un choix anodin, c'est un framework assez lourd donc réfléchissez bien à l'inclure si c'est juste pour une fonctionnalité dans une seule page.

Apprendre Laravel

Pas encore de nouveaux articles sur le site https://www.apprendre-laravel.fr mais ça arrive la semaine prochaine avec la transcription de la série VueJS & API Laravel en tutoriels écrits.

J'ai aussi mis à jour mon site https://www.formation-laravel.fr/ afin d'être plus transparent sur mes tarifs : des formations qui, je l'espère, me permettront d'en vivre et de continuer à produire du contenu gratuit. Ce site est encore un peu vide mais je compte y ajouter des retours de mes précédents clients prochainement.

N'hésitez pas à me dire ce que vous avez pensé de cette newsletter (forme, contenu, longueur…) en répondant à ce mail. Et si ce contenu vous plaît, partagez la autour de vous aux personnes que vous pensez intéressés ! Vous pouvez également me dire en réponse si vous souhaitez vous désabonner.

Bon week-end et bon développement Laravel à tous !

Thibaud