Pixelfed est un réseau social décentralisé conçu pour le partage de photos et d’images, offrant une alternative éthique et respectueuse de la vie privée à des plateformes comme Instagram. Basé sur le protocole ActivityPub, il permet aux utilisateurs de créer ou de rejoindre des instances indépendantes, tout en interagissant avec l’ensemble de la fédération. Avec une approche sans publicités, un respect total des données personnelles et des fonctionnalités familières comme les albums, les stories et les interactions, Pixelfed propose une expérience communautaire axée sur la transparence et la créativité.
Après cette présentation du service Pixelfed, on va publier un post sur le réseau Pixelfed en PHP.
Pré-Requis
Il faut tout d’abord un compte sur une instance Pixelfed. Dans mon cas, j’utilise l’instance pixelfed.social
.
Il vous faut aussi récupérer un access_token.
Pour cela :
- Se connecter sur votre instance Pixelfed
- Cliquer en haut à droite sur votre avatar
- Cliquer sur “Profile”
- Cliquer sur le bouton “Edit profile”
- Cliquer sur l’onglet “Applications”
- Cliquer sur le lien “Create New Token”
- Définir le nom de l’application : dans notre cas, je l’appellerais “PixelBot”
- Cocher les étendues
write
- Cliquer sur le bouton “Create”
- Récupérer votre token d’accès personnel (ou personal access token in 🇬🇧)
Théorie
Pixelfed utilise (plus ou moins) les mêmes endpoints que Mastodon dont la documentation en disponible en ligne.
Dans notre cas, on va utiliser :
POST /api/v1/media
POST /api/v1/statuses
Implémentation
L’implémentation se fera en PHP 8.4 avec l’extension Curl installée et activée.
|
|
Comme on peut le voir, l’upload se fait en deux appels : upload de media dans un premier temps, suivi de la création du post dans un second temps.
Conclusion
Après une simple exécution du code, voici le rendu :

Après exécution du code, on peut remarquer :
- que le nom de l’application n’est pas affichée
- que l’on peut aussi utiliser des emojis, facilement dans le code.