Supprime le type d'écran "document" et recentre le produit sur le jeu 2D
Build and deploy / test-python (push) Successful in 9m41s
Build and deploy / test-js (push) Successful in 1m0s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped

Le document de cadrage produit cible des formateurs non techniques créant
des serious games/quiz gamifiés — l'éditeur générique "document" (blocs de
logique en nœuds, timeline d'animation, définitions d'objets/relations,
templates réutilisables) est une complexité hors cible que l'effort
d'ingénierie récent avait déjà abandonnée au profit du jeu_2d.

- Onboarding : ne garde que le parcours "RPG" (jeu_2d), retire
  Quiz/Embranchement/Créer mon jeu de A à Z (tous document-only)
- Suppression en bloc des modules exclusifs au document : routes/elements,
  routes/element_types, routes/objects, routes/legacy_actions,
  screens/elements, screens/element_types, screens/widgets,
  screens/legacy_actions, le rendu render_element_html.py et son cluster,
  templates/screen_edit.html, templates/game_dashboard.html,
  flow-editor.js/tabs-and-blocks.js/animation-timeline.js
- Dashboard toujours simplifié (un seul mode possible désormais)
- Tests document-only supprimés, tests de logique partagée (flow,
  événements personnalisés, animations) retargetés sur des écrans jeu_2d
- Aucune régression jeu_2d : 299 tests passent

Carte d'onboarding retravaillée : argumentaire RH non technique (liste à
coche, badge "Compatible LMS"), taille et interaction de retournement
ajustées.
This commit is contained in:
william
2026-09-04 20:56:32 +02:00
parent 00f7191a8b
commit 50835a18e2
221 changed files with 1239 additions and 12245 deletions
+31 -34
View File
@@ -15,48 +15,45 @@ rendu jouable, seulement par le routage (routes/games/game_dashboard.py,
routes/screens/screens_new.py)."""
import db
DEFAULT_ONBOARDING_TYPE = "custom"
DEFAULT_ONBOARDING_TYPE = "rpg"
ONBOARDING_TYPES = {
"quiz": {
"label": "Quiz",
"tagline": "Questions, réponses, score.",
"icon": "🎯",
"description": "Gérer des questions/réponses, avec score.",
"screen_kind": "document",
"restricted": True,
},
"embranchement": {
"label": "Jeu à embranchement / escape game",
"tagline": "Chaque choix a une conséquence.",
"icon": "🗝️",
"description": (
"Former à travers le jeu sur des concepts métier avec des "
"conséquences observables ; réaliser des escape games sous "
"forme d'énigmes."
),
"screen_kind": "document",
"restricted": True,
},
"rpg": {
"label": "Jeu RPG",
"label": "Créer un jeu 2D ludique",
"tagline": "Ton monde, ton héros, ton scénario.",
"icon": "🗺️",
"description": "Réaliser des serious games scénarisés sous forme de RPG 2D sur navigateur.",
# Argumentaire pour un public RH non technique (voir .claude/
# Forge_Engine_Cadrage.pdf) : chaque point correspond à une
# fonctionnalité RÉELLEMENT construite (assistant "+ Action" de
# l'éditeur de collision pour les interactions, "❓ Boîte à quiz"/
# "🏆 Score" posables comme n'importe quel objet de scène, dialogue
# de quête par état "Nouvelle/En cours/Terminée", export SCORM 1.2
# natif), jamais une promesse. Du HTML de confiance (jamais de
# saisie utilisateur ici) — rendu via `|safe` dans
# templates/onboarding/onboarding_new.html, stylé par
# .onboardingPitch* dans static/style.css : liste à coche + badge
# LMS, pensé pour convaincre en un coup d'œil plutôt qu'un pavé de
# texte brut.
"description": (
'<span class="onboardingPitchTitle">Un jeu 2D ludique,'
" sans une ligne de code</span>"
'<ul class="onboardingPitchList">'
'<li><span class="onboardingPitchCheck">✓</span>'
"<span><strong>Personnages vivants</strong> — posez-les, donnez-leur"
" un rôle, ils bougent et réagissent seuls</span></li>"
'<li><span class="onboardingPitchCheck">✓</span>'
"<span><strong>Quiz animés</strong> — intégrés à la scène,"
" correction immédiate</span></li>"
'<li><span class="onboardingPitchCheck">✓</span>'
"<span><strong>Score &amp; dialogues</strong> — évoluent avec"
" chaque quête</span></li>"
"</ul>"
'<span class="onboardingPitchBadge">🎓 Compatible LMS —'
" export SCORM en 1 clic</span>"
),
"screen_kind": "jeu_2d",
"restricted": True,
},
"custom": {
"label": "Créer mon jeu de A à Z",
"tagline": "Toute la puissance du moteur, sans limite.",
"icon": "⚡",
"description": (
"Pour les utilisateurs avec des notions de dev/jeu vidéo : "
"accès à toute la puissance du moteur."
),
"screen_kind": "document",
"restricted": False,
},
}
+1 -1
View File
@@ -1,6 +1,6 @@
from ..connection import connect
DEFAULT_GAME_TYPE = "document"
DEFAULT_GAME_TYPE = "jeu_2d"
def get_game_type(slug):