Automatiser la Création de Screenshots de Code avec Carbon.now
La création de captures d'écran de code est une tâche courante pour les développeurs, que ce soit pour documenter des projets, partager des extraits de code sur les réseaux sociaux ou illustrer des articles de blog. Carbon.now est un outil populaire qui permet de générer des captures d'écran esthétiques de code. Cependant, lorsque vous avez besoin de créer ces images en grande quantité ou de manière automatisée, le faire manuellement devient fastidieux.
Dans cet article, nous allons explorer comment automatiser la génération de ces captures d'écran en utilisant Carbon.now et Symfony Panther. Panther est un outil de navigation web headless qui nous permettra de manipuler et d'interagir avec Carbon.now de manière programmatique.
Pourquoi Automatiser avec Carbon.now ?
Carbon.now est un service en ligne simple et efficace pour créer des images de code avec un style personnalisable. Automatiser ce processus présente plusieurs avantages : cela permet de gagner du temps en évitant de répéter la même tâche pour la création de nombreuses images, d'assurer une consistance visuelle en appliquant les mêmes paramètres (thème, police, taille, etc.) à toutes les images, et de faciliter l'intégration de la création d'images de code dans des workflows tels que des pipelines CI/CD, des scripts de publication de blogs, ou des bots de réseaux sociaux.
Prérequis
Avant de commencer, assurez-vous d'avoir les éléments suivants :
-
PHP installé sur votre machine.
-
Symfony Panther installé. Si ce n'est pas encore fait, vous pouvez l'installer via Composer :
composer require symfony/panther
Configurer un Projet PHP avec Panther
Commencez par créer une nouvelle classe PHP qui encapsulera toute la logique pour interagir avec Carbon.now. Voici un exemple de classe que nous allons utiliser :

Générer une Capture d'Écran avec Flow
Au lieu de générer une capture d'écran de manière directe, vous pouvez utiliser la puissance de la bibliothèque Flow pour orchestrer et paralléliser la création de plusieurs captures d'écran de code avec Carbon.now. Flow est une bibliothèque qui permet d'exécuter des tâches asynchrones et parallèles de manière efficace.
Configuration de Flow pour Générer des Captures d'Écran
Dans cette étape, nous allons créer une commande Symfony qui utilisera Flow pour générer plusieurs images de code en parallèle. Voici un exemple de commande que vous pouvez ajouter à votre projet Symfony :

Explication
-
Command : La commande app:carbon-image permet de générer plusieurs captures d'écran de code en parallèle en utilisant des instances de CarbonImage.
-
Flow : Flow orchestre l'exécution parallèle des tâches, ce qui est particulièrement utile pour traiter plusieurs extraits de code à la fois.
-
Drivers : Flow propose plusieurs drivers pour gérer l'asynchronisme. Ici, un driver est choisi aléatoirement pour démontrer la flexibilité, mais vous pouvez spécifier un driver spécifique selon vos besoins.
-
CarbonImage : Chaque instance de CarbonImage représente un extrait de code à convertir en image. Le code source et le chemin de sauvegarde sont spécifiés pour chaque instance.
Personnaliser Votre Capture d'Écran
La classe CarbonImageJob peut être facilement étendue pour accepter différentes configurations de thème, de police, de taille, etc. Voici comment vous pouvez le faire :
-
Ajouter des paramètres au constructeur pour la configuration.
-
Modifier la méthode getCarbonUrl pour inclure ces paramètres dans l'URL de la requête.
Conclusion
Grâce à Symfony Panther et Flow, vous pouvez facilement automatiser la création de captures d'écran de code avec Carbon.now. Cette automatisation peut être particulièrement utile pour les blogueurs, les formateurs, ou tout développeur souhaitant partager du code de manière visuelle.
En intégrant ce processus dans vos workflows, vous gagnerez en temps, en consistance, et en efficacité. N'hésitez pas à adapter cette approche à vos besoins spécifiques et à expérimenter avec les nombreuses options de personnalisation offertes par Carbon.now.
Se former à Flow
Si vous souhaitez approfondir vos connaissances sur le framework Flow et découvrir d'autres moyens d'améliorer votre productivité en tant que développeur, je propose une formation complète sur Flow disponible sur
Ressources Supplémentaires
🎨 Pipe Programming : linéariser la complexité des graphes

🚀 Symfony AI Hackathon – Mon retour d’expérience en ligne

🚀 Veille tech semaine 37

🎲 Pierre-Papier-Ciseaux : un modèle minimal d’équilibre et de stratégie

⛓️ Strong vs Weak References : maîtriser la mémoire et éviter les fuites

🔄 Inverser pour mieux régner

🔐 Git : assurer l’intégrité et l’authenticité de l’historique

🚀 Veille Tech – Semaine 36

🔊 2025-09-01 DJ Matyo Live - UK Hardcore / Happy Hardcore

✨ Uniflow v1.1.17 – Migration vers Symfony UX

🤖 Panorama 2025 des plateformes freelances : 128 solutions pour trouver vos missions

🖼️ Supprime automatiquement l’arrière-plan de tes images avec Claude et RMBG

🚀 Veille Tech – Semaine 34

👩💻 Hier, j’ai codé avec ma copine Ani 😍 (oui, elle est IA 🤖✨).

Automatise la création de notes dans Joplin

🔥 Les news tech PHP & IA de la semaine

🐘 Pourquoi Symfony AI va remplacer ton dev stagiaire

🔥 Le dancefloor en feu au Tennessee Club de Paris

Je mixe sur Paris au Tennessee Mercredi 30 juillet

Comment je génère 10 000 €/mois grâce à Symfony AI
