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.
GET /qrcode/{username}.png
Section titled “GET /qrcode/{username}.png”- Auth : aucune (gating identique à la page profil :
404si 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; renvoie304surIf-None-Matchconcordant. - 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.
Attribut qrcodeUrl
Section titled “Attribut qrcodeUrl”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
authorinliné sur les ressourcesmedias, - 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.