v2.10.0 — Consigne pattern extended to steps 5 and 9
What's new
- Step 5 (Test Sheet): TinyMCE rich-text editor on the teacher consigne
page for an introduction text shown read-only above the student form
(live-read — teacher edits propagate immediately).
- Step 5: "Reset form" button on the student side, restoring all 12 fields
from the latest teacher consigne. Disabled after submission.
- Step 9 (FAST Diagram): rich-text editor + read-only display above the
student diagram.
- Step 9: "Reset form" button restoring the diagram from the teacher
consigne.
- Step 9: Submit button on the student side (did not exist before) — locks
the diagram after submission.
- AI evaluation: teacher consigne injected into the AI prompt for steps 5
and 9.
- AI guard: if the student submits a copy identical to the consigne, the
AI forces a 0/20 grade.
- Teacher grading view: now shows the student's FAST diagram (main
functions + technical functions) with Draft / Submitted indicator.
Fixes
- Step-scoped DOM ids prevent TinyMCE draft collisions between consigne pages.
fast_editor correctly forwards mode='provided' on autosave, writing to
the consigne table instead of the student table.
- Intro text autosave uses periodic polling (TinyMCE does not dispatch DOM
events on the underlying textarea).
- Submission timestamp now appears after "Submitted on" (lang string
interpolation fix).
- Reset reload defeats Firefox http cache via a throwaway query parameter.
- Step 9 resolves the student's group via the same logic as steps 4/5.
Database migration
Single migration step (2026050900) adds intro_text (TEXT, nullable) to
gestionprojet_essai_provided and gestionprojet_fast_provided. No backfill
— field is optional and empty by default.
Compatibility
Known limitations
- Step 7 (Student needs expression): consigne mode not yet available. Planned
for a future release.