Ajouter de l'intelligence aux PODs Solid grâce à ActivityPub

J’ai eu quelques réflexions cet été concernant la manière dont on pouvait combiner Solid (en particulier l’hébergement de PODs) et ActivityPub, en lien avec un potentiel projet SemApps mené avec le réseau des gouttes d’O autour de l’échange de services.

Je les ai rassemblé ce weekend sous forme de slides:

Curieux d’avoir vos retours! :slight_smile: Si ces idées semblent pertinentes, peut-être que je traduirais les slides en anglais et les posteraient sur les forums Solid et ActivityPub.

ping @mrflos @Alice @Fada @simon.louvet.zen @guillaume.rouyer @balessan @pierre @niko.plp @fluidlog

5 « J'aime »

Yes :star_struck::smiling_face_with_three_hearts:
Juste une question : diapo 16 " s’il n’est pas complet" → ça se réfère à l’événement ?

1 « J'aime »

Oui c’est ça. Je précise dans le slide, merci.

1 « J'aime »

Tu pourras appeler ça des « Activity Pods » :slight_smile:

3 « J'aime »

Les sujets activitypub sur le forum solid

https://forum.solidproject.org/search?q=Activitypub

Ca me fait penser qu’il faut que je mette à jour mes applis avec la nouvelle authentification.

1 « J'aime »

C’est plus ou moins ce que l’on fait déjà côté Startin’blox via Djangoldp et son implémentation des Activity.

1 « J'aime »

Ok sur le principe et l’implémentation générale. J’ai pas compris « La création de containers LDP à la volée, nécessaire pour créer des PODs à chaque utilisateur ». Qu’est ce qui serait stocké dans ces containers?.

1 « J'aime »

@simon.louvet.zen Dans Solid, chaque utilisateur dispose d’un POD, qui est un container LDP. Ce container peut contenir d’autres containers LDP.
Pour l’instant avec SemApps la configuration des containers est définie dans un fichier de configuration, et il faut relancer le middleware pour qu’un nouveau container soit pris en compte (notamment par l’ApiService).

1 « J'aime »

C’est génial j’ai tout compris et j’adore (particulièrement l’utilisation de offer pour faire des pull requests!), et trop cool que ca s’aligne en plus avec ce que vous faites côté SIB !

1 « J'aime »

Je trouve le principe vraiment intéressant. Dans notre équipe (TWEAK Liris CNRS Lyon), nous travaillons sur l’utilisation des traces utilisateurs (sur le web en particulier) pour enrichir le « quoi » par le « comment » et pouvoir partager progressivement ces connaissances. Tout un « Trace Based System » a été théorisé, développé, expérimenté et tout est « ouvert » sur un GitHub. Dans cette approche, les traces collectées par chaque utilisateur lui sont naturellement personnelles, mais contiennent de très nombreuses « accroches » avec d’autres utilisateurs autour de contenus communs. La partie interactions numériques de l’utilisateur est encapsulée dans sa base de traces et il dispose d’assistants (bots s’il s’agit d’assistance normalisée) lui permettant de requêter, enrichir, abstraire, partager, reformuler… ses épisodes d’usage pour 1) les réutiliser en les adaptant, 2) les partager aux amis qui cherchent à apprendre comment utiliser telle ou telle ressource dans des contextes différents 3) identifier de nouveaux usages (en particulier lorsqu’ils mobilisent des services différents), 4) indexer les contenus aux usages qui en sont faits, 5) servir de base pour des processus d’explications des services intégrant (ou pas) des IA… Le coordonnateur technique de ces travaux est actuellement au W3C et je vais lui transmettre cette proposition pour savoir si il n’y aurait pas des comités qui s’y intéresseraient. Pour les curieux de ce que j’ai raconté sur les traces, visitez tools:ktbs [Trace-Based Systems - Silex Team]. En tout cas, ces mécanismes décrits ici seraient très intéressants pour aller plus loin encore dans ces travaux.

1 « J'aime »

@alain.mille Merci pour le commentaire ! Effectivement un des intérêts d’ActivityPub est de permettre de garder un historique de tout ce qui se passe. Nous avons l’intention d’en faire beaucoup plus usage dans SemApps à l’avenir.

Le coordonnateur technique de ces travaux est actuellement au W3C et je vais lui transmettre cette proposition pour savoir si il n’y aurait pas des comités qui s’y intéresseraient.

La version française suffit-elle ou serait-il utile que je traduise en anglais ? Je pense que je vais le faire à un moment, mais je peux m’y mettre dès maintenant si besoin.

1 « J'aime »

Pierre-Antoine est Français, pas de souci ! S’il souhaite disposer d’un document en anglais pour en parler en interne, il nous dira…

2 « J'aime »

@srosset Bravo pour ces slides ! Je pense que c’est toujours une bonne idée de les traduire en anglais et de les partager sur les forums :slight_smile:

2 « J'aime »

Pour information, j’ai trouvé un moyen d’éviter d’attendre l’implémentation WebID-OIDC dans SemApps: nous pouvons aussi passer par le protocole HTTP signature, qui permet d’authentifier un utilisateur entre serveurs distants. Ce protocole est déjà implémenté dans SemApps pour poster dans les inbox via le protocole de fédération ActivityPub. Il serait donc naturel (et facile) de l’étendre pour LDP (rien dans les specs n’empêche ceci).

J’ai mis à jour les slides avec cette nouvelle perspective:

Par ailleurs, je suis en train de travailler pour permettre de créer des PODs avec SemApps. Dans un premier temps, ce sera des PODs avec une structure de containers fixe (pas de possibilité de créer des containers à la volée)

1 « J'aime »

Il y a du nouveau du côté de ce projet ! Il y a maintenant un repo avec du code qui fonctionne plutôt bien :

J’ai aussi traduit les slides en anglais. J’attend que la doc soit plus complète avant de l’annoncer sur les forums ActivityPub et Solid.

4 « J'aime »