Dans ce chapitre nous allons mettre en place le système d'envoi d'images pour nos biens. On permettra à nos utilisateurs d'envoyer plusieurs images pour illustrer les annonces.
Pour mettre en place ce système là nous allons avoir besoin de créer un nouveau modèle Picture
qui permettra de représenter une image. Ce modèle sera relié à notre modèle Property
via une relation de type belongsTo
. Lorsque l'utilisateur va envoyer plusieurs images on va créer autant de Picture
que nécessaire et on utilisera le système de Storage
pour envoyer les fichiers dans le bon dossier.
On cherchera aussi à permettre à l'administrateur de pouvoir supprimer facilement n'importe quelle image qui a été préalablement associée à un bien. Pour cela nous allons utiliser la librairie htmx qui va nous permettre de créer une interface simple d'utilisation pour cette suppression. Cela nous permettra de faire une requête Ajax lorsque l'utilisateur clique sur le bouton supprimer et permet d'effectuer la suppression sans forcément avoir besoin de changer de page (et de perdre les informations du formulaire par la même occasion).
Enfin, on utilisera Glide afin de redimensionner les images au bon format.