all repos — slides @ ce00727fdd8d9d37d3cd12cbba1a8cf26c7f6646

Reveal-md slides I made for various occasions

Merge branch 'main' of ssh://5ika.ch:1917/slides
Tim Izzo tim@octree.ch
Sun, 27 Nov 2022 11:18:19 +0100
commit

ce00727fdd8d9d37d3cd12cbba1a8cf26c7f6646

parent

5ded1cd6308b0fd0b3f2e82bd6fa0d46b56c48c2

2 files changed, 179 insertions(+), 22 deletions(-)

jump to
A fediverse.md

@@ -0,0 +1,114 @@

+--- +author: Tim Izzo +paging: Slide %d / %d +--- + +# Activity Pub + +- Protocol de réseau social **décentralisé** +- Fonctionnement très similaire aux emails +- Repose sur HTTP et [Activity Streams](https://www.w3.org/TR/activitystreams-core/) +- Utilise des données sémantiques (JSON-LD) +- Base du Fediverse + +## Fonctionnement + +- Chaque entité communiquante est un _actor_ +- Chaque actor a une Inbox et une Outbox (_collections_) +- Chaque actor peut avoir une liste de followers et une liste de following +- Chaque actor peut avoir une liste de like +- Grâce à un système de permissions, un actor peut lire et/ou écrire dans une collection + +=> https://activitypub.rocks/ + +--- + +# Demo Activity Pub avec Postman + +> TODO + +--- + +# Le Fediverse + +- Fédération de serveurs utilisant des logiciels libres +- **Intéropérabilité** forte grâce à Activity Pub et le sémantique +- Principalement Activity Pub (w3c) mais pas seulement: Matrix, Diaspora, XMPP,... +- Mastodon est le premier logiciel d'ampleur qui utilise AP et donc met en avant le fediverse + +## Services du fediverse + +- Mastodon (alt. Twitter) +- Peertube (alt. Youtube) +- Mobilizon (alt. ~Meetup) +- Pleroma (alt. Twitter) +- Pixelfed (alt. Instagram) +- Lemmy (alt. Reddit) +- ... + +Tous les systèmes qui utilisent AP peuvent échanger des données et se comprendre. +Cela crée une sorte d'unique réseau social fédéré, sans concentration de "pouvoir". +Inimaginable avec les produits GAFAM. + +=> https://fediverse.party/en/miscellaneous/ + +--- + +# Mastodon + +- _"Social networking that's not for sale."_ +- Alternative **décentralisée** à Twitter +- Chacun est libre de créer son instance et de s'interconnecter avec d'autres instances +- Une grosse fédération existe mais possible de créer sa propre fédération dans son coin +- Chaque gérant.e d'une instance pose ses règles et sa gouvernance +- By design, il n'est pas possible que quelqu'un ait la main sur le service (genre un millardaire ou un président pourri) + +- Grosse migration de Twitter vers Mastodon depuis le rachat +- _Pas la même culture que Twitter_ +- Pas la notion de "Buzz" +- Centré sur des intéractions entre humains plutôt que des concentrations sur certains comptes + +## Fonctionnement + +- On crée un compte sur une instance (ou on monte sa propre instance) +- On follow des comptes sur son instance ou sur toute autre instance accessible +- On navigue selon trois fils: + + - **Home**: Activité des comptes suivi + - **Fil public local**: Activité de tous les comptes de l'instance où on est + - **Fil public global**: Activité de tous les comptes de l'instance + des comptes qui ont un lien avec un compte de l'instance + +- Site "officiel": https://joinmastodon.org/ +- Carte des instances: https://umap.openstreetmap.fr/en/map/mastodon-near-me_828094#3/18.90/29.53 + +--- + +# Démo Mastodon + +1. L'interface graphique +2. Les données sémantiques (LPD) + +--- + +# Opportunités pour Octree + +## Caroster + +### Fédération + +- Si on normalise les données, on peut avoir une instance séparée pour des grosses entités (genre des assos). +- Chaque entité peut choisir si elle veut être connectée à la fédération ou garder ses events privés + +### Interconnexion + +- Possibilité de se "brancher" sur un événement Mobilizon existant +- Possibilité de relier son user à son compte Mastodon / Solid Pod pour infos de contacts, communications d'orga et socials + +### Fonctionnalités + +- Si on considère qu'un event Caroster est un actor, alors on peut facilement avoir un système de com in-app et ailleurs + +## Decidim + +- Fédéraliser les instances de Decidim à travers le monde ? -> Mais casse l'idée du local / une instance est liée à une politique locale ? +- Lier une concertation à des outils de communication qui ne sont pas maîtriser par une unique entité (gouvernement, parti politique,...)
M semantic.mdsemantic.md

@@ -5,19 +5,21 @@ ---

# C'est quoi le Web sémantique ? -- Poussé depuis 20 ans par Tim Berners-Lee [TED](https://www.ted.com/talks/tim_berners_lee_the_next_web) +- Réseau d'informations structurées et typées compréhensibles par les machines - S’inscrit dans la logique de l’Open-Data mais bien plus ambitieux - Permet une utilisation standardisée et **interconnectée** des données - Permet de faire des rapprochements entre plusieurs sources de données / plusieurs sujets - Considère une distribution de la données / des serveurs plutôt que de la centralisation +- En gros, permet de construire un grand réseau de connaissance étalé sur Internet +- Poussé depuis 20 ans par Tim Berners-Lee [TED](https://www.ted.com/talks/tim_berners_lee_the_next_web) --- # Différence avec HTML -- HTML est orienté *présentation des données* +- HTML est orienté _présentation des données_, à destination des humains - On peut faire du HTML sémantique pour identifier le contenu de nos pages -- HTML a certaines limites car contextuel à une page, doit gérer de la navigation +- HTML a certaines limites car contextuel à une page (gestion de la navigation, contenus riches et diverses) ```html <!DOCTYPE html>

@@ -41,24 +43,27 @@

Il existe déjà beaucoup de choses et on en utilise plein sans le savoir. - Plusieurs initiatives pour rendre Wikipedia sémantique: https://www.dbpedia.org/ -- Les données OpenGraph sont des données sémantiques consommés par les search engines +- Les données OpenGraph sont des données sémantiques consommées par les search engines - La Confédération Suisse a un service intéressant qui cherche à croiser les données [LINDAS](La Confédération Suisse a un service intéressant qui cherche à croiser les données (LINDAS) +> Aujourd'hui, c'est encore très technique et plutôt complexe, même si ça existe depuis 20 ans. + --- # Le turfu - La volonté de TBL est de créer le GGG (Giant Global Graph), un nouveau Web qui met l'accent sur les données - Les GAFAM utilisent à fond les données sémantiques mais pour leur propre gueule - - Google Search, Google Maps,... - - Facebook est un pionner en la matière - - Assistants intelligents (Google Assistant, Siri, Alexa,...) - - IA + - Google Search, Google Maps,... + - Facebook est un pionner en la matière + - Assistants intelligents (Google Assistant, Siri, Alexa,...) + - IA - Des initiatives comme SOLID ou Semapps visent à démocratiser l'utilisation tout en prônant un Web distribué --- # À quoi ça ressemble ? + ## Format de données Le standard le plus utilisé est RDF, formaté en XML ou JSON.

@@ -85,11 +90,14 @@ <dc:description>Photo d'identité de Pierre Dumoulin</dc:description>

</foaf:Image> </rdf:RDF> ``` + --- # + ## Requêtage -Il existe un (unique?) language de query qui permet de requêter des données. Inspiré de SQL. + +Il existe un language de query qui permet de requêter des données. Inspiré de SQL. ```sql PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

@@ -105,22 +113,23 @@ ?image dc:description ?description

} ``` -> Il n'est pas simple à prendre en main et va nous nécessiter du temps de formation si on veut en faire quelque chose. +Cela fonctionne avec des triplets "sujet prédicat objet" et nécessite une base de données de type _triplestore_. --- # Opportunités pour nous ##### Créer des données sémantiques à partir de R-21 et les proposer à LINDAS + C’est ce qui me semble le plus riche en terme de données sémantiques car regroupe plusieurs corps de métiers et peut intéresser d’autres pour des décisions politiques ou initiatives communales. -##### Créer des données sémantiques à partir de Caroster et s'interconnecter avec d'autres +##### Créer des données sémantiques à partir de Caroster et s'interconnecter avec d'autres Si on trouve des données sur la géocalisation d’autres transports, on peut proposer des choses plus complètes. > Par exemple: comment se déplacer d’un point un A à un point B en utilisant que des moyens de transports de type “Covoiturage”, “Bus”, “Train”. -Google fait ça avec Gmaps et c’est du sémantique qu’ils font probablement. +Google fait ça avec Gmaps et c’est forcément sur une base sémantique afin d'interconnecter toutes les sources. ##### Mettre une couche de sémantique sur nos données internes

@@ -128,30 +137,64 @@ Les informations qui nous sont nécessaires sont splitées sur plusieurs Saas et serveurs.

Cela nous demande un effort pour assurer une cohérence de l'ensemble (que l'on fait à travers Notion). On pourrait revoir la manière dont on traite nos données pour une approche plus sémantique. -Cela nécessiterait de "casser les structures" mais nous permettrait d'avoir des métriques plus poussées et plus facilement (data lake). +Cela nous permettrait d'avoir des métriques plus poussées et plus facilement (data lake). +C'est également une solution pour avoir un système d'archive indexée dans laquelle on peut rapidement trouver ce qu'on veut. ##### Publier les infos d'EVOSPE EVOSPE a des données hyper intéressantes au niveau communal, cantonal et même fédéral (LINDAS) mais il faut leur accord pour faire quelque chose. -Peut être en leur montrant l'intérêt ? +Peut être en leur montrant l'intérêt ? Autre point, on pourrait "sémantiser" toutes les données et mettre un SPARQL dessus pour avoir un système de remonté d'informations puissants. Mais il faut voir le besoin avant tout. -##### Decidim ? +##### Decidim + +Permettrait de cartographier la communauté Decidim et savoir qui fait quoi où. Comme ce qui est fait sur Kumu mais avec des données utilisables plus largement. +Semapps+Flod.io permettrait d'avoir une vu comme Kumu. + +L'ontologie [PAIR](https://www.virtual-assembly.org/ontologie-pair/) est pratique pour ça. + +##### Cartographier le réseau d'Octree + +Dans la même idée que Decidim, on pourrait cartographier nos projets / clients / partenaires afin de mieux +distinguer des opportunités ou rapprochements et donner de la visbilité. --- # Comment avancer ? -1. Monter en compétence sur RDF et SPARQL, faire des formations -2. Faire un POC sur un projet à nous -3. Voir si ça intéresse LINDAS +- Le Web sémantique est un outil et pas un objectif en soi: il faut un but clair avant de faire quelque chose +- C'est un nouveau groupe de compétences qu'on ne maîtrise pas (encore) +- Cela peut nous donner une approche moderne et nouvelle sur la manière de considérer nos données d'applications mais aussi internes, notamment si on veut rendre + nos apps interopérables. + +- Monter en compétence sur RDF, LPD et SPARQL +- Alimenter Archipel (Semapps) +- Faire un POC sur un projet à nous +- Creuser Ontologie PAIR => https://www.virtual-assembly.org/ontologie-pair/ +- Monter un pod ou un semapps à nous (avec données d'apps + internes) + +--- + +# Démo Semapps + +=> Créer le projet Voca sur [https://archipel.assemblee-virtuelle.org/](https://archipel.assemblee-virtuelle.org/) + +Les données sont ensuite utilisables depuis https://data.virtual-assembly.org/ (endpoints LDP). + +Ou en version plus graphique: https://archipel.flod.io/ --- -# Notes de fin +# Ressources intéressantes + +- Présentation SOLID et Semapps => https://pad.lescommuns.org/p/SlideInteroperabiliteSemapps#/ +- Présentation de SOLID => https://pad.lescommuns.org/p/SlideSolid +- Présentation d'un projet national utilisant des Semapps: https://pad.lescommuns.org/p/SlideCarto4CH#/ +- Présentation d'Archipel => https://www.virtual-assembly.org/wp-content/uploads/2022/01/Archipelago-1.pdf +- Ontologie PAIR de l'Assemblée Virtuelle : https://www.virtual-assembly.org/ontologie-pair/ -- Le Web sémantique est un outil et pas un objectif en soi: il faut un but avant de faire quelque chose -- C'est un nouveau groupe de compétences qu'on ne maîtrise pas (encore) -- Cela peut nous donner une approche moderne et nouvelle sur la manière de considérer nos données d'applications mais aussi internes +--- + +Voir le contenu de ces slides: `ssh 5ika.ch -p 1917 cat slides/semantic.md -c`