Créez un générateur de charte graphique de marque qui extrait automatiquement les couleurs, la typographie, les espacements et l'identité visuelle de n'importe quel site web, puis les rassemble dans un document PDF professionnel.

Ce que vous allez créer#
Une application Node.js qui prend n'importe quelle URL de site web, extrait l'ensemble de son identité de marque en utilisant le format de branding de Firecrawl, et génère un guide de style PDF soigné avec :
- Palette de couleurs avec valeurs hexadécimales
- Système typographique (polices, tailles, graisses)
- Spécifications d'espacement et de mise en page
- Logo et visuels de marque
- Informations de thème (mode clair/sombre)

Prérequis#
- Node.js 18 ou une version ultérieure installé
- Une clé API Firecrawl obtenue sur firecrawl.dev
- Des connaissances de base en TypeScript et Node.js
Créer un nouveau projet Node.js
Commencez par créer un nouveau répertoire pour votre projet, puis initialisez-le :
Mettez à jour votre package.json pour utiliser les modules ES :
Installer les dépendances
Installez les packages nécessaires pour le web scraping et la génération de PDF :
Ces packages fournissent :
firecrawl: SDK Firecrawl pour extraire l'identité de marque de sites webpdfkit: bibliothèque de génération de documents PDFtsx: exécution de TypeScript pour Node.js
Créez le générateur de guide de style de marque
Créez le fichier principal de l'application nommé index.ts. Ce script extrait l’identité de la marque à partir d’une URL et génère un guide de style professionnel au format PDF.
Pour ce projet simple, la clé d'API est placée directement dans le code. Si vous prévoyez de publier ce projet sur GitHub ou de le partager avec d'autres personnes, déplacez la clé dans un fichier .env et utilisez plutôt process.env.FIRECRAWL_API_KEY.
Remplacez fc-YOUR-API-KEY par votre clé d'API Firecrawl depuis firecrawl.dev.
Comprendre le code#
Composants clés :
- Format de branding Firecrawl : Le format
brandingextrait une identité de marque complète, incluant les couleurs, la typographie, les espacements et les images - Document PDFKit : Crée un PDF A4 professionnel avec des marges et des sections appropriées
- Nuanciers de couleurs : Affiche des blocs de couleur visuels avec des valeurs hexadécimales et des noms sémantiques
- Affichage de la typographie : Affiche les familles et tailles de police dans une mise en page organisée
- Espacement & thème : Documente les unités d'espacement et le jeu de couleurs du système de design
Lancer le générateur
Exécutez le script pour générer un guide de style pour votre marque :
Le script va :
- Extraire l'identité de marque depuis l'URL cible en utilisant le format de branding de Firecrawl
- Générer un PDF nommé
brand-style-guide.pdf - L'enregistrer dans le répertoire de votre projet
Pour générer un guide de style pour un autre site web, modifiez simplement la constante URL dans index.ts.
Comment ça fonctionne#
Processus d'extraction#
- Saisie de l'URL : le générateur reçoit l’URL du site web cible
- Scraping avec Firecrawl : appelle l’endpoint
/scrapeavec le formatbranding - Analyse de la marque : Firecrawl analyse le CSS, les polices et les éléments visuels de la page
- Retour des données : renvoie un objet structuré
BrandingProfilecontenant tous les design tokens
Processus de génération de PDF#
- Création de l'en-tête : Génère un en-tête coloré en utilisant la couleur principale de la marque
- Récupération du logo : Télécharge et intègre le logo ou le favicon si disponible
- Palette de couleurs : Affiche chaque couleur sous forme d'échantillon visuel avec ses métadonnées
- Section typographie : Documente les familles de polices, les tailles et les graisses de police
- Informations d'espacement : Inclut les unités de base, le rayon de bordure et le mode du thème
Structure du profil de marque#
Le format de branding retourne des informations détaillées sur la marque :
Principales fonctionnalités#
Extraction automatique des couleurs#
Le générateur identifie et classe toutes les couleurs de la marque :
- Primaires & Secondaires : Couleurs principales de la marque
- Accent : Couleurs d’accentuation et d’appel à l’action (CTA)
- Arrière-plan & Texte : Couleurs de base de l’interface
- Couleurs sémantiques : États de succès, d’avertissement et d’erreur
Documentation de la typographie#
Présente l'ensemble du système typographique :
- Familles de polices : principale, titres et monospace
- Échelle de tailles : toutes les tailles de texte pour les titres et le corps
- Graisses de police : variantes de graisses disponibles
Rendu visuel#
Le PDF inclut :
- En-tête coloré assorti à la marque
- Logo intégré lorsqu’il est disponible
- Mise en page professionnelle avec hiérarchie claire
- Pied de page contenant les métadonnées et la date de génération

Idées de personnalisation#
Ajouter la documentation des composants#
Étendez le générateur afin d’inclure les styles des composants d’interface utilisateur :
Exporter plusieurs formats#
Ajoutez un export JSON en plus du PDF :
Traitement par lots#
Générez des guides pour plusieurs sites web :
Thèmes PDF personnalisés#
Créez différents styles de PDF en fonction du thème extrait :
Bonnes pratiques#
-
Gérer les données manquantes : tous les sites web n'exposent pas des informations complètes sur la marque. Prévoyez toujours des valeurs de repli pour les propriétés manquantes.
-
Respecter les limites de débit : lors du traitement par lots de plusieurs sites, ajoutez des délais entre les requêtes pour respecter les limites de débit de Firecrawl.
-
Mettre en cache les résultats : stockez les données de marque extraites pour éviter des appels répétés à l'API pour un même site.
-
Gestion des formats d'image : certains logos peuvent être dans des formats que PDFKit ne prend pas en charge (comme le SVG). Envisagez d'ajouter une conversion de format ou des solutions de repli adaptées.
-
Gestion des erreurs : encapsulez le processus de génération dans des blocs try-catch et fournissez des messages d'erreur explicites.
Pour en savoir plus sur le format d'identité de marque et toutes les propriétés disponibles à extraire.
Référence complète de l'API pour l'endpoint de scraping avec toutes les options de formatage.
Pour en savoir plus sur PDFKit et ses options avancées de personnalisation de fichiers PDF.
Traitez efficacement plusieurs URL grâce au scraping par lots.

