Notes de l'équipe sur l'artisanat, les formats et les petites décisions derrière un bon résultat.
Pourquoi les PNG photographiques sont si lourds
La compression PNG sans perte enregistre chaque pixel à l'exact. Pour une image photographique aux millions de teintes subtilement variées, cela produit des fichiers très lourds, car il n'y a presque rien à dédupliquer entre pixels voisins. Le JPEG contourne ce problème grâce à la transformée en cosinus discrète, qui travaille par blocs de 8x8 pixels. Elle écarte les détails de haute fréquence auxquels l'œil humain est peu sensible, et encode de façon compacte les coefficients restants. Le résultat est un fichier bien plus léger pour toute image à variation de teinte continue, ce qui correspond à chaque photo. La garantie sans perte du PNG a de la valeur pour les graphiques et les fichiers de travail, mais c'est le mauvais contenant pour des photos destinées au partage.
La transparence et le canal alpha
Le PNG prend en charge un prise en charge de la transparence 8 bits complet, ce qui veut dire que chaque pixel peut aller de totalement transparent à totalement opaque. Le JPG ne définit aucune information alpha, car son contenant n'a pas de champ pour la transparence par pixel. Quand le moteur d'image du système réenregistre un PNG en JPEG, il compose le prise en charge de la transparence sur une couleur de fond avant l'étape d'enregistrement. Le fond par défaut est blanc, c'est pourquoi les zones transparentes d'un PNG apparaissent blanches dans le JPG obtenu. Le point clé est qu'aucun outil ne peut produire un JPG transparent, car le format ne prend pas en charge ce concept. Si préserver le détourage compte, la réponse est le WebP ou le maintien du PNG. RoundCut choisit le blanc comme couleur de remplissage car il correspond au fond de la plupart des documents et des fiches produit.
Performance d'enregistrement mesurée
Mesuré sur Chrome 148, ordinateur de bureau Linux, via le chemin d'enregistrement JPEG du système. Une image de 400x300 (0,12 MP) s'enregistre en environ 10 à 15 ms. Une image de 1024x768 (0,78 MP) s'enregistre en environ 13 à 20 ms. Une image de 3840x2160 (8 MP) s'enregistre en environ 1,4 seconde. Une image de 8000x6000 (48 MP) s'enregistre en environ 1,5 seconde. Enregistrer un JPG est nettement plus rapide qu'enregistrer un PNG de même dimension. C'est aussi bien plus rapide que l'AVIF, qui réclame un module séparé et peut prendre 25 secondes à 48 MP. Cet avantage vient du fait que l'encodage JPEG est intégré nativement à chaque navigateur.
Gestion de l'EXIF et des métadonnées
Le pipeline d'enregistrement retire les données EXIF, IPTC et XMP du JPG de sortie dans tous les navigateurs. Cela signifie que les coordonnées de lieu, le modèle d'appareil photo, la date de prise de vue et la mention de droits d'auteur présents dans le PNG source sont retirés. Les profils colorimétriques ICC suivent un autre chemin : Chrome et Safari conservent le profil ICC sRGB, tandis que Firefox le retire entièrement. Le résultat pratique est que le JPG converti est sûr en sRGB dans tous les navigateurs. Si votre PNG portait un profil à large gamut comme Display-P3 ou Adobe RGB, ce profil ne survit pas dans Firefox. Si préserver des métadonnées complètes est une exigence de votre flux de travail, modifiez-les avec un outil dédié après la conversion. Pour un usage web courant, le retrait des métadonnées est utile : il allège le fichier et retire les données GPS des photos.
Quand les artefacts JPG se voient
La compression JPEG travaille par blocs de 8x8 pixels. Quand l'image source contient une transition franche entre deux couleurs très différentes au sein d'un seul bloc, la compression JPEG approxime cette transition avec des coefficients limités. Le résultat est du moiré, un halo de pixels plus clairs ou plus sombres autour du contour. Dans les photos c'est invisible, car les contours ne sont jamais parfaitement nets. Dans les captures d'écran et les logos, le moiré est nettement visible à n'importe quel niveau de qualité. Ces éléments sont exactement le genre de signal que l'algorithme gère mal. Le conseil est simple, ne convertissez pas de captures d'écran, de logos ni d'images riches en texte en JPG. Gardez-les en PNG, ou utilisez le WebP pour un fichier plus léger qui évite le problème entièrement.
La confidentialité en pratique
L'endroit où la conversion a lieu dépend du nombre de fichiers. Pour une seule image, aucune donnée ne quitte le navigateur, et c'est vérifiable en temps réel. La liste reste vide pendant l'encodage. Pour deux fichiers ou plus, RoundCut les envoie à notre serveur, qui convertit, compresse le résultat et renvoie un lien de téléchargement. Ce lien et les fichiers convertis sont supprimés en environ 2 heures. Le chemin d'une seule image tourne entièrement sur votre appareil, hors du réseau, tandis que le chemin par lot l'échange contre le confort de convertir beaucoup de fichiers d'un coup. Pour des images au contenu sensible, comme la capture d'un document personnel ou une photo avec des données de localisation, convertir une par une garde tout en local.