Pour utiliser ActivityPub (AP) vous devrez avoir un acteur accessible en public. Le format de votre acteur doit ĂȘtre en JSON-LD. Votre acteur doit ressembler Ă ceci : exemple acteur sur le site communecter partir dĂ©veloppement.
L’id doit correspond Ă l’URL du document, tous les liens doit ĂȘtre en HTTPS.
Vous aurez besoin d’une inbox car les instances qui utilisent AP ont besoin reconnait un acteur si celui-ci possĂšde une inbox. Chaque acteur nĂ©cessite une publicKey et une privateKey qui peut ĂȘtre gĂ©nĂ©rĂ© avec openssl.
JSON ne prend en charge les sauts de ligne, on doit remplacer les sauts de ligne par \n (pour la partir publicKeyPEM).
Le Webfinger permet de demandĂ© Ă un site web "Avez vous un utilisateur avec ce nom d’utilisateur" et de recevoir des liens de ressource en rĂ©ponse. Le noeud finale d’un Webfinger se trouve toujours en /.well-known/webfinger et recevoir des requĂȘtes tel que /.well-known/webfinger?resource=acct:name@ my-example.com
Pour pouvoir envoyĂ© un message (par exemple avec le verbe "Create"), il est nĂ©cessaire d’avoir la inbox de la personne concernĂ© et d’utiliser un HTTP signature qui permettra de savoir si l’acteur qui souhaite envoyer un message est le bon. Une signature HTTP s’agit d’un en-tĂȘte HTTP signĂ© par la paire de clĂ©s RSA. Pour avoir plus d’information sur la crĂ©ation d’une signature HTTP, rĂ©fĂ©rencier vous le lien suivant partir HTTP signature : [How to implement a basic ActivityPub server(https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/).
Liens pratique :
J’ai crĂ©e une api qui permet de gĂ©nĂ©rĂ© un acteur AP sur communecter, vous pouvez trouvez un exemple en cliquant ici. Petit prĂ©cision : la publicKey est en format brute. Comment sa fonctionne : Vous devrez indiquez dans le lien id de la personne ici : http://dev.communecter.org/api/activitypub/actor/id/ + userId.
Fichier modifier : TranslateActivityStream.php / Rest.php . Fichier crée : ActivityPubController.php / ActorAction.php .
Nous avons crée avec Pierre un client mastodon qui permet de poster/récupéré les statuts/récupéré les followers/voir la timelines public en utilisant le REST API et en ce basant sur cette librairie mastodon.js par Kirschn. Vous pouvez retrouvez nos codes ici (gitlab.adullact) : mastodon_api
J’ai suivi ce tutoriel lĂ pour pouvoir envyer un message sur mamot.fr : Decentralizing Social Interactions with ActivityPub. Pierre a dĂ©taillĂ© plus en bas comment rĂ©aliser le tutoriel. Remarque constatĂ© : Pour pouvoir voir un message sur mamot.fr, nous Ă©tions dans l’obligation de suivre notre acteur crĂ©e par express activitypub, sans cela, il nous est impossible de voir nos message dans le timeline. Ce problĂšme est rĂ©gurant quand on a tentĂ© avec un compte pixelfed de communiquĂ© avec mamot.fr.
Je me suis basĂ© sur le script crĂ©e par Darius Kazemi sur son tutoriel Decentralizing Social Interactions with ActivityPub. Malheureusement je n’arrive pas Ă faire fonctionnĂ© mon inbox car je n’arrive pas a encodĂ© la signature.
Utilisation de l’API mamot pour pouvoir afficher les timelines public, local, ajouter un post. Afin de pourvoir acceder a le page mastodon cliquer içi Join Mastodon Mon code source est disponible sur gitlab Code Source
Afin d’avoir un aperçus du format d’un acteur ActivityPub en ajoutant votre id a la fin du lien mon lien pour accĂ©der Ă l’acteur
git clone [https://github.com/dariusk/express-activitypub.git](https://github.com/dariusk/express-activitypub.git)
dans votre terminal./.ngrok/http 3000
express-activityPub
, modifier le dossier config.json
dans route.d40f1818.ngrok.io
node index.js
[https://d40f1818.ngrok.io/admin](https://d40f1818.ngrok.io/admin)
Et vous pourrez voir le message envoyer sur mtps://mamot.fr
Pour utiliser ActivityPub (AP) vous devrez avoir un acteur accessible en public. Le format de votre acteur doit ĂȘtre en JSON-LD. Votre acteur doit ressembler Ă ceci : exemple acteur sur le site communecter partir dĂ©veloppement.
L’id doit correspond Ă l’URL du document, tous les liens doit ĂȘtre en HTTPS.
Vous aurez besoin d’une inbox car les instances qui utilisent AP ont besoin reconnait un acteur si celui-ci possĂšde une inbox. Chaque acteur nĂ©cessite une publicKey et une privateKey qui peut ĂȘtre gĂ©nĂ©rĂ© avec openssl.
JSON ne prend en charge les sauts de ligne, on doit remplacer les sauts de ligne par \n (pour la partir publicKeyPEM).
Le Webfinger permet de demandĂ© Ă un site web "Avez vous un utilisateur avec ce nom d’utilisateur" et de recevoir des liens de ressource en rĂ©ponse. Le noeud finale d’un Webfinger se trouve toujours en /.well-known/webfinger et recevoir des requĂȘtes tel que /.well-known/webfinger?resource=acct:name@ my-example.com
Pour pouvoir envoyĂ© un message (par exemple avec le verbe "Create"), il est nĂ©cessaire d’avoir la inbox de la personne concernĂ© et d’utiliser un HTTP signature qui permettra de savoir si l’acteur qui souhaite envoyer un message est le bon. Une signature HTTP s’agit d’un en-tĂȘte HTTP signĂ© par la paire de clĂ©s RSA. Pour avoir plus d’information sur la crĂ©ation d’une signature HTTP, rĂ©fĂ©rencier vous le lien suivant partir HTTP signature : [How to implement a basic ActivityPub server(https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/).
Liens pratique :
J’ai crĂ©e une api qui permet de gĂ©nĂ©rĂ© un acteur AP sur communecter, vous pouvez trouvez un exemple en cliquant ici. Petit prĂ©cision : la publicKey est en format brute. Comment sa fonctionne : Vous devrez indiquez dans le lien id de la personne ici : http://dev.communecter.org/api/activitypub/actor/id/ + userId.
Fichier modifier : TranslateActivityStream.php / Rest.php . Fichier crée : ActivityPubController.php / ActorAction.php .
Nous avons crée avec Pierre un client mastodon qui permet de poster/récupéré les statuts/récupéré les followers/voir la timelines public en utilisant le REST API et en ce basant sur cette librairie mastodon.js par Kirschn. Vous pouvez retrouvez nos codes ici (gitlab.adullact) : mastodon_api
J’ai suivi ce tutoriel lĂ pour pouvoir envyer un message sur mamot.fr : Decentralizing Social Interactions with ActivityPub. Pierre a dĂ©taillĂ© plus en bas comment rĂ©aliser le tutoriel. Remarque constatĂ© : Pour pouvoir voir un message sur mamot.fr, nous Ă©tions dans l’obligation de suivre notre acteur crĂ©e par express activitypub, sans cela, il nous est impossible de voir nos message dans le timeline. Ce problĂšme est rĂ©gurant quand on a tentĂ© avec un compte pixelfed de communiquĂ© avec mamot.fr.
Je me suis basĂ© sur le script crĂ©e par Darius Kazemi sur son tutoriel Decentralizing Social Interactions with ActivityPub. Malheureusement je n’arrive pas Ă faire fonctionnĂ© mon inbox car je n’arrive pas a encodĂ© la signature.
Utilisation de l’API mamot pour pouvoir afficher les timelines public, local, ajouter un post. Afin de pourvoir acceder a le page mastodon cliquer içi Join Mastodon Mon code source est disponible sur gitlab Code Source
Afin d’avoir un aperçus du format d’un acteur ActivityPub en ajoutant votre id a la fin du lien mon lien pour accĂ©der Ă l’acteur
git clone [https://github.com/dariusk/express-activitypub.git](https://github.com/dariusk/express-activitypub.git)
dans votre terminal./.ngrok/http 3000
express-activityPub
, modifier le dossier config.json
dans route.d40f1818.ngrok.io
node index.js
[https://d40f1818.ngrok.io/admin](https://d40f1818.ngrok.io/admin)
Et vous pourrez voir le message envoyer sur mtps://mamot.fr
Rendering context...