Optimisez le poids de vos images pour des sites super rapides đïž
Ne nĂ©gligez pas cet aspect pour ne pas perdre en conversions ! Et ça fait (un peu) de bien Ă la planĂšte đ.
- SVG = vecteurs (redimensionnement sans perte, léger)
- PNG-JPEG-GIF = pixels (détails++ mais qualité- avec redimensionnement et + lourd)
- On utilise du SVG lorsque câest possible
- On peut vectoriser illus/logo soi-mĂȘme via app adaptĂ©es comme Illustrator ou Figma
- Mais on peut aussi le faire grĂące Ă lâIA si pas trop de dĂ©tails (recraft.io) - Si câest une image avec pixels, alors go squoosh.app et compression en WebP
Depuis quelques annĂ©es maintenant, entre nos Ă©quipes design et technique, nous avons mis en place un process bien huilĂ© qui nous permet de travailler avec des images les plus lĂ©gĂšres possibles dans tous les sites et applications que nous crĂ©ons. Tous nâest pas toujours parfait, mais nous y travaillons. LâidĂ©e de cet article/tuto est de vous expliquer Ă©tape par Ă©tape comment nous fonctionnons pour que vous puissiez vous aussi adopter ces bonnes pratiques.
En rentrant progressivement tout cela dans vos habitudes, vous participez Ă faire de la toile un meilleur endroit. Mais surtout, vous faites plaisir Ă tous les designers de lâinternet comme moi qui pleurent des larmes de sang Ă chaque fois quâils dĂ©couvrent des logos de sociĂ©tĂ©s du CAC40 en JPEG (avec respect bien entendu đ).
Pourquoi on s'inflige ça ? đ„Č
Pour ĂȘtre trĂšs transparent, cela prend forcĂ©ment un peu plus de temps que dâexporter directement une image et de la mettre sur son site sans sâembĂȘter. Mais, le temps que vous gagnez ici, câest autant de conversions perdues sur votre site Ă cause de temps de chargement trop long.
Certains experts vous dirons quâil suffit de passer par un CDN (Content Delivery Network) qui va automatiquement fournir le format dâimage adaptĂ©, dans la bonne extension en fonction du navigateur et de lâappareil qui va afficher lâimage, mais nous ne sommes pas tous experts et ce tutoriel sâadresse aux dĂ©butants. Et mĂȘme si vous ne lâĂȘtes pas, câest toujours une bonne chose de comprendre comme cela fonctionne. Dâautre part, certains CMS (Content Management System) tels que Shopify formatent eux-mĂȘmes les images pour les dĂ©livrer au bon format et au bon poids. Mais pour les solutions un peu plus artisanales, Ă vous de mettre les mains dans le cambouis.
Revenons à nos moutons, les raisons principales de réduire le poids de ses images sont les suivantes :
- Des performances optimales : tous vos utilisateurs nâont pas nĂ©cessairement la fibre lorsquâils consultent votre site, une bonne partie dâentre eux sera sur son mobile et il nâest pas dit quâĂ lâinstant T ils soient en 4G. On met toutes les chances de notre cĂŽtĂ© en diminuant les temps de chargement, et par extension on augmente donc ses chances de conversion (bien entendu, on part du principe que votre site est responsive : adaptĂ© Ă tous les appareils).
- Câest moins mauvais pour la planĂšte. Tout simplement parce quâune image, câest un fichier qui a un poids et qui prend de la place sur un serveur (un ordinateur) qui se trouve physiquement dans plusieurs data-centers dans le monde. Ă chaque fois quâun utilisateur charge votre site, le serveur se « rĂ©veille » et tous les maillons de la chaĂźne consomment de lâĂ©nergie pour vous dĂ©livrer cette image dans les meilleurs dĂ©lais. Plus elle est lourde, plus elle consomme en Ă©nergie. Ă lâĂ©chelle dâune seule image, câest nĂ©gligeable, mais si on additionne tous les sites existants, cela commence Ă faire beaucoup. Lâindustrie du web est une industrie polluante, alors si nous pouvons faire quelque chose pour diminuer cet impact et par la mĂȘme occasion amĂ©liorer les performances de nos sites, pourquoi sâen priver ?
Les formats dâimage đŒïž
Avant tout, il est important de savoir Ă quel type dâimage on a Ă faire. Sans rentrer dans les dĂ©tails, il existe 2 formats :
- Vectoriel : câest du code, on utilise des maths pour aligner des points sur une grille. Lâavantage, câest quâil nây a pas de perte de qualitĂ© lorsque lâon agrandit un fichier vectoriel. Le format le plus connu est le SVG. Les outils comme Adobe Illustrator ou encore Figma sont adaptĂ©s pour le vectoriel. Jâessaie de travailler au maximum en SVG. Jâaime le SVG et le SVG vous aime aussi, câest votre ami. Comme câest du code, il peut la plupart du temps ĂȘtre modifiĂ© dynamiquement et mĂȘme animĂ©. Câest le top.
- PixelisĂ© : on utilisera les images pixelisĂ©es (avec des pixels) pour les photos ou les illustrations avec des dĂ©tails. Les formats les plus connus sont JPEG, PNG et GIF. Ce format est idĂ©al pour la retouche sur Photoshop par exemple. Lâavantage du pixelisĂ© est quâil est globalement compatible avec tous les navigateurs. Par contre, une image pixelisĂ©e est plus lourde quâun vecteur.
Ceux qui suivent pourront avoir la rĂ©flexion suivante : mais du coup, pourquoi on ne travaille pas quâen SVG ? Câest une trĂšs bonne question. Le niveau de dĂ©tail de certains fichiers pixelisĂ©s (comme une photo) ne permettent tout simplement pas de les convertir en SVG. Ou bien, cela nâaurait pas de sens car on perdrait Ă©normĂ©ment de dĂ©tails et la photo serait pixelisĂ©e (ce qui est le contraire de ce que lâon souhaite avec du SVG). Donc pour certaine image, on diminue leur poids sans perte de qualitĂ©. Nous y reviendrons.
Lâexport âïž
Maintenant que nous savons reconnaßtre le format en notre possession, voyons la conduite à adopter selon les différents cas de figures :
- Jâai un format vectoriel (SVG) TrĂšs bien, le graphiste ou illustrateur avec qui vous avez travaillĂ© (ou vous) a fait les choses comme il faut. Vous nâavez plus quâĂ transmettre le fichier Ă votre dĂ©veloppeur pour intĂ©gration ou bien le faire vous-mĂȘme. Nous pourrions encore rĂ©duire le fichier, mais Ă ce niveau lĂ je trouve que câest chipoter pour pas grand chose.
- Jâai une image avec des pixels (PNG, JPEG, GIFâŠ)
- Je ne peux pas la vectoriser pour les raisons vues ci-dessus (ça nâa pas de sens), je vais donc rĂ©duire sa taille sans perte de qualitĂ© :
- Avec un outil dâĂ©dition (Photoshop, Gimp ou autre), je vais exporter lâimage Ă la taille et au ratio dĂ©sirĂ©s, en PNG de prĂ©fĂ©rence (le PNG prend en compte la transparence, pas le JPEG). Dans lâidĂ©al, il faudrait plusieurs tailles (ordinateurs de bureaux, tablettes, mobiles etc.), mais ici, nous allons faire simple.
- Je me rends sur https://squoosh.app/index.html (il en existe dâautres, il existe aussi des plugins Figma, mais nous avons dit que nous faisions simple).
- Je glisse mon image pixelisée
- En bas Ă droite, jâai dĂ©sormais un menu qui va me permettre de rĂ©duire le poids de lâimage. Si ça nâest pas dĂ©jĂ fait, je vais jouer avec la partie « Edit » et le « resize » qui va redimensionner lâimage et « Reduce palette » qui va diminuer le nombre de couleurs prĂ©sentent Ă lâimage. Ă titre personnel, jâutilise rarement ce dernier qui diminue trop la qualitĂ© pour un perte de poids nĂ©gligeable.
- Ce qui nous intĂ©resse, câest surtout la partie « Compress ». En dessous, dans une liste, on va choisir le format WebP. Câest un des formats dâimage les plus lĂ©gers mais surtout compatible avec une majoritĂ© des navigateurs internet.
- Lorsque lâon a choisit WebP, on ajuste lâeffort et la qualitĂ©. Vous pourrez voir en dessous le poids de lâimage changer en direct en fonction de vos changements. LâidĂ©e est dâarriver Ă un rapport qualitĂ©/poids idĂ©al, Ă vous de tester.
- Lorsque câest ok, il ne vous reste plus quâĂ tĂ©lĂ©charger lâimage et Ă lâintĂ©grer dans votre site, ça nâĂ©tait pas si compliquĂ© ?
- PS : on pourrait aller un peu plus loin en supprimant les mĂ©tadonnĂ©es des images (localisation, appareil utilisĂ© etc.), Ă vous de voir si câest pertinent (notamment pour des questions de confidentialitĂ©).
- Je ne peux pas la vectoriser pour les raisons vues ci-dessus (ça nâa pas de sens), je vais donc rĂ©duire sa taille sans perte de qualitĂ© :
Si je veux vectoriser une image en pixels ? đ€
Câest tout Ă votre honneur. Si vous estimez quâune image peut ĂȘtre vectorisĂ©e (parce que vous nâavez pas la source par exemple), il existe plusieurs solutions :
- La premiĂšre consiste à « retracer » par dessus via un outil de vecteur. Par exemple, on va importer lâimage dans Figma ou Illustrator, et grĂące aux outils intĂ©grĂ©s, on va repasser par dessus (comme un calque) pour recrĂ©er la forme. Cela peut prendre un peu de temps et suppose que vous sachiez utiliser les outils, mais aussi que lâimage de base nâest pas trop compliquĂ©e Ă recrĂ©er, car vous risqueriez dây passer beaucoup de temps
- La deuxiĂšme, trĂšs rĂ©cente, consiste Ă utiliser lâIA. Attention, câest assez magique. Jâai beaucoup creusĂ© le sujet car la majoritĂ© des IA rĂ©centes ne gĂ©nĂšrent pas des vecteurs mais des pixels. Et jâai trouvĂ© la perle rare : https://www.recraft.ai/ (et en plus câest gratuit). Il vous suffit de crĂ©er un compte, dâouvrir un nouveau plan de travail et de glisser votre image. Ensuite, on sĂ©lectionne lâimage et on vient cliquer sur lâicĂŽne « Vectorize » dans le menu du haut (cf capture dâĂ©cran ci-dessous). Il ne vous reste plus quâĂ patienter quelques secondes que la magie opĂšre. Lorsque câest ok, on exporte lâimage en SVG et câest bon ! AprĂšs libre Ă vous de la retoucher dans un outil de vecteur (Figma, IllustratorâŠ). Câest tout rĂ©cent, et pour lâinstant je lâai peu utilisĂ© pour des formes complexes, Ă tester !
Le mot de la fin đ
Si vous ĂȘtes arrivĂ© jusquâici bravo ! Maintenant vous :
- Savez discerner une image en pixels dâune image vectorielle
- Savez exporter un logo ou une illustration en SVG
- Savez rĂ©duire le poids dâune image et lâexporter en WebP grĂące Ă squoosh.app
- Savez convertir une image en pixels (pas trop détaillée) en SVG grùce à recraft.io
Au charrette.club, cela fait quelques annĂ©es que nous travaillons de cette maniĂšre. Cela nous permet de garantir des sites et applications rapides et performants (combinĂ© Ă dâautres bonnes pratiques que nous verrons dans des prochains articles).
Ces outils vous ouvrent plein de nouvelles possibilitĂ©s : vous avez une tablette et un stylet ? Pourquoi ne pas crĂ©er vos propres illustrations sur ProCreate (gratuit) et les vectoriser grĂące Ă recraft.io ? Pourquoi ne pas faire une grosse repasse de votre site et optimiser les images ? Câest sans limite, Ă vous de jouer !
Et si vous avez la moindre question, lâĂ©quipe du charrette.club vous rĂ©pondra avec plaisir !
ĂcoutĂ© pendant lâĂ©criture đ¶ :