Skip to content

Image (Image)

En une phrase : un visuel téléversé sur la plateforme — aujourd'hui les photos de profil, les images d'activités et les images principales d'organisations, demain les photos de prestataires — dont la plateforme garde la trace et la provenance.

Rôle métier

L'image est une entité transverse : elle n'appartient à aucun domaine en particulier, elle est un réservoir de visuels que les autres entités référencent. Le principe de fond : la base ne connaît que la fiche d'identité du visuel (format, taille, dimensions, nom d'origine, qui l'a téléversé, et le cas échéant son attribution Pexels) — les octets vivent sur un stockage objet, et les navigateurs les reçoivent via des URLs signées redimensionnées à la volée (quatre tailles nommées : vignette, moyenne, grande, pleine). Voir Stockage d'images.

Consommateurs actuels : la photo de profil de l'utilisateur, l'image d'illustration de l'activité et l'image principale de l'organisation (le visuel des cartes de sélection de région du voyageur). La liaison aux prestataires est le prochain chantier.

Cycle de vie

Téléversée → référencée (0..N fois) → (orpheline).

  • Toute personne authentifiée peut téléverser (l'upload est le seul flux qui fait croître le stockage — il est volontairement bridé en fréquence).
  • Une image n'est pas possédée par ce qui la référence : supprimer l'uploadeur ou casser une référence ne supprime pas l'image, et supprimer l'image ne casse que le lien (un profil perd sa photo, il ne disparaît pas).
  • Aucun flux de consultation, listing ou suppression d'images n'existe encore — une image téléversée mais jamais référencée reste simplement en réserve.

Relations métier

RelationSens métier
Utilisateur (uploaded_by)La provenance : qui a fourni le visuel (doublée par le journal d'audit)
Utilisateur (profile_picture_id)La photo de profil
Activité (image_id)L'image d'illustration de l'activité
Organisation (primary_image_id)L'image principale (vitrine) de l'organisation

Règles métier

  • La réalité du fichier prime sur ses prétentions : le type et l'extension sont re-déduits du contenu réel, jamais du nom ou du type annoncés par le client (formats admis : jpg, png, webp ; 10 Mo max).
  • Une image issue de la recherche Pexels porte son crédit : les guidelines Pexels exigent le lien de la page photo et le nom du photographe partout où l'image est montrée. L'attribution arrive par paire à l'upload (pexels_url + pexels_author, une demi-paire est refusée) et accompagne ensuite l'image dans chaque payload qui l'imbrique, pour que l'interface puisse afficher le crédit. Un upload utilisateur n'en a pas.
  • Choisir une photo de profil accepte n'importe quelle image existante — pas de notion de propriété ; les identifiants ne sont pas devinables.
  • Les URLs servies aux navigateurs sont signées : pas d'accès direct au stockage, pas de redimensionnement arbitraire par un tiers.

Contributors

No contributors

Changelog

No recent changes