Projet de la semaine : Beaker Browser
Cette semaine, nous avons rencontré Paul Frazee, créateur de Beaker Browser. Beaker est un navigateur web expérimental peer-to-peer qui utilise le protocole Dat pour héberger des sites à partir des appareils des utilisateurs.
Qu'est-ce que Beaker et pourquoi l'avez-vous créé ?
Beaker est un navigateur participatif. C'est un navigateur pour les hackers indépendants.
Le Web est une source fermée. Si vous voulez influencer le fonctionnement des réseaux sociaux, vous devez travailler chez Facebook ou Twitter. Pour la recherche, Google. Le contrôle est entre les mains des entreprises plutôt que des utilisateurs eux-mêmes.
Avec Beaker, nous disposons d'un nouveau protocole Web : le Decentralized Archive Transport. "Dat". Il crée des sites à la demande, gratuitement, et ensuite les partage à partir de l'appareil. Aucun serveur requis. C'est notre innovation.
Lorsque vous visitez un site Dat dans Beaker, vous téléchargez les fichiers. Le site vous appartient, pour toujours. Vous pouvez l'enregistrer, le dupliquer, le modifier et partager gratuitement votre nouvelle version. Tout est open source.
Voilà donc de quoi il s'agit : nous développons un navigateur pour les sites Web open source. Nous voulons que ce soit une boîte à outils pour le piratage social.
Qui devrait utiliser Beaker ?
Hackers Moddeurs Les créatifs. Les personnes qui aiment bricoler.
Comment créer un nouveau projet qui utilise Dat ?
Nous avons un outil en ligne de commande appelé bkr qui ressemble un peu à git + npm. Voici comment créer un site :
$ cd ~/mon-site
$ bkr init
$ echo "Bonjour, monde!" > index.html
$ bkr publish
Et voici comment créer une duplication d'un site :
$ bkr fork dat://0ff7d4c7644d0aa19914247dc5dbf502d6a02ea89a5145e7b178d57db00504cd/ ~/my-fork
$ cd ~/my-fork
$ echo "Mon fork n'a aucune considération pour l'index précédent. > index.html
$ bkr publish
Ces sites sont alors hébergés en dehors de votre navigateur. C'est un peu comme BitTorrent : vous partagez les sites dans un réseau P2P.
Si vous souhaitez une interface graphique, nous avons intégré quelques outils de base au navigateur, mais nous les transférons vers l'espace utilisateur. Tout cela sera modifiable par les applications utilisateur.
Pourquoi avez-vous choisi de développer Beaker sur Electron ?
C'était évident pour ce projet. Si je créais moi-même une duplication de Chrome, je serais en train d'écrire du code C++ en ce moment même ! Personne ne veut faire ça. Je connais bien la pile Web et je peux travailler rapidement avec. C'est une évidence.
À vrai dire, je ne suis pas sûr de pouvoir faire tout cela sans Electron. C'est un excellent logiciel.
Quels sont les défis auxquels vous avez été confrontés lors de la création de Beaker ?
La moitié consiste à tester les outils et à déterminer jusqu'où je peux aller.
La création du navigateur en lui-même a été assez facile. Electron est pratiquement une boîte à outils pour créer des navigateurs. ... À l'exception des onglets du navigateur ; cela m'a pris une éternité pour y arriver. J'ai finalement craqué et appris à utiliser les SVG. C'est beaucoup plus esthétique, mais il m'a fallu trois ou quatre essais avant d'y arriver.
Dans quels domaines faut-il améliorer Electron ?
Ce serait vraiment génial si je pouvais ancrer les outils de développement dans une vue Web.
Quelles sont les prochaines nouveautés dans Beaker ?
Noms DNS sécurisés pour les sites Dat. Un schéma d'URL socialement configurable, appelé « schéma d'application ». Plus d'API Dat.
Pour ceux qui seraient intéressés à contribuer au projet, dans quels domaines Beaker a-t-il besoin d'aide ?
Nous avons beaucoup de problèmes en cours. N'hésitez pas à me contacter. #beakerbrowser sur freenode. Nous tenons à jour une page dédiée aux contributeurs et nous vous y ajouterons. Et si vous venez à Austin, je vous offrirai une bière.
Des conseils d'Electron qui pourraient être utiles aux autres développeurs ?
- Utilisez les outils de construction disponibles. Vous ne voulez pas vous débattre avec vos propres solutions, croyez-moi. Utilisez electron-builder. Utilise un dépôt modèle.
- Si vous devez ouvrir un ticket dans le dépôt Electron, faites un effort supplémentaire pour faciliter sa reproduction. Vous obtiendrez une réponse beaucoup plus rapidement, et l'équipe vous en sera reconnaissante. Mieux encore, essayez de le réparer vous-même. C'est en fait assez intéressant de voir l'intérieur.
- Lisez au moins une fois tous les guides et documents avancés.
- Ne créez pas de navigateur, c'est un marché saturé.