Skip to content

Q&A Workshop Laravel

Alexander Wohlfahrt edited this page Sep 24, 2021 · 3 revisions

Intro

Voici quelques infos et réponses qui sont fréquemment posées lors du workshop.

Si vous avez des questions, n'hésitez pas à me contacter.

Localhost est lent... problème et solution

La plus part du temps cela est du à un ralentissement lors de la lecture/écriture de fichiers entre WSL et le host.
Si vous êtes dans le cas ou vous avez WSL installé, Docker Desktop utilisant l'engine de WSL (configurable dans Docker Desktops) et que votre projet se trouve sur votre host alors le problème vient probablement de là.

La solution est d'utiliser uniquement WSL ou uniquement le host pas un mélange des 2.
Du coup si vous souhaitez utiliser WSL et ne pas avoir de ralentissement il faudra probablement mettre votre projet directement dans le système de fichier de votre OS dans WSL.

Ou si vous souhaitez avoir votre projet sur votre host (disque C, sur votre bureau Windows, etc.) alors vous ne devez pas utiliser WSL, cela ne sert à rien de faire les choses à moitié de toute manière. WSL et le host ne sont pas aussi transparent l'un envers l'autre que Windows aimerait bien nous le faire croire...

Il faudra donc choisir ! Soit full WSL ou soit pas du tout WSL. Évidemment vous pouvez utiliser WSL avec votre projet sur le host, mais dans ce cas vous allez devoir faire avec des potentiels petits soucis à soucis comme des ralentissement (comme certains d'entre vous ont pu déjà en faire l'expérience) ou autre... (C'est pas parce que quelque chose "fonctionne" plus ou moins que c'est une bonne pratique)

J'ai personnellement essayé de mettre le projet sur mon host avec Docker Desktop lié à WSL et tout était très lent (les réponses de localhost), j'ai donc testé de délier Docker Desktop de WSL (configurable dans Docker Desktop) et tout est aller plus vite. Je suis passé de 3.5s d'attente à 26ms ^^

J'attire encore votre attention sur quelque chose, si vous choisissez de changer votre lien entre WSL et Docker Desktop les containers disparaitront de Docker Desktop. Vous n'aurez simplement plus accès à ceux-ci car ils se trouveront sur l'autre OS. Il faudra donc simplement recréer les containers Docker en suivant la procédure fourni précédemment sur le répo du projet (vous devriez pouvoir reprendre à partir de docker-compose up -d...).

Source qui m'a fait pensé à cette solution : https://stackoverflow.com/questions/63036490/docker-is-extremely-slow-when-running-laravel-on-nginx-container-wsl2

Mass Assignment

L'exemple donnée sur la doc de Laravel est très explicite (le moment ou il parle d'un champ is_admin permet de comprendre à quoi cela sert). Source : https://laravel.com/docs/8.x/eloquent#mass-assignment

Syntaxe {{ }}

"Blade's {{ }} echo statements are automatically sent through PHP's htmlspecialchars function to prevent XSS attacks."
Source : https://laravel.com/docs/8.x/blade#displaying-data

XSS petite explication : https://owasp.org/www-community/attacks/xss/

CSRF

Exemple et explication : https://www.ionos.fr/digitalguide/serveur/securite/cross-site-request-forgery/

Clone this wiki locally