Skip to content

Meta #D — Retrait du sous-système FoundryVTT (lot séparé, impact fédération) #116

Description

@RebelliousSmile

Type : refactor / removal · App : games, core, activitypub · Priorité : moyenne

⚠️ Ne pas fusionner dans la migration de #113. Removal avec impact sur le contrat fédéré. À traiter isolément, après validation du méta-modèle.

Périmètre exact (confirmé sur main)

Points de couplage FoundryVTT / GameSystem à retirer ou neutraliser :

  1. suddenly/games/models.py — modèle GameSystem (« synced from the official Foundry package registry », champs git_url, is_deprecated, synced_at) et FK Game.game_system_ref. Décider : suppression complète, ou conservation de GameSystem vidé de sa sémantique Foundry (table de tags libres) ?
  2. suddenly/games/tasks.pysync_foundry_systems (tâche Celery, scrape de https://foundryvtt.com/packages/systems/) + helpers _parse_total_pages, _extract_systems. À supprimer.
  3. suddenly/games/management/commands/sync_foundry_systems.py — commande de sync. À supprimer.
  4. tests/games/test_tasks.py — tests de la tâche de sync. À retirer/adapter.
  5. suddenly/activitypub/serializers.py (~l.101) — data["gameSystem"] = game.game_system. Décider du sort de ce champ AP (voir Meta #F — Extension JSON-LD suddenly:traitSet (fédération) — DIFFÉRÉE #118 : bascule éventuelle vers extension suddenly:).
  6. suddenly/core/services.pyget_distinct_game_systems() (facette explorer) + suddenly/core/cache_invalidation.py invalidate_explorer_game_systems + enregistrement des signaux dans suddenly/core/apps.py.
  7. templates/games/game_form.html — picker « système catalogue vs custom » (game_system_slug / game_system_custom) + front_views.py (~l.229-232) qui résout GameSystem.objects.filter(slug=...).
  8. CHANGELOG.md — entrées Foundry.

Décision à trancher dans l'issue

  • Game.game_system (CharField texte libre) : conservé (label libre, cohérent avec la nouvelle approche) ou retiré au profit des seuls tags ? Recommandation : conserver comme champ texte libre, retirer seulement game_system_ref + le catalogue.

Definition of Done

  • Tâche Celery + commande de sync supprimées.
  • GameSystem / game_system_ref retirés ou réduits selon décision.
  • Facette explorer « systèmes distincts » retirée ou reconvertie en tags.
  • Migration de suppression générée et revue.
  • Sérialiseur AP : gameSystem traité (retiré ou déféré à Meta #F — Extension JSON-LD suddenly:traitSet (fédération) — DIFFÉRÉE #118).
  • Aucune référence résiduelle à foundryvtt.com ni au registry.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions