Une introduction à SOLID, le nouveau site Web re-décentralisé de Tim Berners-Lee

Récemment, le professeur Tim Berners-Lee a levé le voile sur un projet appelé Solid. J'ai décidé de le vérifier. Dans cet article, je décris ce que Solid vise à faire, et comment vous pouvez vous y mettre.

Qu'est-ce que Solid?

Solid est une tentative de décentralisation du Web.

Re - décentraliser?

À l'époque, la vision du Web était un espace de lecture-écriture décentralisé et collaboratif. Le premier navigateur (appelé WorldWideWeb) était également un éditeur.

Cependant, au fur et à mesure de sa progression, la conception des applications Web a commencé à se centraliser pour diverses raisons. Les données des utilisateurs sont devenues la source d'énergie et de revenus pour les entreprises Internet.

Solid est une solution à cela.

Solid est un nouveau paradigme pour les applications Web, rétrocompatible avec le Web existant.

Solid est une pile technologique, un groupe de protocoles, d'implémentations et une communauté en pleine croissance. Tout comme le Web.

La séparation de l'application et des données

Dans l'informatique pré-Internet, votre ordinateur personnel stockait vos données.

Lorsque les gens ont commencé à utiliser plusieurs ordinateurs et ont ajouté des smartphones à leur vie, le modèle «vos données restent avec vous» a été remplacé par «vos données se trouvent dans un ou plusieurs centres de données massifs à travers le monde, gérés par le développeur de l'application».

Et ainsi, les applications étaient étroitement liées à leurs données. Créer une application sur le Web implique de gérer les données des personnes à grande échelle.

Les applications et leur capacité à gagner de l'argent sont mesurées par leur silo de données . Vos données sont difficiles à migrer, car différentes applications stockent vos données de manière très différente.

Le résultat? Presque toutes les applications ont des caractéristiques de jardin clos. Cela réduit les incitations pour les développeurs à innover au niveau de l'application. Les plates-formes existantes sont sécurisées contre les perturbations, car le verrouillage des données rend difficile le déplacement des utilisateurs.

Règlement sur la protection des données

Certains pays ont adopté des lois sur la protection des données. Les entreprises doivent rendre vos données disponibles et vous pouvez choisir de les télécharger ou de les supprimer.

Cela tente de rendre le contrôle des données aux utilisateurs. Mais c'est une prescription légale, et non la réalité technique. Les données utilisateur appartiennent toujours aux développeurs d'applications, et la possibilité de télécharger vos données n'est pas très utile si vous ne pouvez pas migrer vers une alternative.

Pods: apportez vos propres données

Remèdes solides à cela sur le plan technique. Il permet aux applications d'être créées de manière à lire et à écrire les données stockées sur votre pod .

Vous avez un pod. Vos amis ont un pod. Les pods stockent vos données. Vous autorisez les applications à accéder à votre pod.

Peut-être que vous avez plusieurs pods. Peut-être deux pour la maison et le travail. Votre pod peut vivre sur votre ordinateur ou être distribué sur vos appareils. Ou il pourrait être hébergé pour vous.

Et les pods stockent les données liées . Votre pod peut créer un lien vers quelque chose sur mon pod ou n'importe où sur le Web.

Nous voulons des applications qui s'exécutent sur nos appareils. Mais nous voulons aussi l'autonomie de nos données. Et nous voulons que différentes applications puissent utiliser les mêmes données et y écrire.

Les idées derrière Solid

Entrer dans Solid m'a rappelé de commencer avec le développement Web. Je me souviens avoir appris à la fois HTML, CSS, JavaScript et les frameworks du jour.

La seule différence: Solid est nouveau et l'aide est plus difficile à trouver.

Voici une collection de concepts du premier jour que vous voudrez connaître pour commencer à développer pour Solid:

(PS: si vous voulez juste sauter, passez directement aux `` Premiers pas '')

Données liées

La puissance du Solid, et du Web en général, réside dans la façon dont les données sont liées entre elles.

Dans Solid, vous stockez les données que vous produisez où vous le souhaitez. Vos données personnelles résident probablement sur votre pod. Pour faire référence à ces données, vous utilisez des URL, comme sur le Web.

C'est aussi le bon moment pour introduire la forme complète de Solid: SO cial LI nked D ata.

En savoir plus sur les données liées dans le contexte de Solid

Cadre de description des ressources

RDF est un moyen de représenter des données liées avec des déclarations du formulaire subject-predicate-object. Ceux-ci sont également appelés triples.

RDF est un modèle abstrait. Vous pouvez même représenter RDF dans des phrases anglaises. Voici une tâche sur une liste Todo:

T1 is a taskT1 is labelled "Write an article about Solid"T1 is due October 5rd 2018T1 is assigned to @itsarnavbT1 is incomplete

Tortue

Turtle est un moyen compact de représenter des données RDF, en utilisant des URL pour représenter subject, predicateet object.

C'est répétitif et difficile à lire, donc tortue a un préfixe et un système de sténographie. Cela devient particulièrement important avec des documents plus longs.

Vous pouvez en savoir plus sur la tortue. Ou vous pouvez consulter un document complet sur les tortues ici. C'est un profil public détaillé du professeur Ruben Verborgh, qui fait partie de l'équipe Solid.

Web sémantique

Tim Berners-Lee l'explique le mieux:

J'ai un rêve pour le Web [dans lequel les ordinateurs] deviennent capables d'analyser toutes les données sur le Web - le contenu, les liens et les transactions entre les personnes et les ordinateurs. Un «Web sémantique», qui rend cela possible, n’a pas encore émergé, mais quand il le fera, les mécanismes quotidiens du commerce, de la bureaucratie et de notre vie quotidienne seront gérés par des machines qui parlent aux machines. Les «agents intelligents» que les gens vantent depuis des lustres vont enfin se matérialiser

Premiers pas

Faites-les, dans n'importe quel ordre qui vous convient.

  • Obtenez un pod: inscrivez-vous auprès de n'importe quel fournisseur de pod gratuit ou exécutez votre propre serveur (si c'est votre truc).
  • Créez une application solide avec ce tutoriel
  • En savoir plus sur ces hacks réalisés avec Solid
  • Lire la documentation Solid

Allez solide

Vous pouvez aider l'écosystème Solid en

  • contribuer au développement de Solid lui-même et des infrastructures associées.
  • développer des applications à l'aide de Solid.

Mais attention, pour le moment, apprendre et développer pour Solid nécessite beaucoup d'essais et d'erreurs et de poser des questions potentiellement stupides. Il n'y a pas de débordement de pile auquel se référer. Le débogage de certaines erreurs peut vous obliger à fouiller dans la source.

Voici les communautés où vous pouvez obtenir de l'aide:

  • r / solid (je suis l'un des mods)
  • gitter.im/solid

Et enfin, mes DM sont ouverts: @itsarnavb. Je vais essayer de répondre à toutes les questions que je reçois, ou trouver quelqu'un qui le peut.

Et je garderai cet article à jour avec les meilleures ressources pour en savoir plus sur Solid.

Lectures complémentaires

  • Site Web solide - solid.mit.edu
  • Changements de paradigme pour le Web décentralisé - Ruben Verborgh
  • Un petit pas pour le Web - Tim Berners-Lee