ae-utbm / sith

🌐 The website of the AE
https://ae-utbm.github.io/sith/
GNU General Public License v3.0
6 stars 4 forks source link

auto compress product icons #824

Closed imperosol closed 1 month ago

imperosol commented 1 month ago

Redimensionnement et conversion webp automatiques des icônes des produits.

Il y a des produits qui ont des icônes de plus d'un méga-octet, ce qui est beaucoup trop pour une image dont l'affichage dépassera jamais le format 120x70. Ca ralentit énormément le temps de chargement de l'eboutic et ça mange de la bande-passante et de la place sur le disque.

Pour mettre ça en place, j'ai rajouté un nouveau type de champ modèle : ResizedImageField, qui gère automatiquement sa taille quand on sauve l'image. C'est inspiré de cette librairie : https://github.com/un1t/django-resized. La différence, c'est que ma version est pas mal simplifiée, étant donnée qu'elle prend un peu moins de configuration et qu'elle utilise des fonctions déjà existantes dans la base de code.

Je n'ai pas écrit (encore) de script pour redimensionner les images existantes. Je préfère attendre de voir ce que ça donnera avec les prochains produits qui seront créés dans les semaines à venir, avant de tenter la modification des anciennes images.