Permets à chaque utilisateur d’uploader et d’afficher son avatar, stocké sur AWS S3 et affiché partout.
Dans toute application de chat temps réel, personnaliser l’expérience utilisateur est essentiel.
Permettre à chaque utilisateur d’uploader et d’afficher un avatar rend l’interface plus humaine et favorise l’engagement.
Ce module « Gestion des avatars utilisateurs avec AWS S3 » s’intègre à notre stack basée sur Remix et NestJS pour gérer le stockage, la récupération et la suppression des images d’avatar dans un bucket AWS S3.
CacheControl
) pour optimiser la distribution via CDN.AwsS3Service
pour effectuer les opérations S3, logique métier de mise à jour d’avatar dans la base de données via Prisma.avatarFileKey
stocke la référence au fichier dans S3.canReceiveMoney
si vous proposez des paiements P2P.Nous utilisons la génération d’URL pré-signées pour limiter la durée d’exposition de vos objets S3.
À l’issue de cette section, vous saurez :
uploadFile
et un getFileUrl
avec le SDK AWS v3.AwsS3Service
) pour encapsuler les commandes S3.Si vous débutez avec S3, commencez par la console AWS pour créer votre bucket et vos règles CORS.
1--- app/routes/settings.tsx2// Composant Remix pour l’upload et l’affichage de l’avatar3--- src/aws/aws-s3.service.ts4// Service NestJS utilisant @aws-sdk/client-s3 et getSignedUrl5--- src/user/user.service.ts6// Logique Prisma pour mettre à jour et supprimer les avatars
Nous découvrirons en détail chaque brique, du formulaire Remix aux commandes PutObjectCommand
et DeleteObjectCommand
de l’AWS SDK, en passant par la validation de fichier avec Zod.