{# # ============================================================================ # ORGANISM: LANDING TOOLS — STICKER BOARD # ============================================================================ # # Planche de stickers scatter : placement absolu, rotation initiale par outil, # animation de chute à l'entrée (staggered), hover qui redresse + soulève # + déploie le bouton "Lancer [Outil]" via max-height reveal. # # Couleurs : fond pastel = rgba(col_db, 0.26) ; encre = col_db (badge, bouton, icône). # Responsive < 960px : colonne centrée, bouton toujours visible. # # ============================================================================ # PARAMETRES # ============================================================================ # # | Parametre | Type | Defaut | Description | # |-----------|--------|--------------------------------------|--------------------------| # | eyebrow | string | 'LA PLANCHE D\'OUTILS' | Pill eyebrow | # | title | string | 'Une boîte à outils ...' | Titre (HTML autorisé) | # | tools | array | (9 outils par défaut) | Liste d'objets tool | # | class | string | '' | Classes additionnelles | # # ============================================================================ #} {# ============================================================================ DEFAULT VALUES ============================================================================ #} {% set class = class ?? '' %} {% set eyebrow = eyebrow ?? 'NOS OUTILS' %} {% set title = title ?? 'Un outil dédié pour chaque besoin' %} {% set tools = tools ?? [ { code: 'moodia', description: 'Transformez un PDF en cours LMS complet avec sections, activités, quiz et podcasts. Export natif .mbz.', badge: '.MBZ', iconName: 'bubul-moodia' }, { code: 'scormia', description: 'Créez des modules e-learning interactifs (quiz notés, flashcards, exercices) depuis un PDF ou un sujet. Export SCORM pour Moodle et tous les LMS.', badge: 'SCORM', iconName: 'bubul-scormia', beta: true }, { code: 'slidia', description: 'Générez des présentations professionnelles aux couleurs de votre charte graphique en quelques secondes.', badge: '.PPTX', iconName: 'bubul-slidia' }, { code: 'serenia', description: 'Assistant IA confidentiel avec upload de fichiers. Vos données restent privées.', badge: 'Chat IA', iconName: 'bubul-serenia' }, { code: 'monalisia', description: 'Créez des infographies percutantes aux couleurs de votre charte, depuis un texte ou un PDF.', badge: '.PNG', iconName: 'bubul-monalisia' }, { code: 'castia', description: 'Produisez des podcasts pédagogiques avec des voix naturelles. Idéal pour enrichir vos parcours.', badge: '.MP3', iconName: 'bubul-castia' }, { code: 'pixia', description: 'Générez des images pédagogiques IA à partir d\'un texte ou d\'un PDF. Intégration directe dans Moodia.', badge: '.PNG', iconName: 'bubul-pixia', isNew: true }, { code: 'promptly', description: 'Bibliothèque de prompts IA partagés et personnels. Recherche instantanée et lancement direct sur Serenia.', badge: 'Prompts', iconName: 'bubul-promptly', isNew: true }, { code: 'sam', description: 'Suivez la progression de vos apprenants en temps réel. KPIs, alertes et synchronisation automatique avec Moodle.', badge: 'Dashboard', iconName: 'bubul-sam' } ] %} {# ============================================================================ COULEURS DYNAMIQUES depuis la DB ============================================================================ #} {% set colMoodia = tool_color_details['moodia'].primary ?? '#0C81E4' %} {% set colSlidia = tool_color_details['slidia'].primary ?? '#E91E8C' %} {% set colSerenia = tool_color_details['serenia'].primary ?? '#7C3AED' %} {% set colMonalisia = tool_color_details['monalisia'].primary ?? '#EC4899' %} {% set colCastia = tool_color_details['castia'].primary ?? '#309344' %} {% set colSam = tool_color_details['sam'].primary ?? '#06B6D4' %} {% set colPromptly = tool_color_details['promptly'].primary ?? '#F97316' %} {% set colPixia = tool_color_details['pixia'].primary ?? '#6366F1' %} {% set colScormia = tool_color_details['scormia'].primary ?? '#1E40AF' %} {% set colorMap = { 'moodia': colMoodia, 'scormia': colScormia, 'slidia': colSlidia, 'serenia': colSerenia, 'monalisia': colMonalisia, 'castia': colCastia, 'sam': colSam, 'promptly': colPromptly, 'pixia': colPixia } %} {# ============================================================================ LAYOUT — positions absolues + tilts + delays d'animation ============================================================================ #} {# Grille 3×3 : colonnes alignées (9% / 39% / 69%), 3 rangées (0% / 33% / 66%), largeur uniforme + légers tilts pour conserver l'esprit « sticker ». #} {% set slotMap = { 'moodia': { left: '9%', top: '0%', width: '252px', tilt: '-4', delay: '80ms' }, 'scormia': { left: '39%', top: '0%', width: '252px', tilt: '3', delay: '160ms' }, 'slidia': { left: '69%', top: '0%', width: '252px', tilt: '-2.5', delay: '240ms' }, 'serenia': { left: '9%', top: '33%', width: '252px', tilt: '2.5', delay: '320ms' }, 'monalisia': { left: '39%', top: '33%', width: '252px', tilt: '-3.5', delay: '400ms' }, 'castia': { left: '69%', top: '33%', width: '252px', tilt: '2', delay: '480ms' }, 'pixia': { left: '9%', top: '66%', width: '252px', tilt: '-2', delay: '560ms' }, 'promptly': { left: '39%', top: '66%', width: '252px', tilt: '4', delay: '640ms' }, 'sam': { left: '69%', top: '66%', width: '252px', tilt: '-3', delay: '720ms' } } %} {# ============================================================================ HTML OUTPUT ============================================================================ #}
{# ===== Header ===== #}

{{ eyebrow }}

{{ title|raw }}

{# ===== Sticker Board ===== #}
{% for tool in tools %} {% set col = colorMap[tool.code] ?? '#0C81E4' %} {% set rgb = col|hex_to_rgb %} {% set displayName = tool_details[tool.code].name ?? tool.name ?? tool.code %} {% set displayDesc = tool_details[tool.code].description ?? tool.description %} {% set slot = slotMap[tool.code] ?? { left: '0', top: '0', width: '248px', tilt: '0', delay: '0ms' } %}
{# --- Head : icon pill + badge --- #}
{% include '_atoms/icon/icon.html.twig' with { name: tool.iconName, size: 'sm', colorPrimary: col, colorSecondary: col } only %}
{% if tool.beta ?? false %} BETA {% endif %} {{ tool.badge }}
{# --- Nom + description --- #}

{{ displayName }}

{{ displayDesc }}

{# --- Bouton (révélé au hover) --- #} Lancer {{ displayName }}
{% endfor %}
{# ===== Hint ===== #}

survolez un sticker pour le décoller