Publié le 19 novembre 2024. Mise à jour le 05 décembre 2024
Gérez vos Images sur S3 avec aws-samples/image
Dans un monde numérique où la vitesse de chargement d’un site est cruciale pour l'expérience utilisateur, l’optimisation des images est un facteur clé. AWS, avec ses services comme S3 et CloudFront, permet de créer une infrastructure puissante pour automatiser cette optimisation à grande échelle. Dans cet article, nous allons explorer comment déployer le projet aws-samples/image-optimization pour gérer plusieurs buckets S3. Ce processus vous permet de stocker et de servir vos images tout en les optimisant en temps réel, garantissant ainsi une meilleure performance sur votre site web. Que vous ayez des catégories d'images distinctes ou des besoins spécifiques de traitement, nous vous guiderons étape par étape pour tirer pleinement parti de cette solution.
Préparer le Déploiement de Plusieurs Buckets
Connectez-vous à votre console AWS et rendez-vous dans la section S3. Créez plusieurs buckets pour organiser vos images de manière optimale. Par exemple, chaque bucket pourrait correspondre à une catégorie différente d'images sur votre site.
Exemple de noms de buckets :
- images-produit-votresite
- images-banniere-votresite
- images-profile-votresite
Une fois vos buckets créés, vous pouvez commencer à les configurer pour l'optimisation avec CloudFront. Pour savoir comment installer un CDN d'images avec S3 et CloudFront, consultez cet article détaillé sur le blog pour suivre les étapes d'installation.
Configurer aws-samples/image-optimization pour Plusieurs Buckets
Une fois vos buckets créés, il est temps de configurer le projet aws-samples/image-optimization. Si vous avez déjà suivi mon précédent article sur la mise en place d’un CDN, vous savez qu’AWS CloudFront joue un rôle clé dans la distribution des images optimisées. Maintenant, vous allez étendre cette configuration pour inclure plusieurs buckets.
Modifier la configuration du projet :
Clonez le projet si ce n'est pas déjà fait :
git clone https://github.com/aws-samples/image-optimization.git cd image-optimization
Ajouter des paramètres pour spécifier le nom du bucket
Pour deployer avec cdk deploy, vous pouvez ajouter un paramètre pour spécifier le nom du bucket S3. Par exemple :
cdk deploy -c S3_IMAGE_BUCKET_NAME='YOUR_S3_BUCKET_NAME'
Ce paramètre permet de spécifier un nom de bucket personnalisé lorsque vous déployez le stack. Si vous ne spécifiez pas ce paramètre, CDK créera un nouveau bucket avec un nom par défaut et y ajoutera des images d'exemple.
Déployer plusieurs buckets avec CDK
Pour déployer plusieurs buckets avec AWS CDK, vous pouvez modifier le fichier /image-optimization/bin/image-optimization.ts comme suit :
#!/usr/bin/env node import 'source-map-support/register'; import * as cdk from 'aws-cdk-lib'; import { ImageOptimizationStack } from '../lib/image-optimization-stack'; const app = new cdk.App(); // Déploiement du premier bucket (ImageTransformationStack) new ImageOptimizationStack(app, 'ImgTransformationStack', {}); // Déploiement d'un deuxième bucket (NewImgTransformationStack) new ImageOptimizationStack(app, 'NewImgTransformationStack', {}); // Remplacez par le nom de votre nouveau bucket
Déployer le second stack avec un nom de bucket différent :
Une fois ces modifications effectuées, vous pouvez déployer les stacks en utilisant la commande suivante, en spécifiant le nom du bucket pour le premier et le second :
cdk deploy NewImgTransformationStack -c S3_IMAGE_BUCKET_NAME='MON_BUCKET_NAME'
Cela vous permet de déployer plusieurs stacks avec des noms de bucket différents, sans avoir à modifier le code à chaque fois.
Conclusion
L'optimisation des images est un élément clé pour offrir une expérience utilisateur fluide et rapide sur le web. Grâce à AWS et à des outils comme S3 et CloudFront, il est possible de mettre en place une infrastructure robuste pour automatiser cette optimisation à grande échelle. En déployant le projet aws-samples/image-optimization, vous pouvez gérer plusieurs buckets S3, chacun optimisé pour différentes catégories d'images.
En suivant les étapes détaillées dans cet article, vous avez vu comment configurer et déployer plusieurs buckets avec AWS CDK, tout en personnalisant le nom des buckets et en optimisant les images en temps réel. Cette solution vous offre la flexibilité nécessaire pour gérer un grand nombre d'images tout en améliorant la vitesse de chargement de votre site web, un atout majeur dans un monde numérique où chaque milliseconde compte.
N'hésitez pas à adapter cette configuration à vos besoins spécifiques et à explorer davantage les possibilités offertes par AWS pour gérer efficacement vos images.