Concevoir une présentation claire et précise de SemApps

Salut à tou.te.s !

Ce post pour vous proposer de contribuer à une présentation de SemApps, laquelle pourrait devenir un document de référence !

Je propose de partir d’une présentation qu’on avait jardinée avc @pierre pour NAOS : Elle fait 18 pages mais mélange SemApps et Archipelago, les Chemins de la Transition …

Je suis du coup en train de l’épurer, de la restructurer et de l’actualiser, n’hésitez pas à apporter vos grains de sel en commentaires !

1 « J'aime »

Question

Est-ce que SemApps est un serveur, un framework ou un middleware ? Ou les 3 à la fois ?

Ping @srosset @simon.louvet.zen @niko.plp @thomas.francart & co !

C’est defini comme une boite a outil dans github.
une boite a outil qui comprend un serveur, et des interfaces graphiques (client).
Le serveur est extensible peut servir de base pour implementer des micro-services metiers.
les interfaces graphiques peuvent etre remplacées par d’autres.

1 « J'aime »

Je préciserai de quoi construire un serveur et de quoi construire une interface.
Archipelago est un serveur et une interface.

2 « J'aime »

Maintenant que Archipelago est un projet à part, je ne vois personnellement pas d’autre qualificatif pour SemApps que « boîte à outil ». Même « framework » me semble être un peu un abus de langage: les frameworks utilisés par Archipelago sont plutôt Moleculer (pour le back) et React-Admin (pour le front). SemApps ajoute à ces frameworks des composants qui permettent de faire du web sémantique, mais il ne me semble pas être un framework à part entière.

3 « J'aime »

héhé merci pour vos réponses !

Le truc c’est que le concept de boite à outil y compris en anglais ne permet pas de spécifier aux yeux des techniciens la nature d’un logiciel … On avait pensé à DMS mais on l’a inventé, ce n’est donc pas non plus une manière standard de décrire un logiciel …
=> J’aimerais bien faire rentrer SemApps dans la bonne « case », à supposer qu’elle existe.

Et en effet, depuis qu’on a isolé Archipelago (mais aussi ActivityPods, Organigraph, Fluidgraph, Grezi, DFC etc.) SemApps redevient vraiment ce qu’on a toujours voulu qu’il soit : un truc de type serveur / middleware / framework … auquel on peut adjoindre une diversité d’interfaces …

Vous n’avez pas tiqué sur middleware (terme qu’on utilise avec celui de serveur depuis le début)
Par ailleurs, j’ai l’impression que le terme serveur n’embrasse pas la diversité des fonctionnalités proposées SemApps …
Est-ce que middleware n’est pas le terme le plus proche de ce qu’on fait ?

SemApps : Un middleware permettant d’interfacer des bases de données et des applications sémantiques ?

Un abstract !

En permettant de dissocier les données, les serveurs et les interfaces de ce que nous appelons communément les plateformes, les standards du web sémantique permettent de créer de l’interopérabilité entre les systèmes d’information :

Dans le web sémantique : Une même base de données peut être manipulée via de multiples applications. A l’inverse, une même application peut manipuler de multiples bases de données.

SemApps est un middleware permettant d’interfacer des bases de données et des applications sémantiques. Il permet de déployer et de configurer facilement des systèmes d’information interopérables, capables de manipuler des données en provenance d’une multiplicité de sources via de multiples applications.

SemApps est basé sur la spécification SOLID (SOcial LInked Data), un projet international impulsé par Tim Berners Lee (l’inventeur du web), coordonné au sein du World Wide Web consortium (W3C). Il intègre par ailleurs le protocole ActivityPub, un standard ouvert permettant de créer des réseaux sociaux décentralisés. ActivityPub est au cœur du Fediverse (Mastodon, NextCloud, Peertube, Mobilizon, Discourse …)

SemApps poursuit plusieurs objectifs parmi lesquels :

  • Outiller les communautés à l’aide d’infrastructures logicielles interopérables pour favoriser leur mise en réseau.
  • Utiliser les technologies du web sémantique pour les doter d’outils de communication, de coopération et de coordination mieux, plus puissants.

Ses usages sont multiples : créer des bases de connaissances sémantiques et collaboratives, créer des réseaux sociaux P2P, des places de marché décentralisées …

Encore un fois semapps n’est pas un serveur ni un middleware.
C’est

  • un ensemble de briques / composants logiciel (d’ou la boite à outils) qui permet de construire facilement un serveur / middleware sémantique en micro service moleculer. Le terme middleware vient du fait que le serveur se place entre l’interface et le triplestore. Certaine briques nécessitent des logiciels tiers (le cache redis par exemple).
  • un ensemble de brique / composants logiciel qui permet de construire facilement une interface communicante avec ce serveur sémantique en react-admin.
  • un triplestore capable d’appliquer des droits ACL lors de la résolution d’un graph sparql (fuseki customisé)
  • un ensemble d’outils, de savoir et d’ingénieurerie que nous documentons au mieux pour créer facilement des applications sémantiques à partir de ces briques.

Par contre

  • archipelago et autres : des solution logiciels, le plus possible clefs en main, qui exploitent tout ce qui est ci dessus.

C’est pas sexy, dsl

2 « J'aime »

middleware, comme Simon le dit tres bien, est un logiciel qui se place entre 2 autres (le front et le back, le client et le serveur, dans notre cas, entre le client et le triplestore). Donc non, middleware serait trop reducteur.

Pour moi, SemApps est une solution logicielle fullstack et modulaire. Fullstack modular software solution.
Ca pete mieux que boite a outils… si c’est ca que tu recherches. :wink:

2 « J'aime »

Excellent, merci beaucoup pour vos réponses qui sont plus claires !

Je vais revoir le pitch en fonction. Le mot clé c’est modulaire ! (Ca permet de parler de react admin (mais aussi des technos utilisées pour Fluidgraph, Grezi, DFC, 100 lieux etc.) sans que semapps soit react admin …

Avec les changements récents, SemApps est vraiment orienté pour les développeurs qui ont besoins de composants / briques / outils pour développer des logiciels qui respectent les standards du web sémantique. Je crois qu’il faut rester sur ça, et orienter les non-développeurs sur Archipelago ou d’autres produits construits avec SemApps.

(Ah on a posté notre message en même temps @guillaume.rouyer !)

2 « J'aime »

SemApps est une solution fullstack et modulaire destinée aux développeurs souhaitant développer des logiciels basés sur les standards du web sémantique. Elle permet de déployer et de configurer facilement des systèmes d’information interopérables, capables de manipuler des données sémantiques en provenance d’une multiplicité de sources via de multiples interfaces.

1 « J'aime »

Yééé :slight_smile:

J’ai utilisé parfois un catalogue de composants. à la place de boite à outils

Archipelago, Organigraph, ActivityPods sont des modèles (template) qui utilisent des composants SemApps.
Attention: je ne mettrais pas DFC, Grezi, Fluidgraph dans le même panier.
DFC est une instance de SemApps, comme archipel ou les 100 lieux.
Grezi et Fluidgraph sont des outils de visualisation.

A qui serait réservé l’abstract que tu proposes ?

Oh oui ! c’est très en phase avec les commentaires que j’ai pu recevoir.

1 « J'aime »

Ces évolutions pourraient peut-être être l’occasion de changer le nom de SemApps ?

SemBox ? :wink:

1 « J'aime »

Aah je ne m’y attendais pas à celle là ! Je kiffe SemBox mais peut-être l’utiliser par exemple pour un packaging SemApps ActivityPods Archipelago, organigraph, flod.io grezi etc ?

SemApps a déja une bonne réputation, ce serait dommage de le faire disparaitre je crois !

1 « J'aime »

Très bonne initiative, ça fait longtemps que je ne comprends pas vraiment ce que c’est.

pour moi ce n’est pas « une solution logiiel » mais un enssemble de composant permettant de réaliser facilement une solution logiciel.