ImageOptim : le service web est finalisé

Nicolas Furno |

ImageOptim n’est plus seulement une (excellente) application chargée de réduire la taille des images sur un Mac. C’est désormais aussi un service web exploitable depuis tous les appareils connectés ou bien automatiquement à travers son API. Contrairement à l’application, le service en ligne est payant et les tarifs sont assez élevés dans le domaine : à partir de 9 $ (8 €) par mois pour un millier d’optimisations.

Cliquer pour agrandir

En contrepartie, ImageOptim en tant que service web est complet et promet une qualité supérieure à la concurrence, notamment dans le respect des couleurs et dans la lisibilité des textes, deux points qui peuvent poser problème avec certains outils d’optimisation. Ce nouveau service bénéficie d’une longue expérience dans le domaine et on peut s’attendre à une très bonne qualité en sortie.

Pour utiliser le service, vous avez deux solutions. La plus simple consiste à ajouter, avant l’URL de l’image à optimiser, une autre URL fournie par ImageOptim et qui contient autant votre identifiant unique et les paramètres pour modifier l’image en sortie. Avec la paramètre full, l’image sera optimisée au mieux avec les réglages par défaut qui essaient de trouver le meilleur compromis entre qualité de l’image et poids du fichier.

Vous pouvez aussi découper l’image originale pour créer une miniature en indiquant les dimensions. D’autres paramètres sont donnés dans la documentation, il est possible d’obtenir un résultat assez précis très facilement. Attention en revanche, chaque modification des paramètres correspond à une optimisation sur votre quota mensuel.

Cliquer pour agrandir

L’autre option est préférable si vous utilisez un CMS comme WordPress ou si vous ne voulez pas payer trop cher. Cette fois, les images sont optimisées et modifiées à l’envoi et elles sont stockées en dur sur votre serveur. Une fois l’opération réalisée, vous conservez l’image optimisée même si vous arrêtez votre abonnement ImageOptim, c’est donc également une option plus pérenne.

Elle est en revanche plus complexe à mettre en place, sauf si votre site tourne sous WordPress. Dans ce cas, il existe une extension prête à l’emploi qui optimisera automatiquement toutes les images mises en ligne. Sinon, des API sont proposées en PHP et en Node.JS pour les autres cas de figure, mais il faudra alors prévoir un développement supplémentaire.

Si vous utilisiez ImageOptim sur votre Mac et que vous cherchez une solution équivalente en ligne, ce service est un candidat naturel. Il permet à la fois d’optimiser rapidement une image en utilisant la solution à la volée et de le faire systématiquement avec l’API dédiée aux développeurs. En revanche, les prix affichés sont assez élevés par rapport à ses concurrents (exemple, exemple), mais son concepteur nous a indiqué qu’il comptait encore faire des ajustements.

Cliquer pour agrandir

En attendant, vous pouvez essayer l’API gratuitement et il n’y a aucune limite pour le moment. Vous avez même pas besoin de créer un compte, un mail suffit à obtenir le code à saisir pour obtenir les images optimisées ou les aperçus demandés. Vous pouvez aussi juger gratuitement ce que vaut l’optimisation à cette adresse.

Au passage, le développeur d’ImageOptim nous a expliqué que l’API était plus avancée que l’app sur quelques points. Le service web est meilleur notamment pour réduire encore le poids fichiers optimisés à destination des écrans Retina. Les fichiers JPEG avec du texte seront aussi plus lisibles et plus légers avec le service. Certaines améliorations seront intégrées à terme dans l’application, mais il n’y aura pas nécessairement de parité de fonctions.

Sur le Mac, ImageOptim vise la simplicité avant tout et son développeur refuse de complexifier l’interface restée très simple jusque-là. L’API est pensée pour s’intégrer à un CMS et ses priorités sont différentes. Pas d’inquiétude si vous comptez sur l’utilitaire gratuit pour macOS, son développement est toujours actif.

Tags
avatar RedMak | 

Oui c'est une eeeeexelente app qui reduit bien la taille et garde une bonne qualité (je l'utilise en ce moment pour un projet xcode qui comporte 15000 images ..)

Par contre je vois pas trop l'interêt de la version en ligne mm si elle plus optimisé (mais est ce perceptible ? J'en doute), en tt cas je vais tester :)

avatar mrkapp | 

il faut comprendre que ce genre de service est typiquement destiné à alléger des images qui seront vues depuis une URL... on peut penser à des site web bien sur, mais aussi à des App mobile.

(image source)---->(optimisation par un service en ligne)--->(sauvegarde sur un serveur)

je signale au passage que imagify.io propose la même chose, et que ce sont des français qui sont derrière...

avatar Nicolas Furno | 

@ mrkapp : en effet, c'est d'ailleurs l'un de mes exemples de concurrents… :-)

C'est très bien ce qu'ils font d'ailleurs, avec un niveau d'optimisation bien meilleur que la moyenne. Après quelques essais, je dirais qu'ImageOptim est au même niveau rapport qualité/poids.

Pour ma part, j'aimerais vraiment un service similaire auto-hébergé sur mon serveur. Si quelqu'un a des suggestions, d'ailleurs…

avatar mrkapp | 

la compression d'image est un art qui est bien gardé par ceux qui le font. Il y a plein d'outils open source pour faire de la compression sans perte depuis pas mal de temps, je pense à https://www.npmjs.com/package/imagemin

le plus dur sont bien souvent les réglages à trouver pour avoir un bon équilibre.

j'avais monté il y a un an, un projet sous node couplé à un plugin WordPress, ça marchait bien, mais le manque de temps pour trouver les bon réglages m'a fait abandonné le projet, j'utilise imagify.io maintenant, ça me coute des € , mais c'est prêt à l'emploie.

si ça t'intéresse :
https://github.com/kappuccino/orion-worker/blob/develop/src/worker/jpg.js
https://github.com/kappuccino/orion/tree/develop

je pense qu'avec un peu de travail tu pourrais extraire la partie compression et te faire un outils à ta sauce

si t'as envie d'en discuter, je pense que tu n'auras pas de mal à trouver mon email

beaucoup d'outils de compression, pêchent sur la fidélité de la couleur. j'avais discuté avec les dev d'imagify sur le sujet, et leur outils conserve ce qu'il faut pour que la couleur reste identique (de mémoire ils conservent les data EXIF).

voilà ma contribution sur le sujet qui est super intéressant pour m'y être penché de prêt :)

avatar Nicolas Furno | 

@ mrkapp : intéressant, merci ! Le seul truc qui me gêne, c'est l'idée d'avoir à gérer Node.JS en plus. Sachant que j'utilise WordPress aussi, c'est pénible d'avoir tout ce système en plus…

avatar mrkapp | 

c'est bien pour ça que des services externes existent :)

tu n'as pas toujours la stack nécessaire à ta disposition, du coup, on fait appel à un tiers, via des échanges standardisés REST (le plus souvent) et il se charge de faire tout le travail, et te répond avec un simple JSON

je suppose qu'il est possible de trouver des binaires qui s'occupe de la compression,

par exemple sur mozjpeg (une dépendance de imagemin)
https://github.com/imagemin/mozjpeg-bin/blob/master/lib/index.js c'est le binaire cjpeg qui est utilisé

avatar jackhal | 

Pas besoin de Node.js, on peut très bien s'en sortir avec quelques lignes de commandes après avoir installé les logiciels utilisés par ImageOptim. Pour la compression sans perte, autant dire que c'est ultra méga simple et qu'il n'y a pas de réglage particulier à trouver.

Pour la compression avec perte, il existe un excellent logiciel open source : jpeg-recompress, qui fait partie d'un autre projet, JPEG Archive : https://github.com/danielgtaylor/jpeg-archive

Les services d'image en ligne sont intéressants s'ils sont programmés pour fonctionner rapidement en temps réel pour les nouvelles images/tailles (à la Flickr qui utilise des serveurs avec GPU, mais bon, c'est pour eux-mêmes), et ont un système de cache + éventuellement un CDN bien distribué.

Si c'est juste pour récupérer des fichiers optimisés à des formats prédéfinis qu'on va ensuite servir soi-même (vu les tarifs d'ImageOptim, c'est sans doute ce genre d'utilisation qui est envisagé), le temps que ça prend à mettre en place doit être à peu près équivalent à une solution faite maison. Avec le risque que le service change un jour (API, tarifs..) ou ferme... très peu pour moi.

avatar mrkapp | 

oui tout a fait... l'intérêt de récupérer les fichiers compressés pour les servir soit même n'est pas denué de sens, car tu peux toi même avoir un CDN pour délivrer les ressources static de ton site (css, js, img...) et si le services coupe, tu ne perds pas tes fichiers

et pour rappel, je parlais de node uniquement pour externaliser le processus, la compression en elle même n'a rien à voir avec nodejs... l'avantage d'avoir ce processus externaliser c'est que tu peux beaucoup plus facilement gérer la quantité de traitement simultatné par bcp de serveurs

avatar Domsware | 

@RedMak

15000 images ! Mazette !

Cela prend en compte les différentes résolutions ?

avatar RedMak | 

@Domsware

Non pas du tout :)
En fait c'est pour un projet que vous aurez des nouvelles ici meme dans un ou deux mois :)

avatar Ielvin | 

Vous savez s'il existe la même pour iOS ?
On peut déjà réglé la taille des photos dans les réglages mais pas assez à mon goût.

Merci

avatar mrkapp | 

A mon avis, ils (Apple) vont vouloir que tu puisse avoir les plus grosses images possible pour avoir la meilleure qualité — c'est bon pour toi :-)

et si j'étais cynique je rajouterai que si t'as pas assez de place, ils te propose d'avoir plus de stockage :-)

avatar iPeP | 

Comme @RedMak, j'utilise les services d'Imagify. A noter que ce service est proposé par les concepteurs de WP Rocket, l'excellent plugin de cache qui a mis un grand coup de vieux à WP 3 Total Cache et autres SuperCache.
Cerise sur le gâteau, c'est effectivement 100% french..

CONNEXION UTILISATEUR