{% extends 'base.html.twig' %} {% block title %}Landing Screenshots - Design System - Bubul{% endblock %} {% block body %}
Showcase des 6 outils avec tabs CSS-only
Section showcase des 6 outils Bubul avec des onglets interactifs CSS pur (radio buttons + :checked selectors, aucun JavaScript).
Chaque onglet affiche description, features et un placeholder de screenshot.
6
Outils
CSS
Tabs sans JS
radio
Input hidden
:has()
CSS moderne
Atomes utilises
icon
Icone dans les onglets et les features (check-circle)
Exemple de code Twig
{% verbatim %}{# Defaut (6 outils Bubul) #}
{% include '_organisms/landing/screenshots.html.twig' only %}
{# Personnalise #}
{% include '_organisms/landing/screenshots.html.twig' with {
surtitle: 'NOS OUTILS',
title: '6 outils pedagogiques, une seule plateforme',
tools: [
{
id: 'moodia',
name: 'Moodia',
icon: 'widget-add',
color: 'primary',
tagline: 'Cours LMS complet au format .mbz',
description: 'Description...',
features: ['Feature 1', 'Feature 2'],
screenshot_note: 'Screenshot: interface Moodia',
activeClasses: 'bg-primary/10 text-primary border-primary',
placeholderBg: 'bg-primary/5 border-primary/20'
}
],
id: 'screenshots'
} only %}{% endverbatim %}
Options de configuration
| Parametre | Type | Defaut | Description |
|---|---|---|---|
surtitle |
string | 'NOS OUTILS' | Eyebrow text uppercase |
title |
string | '6 outils pedagogiques...' | Titre H2 de la section |
tools |
array | (6 outils defaut) | Liste des outils. Chaque outil: { id, name, icon, color, tagline, description, features, screenshot_note, activeClasses, placeholderBg } |
class |
string | '' | Classes CSS additionnelles |
id |
string | 'screenshots' | Ancre HTML de la section |
Mecanisme CSS-only
Des <input type="radio" class="hidden"> sont rendus avant les labels. Le premier est checked par defaut.
Le CSS utilise .screenshots-tabs:has(#tab-moodia:checked) pour activer le bon panel et styler le bon label.
Chaque outil a ses regles CSS hardcodees dans la balise <style> en bas du composant. Pour ajouter un outil, ajouter les regles CSS correspondantes.