# Coaster World v1.81.0 — Photos communauté

Date : 2026-08-15

## Communauté V3 — Photos des membres

- Les membres connectés peuvent proposer une photo directement depuis une fiche :
  - parc ;
  - attraction ;
  - coaster.
- Ajout d'un panneau d'envoi compact avec :
  - fichier JPG / PNG / WEBP ;
  - taille maximale de 8 Mo ;
  - légende facultative ;
  - date de prise de vue facultative ;
  - confirmation obligatoire des droits de publication.
- Les nouveaux médias sont enregistrés avec le statut `pending_review` et ne sont jamais affichés publiquement avant validation.
- Limitation à 8 envois par minute et par utilisateur/session via le middleware Laravel `throttle`.

## Espace « Mes photos »

- Nouvelle page `/photos` accessible depuis le profil.
- Affichage de toutes les photos envoyées par l'utilisateur avec :
  - aperçu ;
  - cible (parc / attraction / coaster) ;
  - légende ;
  - date d'envoi ;
  - statut de modération ;
  - motif du rejet ou du masquage lorsqu'il existe.
- L'auteur peut supprimer sa propre photo ; les fichiers physiques et les relations média associées sont nettoyés.

## Modération administration

- Nouvelle page `Administration → Photos communauté`.
- Filtres et compteurs : en attente, approuvées, rejetées, masquées.
- Actions disponibles :
  - approuver ;
  - rejeter ;
  - masquer ;
  - remettre en attente.
- Motif de modération facultatif, visible par l'auteur en cas de rejet/masquage.
- Nouveau KPI sur le tableau de bord administration avec le nombre de photos en attente.

## Galeries publiques

- Une photo communautaire approuvée passe au statut `ready` et rejoint automatiquement la galerie de sa fiche.
- Les photos en attente, rejetées ou masquées restent exclues des galeries publiques.
- Les légendes sont maintenant affichées dans les galeries, séparément du crédit auteur.
- Les crédits utilisent le compte Coaster World de l'auteur.

## Interface et langues

- Interface responsive et compatible clair/sombre.
- Nouvelles traductions FR / EN / DE / ES / IT.
- Asset CSS de production : `public/build/assets/app-v181-community-photos.css`.

## Base de données

Aucune nouvelle migration SQL.

La v1.81.0 réutilise les tables média déjà présentes : `media_assets`, `media_links`, `media_translations`, `media_credits`, `media_variants` et `media_moderation_actions`.
