Relevé dans le code le 2026-09-16. Même cause pour les quatre : XR-2 a réutilisé
AppConfigurationLinkScreen tel quel, et cet écran sert quatre canaux qui n'ont
pas les mêmes réglages. Le sélecteur bento ne pilote rien en VR (les spans sont
portés par le lien de configuration, pas par les sections), la notification
annonce « application mobile », la popup d'édition d'un casque est celle du
kiosk avec la moitié des champs morte, et un bento VR suppose des spans par
section jusque dans Unity.
Plan dans v2/vr-menu-bento-plan.md, carte kanban 340.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Carte 315 : mention IA du lot 6 absente en VR, audio narré et casting à porter, couture ScenePersona vers Persona, Parcours probablement vide sur le casque (à vérifier). Plan et STATUS à jour.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011VxSQeGQYUvPmSEoGdnidA
Résultats du calibrage (61 générations, coûts recoupés sur l'export fal),
trois corrections de prompt, unité 1 crédit = 0,015 $ vendue avec marge,
échantillons et figures d'archétypes embarqués ; planches contact dans
outputs/studio-calibrage-2026-09-15. STATUS, roadmap, cartes 280 et 310 à jour.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011VxSQeGQYUvPmSEoGdnidA
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>
Suite du chantier ouvert le 09/09 : 20 des 21 actions de l'audit sont faites.
Depuis le dernier commit : pages /marches-publics, /borne-kiosk et
/visite-hors-ligne en 4 langues, blog /fr/ressources, comparatifs sourcés
Smartify et STQRY, pages légales passées sous /{lang}/, sharp en dépendance.
Deux arbitrages de Thomas consignés :
- témoignages clients écartés (il ne souhaite pas solliciter les clients) ;
- deux pages XR à prévoir, /lunettes-connectees ET /casque-vr, à écrire
seulement quand chaque module sera démontrable (nouvelle carte kanban 335).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Ouvre le chantier 5ter : actions 1 à 9 faites le 10/09 (titres, schema
Organization, llms.txt, prérendu statique rétabli, page /tarifs, page
/assistant-ia dans les 4 langues). Vitrine LinkedIn créée, série de
posts rédigée — en deux vagues, celle qui pousse à l'inscription
attend la prod et un onboarding testé.
Les CGU sont publiées, ce qui clôt le lien mort de la case de
consentement de /signup : ce fichier reste la source, la page de la
landing en est le rendu. Corrige au passage deux passages qui citaient
les plans abandonnés (Starter/Standard) et réservaient l'IA à
« Standard et Premium ». La validation juridique reste due — elle a
sa carte.
Frais de mise en place : arbitré, aucun montant affiché ; la note et
la FAQ disent que le chiffrage arrive avant signature.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Ni Google ni Mapbox ne donnent un fond hors ligne gratuit, et Mapbox
se facture au nombre de tuiles, pas à la surface. Pour un musée de
plein air comme le Fourneau Saint-Michel, la réponse est son propre
plan dessiné : les repères se posent sur l'image, le plan est une
Resource, donc embarqué par le pipeline hors ligne existant.
Conception seule, rien n'est implémenté. Mapbox est passé fournisseur
par défaut le 04/09.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
§21.1 bis — 9 cas ajoutés avec le portage du téléchargement dans le
bento (home_3.0.dart, 08/09), dont le piège du fetch qui échoue en
mode avion et laisse les visites téléchargées affichées en « ↓ ».
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Suivi de la session du 07/09 : scripts de dump dans manager-service,
bucket unov-myinfomate-backups en EU, versioning activé sur le bucket
des médias, 1,43 Go recopiés. rclone n'est pas installé sur le VPS :
rien ne part encore hors site, la case reste ouverte.
Clôt la carte « destination des sauvegardes », ouvre celle du
branchement de notify.sh sur un canal réel.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Clos : GET /api/Instance/{id} renvoyait 403 à l'app visiteur. Une clé API donne
maintenant accès à sa seule instance, en vue réduite — plan, quotas, TVA,
facturation et pinCode retirés. Déployé en version-3.1.3 et vérifié en préprod
sur cinq cas d'autorisation.
La carte close garde le piège qui vaut pour tout le projet : le test « est-ce un
utilisateur du manager » ne peut pas se baser sur un claim de permission, parce
qu'AuthorizationMiddleware peuple HttpContext.User depuis le schéma ApiKey avant
de court-circuiter sur [AllowAnonymous]. Et elle rectifie une affirmation fausse
de la première rédaction : StripeCustomerId n'est pas exposé par ToDTO.
Nouveau, en Urgent : GET /api/Configuration répond 200 sans aucune clé. Ce n'est
pas une clé mal vérifiée mais un [AllowAnonymous] explicite, probablement hérité
de la v2. Le périmètre exact reste à établir — les autres routes que consomment
les apps visiteur n'ont pas été passées en revue.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>