{# # ============================================================================ # PAGE: MOODIA GENERATION — Design "Ring + Step Pills" (v2) # ============================================================================ # # 2 couches : # FOND — Gradient bleu pastel + glows bleus diffus # CONTENU — 2 colonnes : grand ring loader (gauche) + step pills (droite) # # ============================================================================ # STIMULUS CONTROLLER # ============================================================================ # # data-controller="moodia--generation" # Values: streamUrl, editorUrl # Targets: status, ringBar, ringGlow, pct, elapsed, # stepCircle, stepConnector, # mainContent, error, errorText, # bottomBar, timeRemaining, actionBtn # #} {% extends 'base.html.twig' %} {% block show_sidebar %}false{% endblock %} {% block title %}Moodia - Génération du cours{% endblock %} {% block meta_description %}Génération de votre cours Moodle en temps réel avec l'IA.{% endblock %} {% block body %}
{# ==================================================================== BACKGROUND — Gradient bleu pastel + glows diffus ==================================================================== #}
{# ==================================================================== CONTENU — 2 colonnes ==================================================================== #}
{# ── LEFT: Ring Loader ── #}
0%
Initialisation…
00:00
{# ── RIGHT: Steps ── #}
Étapes de génération
{% set steps = [ {id: 'extraction', label: 'Analyse du document source', desc: 'Extraction du texte et des concepts clés'}, {id: 'plan', label: 'Structure du cours', desc: 'Organisation du parcours d\'apprentissage'}, {id: 'content', label: 'Rédaction du contenu', desc: 'Génération de toutes les activités en parallèle'}, {id: 'done', label: 'Compilation finale', desc: 'Vérification et assemblage du cours'} ] %}
{% for step in steps %} {% if not loop.first %}
{% endif %}
{{ loop.index }}
{{ step.label }}
{{ step.desc }}
{% endfor %}
Temps estimé : Estimation…
{# ==================================================================== SUCCESS OVERLAY — Appears after generation completes ==================================================================== #} {# ==================================================================== MESSAGE D'ERREUR ==================================================================== #} {# ==================================================================== MODAL DE CONFIRMATION D'ANNULATION ==================================================================== #} {% embed '_molecules/modal/modal.html.twig' with { id: 'cancel-generation-modal', title: 'Annuler la génération ?', variant: 'warning' } %} {% block body %}

La génération est en cours. Si vous annulez maintenant, toute la progression sera perdue.

{% endblock %} {% block footer %} {% include '_atoms/button/button.html.twig' with { label: 'Continuer', variant: 'ghost', size: 'lg', type: 'button', attr: { onclick: "closeModal('cancel-generation-modal')" } } only %} {% include '_atoms/button/button.html.twig' with { label: 'Oui, annuler', variant: 'warning', size: 'lg', icon: 'x', type: 'button', attr: { 'data-action': 'click->moodia--generation#confirmCancel' } } only %} {% endblock %} {% endembed %}
{% endblock %}