Aller au contenu principal

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

ChampUsage probable
url_originalFichier brut uploadé
url_displayAffichage standard dans l'interface
url_thumbMiniature (listes, aperçus)
url_bannerBanniè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.