{% extends 'base.html.twig' %} {% block title %}Landing Hero Tool - Design System - Bubul{% endblock %} {% block body %}
{% include '_atoms/icon/icon.html.twig' with { name: 'chevron-left', size: 'sm', color: 'gray' } %}
Organisme /

Landing Hero Tool

Hero parametrable pour les pages de presentation d'outils

{# ===== EXPLICATION ===== #}
{% include '_atoms/icon/icon.html.twig' with { name: 'rocket', size: 'lg', color: 'white' } %}

Hero Tool — Page Outil

Public

Section hero reutilisable pour les pages de presentation de chaque outil Bubul. Fond identique au hero principal (FAFCFF + orbes floutees + grille de points). Support de 1 ou 2 CTA, d'un badge optionnel et d'une grille de stats. Le dégradé des orbes s'adapte aux couleurs de l'outil.

90vh

Hauteur

2

CTA max

orbes

Fond anime

visualHtml

Mockup custom

{# ===== COMPOSITION ===== #}

Composition

Atomes utilises

  • button CTA principal (gradient) et CTA secondaire (outline)
  • badge Badge optionnel au-dessus du H1
  • icon Icone de l'outil dans le chip de nom
{# ===== UTILISATION ===== #}

Utilisation

Exemple de code Twig

Exemple simple (placeholder)

{% verbatim %}{% include '_organisms/landing/hero-tool.html.twig' with {
    toolName: 'Slidia',
    toolIcon: 'bubul-slidia',
    h1: 'Des slides professionnels en 2 minutes',
    subtitle: 'Slidia genere des presentations PowerPoint...',
    badge: 'Slidia · Bubul.app',
    ctaUrl: '#beta-signup',
    ctaLabel: 'Essayer gratuitement',
    gradientStart: '#C4167A',
    gradientEnd: '#EC4899'
} only %}{% endverbatim %}

Exemple complet (mockup injecte via visualHtml)

{% verbatim %}{# 1. Capturer le HTML du mockup dans une variable Twig #}
{% set myToolMockup %}
{# Votre mockup HTML ici — variables Twig evaluees dans ce contexte #}
...
{% include '_atoms/icon/icon.html.twig' with { name: 'bubul-serenia' } only %}
{% endset %} {# 2. Passer la variable au param visualHtml #} {% include '_organisms/landing/hero-tool.html.twig' with { toolName: 'Serenia', toolIcon: 'bubul-serenia', h1: 'L’assistant IA
pedagogique', subtitle: 'Analysez vos documents, generez des visuels.', badge: 'Serenia · Bubul.app', liveBadge: betaCount > 0 ? (betaCount ~ '+ formateurs') : 'Beta ouverte', ctaUrl: path('app_login'), ctaLabel: 'Commencer maintenant', ctaSecondaryUrl: path('app_landing') ~ '#pricing', ctaSecondaryLabel: 'Voir les tarifs', pills: ['0 donnee stockee', 'PDF · DOCX · Excel', 'Streaming temps reel'], gradientStart: c1, gradientEnd: c2, visualHtml: myToolMockup } only %}{% endverbatim %}
{# ===== PARAMETRES ===== #}

Parametres

Options de configuration

Parametre Type Defaut Description
toolName string '' Nom de l'outil (affiche dans un chip)
toolColor string 'primary' Token couleur CSS pour l'icone
toolIcon string 'rocket' Nom de l'icone Solar
h1 string '' H1 SEO (obligatoire)
subtitle string '' Sous-titre sous le H1
badge string|null null Badge optionnel au-dessus du H1
ctaUrl string '#beta-signup' URL CTA principal
ctaLabel string 'Essayer gratuitement' Label CTA principal
ctaSecondaryUrl string|null null URL CTA secondaire (optionnel)
ctaSecondaryLabel string|null null Label CTA secondaire
stats array [] Stats optionnelles: { value, label, sublabel }
screenshotNote string 'Screenshot de l\'interface...' Note du placeholder screenshot
gradientStart string '#0A6BC4' Couleur de debut du degrade des orbes
gradientEnd string '#3AB8E8' Couleur de fin du degrade des orbes
liveBadge string|null null Badge pulsant au-dessus du badge outil (ex: "42+ formateurs" ou "Beta ouverte"). Utilise un point anime aux couleurs du gradient.
pills array [] Liste de trust pills affiches sous les CTA. Chaque pill = une chaine de caracteres. Checkmark avec gradient de couleur outil.
visualHtml string|null null HTML du mockup outil injecte a droite. Remplace entierement le placeholder. Utiliser avec un bloc {% set %} Twig pour inclure du HTML dynamique.
class string '' Classes CSS additionnelles
{# ===== NOTES TECHNIQUES ===== #}

Notes Techniques

Implementation

1

Orbes desktop uniquement

Les orbes floutees utilisent hidden lg:block — elles n'apparaissent pas sur mobile pour eviter un rendu lourd.

2

Stats optionnelles

Si stats est vide, la grille de stats n'est pas rendue. Les valeurs sont affichees avec le gradient de couleur de l'outil.

3

Grille de points de fond

Le fond inclut une grille de points SVG subtile via un pattern CSS radial-gradient.

4

visualHtml — pattern {% set %}

Pour passer un mockup HTML riche (avec Twig includes et variables dynamiques), utiliser un bloc {% set myMockup %}...{% endset %} avant l'include. Les variables du contexte parent (c1, c2...) sont disponibles dans le bloc set.

Serenia Moodia Slidia
5

Float animation — ne pas doubler

La colonne droite est automatiquement animee en flottement via hero-tool-visual-wrapper. Ne pas ajouter de classe mockup-float ou slide-float dans le HTML passe a visualHtml.

{% endblock %}