Skip to content

QR code de profil

QR code stylisé (PNG) encodant l’URL de la page profil publique /@{username}, avec l’avatar de l’utilisateur en son centre. Donnée publique.

  • Auth : aucune (gating identique à la page profil : 404 si l’utilisateur n’existe pas, n’est pas confirmé, est banni ou supprimé).
  • Action : ShowUserProfileQrcodeAction
  • Réponse 200 OK : image/png, Cache-Control: public, max-age=86400, ETag ; renvoie 304 sur If-None-Match concordant.
  • Génération : à la volée puis mise en cache disque, la clé de cache embarquant la version de l’avatar — remplacer/supprimer l’avatar régénère le QR.

L’URL de ce QR code est exposée comme attribut public qrcodeUrl sur toutes les API qui renvoient un utilisateur :

  • ressource JSON:API users (/api/auth/me, /api/auth/login, /api/auth/register, /api/users/*, …),
  • bloc public author inliné sur les ressources medias,
  • back-office (GET /admin/users, GET /admin/users/{hex}).

Format : {APP_URL}/qrcode/{username}.png. Un cache-buster ?v=<timestamp> (issu de avatar_updated_at) n’est ajouté que si l’utilisateur a un avatar.