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

Landing Header

Header de navigation pour la landing page

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

Header Landing Page

Public

Le Landing Header est le premier element visible par les visiteurs. Il est transparent par defaut et devient blanc avec blur apres 100px de scroll. Il inclut le logo, la navigation et les actions (login + CTA).

3

Atomes

100px

Seuil scroll

fixed

Position

1

Controller

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

Composition

Atomes utilises

Logo

  • logo-with-text Bubul + BETA

Boutons

  • button CTA primary

Icones

  • icon menu hamburger
{# ===== UTILISATION ===== #}

Utilisation

Exemple de code Twig

{% verbatim %}{% include '_organisms/landing/header.html.twig' with {
    loginUrl: path('app_login'),
    ctaUrl: '#beta-signup',
    ctaLabel: 'Inscrivez-vous à la bêta',
    navItems: [
        { label: 'Fonctionnalités', href: '#features' },
        { label: 'Nos outils', href: '#how-it-works' },
        { label: 'Tarifs', href: '#pricing' },
        { label: 'FAQ', href: '#faq' }
    ]
} only %}{% endverbatim %}
{# ===== DEMO COMPORTEMENT ===== #}

Demo - Comportement

Transparent → Blanc au scroll (seuil 100px)

{# Etat initial #}

Etat initial (transparent)

Bubul BETA
Fonctionnalites Tarifs
{# Etat scrolled #}

Apres scroll (classe .scrolled)

Bubul BETA
Fonctionnalites Tarifs
{# Note technique #}

Stimulus Controller : Le controller shared--landing-header ajoute/retire la classe .scrolled automatiquement apres 100px de scroll.

{# ===== DEMO RESPONSIVE ===== #}

Demo - Responsive

Adaptations selon la taille d'ecran

Desktop (lg+)

Nav visible + Connexion

Tablet (sm-lg)

Connexion + Hamburger

Mobile (-sm)

CTA + Hamburger

{# ===== PARAMETRES ===== #}

Parametres

Options de configuration

Parametre Type Defaut Description
navItems array [] Array de {label, href} pour la navigation
loginUrl string '#' URL du lien Connexion
ctaUrl string '#beta-signup' URL du bouton CTA principal
ctaLabel string 'Inscrivez-vous à la bêta' Texte du bouton CTA
{# ===== NOTES TECHNIQUES ===== #}

Notes Techniques

Implementation

1

Position Fixed

Le header est en position: fixed pour rester visible lors du scroll.

2

Classe .scrolled

Apres 100px de scroll, la classe .scrolled est ajoutee pour le fond blanc + blur.

3

Smooth Scroll

Les liens internes (#) utilisent le smooth scroll avec offset automatique.

{% endblock %}