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 backend | api/app/Modules/PlayLoop. |
| Routes | Device et admin sous routes API. |
| Auth device | Token opaque hashé, middleware dédié. |
| Auth admin | auth:sanctum + identify.app. |
| Source app | X-App-Source: playloop obligatoire sur endpoints PlayLoop. |
| Modèles | Device, playlist, item, media, campaign. |
| Services | Lecture et écriture séparées. |
| Publication | Ré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
| Table | Rôle |
|---|---|
playloop_devices | Écrans/players liés à un acteur. |
playloop_playlists | Boucles d'affichage. |
playloop_playlist_items | Contenus ordonnés d'une playlist. |
playloop_media | Médias dédiés PlayLoop. |
playloop_campaigns | Diffusions 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.