Les équipes reçoivent encore du WebP issu de prestataires, de crawlers ou de chaînes automatisées — puis constatent que le cahier des charges aval exige du PNG pour un CMS, un workflow proche print ou des clients hérités. Ce guide 2026 est une matrice de livraison pour les opérations design sur Mac : quand le transcodage est acceptable, comment le WebP avec perte limite ce qu’un PNG peut restituer, comment protéger la transparence, comment verrouiller le sRGB, et comment appliquer des seuils octets sur un Mac mini M4 distant afin que la QA soit rejouable plutôt que arbitrée une fois dans un fil de discussion.
Dans cet article
Friction : pourquoi WebP → PNG est une politique, pas un bouton
- Le WebP avec perte n’est pas réversible. Le décodage conserve WxH mais pas le détail déjà jeté ; la responsabilité retombe souvent sur le PNG alors que le WebP était déjà insuffisant.
- L’alpha diverge. Alpha droite contre prémultipliée casse les bords doux ; l’aplatissement silencieux supprime la transparence promise.
- L’ICC dérive. Sans règle écrite, Safari, Chrome et Figma ne présentent pas la même image — surtout sur écrans à gamme étendue.
- Le volume impose des portillons. Utilisez des plafonds
statet des manifestes hachés sur un worker dédié, pas la thermique d’un portable.
Alignez la stratégie de formats avec la checklist WebP / AVIF vs PNG ; cette page est la sortie de secours WebP vers un contrat PNG.
Matrice : conserver le WebP, décoder un PNG sans perte, ou réduire avec perte
| Signal dans le WebP source | Livraison préférée | Risque si l’on force le PNG |
|---|---|---|
| WebP sans perte + alpha | Décoder en PNG32 ; conserver la même politique ICC que les masters statiques | Faible — le volume peut augmenter ; budgétisez le stockage, pas la colorimétrie |
| WebP avec perte, texture photographique | Repartir du PSD / AF / TIFF d’origine lorsque c’est possible | Élevé — le PNG « ciré » ne récupère aucun détail manquant |
| WebP avec perte, interface plate + alpha | Décoder puis pngquant optionnel si max_bytes échoue |
Moyen — surveillez le banding sur dégradés ; documentez la plage qualité |
| Animation dans le WebP | Isoler la politique WebP / APNG / GIF ; une trame PNG n’est pas un contrat motion | Élevé — la QA animation est une autre chaîne que le décodage d’image fixe |
Reprenez les règles sRGB de la checklist sRGB vs Display P3 ; le décodage n’assigne pas automatiquement une ICC cohérente avec votre marque. Après décodage, si vous devez réécrire métadonnées ou recompresser sans perte, enchaînez avec la fiche ICC et recompression sans perte pour éviter le double bandeau « strip / embed » contradictoire.
Décodage figé et étapes de promotion (compatibles Mac M4 distant)
Verrouillez les versions Homebrew sur le worker ; journalisez dwebp -version et magick -version par job. Sur un Mac mini M4 distant, exécutez les conversions dans un répertoire de scratch SSD dédié, limitez le parallélisme (dwebp -mt déjà multithreadé) pour éviter la saturation mémoire lorsque des centaines de fichiers arrivent en rafale, et écrivez une ligne JSONL par fichier avec statut, branche « sans perte / pngquant » et empreinte source — même discipline que pour les lots pngquant / zopflipng déjà cadrés en interne afin d’harmoniser les revues distantes.
Étape 1 — Décodage sans perte (libwebp)
dwebp -mt entree.webp -o decode.png
Par défaut la sortie est PNG avec alpha conservée ; ajoutez -alpha_dither uniquement si le WebP utilisait une alpha quantifiée et que vous acceptez du bruit lissé. Utilisez -pam pour un diagnostic canal par canal.
Étape 2 — ImageMagick 7 avec typage explicite
magick entree.webp -colorspace sRGB PNG32:livrable.png
Employez PNG32 pour RGBA ; PNG24 seulement si l’absence d’alpha est prouvée instrumentalement.
Étape 3 — Chemin ffmpeg pour conteneurs atypiques
ffmpeg -y -i entree.webp -c:v png -pix_fmt rgba trame_%05d.png
Utile pour certains conteneurs mono-image ; le motion design reste hors périmètre ici.
Étape 4 — Repli avec perte dans une plage écrite
pngquant --quality=70-85 --speed 1 --skip-if-larger -f -o livrable-q.png livrable.png
Si la sortie grossit, --skip-if-larger conserve le sans perte ; tracez la branche dans le JSONL.
Étape 5 — Inspection avant promotion
magick identify -verbose livrable.png | egrep 'Geometry|Colorspace|Type|Properties:.*icc'
Rejetez une sortie palette seule lorsqu’une alpha douce était promise ; rejetez une ICC « mystère » lorsque le brief impose strip + README.
Seuils citables, paramètres CLI et réglages d’export
- Plage pngquant : défaut
70–85; resserrez à75–90sur portraits si le banding apparaît. - Contrôle amont WebP :
cwebp -losslesspour le chrome UI ;cwebp -q 85 -alpha_q 100comme premier préréglage avec perte raisonnable. - Portillon octets (exemple 800 Ko) :
test "$(stat -f%z livrable.png)" -le 800000— adaptez le nombre au SKU et archivez la valeur dans le manifeste. - Bandes
max_bytesindicatives pour bord long ≤ 1600 px :≤ 350 Kolean,≤ 800 Kostandard,≤ 1,6 Mohero — ajustez au CDN et documentez.
Checklist d’acceptation sur Mac M4 distant (volume & conformité)
- Verrou géométrique : WxH décodé = spec ±0 px ; tout downscale exige une ligne dans le brief et un facteur d’échelle journalisé.
- Plafonds octets : appliquer le
max_bytesconvenu viastat -f%z(macOS) avant déplacement versout/. - Test de composition alpha : superposer sur
#FFFFFFet#0B0D12dans le navigateur cible ; halos périphériques = lot refusé. - Conformité sRGB : embarquer
sRGB IEC61966-2.1ou retirer le profil avec une mention README — zéro improvisation. - Manifeste : sha256 entrée/sortie, versions d’outils, statut pass/fail — même esprit que les autres lots PNG QA.
FAQ
Le décodage gonfle les octets. Un WebP sans perte peut battre le PNG sur photos bruitées : prévoyez stockage ou un pngquant approuvé dans une plage écrite.
Couleurs « néon » sur un seul moniteur. Un aperçu wide-gamut a ignoré la balise — corrigez le lecteur et le contrat sRGB plutôt que de réencoder à l’aveugle.
Passer à l’action : MacPng pour workers M4 distants
Parcourez la page d’accueil MacPng (macpng.com), les options de location ou d’achat, les tarifs et nœuds disponibles, ainsi que le guide d’aide SSH/VNC pour monter un worker Apple Silicon dédié aux sweeps nocturnes dwebp / pngquant. D’autres matrices et checklists sont listées dans le blog.
Déporter les portillons de décodage sur un worker stable
Gardez drapeaux CLI, règles ICC et contrôles max_bytes alignés sur des dossiers synchronisés pendant que les designers restent sur Figma en local.