Bonjour à tous,
J'ai initialement posté ce message sur un forum sans grand succès, c'est pourquoi je me tourne vers une communauté un peu plus spécialisée dans le domaine.
Je travaille actuellement sur un site (de veille visuelle) qui permet à ses utilisateurs d'uploader leurs images (leurs créations). J'ai voulu optimiser au maximum les performances en vue d'une adaptation mobile (et aussi parce que ça améliore toujours l’expérience utilisateur).
J'ai donc sauvegardé les images utilisées pour la présentation (logo, icone, etc) avec la fonction "Enregistrer pour le Web" de Photoshop qui permet de comparer à la volée le résultat en fonction du format et de différents paramètres. J'ai à chaque fois choisi le résultat me donnant la plus petite taille possible sans sacrifier la qualité. On peux ainsi arriver à des tailles (en octet) ridiculeusement petite.
Seulement, si j'ai le contrôle total de ces images, il n'en est pas de même pour celles que les utilisateurs uploaderont. Elles pourront autant être en jpg, png, tiff ou gif, comportant beaucoup d'aplat de couleur ou eaucoup de détails, avec transparence ou non, ... Bref, un joyeux bordel .
Je cherche donc une solution pour effectuer ce genre d'opération automatiquement (en PHP si possible) lors de l'upload, choisir le format et ses paramètres les plus adaptés afin de réduire au maximum la taille mémoire de l'image sans sacrifier la qualité.
Je me fiche de la charge serveur engendrée sachant que les uploads seront relativement rares.
Au de là de ça, même sur mes propres images a priori déjà optimisées lors de l'enregistrement sous Photoshop (ou Fireworks), l'outils PageSpeed de Goggle me dit que je pourrais encore les optimiser sans me dire exactement à quel niveau (il me propose juste de passer mes images dans des softs tels que OptiPNG, jpegOptim, etc). Certes ça permet de réduire de quelques octet seulement, mais j'aimerais bien savoir ce qu'il en est, quelles opérations ces soft font, etc.
Vous me direz surement que je me casse la tête pour pas grand chose, que je pourrais déléguer le travail à une API ou optimisé moi même les images uploadées par les utilisateurs, mais ce sujet m'intéresse et me permet d'apprendre pas mal de choses. Et puis j'aime bien me prendre la tête .
Partager