Traitement des médias
Statut
Document de cadrage architecture — version initiale — v1.0 — relu le 2026-05-11.
État actuel
Il n'existe pas de pipeline de transformation d'images automatisé confirmé dans le code actuel.
Les documents stockés peuvent avoir plusieurs URLs de variantes (url_thumb, url_display, url_banner, url_original), mais leur génération n'est pas automatisée côté backend Laravel visible.
Les URLs sont enregistrées dans la table documents lors de l'upload, ce qui suggère que la transformation est effectuée en amont ou déléguée à Supabase.
Variantes connues
| Champ | Usage probable |
|---|---|
url_original | Fichier brut uploadé |
url_display | Affichage standard dans l'interface |
url_thumb | Miniature (listes, aperçus) |
url_banner | Bannière de profil ou de page |
Types de fichiers supportés
Selon la politique RLS du bucket documents :
- Images : JPEG, PNG, SVG, WebP
- Documents : PDF
Vision cible
La cible est un service de transformation centralisé capable de :
- redimensionner les images à l'upload ;
- générer automatiquement les variantes (thumb, display, banner) ;
- optimiser les fichiers (compression, format WebP) ;
- stocker les variantes dans Supabase Storage avec les URLs correspondantes.
Ce service pourrait être :
- une fonction Supabase Edge ;
- un job Laravel asynchrone ;
- un service tiers (ex: Cloudflare Images, imgproxy).
Médias PlayLoop
Le module PlayLoop gère ses propres médias (PlayloopMedia) destinés à l'affichage dynamique sur des écrans. Ces médias suivent probablement une logique distincte des documents acteurs.
Points à clarifier
- Outil ou service utilisé pour la transformation actuelle.
- Déclenchement de la transformation (synchrone, asynchrone, à la demande).
- Stratégie de cache des variantes transformées.
- Intégration avec Cloudflare pour la distribution CDN des médias.