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.
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.