Les équipes marque livrent souvent depuis Canva des lots ZIP issus du navigateur, et non des arborescences d’export Figma ou Sketch. Ce guide propose un runbook reproductible sur Mac distant : écoute debouncée, décompression à noms stables, barrières modulo sur les dimensions, échantillonnage d’alpha, retries classés, reçus JSONL et OpenClaw Gateway à périmètre minimal. Vous y trouverez une table de décision, sept étapes opérables, des repères chiffrés, une section indexation et une FAQ — plus des pages sans connexion obligatoire pour louer ou consulter l’aide.
Dans cet article :
Friction propre au ZIP Canva
- Téléchargements par rafales : un ZIP partiel impose une fenêtre de silence avant toute décompression.
- Noms marketing imbriqués : sans aplatissement immédiat, les clés de livraison dérivent entre lots.
- Multiples Retina : il faut verrouiller un modulo cohérent avec l’échelle de base du produit.
- Surprises d’alpha : les halos n’apparaissent qu’après composite — mieux vaut sonder les bords tôt.
- Audit des droits : un shell trop large sur un worker partagé attire les remarques de conformité — préférez des outils listés.
Matrice : filière navigateur ZIP vs dossier d’export natif
Le contrat d’écoute doit rester explicite : le chemin Canva n’imite pas les exports locaux continus.
| Signal | Inbox ZIP Canva | Dossiers d’export natifs |
|---|---|---|
| Artefact | ZIP par lot | Écritures PNG en flux |
| Indice de fin | Fenêtre silencieuse + taille stable | Sidecars ou noms stables |
| Décompression | Indispensable | Souvent inutile |
| Profondeur de renommage | Aplatir tout de suite les dossiers marketing | Souvent feuilles PNG seulement |
| Cohérence JSONL | Réutiliser les champs décrits dans surveillance, retry et archives mais séparer les inbox par filière. | |
Étapes reproductibles
- Provisionner sur NVMe ; aligner l’utilisateur
launchdavec SSH ; terminer l’installation OpenClaw (toutes plateformes) pour que les jetons fonctionnent sans interaction. - Arborescence :
~/canva_jobs/<campagne>/{inbox,work,out,quarantine,failed,logs,archive}; lier un profil navigateur pour que les téléchargements n’atterrissent que dansinbox. - Watcher : debouncer
fswatch, ignorer.crdownload, fichiers vides,.DS_Store; un mutex par campagne. - Unzip :
dittoouunzip -oépinglé verswork/<zip>/, puis aplatissement verswork/flat/<trace>/avec un gabarit du typemarque__page__variant__w###xh###.png. - Fichier YAML de QA : modulo largeur et hauteur, plafond d’octets, règle ICC optionnelle, échantillonneur d’alpha ; ajouter
logs/qa.jsonlpar fichier. - Promotion : succès →
out/plus empreintesha256; défaut de données →quarantineavecreason_code, sans retry automatique. - Archive : gzip des JSONL anciens vers
archive/logs/, tarball quotidien deout/, webhook sur pause ou seuil disque.
Multiples et transparence : esquisse de script
Chargez le RGBA avec Pillow ou une build ImageMagick identique à la CI ; imposez largeur % base == 0 et hauteur % base == 0, puis repérez les pixels semi-transparents sur une bande extérieure de huit pixels. Ajoutez des carreaux intérieurs tirés aléatoirement avec une probabilité liée à la taille fichier afin que les bannières reçoivent plus de sondes que les petites icônes. Journalisez des percentiles plutôt que chaque coordonnée pour garder des lignes JSONL grep-ables. Alignez les seuils avec la vigie dimensions / anticrénelage et la FAQ transparence PNG sur Mac distant.
Retry, quarantaine et archive
Comme sur d’autres pipelines : erreurs transitoires de unzip ou fichiers occupés → backoff plafonné ; défauts de données → acquittement humain ; pause disque → file arrêtée. Faites tourner les JSONL par date avant gzip. Réutilisez les champs manifeste du guide contrôle QA PNG par lots pour vos tableaux de bord.
Passerelle moindre privilège et retour d’alerte
Liez le service à 127.0.0.1, chmod 600 sur les jetons, liste blanche limitée aux binaires unzip, QA et notifiant avec modèles argv uniquement. Les alertes portent trace_id et pause_reason sans chemins complets. Le suivi ICC reste dans la chaîne ICC + renommage, pas dans un shell généraliste.
Maillage interne et indexation
Faites remonter cette URL depuis la liste du blog et les guides cités pour concentrer le PageRank sur la grappe « ZIP + QA PNG ». Ne déclarez en hreflang que les langues qui publient le même slug. Rafraîchissez sitemap.xml, renvoyez le fichier dans la Search Console et vérifiez les extraits enrichis BlogPosting, HowTo, FAQPage et fil d’Ariane pour cohérence avec le texte visible.
FAQ
Puis-je surveiller le dossier Téléchargements iCloud ?
Non — la latence des placeholders duplique les événements ; gardez l’inbox sur APFS local, loin de la synchronisation Bureau.
ZIP mêlant PDF et PNG ?
Filtrez par extension à l’aplatissement et envoyez l’inconnu en quarantaine plutôt que de l’effacer silencieusement.
Shell seul ou OpenClaw ?
Les scripts suffisent pour un mainteneur isolé ; ajoutez la passerelle lorsque plusieurs opérateurs exigent des modèles argv auditables et des identifiants de trace partagés.
Bruit sur le webhook ?
Déclenchez les alertes sur pause, pics de quarantaine ou fautes transitoires répétées — pas sur chaque promotion réussie.
Synthèse : debouncer la fin des ZIP, aplatir les noms, verrouiller modulo et alpha, journaliser en JSONL, compresser les archives, garder la passerelle étroite. Comparez achat et formules, tarifs et aide SSH/VNC sans compte ; parcourez le blog pour d’autres automatisations PNG.
Dédier un Mac distant au QC des PNG issus des ZIP Canva
Épinglez les validateurs, isolez les téléchargements navigateur et gardez un périmètre Gateway lisible en revue lorsque la livraison marque s’industrialise.