Comment migrer vers Bluesky – Aller plus loin
Bluesky, le rĂ©seau social dĂ©centralisĂ©, sĂ©duit de plus en plus d'utilisateurs en quĂŞte d'un espace plus libre et plus ouvert que son Ă©quivalent historique. Maintenant que nous avons créé notre compte, migrĂ© nos donnĂ©es et rĂ©cupĂ©rĂ© quelques abonnements, nous allons va essayer d'aller plus loin avec notre compte Bluesky. Ainsi, nous allons optimiser notre expĂ©rience avec notre compte pour gagner du temps et profiter pleinement de tout ce que l'Ă©cosystème Bluesky a Ă offrir : intĂ©grer nos publications sur un blog WordPress, automatiser nos posts, gĂ©rer notre flux comme un pro…
Un équivalent de Tweetdeck
J'ai d'abord cherchĂ© une interface similaire Ă Tweetdeck, cet outil bien pratique quand on a plusieurs comptes Ă gĂ©rer. C'est bien simple, depuis qu'il avait disparu de Twitter, je ne postais plus rien sur mes diffĂ©rents comptes, tellement il Ă©tait compliquĂ© de basculer de l'un Ă l'autre…
En fait, un tel Ă©quivalent n'existe pas sur Bluesky lui-mĂŞme. Mais un dĂ©veloppeur indĂ©pendant a créé Deck.blue qui propose le mĂŞme genre d'interface multi-colonnes. On peut afficher les fils de plusieurs comptes, poster au nom de ces comptes…
La version gratuite nous limite à 3 comptes. Pour ajouter des comptes, il faut créer un mot de passe d'application (dans Paramètres > Confidentialité et sécurité > Mots de passe d'application, voir article précédent) pour chacun de ces comptes.

Mais si on veut programmer des posts (l'icone avec un chrono barré), là encore c'est payant.

Néanmoins, c'est une excellente initiative. Ceci dit, comme pour l'instant sur Bluesky le passage d'un compte à l'autre est très aisé, cela rend Deck.blue moins indispensable que l'était Tweetdeck pour X.
Ajouter un lien de partage
Le lien de partage d'article sur Bluesky sur les pages de votre site internet ou de votre blog sera de la forme https://bsky.app/intent/compose?text=[votre texte encodĂ©]. Dans le texte, on peut par exemple placer le titre de la page (variable $og_title dans l'exemple), son URL (Ă©videmment). On peut aussi rajouter l'identifiant du compte Bluesky associĂ© au site ou au blog, quelques hashtags…
<a href="https://bsky.app/intent/compose?text=<?php echo urlencode($og_title) ?>+%20+<?php echo $url_a_partager; ?>+via+%40moncompte.bsky.social+%23hashtag1+%23hashtag2" target="_blank" rel="nofollow noopener" title="Partager sur Bluesky">
<img src="images/bluesky.svg" alt="Partager sur Bluesky" border="0" /></a>
Ce qui donne ce genre de lien de partage (sur une fiche de single sur Promoclub) :
https://bsky.app/intent/compose?text=Whyzer+-+Dreamkiller+%20+www.promoclub.ovh%2Fdetail.php%3Fid%3Dwhyzer-dreamkiller-81764+via+%40nouveautesdance.bsky.social+%23dancemusic+%23newmusic
Et le résultat

Seul souci : les anciennes polices de fonticon (FontAwesome 4, Icomoon etc) ne proposent pas l'icône du petit papillon. Mais vous pouvez facilement récupérer le logo au format SVG au bas de cet article.
Voici ce que cela donne pour WordPress (on supposera que vous avez placé l'icône dans le dossier /images de votre thème)
<a href="https://bsky.app/intent/compose?text=<?php echo the_title() ?>+%20+<?php echo esc_url(get_permalink()); ?>" target="_blank" rel="nofollow noopener" title="Partager sur Bluesky">
<img src="<?php echo get_stylesheet_directory_uri() ?>/images/bluesky.svg" alt="Partager sur Bluesky" width="16" align="absmiddle" /></a>
Afficher la liste des skeets de son compte dans la sidebar de son WordPress
WordPress proposait nativement un widget pour afficher ses posts X, qui ne fonctionnait plus, d'ailleurs. Je l'ai remplacĂ© par son Ă©quivalent pour les posts Bluesky (intitulĂ© « contenu embarquĂ© : Bluesky ») dans la sidebar de mon blog… Ça ne marche pas mieux (ou alors je n'ai pas compris comment le paramĂ©trer) ! WordPress me rĂ©pond que « DĂ©solĂ©, ce contenu ne peut pas ĂŞtre embarqué ».

Ça commence bien…
J'ai alors installé l'extension Social Integration for BlueSky. Développée par Geoffrey. Elle vous propose un widget, des shortcodes d'intégration et un bloc Gutenberg (pour ceux qui utilisent cet éditeur). Elle peut également poster automatiquement les nouveaux articles sur Bluesky.
Déjà , n'oubliez pas de l'activer. Ensuite, direction les paramètres du plugin. On va vous demander l'adresse email de votre compte et un mot de passe d'application que vous devrez créer dans Bluesky (Paramètres > Confidentialité et sécurité > Mots de passe d'application) afin d'autoriser le plugin à accéder à votre compte Bluesky. Il m'a fallu 3 tentatives pour enfin arriver à connecter le plugin à mon compte.

Ensuite, de nouveaux onglets sont dévoilés : Customization, Styles et The shortcodes.
Par défaut, l'option proposant de poster sur Bluesky tout nouvel article publié sur le blog est activée. Je l'ai décochée.
Pour l'inséré, j'ai utilisé un bloc de shortcodes dans lequel j'ai inséré un titre et [bluesky_last_posts]. Là encore, cela n'a pas fonctionné du premier coup, il a fallu supprimer le bloc, le recréer, d'abord avec le shortcode affichant le compte et sa bannière, puis de nouveau celui affichant les derniers posts.

Sinon on peut également utiliser le widget BlueSky posts feed, mais il ne permet pas de customiser le titre du bloc, un peu dommage

Cela fonctionne. Mais pour que les images et les réponses soient affichées, il faut activer l'option dans les paramètres de l'extension, sous l'onglet Customization.

Et il est plutôt lent à afficher les nouveaux posts (ce doit être à cause du cache défini sur 1 heure par défaut). Vous pouvez aller voir le résultat dans la sidebar de ce blog.
Il existe aussi une extension développée par Robert de Vore, mais elle n'est disponible que sur son Github (perso, je préfère les extensions publiées sur WordPress.org).
Automatiser les posts
Le script php SkyDive proposé par spacepostman permet d'envoyer des requêtes à l'API de Bluesky pour automatiser les posts (texte + lien + images). Contrairement à Twitter, il n'y a pas à galérer avec OAuth, vous aurez juste besoin de votre identifiant Bluesky et de créer un mot de passe d'application.
Comme ce script n'est pas truffé de classes et autres inutiles complications ou dépendances à la con, il est relativement simple à comprendre et vous pourrez l'adapter pour vos propres besoins, par exemple pour remplacer l'image par une « link card » (la miniature avec titre et description qui s'affiche quand vous partagez un lien). Cet article de Spoken like a geek et la doc officielle m'ont bien aidée.
En gros, on commence par s'authentifier en envoyant son id et le mot de passe d'application, en contactant en POST https://bsky.social/xrpc/com.atproto.server.createSession afin de créer une session.
Puis on poste en envoyant les données du skeet encodées au format JSON à https://bsky.social/xrpc/com.atproto.repo.createRecord
- le texte (de type app.bsky.feed.post)
- l'embed (de type app.bsky.embed.images si c'est une photo ou app.bsky.embed.external si c'est une link card)
- le lien et les hashtags (ce sont des données de type app.bsky.richtext.facet)
Afin que cela ne semble pas trop monotone, pour donner une impression de variété, j'ai mis en place 2 cron :

Reste juste Ă espĂ©rer que le système d'authentification ne va pas Ă©voluer, que la politique de Bluesky envers les bots ne va pas se durcir (blacklistage) et que ce script fonctionnera toujours dans quelques mois (il fonctionnait toujours en mars 2026)…
Rappelons que Bluesky est encore une plateforme toute récente et que de nouvelles fonctionnalités apparaissent régulièrement, comme les badges de comptes vérifiés qui ont été dévoilés le jour même de la publication de cet article !

