Module - Médias
Le module de médias gère les ressources visuelles des propriétés, notamment les images et vidéos. Ce module permet d'associer ces médias aux propriétés listées sur la plateforme.
Types de médias
- Images : Photos des propriétés (intérieur, extérieur, etc.)
- Vidéos : Vidéos de visite, présentations, etc.
Endpoints - Images
GET
/images
Récupérer la liste des images
Paramètres de requête
propertyId: ID de la propriété
POST
/images/upload
Télécharger une nouvelle image
Note: Utiliser le format multipart/form-data pour l'upload de fichiers
Corps de la requête
image: Fichier imagepropertyId: ID de la propriététitle(optionnel) : Titre de l'image
DELETE
/images/:id
Supprimer une image
Endpoints - Vidéos
GET
/videos
Récupérer la liste des vidéos
Paramètres de requête
propertyId: ID de la propriété
POST
/videos/upload
Télécharger une nouvelle vidéo
Note: Utiliser le format multipart/form-data pour l'upload de fichiers
Corps de la requête
video: Fichier vidéopropertyId: ID de la propriététitle(optionnel) : Titre de la vidéo
DELETE
/videos/:id
Supprimer une vidéo
Modèles de données
Image
model Image {
id String @id @default(cuid())
url String
title String?
propertyId String
property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
}
Video
model Video {
id String @id @default(cuid())
url String
title String?
propertyId String
property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
}
Bonnes pratiques
- Utilisez des formats d'image optimisés (JPEG, WebP) pour réduire les temps de chargement
- Limitez la taille des fichiers vidéo et privilégiez des formats adaptés au web (MP4, WebM)
- Considérez l'utilisation d'un service de CDN pour une diffusion plus rapide des médias