Aller au contenu
Retour à l'accueil
Hub de ressources · Automatisation

Automatisation des captures d'écran : guide de ressources complet

Arrêtez d'exporter à la main les captures d'écran depuis Figma. Tout ce dont vous avez besoin pour automatiser le pipeline de captures d'écran — du rendu API-first à l'intégration fastlane jusqu'à un job CI qui se déclenche à chaque tag de mise en production.

Eric Isensee
Eric IsenseeFounder · Last updated May 5, 2026

Vue d'ensemble

Pourquoi automatiser les captures d'écran App Store en premier lieu ?

Un lancement d'application mobile typique livre 6 à 10 captures d'écran par taille d'appareil, sur 4 à 8 tailles d'appareils, dans 8 à 20 langues. Les calculs deviennent vite incontrôlables : un petit lancement représente 200 à 800 captures d'écran, et un grand lancement multilingue peut facilement dépasser 2 000. La première version prend une semaine de designer. La cinquième version, après que le marketing a itéré sur les légendes, prend également une semaine de designer. Il y a un point clair où toute équipe avec une vélocité produit active cesse de pouvoir suivre manuellement.

L'automatisation est la seule sortie. Une fois que vous pouvez rendre la grille complète par programmation, vous échangez une semaine de designer par mise en production contre un job CI qui s'exécute en 90 secondes. C'est ce qui débloque la boucle à haute vélocité où vous livrez les changements d'UI et les mises à jour du store dans la même mise en production — au lieu d'avoir des captures d'écran de store qui accusent en permanence un trimestre ou plus de retard sur l'application en direct.

À quoi ressemble un pipeline de captures d'écran entièrement automatisé ?

Un pipeline mature a quatre pièces mobiles : une source de vérité versionnée (définitions de modèles dans Git, généralement en YAML ou JSON), une couche de données (les chaînes, captures d'écran et imagerie produit qui peuplent les modèles), un moteur de rendu (le service qui transforme modèle + données en sortie PNG/JPEG à chaque taille requise) et une cible de livraison (API App Store Connect, API de publication Google Play, ou un bucket d'actifs depuis lequel votre équipe de fiches store récupère). Chaque couche peut être échangée indépendamment.

Les choix de conception intéressants apparaissent aux jonctions. Comment versionnez-vous le modèle ? Faites-vous un check-in des sorties rendues dans le dépôt ou les régénérez-vous à chaque exécution CI ? Mettez-vous en cache les rendus par hash de contenu ? Comment prévisualisez-vous les changements en revue de PR sans déclencher un pipeline complet ? Les liens ci-dessous couvrent chacun de ces points en profondeur.

Rendu API vs rendu par navigateur headless

Il y a deux camps architecturaux dans l'automatisation des captures d'écran : les services de rendu API qui prennent une spécification de modèle et produisent une sortie via un moteur de rendu géré, et les pipelines DIY de navigateurs headless (Puppeteer, Playwright, Cypress) qui font une capture d'écran d'une page web et post-traitent le résultat. Les deux fonctionnent ; les compromis sont réels.

Les pipelines de navigateurs headless sont flexibles mais lourds opérationnellement : vous maintenez une ferme de navigateurs, une histoire de gestion des polices, des polices de repli pour chaque langue, une logique de réessai pour les rendus instables et une file d'attente. Le rendu API décharge tout cela à un service spécifiquement réglé pour le cas d'usage des captures d'écran. Pour la plupart des équipes, le rendu API est plus rapide à mettre en place et plus rapide par rendu ; les navigateurs headless sont le bon choix lorsque vos captures d'écran incluent des fonctionnalités DOM ou CSS lourdes qu'un moteur de templating ne peut pas égaler.

Comment fastlane s'inscrit-il dans l'automatisation des captures d'écran ?

fastlane est la chaîne d'outils d'automatisation iOS de facto depuis plus d'une décennie, et elle a deux pistes pertinentes pour les captures d'écran : l'action snapshot intégrée (qui utilise les XCUITests pour capturer des captures d'écran depuis un simulateur) et frameit (qui enroule les captures capturées dans des cadres d'appareils). Pour les tests basés sur simulateur, cela fonctionne toujours, mais cela a des limites : la grammaire de design est déterminée par ce que votre application peut rendre dans un UITest automatisé, pas par ce que votre équipe marketing veut livrer, et le langage de modèles de frameit est contraint.

Le pattern moderne consiste à utiliser fastlane comme orchestrateur (téléversement vers App Store Connect, incrémentation de version, distribution TestFlight) et un service de rendu API comme Screenshots.live comme producteur des fichiers de captures d'écran réels. fastlane a un support de plugins de premier rang, donc vous pouvez insérer un plugin de captures d'écran qui rend et téléverse dans la même piste.

Où les captures d'écran devraient-elles vivre dans votre pipeline CI/CD ?

Trois patterns raisonnables. (1) À chaque push sur main : vous régénérez les captures d'écran de manière spéculative, les stockez comme artefacts de build, et ne les promouvez qu'aux tags de mise en production. Retour rapide, légèrement gaspilleur. (2) Aux tags de mise en production seulement : le plus propre, mais vous n'attrapez les régressions de captures d'écran qu'après le verrouillage de la version. (3) Sur un workflow distinct dédié aux captures d'écran qui se déclenche quand les fichiers de modèles changent : le meilleur pour les équipes avec une forte séparation entre l'ingénierie produit et la croissance.

Quel que soit le pattern que vous choisissez, traitez les fichiers de captures d'écran comme tout autre artefact généré : ne les checkez pas dans Git. La source de vérité vit dans les modèles, pas dans les PNG rendus. C'est la plus grosse erreur que les équipes font lorsqu'elles greffent l'automatisation des captures d'écran sur un dépôt existant.

Et les tests de régression visuelle pour les captures d'écran elles-mêmes ?

Un pipeline d'automatisation moderne devrait inclure des vérifications de différences pixel par pixel ou de hash perceptuel sur la sortie rendue. L'objectif est d'attraper les ruptures silencieuses : une police qui s'est repliée, une traduction qui a débordé, un actif image qui a renvoyé un 404. Des outils comme BackstopJS, Percy et Chromatic peuvent être réorientés pour les captures d'écran de store, ou vous pouvez écrire un petit job de diff qui fait échouer le CI lorsqu'un rendu dépasse un seuil.

C'est aussi là où l'automatisation multilingue devient intéressante : rendre 60 captures d'écran est correct, mais en réviser 60 manuellement pour les débordements de texte est impossible. Les vérifications visuelles automatisées sont ce qui rend l'automatisation multilingue réellement sûre à grande échelle.

Ressources de ce hub

Guides, articles de blog, fonctionnalités et entrées de glossaire sélectionnés. Utilisez ceci comme carte de départ ; chaque lien va plus loin.

Fonctionnalités qui rendent l'automatisation possible

Les capacités de Screenshots.live autour desquelles vous construisez les pipelines d'automatisation.

Arrêtez d'exporter les captures d'écran à la main

Branchez le rendu de captures d'écran dans votre pipeline de mise en production. Rendez la grille complète multi-appareils et multilingue dans un seul job CI et arrêtez de laisser les actifs marketing prendre du retard sur le produit livré.

Commencer à construire gratuitement