SOLID or not SOLID

!!URGENT!!
Bonjour à tous.
Nous avons décidé dans la roadmap semapps que nous ne voulions pas intégrer de gestion de fichier et de media (équivalent de la bibliothèque de médias de wordpress) car d’autres logiciels le font déjà et qu’il était plus cohérent d’héberger les images, pdf, audio, video ou autre fichier sur d’autres outils.
Dans le cadre de la réponse à un appel d’offre important sur lequel Data Players est short-listé Le client nous demande de préciser le coût d’hébergement ce qui implique le choix d’un outil.
Alors que le choix de nextcloud me semblait évident, j’ai réalisé des tests et il n’est pas fait pour mettre a disposition des assets pour un site web (lien src d’une image particulièrement difficile à obtenir par ex).
Je suis donc à la recherche d’un DAM en urgence pour répondre au besoin :

  • Hébergement d’image, audio et fichier avec une grande ergonomie. rangement par collection ou repertoires.
  • Obtention facile d’une url pour pouvoir en faire une src image et autre incrustation HTML (idéalement audio, pdf…); Les videos seront sans doute géré avec peerTube
  • Open Source, accès au code source Git, et si possible, facilement déployable en docker

J’ai exploré resourcespace et dspace mais pas du tout convaincu par l’ergonomie et l’obtention d’une url d’accès.

Merci à toute personne qui aurait une piste
@daemu @fluidlog @guillaume.rouyer @srosset @pierre @lecoqlibre

1 « J'aime »

Il y a quelques années j’avais utilisé Minio pour gérer des fichiers avec un protocole S3. L’installation avec Docker était facile et l’interface de gestion plutôt cool.

Côté utilisateur par contre ça sera sans doute pas suffisant. Si j’étais toi je regarderai les librairies React qui font du management d’asset. En cherchant quelques minutes je n’ai rien trouvé mais ça doit exister…

2 « J'aime »

La plupart des « file manager » en React sont payants. En open source, j’ai trouvé https://chonky.io qui a l’air assez complet, même si l’interface laisse à désirer. Apparemment l’upload de fichiers doit se gérer avec une action custom.

Voir aussi cet article:

Il y a un exemple pour se connecter via le protocole S3:

https://chonky.io/storybook/2.x/?path=/story/file-browser-demos--s-3-browser

1 « J'aime »

merci @srosset . Comme nous l’avions prévu dans la roadmap, je cherche plutot un DAM tiers clefs en main qui nécessite pas de développement et qui est à destination des usager finaux. J’en suis à mon 4eme ou 5eme instalation de produit existant et le meilleur candidat est pour le moment https://www.atrodam.com/

Désolé @simon.louvet.zen, je n’ai aucune bille là dessus, bon courage pour tes recherches.

Apres beaucoup de test nous allons proposer d’utiliser AtroDAM pour notre client.
Intégration réussi dans semapps image, pdf, video, audio.
Dockerisation et hebergement effectué par nos soin.
logiciel tres puissant et customisable qui va plus loin que le DAM. C’est un systeme d’information tout en un : structure de donné, design de formulaire, gestion des user/droit/group, portaiils défférencié par url, gestion des menus, gestion des assets…
Nous vons pu le customiser (en no-code) pour obtenir exactement ce que nous voulions : un DAM facile à utiliser et répondant à tous le besoins demandés.

Bilan des esais : DAM - HedgeDoc

Vous semblez donc vous écarter encore un peu plus de Solid dont l’un des objectifs est justement d’avoir un espace de stockage standardisé…

Je suis en train de préparer une réponse au post sur le forum Solid de @srosset. Elle devrait être prête la semaine prochaine.

Il semble que vous ayez mis les mains dans un engrenage qui vous éloigne toujours plus de Solid entre le refus des documents, de Solid-OIDC et de la complète ignorance de la partie standard client-à-client (ici vous ratez 50% de ce qu’est Solid). Je trouve ça dommage et triste…

Voici déjà quelques éléments concernant l’architecture documents :

  • De Tim B. Lee :

The Pod, in RDF terms, is a quadstore, not a triple store. A triples store is not powerful enough. The 4th part of the quad, the ID of the graph, we call a ‹ Document › to make it match with the way people talk. They might be called Named Graphs or Linked Data Resources but « Documents » is simpler. The fact that the linked data in a pod is basically a set of distinct graphs is really important.

  • De Henry Story :

We need ways to separate perspectives, statements, … […] In a plain graph database one can only deal with this inconsistency by refusing to do reasoning. And indeed those databases don’t do reasoning. They could not, unless they enforced one oracle to manage the truth of all statements. That could work for one organization, but it won’t for the world wide web. Just think of China, Russia, US, Saudi Arabia, Japan, Israel, Palestine, and all the other countries as agents, each of which having very different interests and points of views. The world is a multi-agent system since a billion years at least.

A document is a statement of something by someone in a certain mode (could be fictional mode or factual). The fourth element of our quads is what is needed to name the result of the act of saying something. The same graph produced in two different places is not the same saying, and may have very different trust properties for example, even if they have the same meaning. The statement by a doctor that I should take some medication does not have the same value as someone in a bar telling me to.

Semapps est bien compatible document. Le besoin que j’avais etait d’avoir une interface ergonomique grand publique pour publier des assets, (image, pdf, audio, video) intégrable facilement en markdown/HTML . Nous aurions pu le faire avec semapps mais cela aurait nécessité du dev front et nous n’avions pas le budget. De plus nous avions depriorise ce besoin dans la construction de la roadmap a laquelle tous contributeur.trice est invité.

J’espère que cela t’apaisera.
Concernant solid-oidc c’est une autre question.

Choisissons ensemble plutôt que d’être triste des orientations.

1 « J'aime »

Sébastien m’a répondu dans une discussion privée mais la plupart de mes éléments de réponse sont remis ici en réponse à Simon.

Semapps est bien compatible document.

L’architecture document ne concerne pas uniquement les binaires, cela concerne aussi les documents turtle qui sont des graphes RDF (voir citation de Tim B. Lee). Vous utilisez un triple store et il ne me semble pas que vous émulez de tels documents dans ce système. Mais peut-être que ça a changé ?

Choisissons ensemble plutôt que d’être triste des orientations.

Il me semblait que SemApps voulait être compatible Solid. Si c’est le cas il n’y a pas grand chose à choisir : pour moi il faut implémenter les éléments actuels de la spécification Solid même si vous n’êtes pas satisfaits ou convaincus. Implémenter un sous ensemble d’un standard n’a pas de sens car la solution ainsi développée n’est pas compatible avec le reste des applications qui respectent le standard.

Concernant solid-oidc c’est une autre question.

Oui on est légèrement hors-sujet par rapport à la demande initiale mais même réponse que précédemment. Quand bien même Solid-OIDC ne serait pas une bonne solution il faut l’implémenter quand on veut faire du Solid. Quitte à intégrer dans son système d’autres mécanismes alternatifs.

De plus nous avions depriorise ce besoin dans la construction de la roadmap a laquelle tous contributeur.trice est invité.

J’ai déjà exprimé mon avis à plusieurs reprises : pour moi il faut suivre les spécifications Solid. J’accepte tout à fait qu’on soit en désaccord. Je préfère investir la plupart de mon énergie dans des projets compatibles Solid. Je vous alerte de temps en temps quand je vois des choses qui me choque et j’essaie de vous transmettre les éléments dont je dispose.

J’espère que cela t’apaisera.

Merci de ta considération. J’espère pour ma part ne pas être trop agressif en exprimant des choses qui ne vont pas toujours dans votre sens !

1 « J'aime »

Quel serait l’intérêt de stocker chaque ressource dans un graph différent du triple store, si ce n’est rendre les requêtes SPARQL plus compliquées ? (Petite précision technique pour information: ça ne serait pas possible avec Jena Fuseki car les graphs additionnels doivent être créés en dur, faute de quoi ils ne sont pas persistés)

Merci de prendre le temps de contribuer. Je regrette cependant que tu ne sembles jamais prendre en compte le facteur temps/argent dans tes raisonements.
Essaie d’implémenter de A à Z un serveur Solid avec un triplestore pour le storage (car c’est autorisé) et peut-être ensuite tu comprendras qu’il y a de nombreux écarts entre la théorie et la réalité.

Essaie d’implémenter de A à Z un serveur Solid avec un triplestore pour le storage (car c’est autorisé) et peut-être ensuite tu comprendras qu’il y a de nombreux écarts entre la théorie et la réalité.

C’est sûr que vous vous compliquez la vie à vouloir utiliser un triplestore comme storage. D’autant plus qu’il n’y a aucun besoin d’un triplestore pour faire du Solid ! Nous pouvons faire des requêtes SPARQL avec comunica et LDflex sur les PODs : ça fonctionne très bien, c’est intuitif et extrêmement performant (comunica utilise des streams ce qui permet d’obtenir un résultat instantanément). Et quand cela est couplé aux index définis dans un standard client-à-client c’est que du bonheur !

Je regrette cependant que tu ne sembles jamais prendre en compte le facteur temps/argent dans tes raisonements.

Si justement. Tu dis toi même qu’utiliser un triplestore complique le développement : cela multiplie donc les coûts et le temps. C’est d’ailleurs probablement l’une des raisons pour lesquelles les autres implémentations de serveur Solid n’utilisent pas de triplestore ! Déjà que c’est assez compliqué de développer un serveur Solid sans triplestore… Mais je reconnais que le challenge est intéressant. D’autre part si ce facteur est vraiment bloquant il y a aussi la possibilité de contribuer aux autres implémentations existantes, voire de forquer.

Quel serait l’intérêt de stocker chaque ressource dans un graph différent du triple store, si ce n’est rendre les requêtes SPARQL plus compliquées ? (Petite précision technique pour information: ça ne serait pas possible avec Jena Fuseki car les graphs additionnels doivent être créés en dur, faute de quoi ils ne sont pas persistés)

Ca montre bien que le triplestore Jena Fuseki n’est pas très bien adapté aux documents. Après il y aurait peut être moyen de rajouter le document comme sujet des triplets (:document contains <resource>; ...) ou d’ajouter un prédicat du genre partOfDocument mais je ne me suis pas plus penché sur la question.

En ce moment il y a des discussions pour mettre à jour le serveur Solid de la communauté (NSS), voire de le changer pour CSS ou autre chose. SemApps aurait pu être une bonne piste ! Mais avec Startin’Blox les deux implémentations françaises de Solid ont malheureusement choisies de s’écarter des spécifications ce qui les rends inutilisables. Dommage, ça aurait pu faire venir des contributions financières et peut-être même des développeurs… C’est plutôt sur le plan stratégique que je prends en compte le facteur temps/argent car respecter les spécifications c’est aussi un gage d’intégration dans la communauté ce qui nous rendrait tous plus forts !

Utiliser un triplestore est compliqué parce que les différentes specs Solid prennent très peu en compte cette possibilité. Il y a donc des aspects sur lesquels aucune réflexion n’a été menées, comme ce qui tourne autour du context JSON-LD ou des ontologies disponibles (c’est difficile à expliquer en quelques lignes mais ça va faire partie des défis sur lesquels je vais devoir travailler cet hiver).

Personnellement je ne regrette pas une seule seconde le choix du triplestore ! Et évidemment je ne souhaite pas réécrire tout le code SemApps, alors que ce qu’on a fonctionne également très bien (les performances d’ActivityPods sont excellentes grâce à la combinaison des choix qui ont été fait).

Je constate également que le choix d’utiliser un storage en filesystem créent de grosses complications pour les autres serveurs Solid, comme on le voit en lisant le fameux article de Ruben. Donc au final chaque choix technologique implique des complications et aussi des simplications. C’est la beauté de la diversité :slight_smile:

C’est sûr que ce serait techniquement faisable… Mais tu n’as pas répondu à ma question: Quel serait l’intérêt de stocker chaque ressource dans un graph différent du triple store ? Et par extension: Quel serait l’intérêt d’avoir des documents dans lesquels on peut mettre n’importe quel type de triple ? Moi je trouve que le principe « une ressource = un URI » fonctionne très bien et je ne comprends pas ce qu’apporteraient des documents tels qu’on peut en avoir avec un storage en filesystem.

C’est vrai. Mais je ne suis pas d’accord que SemApps s’éloigne de Solid. Il y a deux ans, on avait pas de Pods. Maintenant on en a, et petit à petit on se rapproche du standard, du moins autant que cela est possible. Il est vrai que lorsqu’on a commencé SemApps en 2019, on hésitait à implémenter Solid-OIDC (qui s’appelait à l’époque WebID-OIDC) car les specs bougeaient encore trop. Maintenant Solid-OIDC semble plus stable, donc je ne vois pas de raison de ne pas l’implémenter, si ce n’est un manque de moyens (Mais j’avoue que ce n’est pas non plus une priorité pour ActivityPods car l’authentification par signature HTTP fonctionne bien et il y a d’autres problèmes plus graves qui mérite mon attention)

Utiliser un triplestore est compliqué parce que les différentes specs Solid prennent très peu en compte cette possibilité.

Oui car ce n’est pas utile : je le répète on n’a pas besoin d’un triplestore pour faire du Solid. La spec Solid n’a pas à définir les choix techniques sous-jacents, elle définit des règles de plus haut niveau.

Personnellement je ne regrette pas une seule seconde le choix du triplestore ! […] alors que ce qu’on a fonctionne également très bien (les performances d’ActivityPods sont excellentes grâce à la combinaison des choix qui ont été fait).

Peut-être mais ce n’est pas compatible avec Solid donc ça ne vaut rien sur le plan du standard ! Il y a plein d’autres solutions qui fonctionnent très bien mais ce n’est pas ce qui est demandé. Ce qui est demandé ce sont des solutions compatibles avec le standard, point.

Je constate également que le choix d’utiliser un storage en filesystem créent de grosses complications pour les autres serveurs Solid, comme on le voit en lisant le fameux article de Ruben. Donc au final chaque choix technologique implique des complications et aussi des simplications. C’est la beauté de la diversité :slight_smile:

Je ne sais pas exactement ce à quoi tu fais référence ici mais je ferais la même réponse que Tim B. Lee à Ruben : tu sembles ignorer complètement l’aspect standard client-à-client. La spécification client-serveur de Solid donne un cadre qui permet de faire tout ce qu’on veut à l’intérieur. C’est ensuite le rôle du standard client-à-client, réunissant un ensemble d’acteurs souhaitant fonctionner ensemble, de résoudre ces complications.

Mais tu n’as pas répondu à ma question: Quel serait l’intérêt de stocker chaque ressource dans un graph différent du triple store ? Et par extension: Quel serait l’intérêt d’avoir des documents dans lesquels on peut mettre n’importe quel type de triple ? Moi je trouve que le principe « une ressource = un URI » fonctionne très bien et je ne comprends pas ce qu’apporteraient des documents tels qu’on peut en avoir avec un storage en filesystem.

C’est plutôt Henry Story qui y a répondu notamment avec « The statement by a doctor that I should take some medication does not have the same value as someone in a bar telling me to ».

C’est vrai. Mais je ne suis pas d’accord que SemApps s’éloigne de Solid. Il y a deux ans, on avait pas de Pods. Maintenant on en a,

Non désolé, vous n’avez pas de PODs puisque vous n’êtes pas compatibles Solid ! Tu ne peux pas prendre le concept de POD, le sortir de son contexte, lui enlever ce qui ne te convient pas et appeler ça un POD. Un POD n’a de sens qui s’il est compatible avec d’autres PODs (Solid). Tu ne peux pas prendre uniquement ce qui t’arrange dans un standard. C’est le principe, c’est la définition d’un standard ! En plus de l’authentification, vous n’êtes pas en architecture documents (RDF) donc vous n’avez pas de POD. Vous avez quelque chose qui y ressemble mais ce n’est certainement pas un POD Solid.

on se rapproche du standard, du moins autant que cela est possible.

Même remarque que précédemment, tu ne peux pas prendre uniquement ce qui t’arrange dans un standard. Il faut implémenter le tout (ou au moins le minimum) pour être compatible avec l’écosystème.

Il est vrai que lorsqu’on a commencé SemApps en 2019, on hésitait à implémenter Solid-OIDC (qui s’appelait à l’époque WebID-OIDC) car les specs bougeaient encore trop.

C’est le jeu quand on construit un standard. Au Data Food Consortium c’est pareil, le standard évolue et des mises à jour doivent être faites continuellement. Cela n’a pas de sens de vouloir implémenter un standard tout en se plaignant des évolutions normales issues du processus de construction de ce standard. Oui implémenter un standard en construction est coûteux mais c’est annoncé dés le départ.

Maintenant Solid-OIDC semble plus stable, donc je ne vois pas de raison de ne pas l’implémenter, si ce n’est un manque de moyens (Mais j’avoue que ce n’est pas non plus une priorité pour ActivityPods car l’authentification par signature HTTP fonctionne bien et il y a d’autres problèmes plus graves qui mérite mon attention)

Le fait de ne pas faire une priorité de Solid-OIDC indique pour moi un manque de considération de l’aspect collectif et communautaire de Solid. Solid ce n’est pas uniquement une solution technique, c’est un projet collectif qui fonctionne si tout le monde (ou au moins ceux qui souhaitent contribuer) joue le jeu. Un projet collectif ne peut pas réussir si chacun fait les choses à sa manière dans son coin. On définit des règles ensemble et on les applique, c’est une condition sine qua non.

Si la spec Solid était vraiment de si haut niveau, elle serait « storage-agnostic » et ne devrait pas proposer des choses qui ne fonctionnent qu’avec un filesystem. Or c’est bien le cas, je te le garanti.

ActivityPods est 100% compatible ActivityPub, LDP, WAC… on peut déjà reconnaître ça :wink: Si je m’en foutais des standards, j’aurai pu arriver au même résultat en 10x moins de temps.

On peut aussi faire des « statements » avec le principe « Une ressource = un URI ». Je ne vois pas ce que l’usage de « documents turtle » (comme tu les qualifies) change à cela ?

Pour moi il y a deux choses: le concept philosophique et architectural de « personal online datastore » (Pod), qui a été imaginé à un moment donné et qui n’est certainement pas la propriété d’une seule personne ou un seul groupe, et l’implémentation concrète de Solid via des standards sur lesquelles un grand nombre de personnes se mettent d’accord.

Pour le dernier, je ferai remarquer que le standard est très loin d’être finalisé (le working group au sein du W3C n’a été créé qu’il y a une année) et qu’il y a encore de la place pour des évolutions, si les groupes de travail sont ouverts. La réponse plutôt « énervée » de TBL à l’article de Ruben m’a créé des doutes sur ce point, mais je reste optimiste et je vais continuer à travailler ces prochains mois dans le sens d’une coopération, dans la mesure de mes petits moyens. :mouse:

Je pense que tu sous-estimes le temps que je passes à réfléchir à ces sujets…

Bon, je crois que ce sera ma dernière réponse car je ne constate pas de volonté de te part de te mettre à ma/notre place… Tu as la vérité et tu l’assène: tant mieux pour toi. Je te remercie quand même car cette discussion m’a permis de mieux prendre conscience de la spécificité des projets SemApps, Archipelago et ActivityPods, et je vais faire un article sur notre histoire et là où on pourrait aller (je l’ai écris cette nuit, mais cela va nécessiter un peu de mise en forme !)

En deux mots pour les impatients: le projet SemApps est parti de la volonté partagée d’aider les organisations de la Transition à coopérer, en créant des bases de données ouvertes en lecture et écriture. C’était une intention très différente de Solid, qui se focalise sur le respect de la vie privée et donc sur la protection des données. Mais avec ActivityPods, la jonction a été faite entre ces deux approches. Cela va permettre d’aller vers cette idéal de société que Guillaume résumait plus ou moins comme ça: « assurer un maximum d’autonomie tout en maintenant un maximum d’interopérabilité » (@guillaume.rouyer je serai preneur de ta formule exacte, que je pourrai reprendre dans mon article)

Je me sens très enthousiaste à cette perspective :slight_smile:

1 « J'aime »

Je ne sais pas si cela peu contribuer au débat, mais cette histoire de document m’a amener à une réflexion qui pourrait permettre aux néophytes d’y voir plus claire.

Il est tout a fait possible de stocker dans un dataset d’un triplestore des graphs nommés correspondant à la notion de document. Ces graphs nommés peuvent être requêtés cross-document par une requête SPARQL. Je rappelle que l’intérêt de SPARQL est principalement de réaliser des recherches multi-critères sur un ensemble de données. Actuellement, tous les documents sont stockés dans le même graph, mais une évolution « mineure » pourrait consister à créer des graphs nommés pour chaque document sans contredire l’architecture globlae.
Si ces documents sont stockés sur plusieurs fichiers, il faut charger les triplets RDF de ces fichiers dans un moteur qui pourra exécuter la requête SPARQL mais Il n’est pas possible de réaliser une requête SPARQL directement sur un ensemble de documents stocké sous forme de fichier. Avec Communica, une requête multi document doit se faire sur le navigateur et il me semble que ce n’est pas possible de faire cette requête (qui exploite des liens entre sujets de différents documents) actuellement dans communcia (@lecoqlibre je veux bien ton eclairage sur ce sujet).
Ce n’est pas pour rien que SPARQL ne fait pas parti de la norme Solid. Cela vient du fait que Solid a été pensé pour fonctionner en fichiers avec les limitations que cela induit.
A l’AV, nous avons considéré que les applications devaient pouvoir faire une requête SPARQL à un serveur et que celui-ci devait le faire sur la globalité des données qu’il possède et que les serveurs fédérés possèdent (actuellement grâce au miroir, mais on voudrait faire mieux.). Si nous nous étions limité à l’architecture induite par le stockage en fichier (je rejoins @srosset sur l’adhérence de Solid à celle-ci) cela imposait aux applications clientes de devoir agréger des données dans un moteur SPARQL sur le navigateur pour pouvoir faire des requetes cross-document et nous ne voulions pas cela, car nous avons considéré que c’était un frein majeur à l’adoption du web sémantique dans les écosystèmes de transition alors que c’est notre objectif principal.
Avec l’architecture proposée (et améliorable), des frameworks standards comme react-admin sont facilement exploitables et DP a pu réaliser des applications sur mesure en REACT, avec des développeurs traditionnels, qui ne maîtrise pas les concepts de web-semantique et ont simplement eu besoin de comprendre les containers, json-ld et SPARQL pour les recherches.

La seule grosse différence avec Solid et pour moi solid-OIDC et nous pourrions faire un pas dans ce sens si une personne motivée souhaite le faire et que des financements le permette.

Comme dit plus haut, ça ne serait pas possible avec Jena Fuseki.

Ok, j’avais lu trop vite. On fait plusieurs graph sur DFC mais on passe par la creation de graph par upload. Jamais essayé de créer des graph en dynamique. Je pense que ce n’est pas une limitation d’architecture et que cela pourrait être une évolution de Jena. En tout cas c’est une limitation actuelle technique et non pas conceptuelle ou fondamentale comme le stockage en fichier.

ActivityPods est 100% compatible ActivityPub, LDP, WAC… on peut déjà reconnaître ça :wink: Si je m’en foutais des standards, j’aurai pu arriver au même résultat en 10x moins de temps.

Oui c’est super :muscle: ! Mais là on parle du standard Solid. Si tu veux le respecter tu ne peux pas faire l’impasse sur certains éléments essentiels comme l’authentification par exemple.

On peut aussi faire des « statements » avec le principe « Une ressource = un URI ». Je ne vois pas ce que l’usage de « documents turtle » (comme tu les qualifies) change à cela ?

Le contexte ! Je répondrai plus en détails plus tard.

Pour moi il y a deux choses: le concept philosophique et architectural de « personal online datastore » (Pod), qui a été imaginé à un moment donné et qui n’est certainement pas la propriété d’une seule personne ou un seul groupe, et l’implémentation concrète de Solid via des standards sur lesquelles un grand nombre de personnes se mettent d’accord.

Tu peux reprendre l’idée du POD et l’arranger à ta sauce mais ce n’est plus un POD Solid. Tu proposes alors un standard technique alternatif ce qu’on cherche précisément à éviter.

Pour info le terme POD est en train de changer de nom et va probablement s’appeler « storage » car la communauté s’est rendue compte que le mot « Personal » dans POD induit trop de personnes en erreur sur le fait qu’un POD est uniquement personnel. Or un POD (storage) peut très bien être utilisé collectivement. Certains membres de l’AV utilisent le mot COD avec le C pour « Collective », mais un POD/storage a déjà cette fonctionnalité en lui-même.

Pour le dernier, je ferai remarquer que le standard est très loin d’être finalisé (le working group au sein du W3C n’a été créé qu’il y a une année) et qu’il y a encore de la place pour des évolutions, si les groupes de travail sont ouverts.

Le fait que le standard ne soit pas finalisé n’est à mon sens pas une raison pour ne pas l’implémenter convenablement. C’est normal dans un processus de construction. Au Data Food Consortium nous avons des gens qui nous disent qu’ils ne contribueront pas au projet car il n’est pas finalisé. Nous on leur dit qu’on a justement besoin de gens qui contribuent pour que la finalisation arrive plus vite !

Côté standardisation, je ferais remarquer tout de même que le projet Solid est bien plus proche de devenir une recommandation W3C qu’ActivityPods ou SemApps !

La réponse plutôt « énervée » de TBL à l’article de Ruben m’a créé des doutes sur ce point, mais je reste optimiste et je vais continuer à travailler ces prochains mois dans le sens d’une coopération, dans la mesure de mes petits moyens.

Je n’ai pas plus de détails sur cet échange. La réponse de Tim B. Lee a été dé-publiée peu de temps après. Je sais néanmoins qu’il existe des tensions entre les deux protagonistes. Même si c’est désagréable, c’est tout à fait habituel dans un projet collectif.

Je pense que tu sous-estimes le temps que je passes à réfléchir à ces sujets…

J’avoue que je n’en ai aucune idée.

Je ne peux que constater ton absence de réponse sur le sujet du standard client-à-client.

De plus nous avions commencé ensemble un travail d’intégration d’ActivityPub (AP) à Solid. Nous avions obtenus de très bons résultats qui montraient une faisabilité. Ce travail demande à être continué. Personnellement je n’ai pas encore de bande passante à consacrer à ça pour l’instant. Mon temps salarié reste dans le champ de l’indexation, j’ai d’ailleurs réalisé un agent indexeur lors d’un Hackathon Solid. Comme AP c’est ton sujet je trouve que cela aurait été bénéfique que tu continues ces travaux d’intégration d’AP à Solid. Je n’ai pas vu de tes nouvelles sur ce sujet donc j’ai plutôt l’impression que tu préfères développer ta solution non standard plutôt qu’une solution Solid ?

De plus, l’argument du temps passé ne fait pas autorité. C’est quelque chose de relatif, il y a des gens très rapides, d’autres très lents. Ce n’est pas parce qu’on étudie quelque chose depuis longtemps qu’on ne peut pas passer à côté de quelque chose. Ruben est par exemple passé à côté su standard client-à-client alors qu’il est expert sur le sujet sémantique/Solid !

Je te remercie quand même car cette discussion m’a permis de mieux prendre conscience de la spécificité des projets SemApps, Archipelago et ActivityPods, et je vais faire un article sur notre histoire et là où on pourrait aller

Génial, j’ai hâte de lire ça !

C’était une intention très différente de Solid, qui se focalise sur le respect de la vie privée et donc sur la protection des données.

La partie protection des données n’est qu’une partie de Solid. Solid est également un projet d’interopérabilité dans lequel tu peux très bien implémenter une solution pour « aider les organisations de la Transition à coopérer, en créant des bases de données ouvertes en lecture et écriture ».

Mais avec ActivityPods, la jonction a été faite entre ces deux approches.

Tu sous entends que ces deux approches ne sont pas jointes ce qui est pour moi faux. Solid permet justement de joindre ces deux approches, c’est dans son ADN. Mais pour ça il faut s’intéresser au standard client-a-client. ActivityPods réinvente la roue puisque l’impossibilité d’intégrer ActivityPub dans Solid n’est pas démontrée (nos premiers travaux montrent plutôt que c’est possible, comme dit précédemment).

assurer un maximum d’autonomie tout en maintenant un maximum d’interopérabilité

Yes, c’est exactement le projet Solid ! :smiley:

Il n’est pas possible de réaliser une requete SPARQL directement sur un enssemble de documents stoqués sous forme de fichier.

Ca fonctionne très bien avec Comunica ou LDflex !

Avec Communica, une requete multi document doit se faire sur le navigateur

Pour info c’est possible côté serveur également.

ce n’est pas possible de faire cette requete (qui exploite des liens entre sujets de différents documents) actuellement dans communcia

Si, tu as le link traversal pour ça ! Il y a même un link traversal spécial Solid qui exploite certaines caractéristiques des PODs ! On est en train de voir pour rajouter la prise en charge d’index dans ce moteur.

Mais même sans link traversal, tu peux parcourir toi même les liens et les ajouter comme sources, c’est très facile avec LDflex.

A l’AV nous avons considéré que les applications devaient pouvoir faire une requete SPARQL à un serveur et que celui-ci devait le faire sur la globalités des données qu’il possede et que les serveurs fédérés possedent (actuellement grace au miroir mais on voudrait faire mieux). Si nous nous étions limité à l’architecture induite par le stockage en fichier (je rejoinds @srosset sur l’adhérence de Solid à celle-ci) cela imposait aux applications clientes de devoir agréger des données dans un moteur SPARQL sur le navigateur pour pourvoir faire des requete cross-document

L’équipe de Comunica a démontré depuis bien longtemps qu’une requête SPARQL était faisable sur une architecture documents multi-serveurs (PODs). Et même très performante avec l’arrivée des streams !

Maintenant on est en train de d’étudier comment les index définies dans les standards client-à-client peuvent permettre d’obtenir de très bonnes performances sur les petits jeux de données comme sur les très gros. Nos premiers résultats sont très bons mais ce n’est pas encore publiable. C’est quelque chose qui aurait pu/dû être étudié avant si l’aspect client-à-client avait été pris en compte. Je crois savoir que l’équipe de Ruben est en train de s’y mettre aussi maintenant…

1 « J'aime »

Je t’ai écrit que j’étais disponible (et intéressé) pour continuer cette exploration avec toi. C’est toujours le cas. Mais je ne le ferais pas seul, désolé.

A+

J’aimerai que nous ayons une réunion technique en visio ou présentiel pour échanger sur tous ces sujets avec plus d’interaction humaines la possibilité d’interagir en direct afin de progresser mutuellement et pouvoir se contredire ou s’aligner plus rapidement. Je peux l’organiser si besoin. @srosset @lecoqlibre