Aller au contenu principal

Architecture PlayLoop

Statut

Document de cadrage PlayLoop — version initiale.

Vue d'ensemble

L'architecture PlayLoop visible repose sur un module Laravel dans l'API centrale DMV.

La cible est de permettre une application autonome côté usage, tout en s'appuyant sur le socle commun : acteurs, publications, médias, droits, campagnes et future IA Gateway.

État actuel visible

ÉlémentÉtat
Module backendapi/app/Modules/PlayLoop.
RoutesDevice et admin sous routes API.
Auth deviceToken opaque hashé, middleware dédié.
Auth adminauth:sanctum + identify.app.
Source appX-App-Source: playloop obligatoire sur endpoints PlayLoop.
ModèlesDevice, playlist, item, media, campaign.
ServicesLecture et écriture séparées.
PublicationRésolution de publications publiques via service Publication.

Schéma logique

Player écran
├─ Authorization: Bearer {device_token}
└─ GET /playloop/device/playlist

Interface admin PlayLoop cible
├─ auth:sanctum
├─ X-App-Source: playloop
├─ devices
├─ playlists
├─ media
└─ campaigns

API Laravel
├─ PlayLoop module
├─ Publication service
├─ Actor ownership
└─ Future AI Gateway

Données principales

TableRôle
playloop_devicesÉcrans/players liés à un acteur.
playloop_playlistsBoucles d'affichage.
playloop_playlist_itemsContenus ordonnés d'une playlist.
playloop_mediaMédias dédiés PlayLoop.
playloop_campaignsDiffusions planifiées.

Sécurité

  • Les devices n'utilisent pas Sanctum.
  • Les tokens devices sont stockés hashés.
  • Le token clair n'est retourné qu'à la création.
  • Les mutations admin vérifient owner ou admin.
  • Les publications intégrées sont limitées au scope public.
  • Les devices révoqués cessent de fonctionner.

Vision cible frontend/player

Le repo ne confirme pas d'application frontend PlayLoop dédiée.

La cible peut inclure :

  • interface de gestion web ;
  • player web plein écran ;
  • PWA player ;
  • compatibilité Android TV à évaluer ;
  • mode cache/offline limité ;
  • monitoring device.

Points à clarifier

  • Priorité du frontend PlayLoop.
  • Contrat API exact pour le player.
  • Authentification et rotation des tokens devices.
  • Gestion cache/offline.
  • Monitoring, logs et statistiques.
  • Intégration AI Gateway.