{# # ============================================================================ # ORGANISM: LANDING TRUST & COMPLIANCE # ============================================================================ # # 2-column layout: text + compliance badges left, compliance panel right. # # ============================================================================ # COMPOSITION # ============================================================================ # # - _atoms/icon/icon.html.twig # # ============================================================================ # PARAMETRES # ============================================================================ # # | Parametre | Type | Defaut | Description | # |------------|--------|---------------------------------|----------------------------------------------| # | class | string | '' | Classes CSS additionnelles sur la section | # | eyebrow | string | 'CONFIANCE & CONFORMITE' | Petit texte en haut | # | title | string | 'Confidentialite et...' | Titre H2 (HTML autorise pour gradient span) | # | subtitle | string | 'Bubul est concu...' | Paragraphe descriptif | # | badges | array | (default 4 badges) | Badges de conformite (grille 2x2) | # | panelItems | array | (default 4 items) | Items du panneau de conformite | # | panelTitle | string | 'conformité — vue d\'ensemble' | Panel window title bar text | # # badges[]: { iconName, iconColor, iconBg, label } # panelItems[]: { iconName, iconColor, iconBg, title, desc, tagClass, tagLabel } # # ============================================================================ # USAGE EXAMPLES # ============================================================================ # # {% include '_organisms/landing/trust.html.twig' with { # eyebrow: 'CONFIANCE & CONFORMITE', # title: 'Confidentialite et transparence des le premier jour', # subtitle: 'Bubul est concu avec la confidentialite au coeur...', # badges: [ { iconName: 'shield', iconColor: 'primary', iconBg: 'rgba(12,129,228,0.08)', label: 'Hebergement EU' } ], # panelItems: [ { iconName: 'shield', iconColor: 'primary', iconBg: 'rgba(12,129,228,0.1)', title: '...', desc: '...', tagClass: 'trust-tag--active', tagLabel: 'Actif' } ] # } only %} # # ============================================================================ #} {# ============================================================================ DEFAULT VALUES ============================================================================ #} {% set class = class ?? '' %} {% set eyebrow = eyebrow ?? 'CONFIANCE & CONFORMITÉ' %} {% set title = title ?? 'Confidentialité et transparence dès le premier jour' %} {% set subtitle = subtitle ?? 'Bubul est conçu avec la confidentialité au cœur de son architecture. Nos serveurs d\'hébergement sont basés en Europe, vos données ne sont jamais réutilisées pour entraîner des modèles IA, et chaque requête affiche son impact écologique en temps réel.' %} {% set defaultBadges = [ { iconName: 'shield', iconColor: 'primary', iconBg: 'rgba(12, 129, 228, 0.08)', label: 'Hébergement EU' }, { iconName: 'check-circle', iconColor: 'cohorts', iconBg: 'rgba(124, 58, 237, 0.08)', label: 'Loi IA européenne' }, { iconName: 'lock', iconColor: 'success', iconBg: 'rgba(48, 147, 68, 0.08)', label: 'Données non réutilisées' }, { iconName: 'bolt', iconColor: 'warning', iconBg: 'rgba(245, 158, 11, 0.08)', label: 'Empreinte CO₂ suivie' } ] %} {% set badges = badges ?? defaultBadges %} {% set defaultPanelItems = [ { iconName: 'shield', iconColor: 'primary', iconBg: 'rgba(12,129,228,0.1)', title: 'Hébergement européen', desc: 'Nos serveurs Bubul sont hébergés en Europe. Conformité RGPD complète en cours — les traitements IA via OpenAI relèvent du droit américain.', tagClass: 'trust-tag--progress', tagLabel: 'En cours' }, { iconName: 'check-circle', iconColor: 'info', iconBg: 'rgba(6,182,212,0.1)', title: 'Conforme AI Act', desc: 'Transparence algorithmique complète. Traçabilité de chaque génération.', tagClass: 'trust-tag--active', tagLabel: 'Actif' }, { iconName: 'lock', iconColor: 'primary', iconBg: 'rgba(12,129,228,0.1)', title: 'Vos données vous appartiennent', desc: 'Vos contenus ne sont jamais utilisés pour entraîner des modèles IA.', tagClass: 'trust-tag--guaranteed', tagLabel: 'Garanti' }, { iconName: 'bolt', iconColor: 'info', iconBg: 'rgba(6,182,212,0.1)', title: 'Empreinte carbone visible', desc: 'Chaque requête affiche son impact en Wh et CO2 estimé.', tagClass: 'trust-tag--tracked', tagLabel: 'Tracké' } ] %} {% set panelItems = panelItems ?? defaultPanelItems %} {% set panelTitle = panelTitle ?? 'conformité — vue d\'ensemble' %} {# Tag style map — replaces .trust-tag + modifier classes (moved from landing.css to Tailwind) #} {% set tagStyleMap = { 'trust-tag--active': 'text-[0.65rem] font-bold px-2.5 py-[3px] rounded-full whitespace-nowrap shrink-0 uppercase tracking-[0.5px] bg-[rgba(48,147,68,0.1)] text-success', 'trust-tag--progress': 'text-[0.65rem] font-bold px-2.5 py-[3px] rounded-full whitespace-nowrap shrink-0 uppercase tracking-[0.5px] bg-[rgba(245,158,11,0.1)] text-[#D97706]', 'trust-tag--guaranteed': 'text-[0.65rem] font-bold px-2.5 py-[3px] rounded-full whitespace-nowrap shrink-0 uppercase tracking-[0.5px] bg-[rgba(12,129,228,0.1)] text-primary', 'trust-tag--tracked': 'text-[0.65rem] font-bold px-2.5 py-[3px] rounded-full whitespace-nowrap shrink-0 uppercase tracking-[0.5px] bg-[rgba(245,158,11,0.1)] text-[#D97706]' } %} {# ============================================================================ HTML OUTPUT ============================================================================ #} {# ===== Left: Text ===== #} {{ eyebrow }} {{ title|raw }} {{ subtitle }} {# Compliance badges #} {% if badges|length > 0 %} {% for badge in badges %} {% include '_atoms/icon/icon.html.twig' with { name: badge.iconName, size: 'md', color: badge.iconColor } only %} {{ badge.label }} {% endfor %} {% endif %} {# ===== Right: Compliance Panel ===== #} {# Panel header #} {{ panelTitle }} {# Compliance items #} {% if panelItems|length > 0 %} {% for item in panelItems %} {% include '_atoms/icon/icon.html.twig' with { name: item.iconName, size: 'sm', color: item.iconColor } only %} {{ item.title }} {{ item.desc }} {{ item.tagLabel }} {% endfor %} {% endif %}
{{ eyebrow }}
{{ subtitle }}