Ces deux sections sont issues de Kitsu (catalogue animés) — elles
n'ont pas de sens pour un compte en préférence « séries » et montraient
des animés malgré le filtre des nouveautés. Elles ne sont même plus
calculées (aucun appel Kitsu) et l'UI masque les sections vides.
+1 test (Kitsu simulé) — 115 au total.
- Colonne users.content_preference (anime|serie|both, défaut both) avec
migration automatique des bases existantes.
- GET /auth/me expose la préférence ; PUT /auth/preferences la met à
jour (422 si valeur invalide).
- /api/search : filtre les résultats par media_type ET ignore les
sources hors périmètre (une source anime-only n'est pas interrogée
en mode séries). Les films restent associés aux animés.
- /api/discover : nouveautés filtrées selon la même règle.
- Sélecteur compact dans la topbar (⛩/📺/✨), persisté serveur.
- 7 tests dédiés (roundtrip, rejet invalide, filtrage search/discover,
skip de sources) — 114 au total, ruff clean.
Prête pour la première source de séries : il ne reste qu'un module
SourceScraper avec media_types=("serie",) à écrire.