Skip to content

feat(web): verdict de découper : tous les morceaux d'un mot chaîné - #111

Merged
Lunik merged 2 commits into
developfrom
claude/adoring-galileo-03i9j6
Nov 10, 2026
Merged

Lunik merged 2 commits into
developfrom
claude/adoring-galileo-03i9j6

Conversation

@Lunik

@Lunik Lunik commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

Résumé

Pour un mot dont une partie est elle-même un mot composé, le ricochet Découper attend maintenant toutes les coupes d'un coup (Content publie coupes: [3, 6] pour biologiste). Le parcours existait déjà dans la PWA (consigne « Coupez ce mot en N morceaux », une seule réponse, jugée par l'API) ; seul l'affichage du verdict ne suivait pas : il colorait les morceaux du premier niveau seulement.

  • morceauxDuMot descend dans les parties qui sont des mots composés et rend les morceaux élémentaires (bio · log · iste), aux couleurs de leurs briques ; une partie élidée est bornée par son segment. Il reproduit les coupes du compilateur de contenu : les deux changent ensemble.
  • La leçon montre le mot en briques élémentaires.
  • Ligne ajoutée à docs/roadmap.md.

Aucun changement d'API, de contrat ni de base : l'API juge déjà une liste de coupes.

Points à relire

  • Dépend de EtymoLogique/Content (PR jumelle) pour que coupes porte la coupe complète ; sans elle, le jeu se comporte comme avant.
  • cargo sqlx prepare --check et la recette à l'écran (mobile, ordinateur) non lancés ; aucun code Rust ni requête SQL n'a changé.

Vérification

  • npm run typecheck, npm run lint (un avertissement existant dans Plis.tsx) et npm test : 248 tests, dont trois nouveaux pour morceauxDuMot (chaîne, partie élidée, sans segments).

À fusionner avec EtymoLogique/Content et EtymoLogique/Design (ADR 0084).


Generated by Claude Code

…erdict

A word whose part is itself a composed word is cut in one go (etymologiste:
etymo | logie | iste); the verdict and the lesson now colour those pieces
instead of the first-level parts only. An elided part is clipped to its
segment, as the content compiler does.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkYb6EamApcbLXBiXShSgV
cargo audit fails on develop's Cargo.lock too. Update tokio (RUSTSEC-2026-0386,
lockfile only) and ignore RUSTSEC-2026-0459: libsqlite3-sys is never compiled,
as for the existing rsa entry (cargo tree -i libsqlite3-sys --target all -e all
is empty).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkYb6EamApcbLXBiXShSgV

Lunik commented Nov 10, 2026

Copy link
Copy Markdown
Contributor Author

Le job « API et tâches (Rust) » était rouge à cause de cargo audit, pas à cause de cette PR : elle ne modifie aucun code Rust ni Cargo.lock, et cargo audit échoue de la même façon en local sur develop. Deux avis : tokio 1.53.1 (RUSTSEC-2026-0386) et libsqlite3-sys 0.30.1 (RUSTSEC-2026-0459).

Correctif porté ici (ac87fbc) :

  • tokio 1.53.1 → 1.54.1, Cargo.lock seul ;
  • RUSTSEC-2026-0459 ajouté à .cargo/audit.toml, avec le commentaire de vérification de l'entrée rsa existante : libsqlite3-sys n'est jamais compilé (cargo tree -i libsqlite3-sys --target all -e all est vide, il n'est dans le lockfile que par sqlx). Le correctif amont (≥ 0.39) est un saut majeur.

En local : cargo audit sort 0, fmt, clippy -D warnings et 207 tests passent. Si vous préférez isoler ce correctif dans une PR séparée sur develop, je le retire d'ici.


Generated by Claude Code

@Lunik
Lunik marked this pull request as ready for review November 10, 2026 06:39
@Lunik
Lunik merged commit baa6cb4 into develop Nov 10, 2026
3 checks passed
@Lunik
Lunik deleted the claude/adoring-galileo-03i9j6 branch November 10, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants