Login / Sign up
Discover Bonzai
Terms of Use
Legal notice
Privacy
Region
Language
matyo91
matyo91
12
Subscribers
Facebook
X
Whatsapp
Telegram
👉 You must follow matyo91 to access chat.
Feed Shop About

Automatiser la Création de Screenshots de Code avec Carbon.now

Facebook
Twitter
Whatsapp
Telegram
1 year ago

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 :

  1. Ajouter des paramètres au constructeur pour la configuration.

  2. 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

matyo91
matyo91
€119.00

Automation avec Flow en PHP

Open

Ressources Supplémentaires

  • Flow

  • Symfony Panther Documentation

  • Carbon.now.sh

  • Documentation PHP

Follow matyo91 to comment
matyo91

matyo91

Je t'aide à automatiser tes process
12
Visit this Bonzai
Follow matyo91 to get the latest updates.

⚙️ Message-oriented vs Data-oriented orchestration - de la donnée à la connaissance

2 days ago
6

🤩 Relâcher les connecteurs - Des outils au langage

5 days ago
19

💡 J’ai créé une app IA RGPD en 1h avec Symfony

2 weeks ago
25

🗂️ Hellcats Over The Pacific - ouverture des archives

2 weeks ago
27

🧠 Ne rien dévoiler. Tout montrer – Bâtir des systèmes publics sur des fondations privées

3 weeks ago
28

🎬 La vidéo la plus chère de ma chaîne YouTube 💰

4 weeks ago
36

🎨 Darkwood v1.0.4 - Présentation du design V4

1 month ago
39

👾 Darkwood : Créer un jeu tactique axé sur les API

1 month ago
48

🚀 Création d'une application PHP MCP pour publier des articles Darkwood

1 month ago
48

🚀 Je construis un moteur de dictée en PHP (Flow + Symfony + Whisper.cpp)

1 month ago
52

⚔️ Découverte de l'extension cataclysme Hearthstone

1 month ago
64

🤖 Développement parallèle d'IA avec Cursor et Git Worktrees

2 months ago
63

🤖 Comment rendre Darkwood prêt pour les agents

2 months ago
113

🧑‍💻 Codeur vs Vibe codeur

2 months ago
64

🚨 Darkwood IaExceptionBundle — Quand les erreurs commencent à s'expliquer d'elles-mêmes

2 months ago
65

⚙️ FOSDEM 2026 : signaux structurels de l’écosystème open source

2 months ago
101

♾️ Dégâts de défausse infini

3 months ago
99

📝 Gouvernance IT : reprendre le contrôle sans ralentir l’innovation

3 months ago
86

⭐️ Monter Légende avec le Guerrier Quête (Enter the Lost City)

3 months ago
105

⭐️ Monter légende avec le deck Paladin Aggro Bubule

3 months ago
94
© 2026 Bonzai Privacy Legal notice Terms of Use