feat(tiktok): servir le fichier de vérification du domaine

TikTok exige de prouver la propriété du domaine ("URL properties") avant
d'autoriser la Content Posting API, en servant un fichier à la racine du
site.

Le dossier public-root/ est exposé publiquement à la racine du domaine et
monté avant le catch-all du frontend. Y déposer un fichier suffit : pas de
modification de code ni de reconstruction du client, ce qui couvre aussi
les prochaines vérifications (autre domaine, Google, Meta).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018uUPZ1GNpEkYB1dpXHYPek
This commit is contained in:
Claude committed 2026-08-11 16:27:26 +00:00
1 parent 3e00a3ca67
commit 0570088722
3 files changed
+23 -1

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
# Fichiers servis à la racine du domaine
Le contenu de ce dossier est exposé publiquement, sans authentification, à la
racine du domaine (`https://<domaine>/<nom-du-fichier>`).
Il sert aux fichiers de vérification de propriété du domaine réclamés par les
plateformes : TikTok (`tiktok<clé>.txt`, requis par « URL properties » avant de
pouvoir utiliser la Content Posting API), Google Search Console, Meta, etc.
Pour en ajouter un, il suffit de déposer le fichier ici — aucune modification de
code n'est nécessaire, et le fichier est servi sans reconstruire le frontend.
@@ -0,0 +1 @@
tiktok-developers-site-verification=Hjd5evuj6TppdUaAJmwmDg34f1fs0qMs
+11 -1
View File
@@ -1,7 +1,8 @@
import type { Express, Request, Response, NextFunction } from "express";
import express, { type Express, type Request, type Response, type NextFunction } from "express";
import { createServer, type Server } from "http";
import fs from "fs";
import os from "os";
import path from "path";
import { storage } from "./storage";
import { db, pool } from "./db";
import multer from "multer";
@@ -460,6 +461,15 @@ export async function registerRoutes(app: Express): Promise<Server> {
// Analytics Routes
app.use("/api/analytics", requireAuth, analyticsRouter);
// Fichiers servis à la racine du domaine, sans authentification : vérification
// de propriété du domaine par TikTok ("URL properties"), Google, Meta…
// Monté ici pour être servi avant le catch-all du frontend, et sans dépendre
// d'une reconstruction du client.
app.use(express.static(path.resolve(import.meta.dirname, "..", "public-root"), {
dotfiles: "ignore",
index: false,
}));
// Pages légales publiques (exigées par TikTok pour l'audit de l'application)
app.use(legalRouter);