Repository navigation
Description
Constat / besoin
Une fois les jalons d’un fascicule atteints, rien ne pousse le joueur à le terminer. Il faut un objectif lisible et fini, au niveau du fascicule : « tous les préfixes », « tous les suffixes », « tous les mots communs ». Ces objectifs doivent tenir quelle que soit la largeur de l’écran. Une quête « ligne du codex complétée » a été écartée parce que la ligne dépend de l’écran.
Piste 2 de la page de travail pistes-retention.html (Design#51), retenue par le propriétaire.
Vérification faite
- Code :
crates/domaine/src/jalon.rs(jalons par fascicule) etcrates/domaine/src/quete.rs(quêtes au long cours,Sorteà liste fermée) n’ont aucun critère « toutes les briques d’une famille » ou « tous les mots d’une rareté ».web/src/composants/Quetes.tsxn’affiche que les jalons et les quêtes au long cours. - ADR : rien d’équivalent. La quête se range dans 0045 (quêtes au long cours, liste fermée de conditions) et 0042 (récompense récupérée à la main). Elle respecte 0043 (légendaires secrètes), 0069 (déblocage progressif, aucun total pour un fascicule verrouillé) et 0040 (rareté affichée).
- Doublons : aucune issue ouverte ou fermée équivalente parmi les 42 du dépôt.
- Écart relevé en passant : le 3ᵉ jalon compte aujourd’hui les mots légendaires dans son total, ce qui trahit leur nombre (ADR 0043). À corriger dans la même série de PR.
- Verdict :
confirmé.
Comportement attendu
Où
Onglet Quêtes › Fascicules : un bloc « Collection » sous les jalons de chaque fascicule débloqué. Il reprend CartePalier : intitulé, compteur « 4 / 6 », barre, bouton « Récupérer ».
| Ordinateur | Téléphone | Téléphone, nocturne |
|---|---|---|
Quêtes par fascicule
Le fascicule déclare ses quêtes dans le catalogue. Proposition par défaut :
| Quête | Critère | Récompense |
|---|---|---|
| Tous les préfixes | chaque préfixe du pli du fascicule au codex | 20 gouttes d’encre, 1 sablier |
| Tous les suffixes | chaque suffixe du pli du fascicule au codex | 20 gouttes d’encre, 1 sablier |
| Tous les mots communs | chaque mot commun du fascicule découvert | 20 gouttes d’encre |
| Tous les peu communs | idem, rareté peu commune | 30 gouttes d’encre, 1 sablier |
| Tous les rares | idem, rareté rare, seulement si le fascicule en compte au moins 3 | 40 gouttes d’encre, 1 sablier |
Dans les fascicules parus, un fascicule a de 6 à 25 préfixes et de 14 à 18 suffixes.
- « Préfixes du fascicule » désigne les briques de son pli, y compris celles réemployées d’un fascicule précédent. Le filtre du codex par fascicule doit donc aussi montrer les briques réemployées, sinon le joueur ne retrouve pas ce qui lui manque.
- Les totaux excluent les légendaires (ADR 0043). Une brique ou un mot légendaire ne compte jamais et ne figure dans aucun total.
- Un fascicule verrouillé n’affiche que sa condition de déblocage, aucun total (ADR 0069).
- Une quête atteinte attend que le joueur la récupère (ADR 0042) ; une fois récupérée, elle reste visible, cochée.
| Fascicule complet | Récompense récupérée | Argile (sans quête « rares ») | Aleph verrouillé |
|---|---|---|---|
![]() |
Rareté plutôt que difficulté (retenu)
Le besoin initial parlait de « toutes les cartes de difficulté X ». Or l’ADR 0047 interdit d’afficher la difficulté au joueur, et les fascicules parus n’ont que 0 à 2 mots difficiles. La rareté est déjà affichée (ADR 0040) : c’est elle qui est retenue. La variante par difficulté reste ci-dessous pour mémoire.
Facultatif : quête au long cours
« Collectionneur de préfixes » : paliers à 1, 3 et 6 fascicules dont tous les préfixes sont au codex. Il s’agit d’une nouvelle Sorte dans la liste fermée de 0045.
Piste
Handoff. L’ordre suit la règle « API d’abord, rétrocompatible ; PWA ensuite ».
- ADR (dépôt Design) : « Quêtes de collection par fascicule », qui complète 0045 et 0042. Il consigne le choix de la rareté, fixe les récompenses par défaut et le seuil de 3 rares. Il met aussi à jour
game-design.md,interfaces.html(I-Quêtes) et le modèle de données. - Content :
- Ajouter un tableau
collectionsà chaque fascicule :{ id: "pal_…", critere: "prefixes" | "suffixes" | "rarete:commun" | …, encre, sabliers }. - Nouveaux contrôles dans
outils/src/controles.rs:fascicule.collection_doublon,fascicule.collection_trop_petite(moins de 3 éléments),fascicule.collection_sans_recompense,fascicule.collection_legendaire(critère qui ne viserait que des légendaires). compilation.rspublie les totaux calculés hors légendaires. Le client ne les recalcule pas.- Mettre à jour le schéma, les exemples, les tests et le README.
- Ajouter un tableau
- API :
- Dans
crates/domaine/src/quete.rs, ajouter un typeCollectionet sa fonction de progression, alimentée par le codex du joueur. - Dans la réponse de progression, ajouter
progression_collectionsavec#[serde(default)]. - La récupération réutilise la table
palier_recupere(migration20261004000002_paliers_au_long_cours.sql) et la route/palier: 403 si le fascicule est verrouillé ou la quête non atteinte, 409 si elle est déjà récupérée. Elle passe par une transaction, avec une clé d’idempotence et laversion_etat. - Régénérer
contrat/openapi.jsonet.sqlx/.
- Dans
- PWA :
- Dans
web/src/services/quetes.ts, ajouterquetesDeCollection(fascicule, progression). - Dans
web/src/composants/Quetes.tsx, ajouter le bloc « Collection » avecCartePalier. - Faire montrer les briques réemployées par le filtre du codex.
- Régénérer
web/src/contrat/api.d.ts.
- Dans
- Correctif associé : retirer les légendaires du total du 3ᵉ jalon (
jalon.rset son miroir côté PWA).
Prototype de référence : la démo « collection » de pistes-retention.html (données réelles des fascicules 1 à 6, légendaires exclues).
Critères d’acceptation
- L’ADR est rédigé (rareté retenue).
- Chaque fascicule paru déclare ses quêtes ;
etymo-contenu validerpasse et les quatre nouveaux contrôles ont leur test. - Aucun total ni aucune liste n’inclut de légendaire. Un test vérifie le cas d’un fascicule qui contient une brique légendaire.
- Un fascicule verrouillé n’expose aucun total, ni dans l’API ni à l’écran.
- Récupérer une récompense crédite l’encre et les sabliers côté serveur, une seule fois, de façon idempotente ; la PWA ne crédite rien localement.
- Le filtre du codex par fascicule montre les briques réemployées.
- Le 3ᵉ jalon ne compte plus les légendaires.
- À 390 px et 1440 px, en atelier et en nocturne : pas de débordement, cibles d’au moins 44 px,
check_identitysans erreur.

Activity
Lunik commentedon Oct 24, 2026
Livré par #95, fusionnée dans
develop(fbe41fc), par EtymoLogique/Content#39 (déclaration des quêtes) et par l’ADR 0082 de EtymoLogique/Design#51.Deux critères ne sont pas couverts et restent à faire dans une suite :
Generated by Claude Code