DOCS/kanban/cards/5-planifie/305-le-watermark-des-images-est-inactif-depuis-l.md
Thomas Fransolet d70d851b6f Plan Studio consolide, lot 0 livre
studio-plan.md : section 8 executable pour les lots 0 a 4 (prerequis, etapes,
verifications, gate) et section 9 catalogue v0 (styles, preambule, gabarits,
calibrage). Decisions 14 a 21 : upload par URL signee et ingestion serveur,
MVP texte + image source sur objets et lieux, prix differes et Grant manuel,
une recharge prolonge tout le solde, plafonds d'upload par type, catalogue
calibre fin de lot 3, lignage en colonnes, contrat fournisseur multi-fichier.

Corrige les contradictions laissees par les revisions : Kind retire de
Persona, talking head, API credits, webhook fal.ai signe en ED25519 et non en
HMAC, enum ResourceType deja etendu. Les noms suivent le code du lot 0
(ResourceIngestionService, GetInfoAsync, ReadAllAsync).

immersif-frontiere-plan.md : decisions 1, 4 et 6 marquees reportees.

Kanban : cartes 280 et 300 a jour, carte 305 sur le watermark inactif depuis
l'upload direct.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-13 17:51:23 +02:00

1.5 KiB

title, area, horizon, tags, flag, src
title area horizon tags flag src
Le watermark des images est inactif depuis l'upload direct backend manager v2 manager-service, Médiathèque warn | IsImageWatermark activé ne filigrane rien conversation 13/09 — lot 0 du Studio (studio-plan.md §8)

Constat du 13/09. Le seul code de watermark vivait dans ResourceController.Upload (base64, System.Drawing) : il écrivait le texte « fortsaintheribert.be » en dur, en Arial. manager-app n'en applique aucun. Depuis que l'upload passe du navigateur à Firebase, aucune image n'est filigranée, même sur une instance où Instance.IsImageWatermark est activé.

Le lot 0 du Studio supprime ce code mort et ne réimplémente rien : pas de régression par rapport à la prod actuelle, mais le drapeau ment.

À trancher avant de le refaire, dans le ResourceIngestionService du lot 0 (le seul endroit qui voit passer toutes les images) :

  • le Fort le veut-il encore ?
  • texte ou logo, et par instance au lieu d'un nom de domaine en dur ;
  • une police embarquée dans le repo — Arial n'existe pas dans le conteneur aspnet:8.0 Linux — via SixLabors.ImageSharp.Drawing ;
  • jamais sur une Image360, comme la compression.

Distinct de la gravure « générée par IA » du Studio (Instance.IsAiWatermarkBurned, décision 6), qui réutilisera le même chemin.