Flux média
Objectif du flux
Uploader, valider, stocker et rattacher des médias à des publications, acteurs, mini-sites ou contenus PlayLoop sans exposer de risques de sécurité.
Acteurs/systèmes impliqués
- Utilisateur, acteur, mairie ou administrateur.
- Frontend.
- API Laravel.
- Service Media.
- Stockage fichiers à confirmer.
- Jobs de traitement média en vision cible.
- Services de modération ou antivirus à confirmer.
Étapes principales
- L’utilisateur sélectionne un média.
- Le frontend transmet le fichier ou une demande d’upload.
- Laravel vérifie l’identité, le droit et le contexte.
- Le média est validé : type, taille, extension, usage.
- Le fichier est stocké.
- Les traitements secondaires sont déclenchés si nécessaire : optimisation, miniature, scan, métadonnées.
- Le média est rattaché à l’objet métier.
- L’accès public ou privé est déterminé selon le contexte.
Données manipulées
- Fichier média.
- Type MIME et extension.
- Taille.
- Propriétaire ou auteur.
- Objet rattaché : acteur, publication, campagne, mini-site.
- URL ou référence de stockage.
- Métadonnées techniques.
Règles sécurité
- Les types de fichiers autorisés doivent être limités.
- Les fichiers ne doivent pas être exécutables côté serveur.
- Les accès aux médias privés doivent être contrôlés.
- Les médias publics ne doivent pas exposer de données privées involontaires.
- Les traitements doivent être auditables si le média est lié à une action sensible.
Erreurs/points de vigilance
- Fichier trop volumineux.
- Type MIME falsifié.
- Upload non rattaché à un objet métier.
- Suppression d’un média encore utilisé.
- Stockage non documenté ou non sauvegardé.
État actuel vs cible
| Sujet | État actuel visible | Vision cible |
|---|---|---|
| Médias | Médias documentés comme service partagé. | Service Media central avec validation et rattachement métier. |
| Stockage | Stratégie stockage documentée mais détails à confirmer. | Stockage réversible, sécurisé et compatible CDN si besoin. |
| Traitements | Jobs médias documentés comme importants. | Optimisation et contrôles asynchrones. |
Diagramme Mermaid
TODO / points à confirmer
- Stockage actuel confirmé : Supabase Storage, bucket
documents. CDN ou alternative à confirmer si besoin. - Limites de taille par type d’offre.
- Formats autorisés.
- Politique de suppression et rétention.
- Besoin d’antivirus ou de modération média.