{#
# ============================================================================
# ORGANISM: LANDING SCREENSHOTS
# ============================================================================
#
# Section showcase des 6 outils Bubul avec tabs interactifs en CSS pur
# (radio buttons, aucun JavaScript). Chaque tab affiche une description
# avec features et un placeholder pour le screenshot correspondant.
#
# ============================================================================
# COMPOSITION
# ============================================================================
#
# - _atoms/icon/icon.html.twig (icones Solar dans tabs, features check-circle)
#
# ============================================================================
# PARAMETERS
# ============================================================================
#
# | Parameter | Type | Default | Description |
# |-----------|--------|--------------------------------------|-----------------------------|
# | surtitle | string | 'NOS OUTILS' | Eyebrow text |
# | title | string | '6 outils pédagogiques,...' | H2 title |
# | tools | array | (default 6 tools) | [{id, name, icon, color, tagline, description, features, screenshot_note, activeClasses, placeholderBg}] |
# | class | string | '' | Additional CSS classes |
# | id | string | 'screenshots' | HTML anchor id |
#
# ============================================================================
# USAGE EXAMPLES
# ============================================================================
#
# {% include '_organisms/landing/screenshots.html.twig' only %}
#
# ============================================================================
#}
{# ============================================================================
DEFAULT VALUES
============================================================================ #}
{% set surtitle = surtitle ?? 'NOS OUTILS' %}
{% set title = title ?? '6 outils pédagogiques, une seule plateforme' %}
{% set id = id ?? 'screenshots' %}
{% set class = class ?? '' %}
{# ============================================================================
TOOLS DATA
============================================================================ #}
{% set defaultTools = [
{
id: 'moodia',
name: 'Moodia',
icon: 'widget-add',
color: 'primary',
tagline: 'Cours LMS complet au format .mbz',
description: 'Décrivez votre cours ou déposez votre PDF. Moodia génère automatiquement pages, podcasts et quiz au format .mbz prêt à importer dans Moodle. Votre cours est entièrement modifiable avant export.',
features: ['Cours complet avec pages texte-image', 'Quiz générés automatiquement', 'Podcast pédagogique intégré', 'Export .mbz natif Moodle'],
screenshot_note: 'Screenshot : interface de génération Moodia (wizard étapes)',
activeClasses: 'bg-primary/10 text-primary border-primary',
placeholderBg: 'bg-primary/5 border-primary/20'
},
{
id: 'slidia',
name: 'Slidia',
icon: 'presentation-graph',
color: 'pink',
tagline: 'Diaporamas aux couleurs de votre établissement',
description: 'Générez des présentations respectant réellement les formats PowerPoint et OpenOffice. Slidia s\'adapte à vos masques d\'établissement pour un rendu professionnel immédiat.',
features: ['Format PowerPoint et OpenOffice natif', 'Masques d\'établissement personnalisés', 'Adaptation rapide au contexte', 'Prêt à projeter en quelques secondes'],
screenshot_note: 'Screenshot : interface Slidia avec aperçu de présentation',
activeClasses: 'bg-pink/10 text-pink border-pink',
placeholderBg: 'bg-pink/5 border-pink/20'
},
{
id: 'serenia',
name: 'Serenia',
icon: 'chat',
color: 'cohorts',
tagline: 'Le LLM sécurisé orienté pédagogie',
description: 'Serenia, c\'est la puissance d\'un LLM avec la rigueur d\'un pédagogue. Vos données restent confidentielles, et chaque réponse est pensée pour favoriser l\'apprentissage.',
features: ['Sécurité totale des données', 'Orientation pédagogique des réponses', 'Upload et analyse de fichiers', 'Suivi de votre empreinte écologique'],
screenshot_note: 'Screenshot : interface chat Serenia',
activeClasses: 'bg-cohorts/10 text-cohorts border-cohorts',
placeholderBg: 'bg-cohorts/5 border-cohorts/20'
},
{
id: 'monalisia',
name: 'Monalisia',
icon: 'monalisia',
color: 'warning',
tagline: 'Infographies aux couleurs de votre établissement',
description: 'Transformez n\'importe quel texte ou support de cours en infographie percutante. Monalisia respecte votre charte graphique pour un rendu immédiatement professionnel.',
features: ['À partir de texte ou PDF', 'Aux couleurs de votre établissement', 'Export haute résolution', 'Synthèse visuelle automatique'],
screenshot_note: 'Screenshot : interface Monalisia avec aperçu infographie',
activeClasses: 'bg-warning/10 text-warning border-warning',
placeholderBg: 'bg-warning/5 border-warning/20'
},
{
id: 'castia',
name: 'Castia',
icon: 'microphone',
color: 'success',
tagline: 'Podcasts pédagogiques en 2 coups de cuillère à pot',
description: 'Générez vos podcasts pédagogiques à partir d\'un simple texte. Voix naturelles, mise en forme automatique — vos apprenants découvrent une nouvelle façon d\'apprendre.',
features: ['Voix naturelles IA', 'À partir de n\'importe quel texte', 'Format audio professionnel', 'Multi-langues supporté'],
screenshot_note: 'Screenshot : interface Castia avec lecteur audio',
activeClasses: 'bg-success/10 text-success border-success',
placeholderBg: 'bg-success/5 border-success/20'
},
{
id: 'sam',
name: 'SAM',
icon: 'user-id',
color: 'info',
tagline: 'Dashboard de suivi pour admins LMS',
description: 'SAM connecte votre LMS via l\'API et vous offre un dashboard graphique complet. Suivez la progression de vos apprenants, gérez vos cohortes et pilotez vos inscriptions depuis Bubul.',
features: ['Dashboard graphique de progression', 'Gestion des cohortes et inscriptions', 'Connexion API LMS native', 'Suivi centralisé multi-instances'],
screenshot_note: 'Screenshot : interface SAM tableau de bord',
activeClasses: 'bg-info/10 text-info border-info',
placeholderBg: 'bg-info/5 border-info/20'
}
] %}
{# ============================================================================
HTML OUTPUT
============================================================================ #}
{% set tools = tools ?? defaultTools %}
{# ===== Header ===== #}
{{ surtitle }}
{{ title }}
{# ===== Tab System (CSS-only with radio buttons) ===== #}
{# Hidden radio inputs #}
{% for tool in tools %}
{% endfor %}
{# Tab labels #}
{% for tool in tools %}
{% endfor %}
{# Tab panels #}
{% for tool in tools %}
{# Left: Description + Features #}
{% include '_atoms/icon/icon.html.twig' with { name: tool.icon, size: 'xl', color: tool.color } only %}
{{ tool.name }}
{{ tool.tagline }}
{{ tool.description }}
{% for feature in tool.features %}
{% include '_atoms/icon/icon.html.twig' with { name: 'check-circle', size: 'md', color: tool.color } only %}
{{ feature }}
{% endfor %}
{# Right: Screenshot placeholder #}
{% include '_atoms/icon/icon.html.twig' with { name: tool.icon, size: '5xl', color: tool.color } only %}
{{ tool.screenshot_note }}
{% endfor %}
{# ============================================================================
CSS-ONLY TAB LOGIC (radio :checked selectors)
============================================================================
The radio inputs and tab bar / panels are all direct children of
.screenshots-tabs, so the general sibling combinator (~) works.
We use :has() as a fallback for broader browser support.
============================================================================ #}