Un site web hébergé sur Bluesky
(danielmangum.com)Bluesky et le protocole AT
-
Présentation de Bluesky et du protocole AT
- Bluesky offre la possibilité d’héberger des sites web via un serveur de données personnel (PDS).
- Le protocole AT définit l’API utilisée pour téléverser le contenu d’un site web, et le PDS l’implémente.
- Bluesky fournit un point d’entrée permettant d’accéder au PDS via le domaine
bsky.social.
-
Types de contenu : records et blobs
- La plupart des applications sociales ont deux grands types de contenu : les records et les blobs.
- Les records sont les entités principales créées par les utilisateurs, avec une structure et des métadonnées.
- Les blobs correspondent principalement à de grandes données non structurées, comme des ressources multimédias, référencées par les records.
-
Téléversement et gestion des blobs
- Les blobs doivent être téléversés vers le PDS avant d’être référencés par un record.
- Les blobs téléversés sont stockés dans un espace temporaire et restent inaccessibles tant qu’ils ne sont pas référencés.
- Lors de la création d’un record, le serveur vérifie les blobs référencés et, en cas de succès, les rend accessibles publiquement.
-
Création de données et authentification
- Pour effectuer des opérations de création de données sur le PDS, un jeton d’accès est nécessaire pour l’authentification.
- La méthode XRPC
com.atproto.server.createSessionpermet d’échanger les identifiants de l’utilisateur contre un jeton.
-
Référencement des blobs et création de records
- Les blobs peuvent être référencés dans le record
app.bsky.feed.postet inclus en tant qu’images. - La validation du type MIME permet de vérifier la validité des références aux blobs.
- Les blobs peuvent être référencés dans le record
-
Considérations de sécurité
- Le fait de servir des fichiers téléversés par les utilisateurs depuis un serveur web peut poser des problèmes de sécurité.
- La sécurité de l’endpoint
getBlobdoit être renforcée au moyen d’une politique de sécurité du contenu (CSP).
-
Distribution des images via un CDN
- Les blobs d’images de l’application Bluesky sont servis via un CDN, et non par l’instance PDS.
- L’application doit savoir comment servir les images via le CDN.
-
Les avantages de l’open source
- L’implémentation PDS de Bluesky est fournie en open source, ce qui permet de vérifier comment les références aux blobs sont définies.
- Pour prendre en charge de nouveaux lexicons, le PDS doit aussi pouvoir traiter des lexicons qu’il ne connaît pas.
-
L’extensibilité des lexicons
- Le type
app.bsky.feed.postinclut une union pour les embeds valides, ouverte par défaut. - Il est possible d’ajouter de nouveaux types d’embeds, ce qui permet des « micro-extensions » étendant les cas d’usage existants.
- Le type
Aucun commentaire pour le moment.