02-ce-que-je-construis/specs/telaria-admin.md

Telaria Admin

Telaria Admin est le backoffice global de Codexia. Il fournit une interface d'administration unique pour gérer les fonctionnalités transverses (utilisateurs, rôles, traductions, recherche, CMS, paramètres applicatifs) et pour administrer les plugins via un CRUD générique. Sources : Architecture, Design, Bootstrap.

Positionnement

  • Backoffice fonctionnel, distinct de l'Ă©diteur de documentation.
  • Administration du site via un sous-domaine dĂ©diĂ©.
  • V1 orientĂ©e gestion et cohĂ©rence, sans surcharge visuelle. Sources : Branding, Design.

Accès et URLs

Sous-domaine :

  • admin.telaria.fr

Réécriture Apache :

  • Les URLs publiques du backoffice sont exposĂ©es en /controller/action.
  • Apache réécrit en interne vers /admin/controller/action. Source : Apache mod_rewrite.

Exemple Apache (VirtualHost) :

RewriteEngine On
RewriteCond %{HTTP_HOST} ^admin\.telaria\.fr$ [NC]
RewriteRule ^/(.*)$ /admin/$1 [L]

Source : Apache mod_rewrite.

Routage Symfony

Les contrôleurs d'administration restent sous /admin/* et sont mappés par les routes Symfony standard. Source : Symfony Routing.

Périmètre V1

Modules gérés dans l'admin :

  • Utilisateurs
  • RĂ´les
  • Traductions
  • Recherche
  • CMS
  • Paramètres applicatifs

CRUD générique pour plugins

Objectif :

  • Éviter des vues dĂ©diĂ©es par plugin.
  • DĂ©clarer un plugin via configuration et alimenter un CRUD automatique.

Configuration minimale (exemple) :

# config/packages/Telaria_admin.yaml
Telaria_admin:
  bundles:
    telaria-cms:
      label: "CMS"
      list: "App\\Controller\\Admin\\CmsContentController::index"
      create: "App\\Controller\\Admin\\CmsContentController::new"
      edit: "App\\Controller\\Admin\\CmsContentController::edit"
      delete: "App\\Controller\\Admin\\CmsContentController::delete"

Règles :

  • Le backoffice appelle les actions dĂ©clarĂ©es.
  • Chaque bundle fournit ses services et ses formulaires.
  • Le CRUD gĂ©nĂ©rique se limite Ă  l'orchestration et Ă  l'UI standard.

UI et ergonomie

Principes :

  • LisibilitĂ© et densitĂ© maĂ®trisĂ©e.
  • Actions principales mises en avant.
  • Erreurs explicites et proches des champs. Sources : Branding, Design, Bootstrap.

Sécurité et rôles

L'accès est régi par le système d'authentification existant et des rôles dédiés. Rôles réellement implémentés (develop, v0.5.0) :

  • ROLE_USER (lecteur)
  • ROLE_ADMIN

Rôles conceptuels — non encore implémentés (domaine CMS, parqué sur la branche wip-cms-before-ia-landing, hors develop) :

  • ROLE_CMS_ADMIN
  • ROLE_CMS_EDITOR
  • ROLE_CMS_REVIEWER

Les contrĂ´leurs appliquent des Voters pour centraliser les droits. Source : Symfony Voters.

Pilotage de la consommation API (/admin/metrics, v0.5.0 — implémenté)

Surface réellement livrée en prod sur telaria v0.5.0 (à distinguer du périmètre conceptuel ci-dessus). Source : rétro-doc Lead dev (#30). Le canon décrit le comportement ; le runbook opérationnel (clé Admin Anthropic, déploiement) reste côté codexia.

Le back-office expose /admin/metrics, alimenté par l'Admin API Anthropic, qui présente :

  • Usage et coĂ»t par modèle (jetons in/out, coĂ»t associĂ©).
  • Analytics : taux de cache, coĂ»t $/Mtok, projection de dĂ©pense.
  • Ventilation des jetons par clĂ© API / tier.
  • Alertes de coĂ»t par e-mail, administrables (seuils gĂ©rĂ©s en BO, CRUD).

Limite assumée : le coût n'est pas ventilable par clé côté Admin API Anthropic (seuls les jetons le sont). Documenté pour ne pas re-tenter une ventilation coût/clé impossible.

Runbook (hors canon, côté codexia) : la clé Admin (sk-ant-admin) vit en .env.local sur le VPS ; modalités de déploiement et de rotation = responsabilité de l'exécutant codexia.

Cette surface est l'une des cartes du tableau de bord modulaire (cf. guides/pattern-dashboard-modulaire.md).

Liens internes


Implémentation

Aspect Localisation
Bundle principal telaria-app — routes sous /admin/*
Controllers src/Controller/Admin/ dans telaria-app (UserController, CmsContentController, CorpusController, etc.)
Dashboard métriques Route /admin/metrics — Admin API Anthropic ; entités metrics_* dans tlr-codexia
Config admin config/packages/Telaria_admin.yaml (déclaration bundles/plugins)
Sécurité Rôles ROLE_ADMIN (implémenté) ; ROLE_CMS_* (conceptuels, branche wip-cms-before-ia-landing)
Templates templates/admin/ dans telaria-app

Historique des décisions

Version Date Décision
1.0 2026-06-14 Version initiale — première formalisation du versioning des specs.
— 2026-06-02 Dashboard /admin/metrics livré en prod (telaria v0.5.0) : usage/coût par modèle, analytics, alertes e-mail. Limite : coût non ventilable par clé API côté Admin API Anthropic.
— 2026-06-02 Rôles ROLE_CMS_* conceptuels uniquement — parqués sur branche wip-cms-before-ia-landing, hors develop.

Assistant documentaire

Posez une question sur la documentation. Les réponses citent leurs sources — un clic ouvre le document à gauche.

Loading…
Loading the web debug toolbar…
Attempt #