La version 1.0 de la plateforme P2P Radicle a été lancée, visant à créer un service décentralisé de développement collaboratif et de stockage de code, semblable à GitHub et GitLab, mais non lié à des serveurs spécifiques, résistant à la censure et utilisant les ressources des participants du réseau P2P. La sortie de la version 1.0 a marqué la stabilisation du protocole et la préparation de la plateforme pour une utilisation généralisée. à partir de cette version, le protocole sera modifié tout en préservant la compatibilité descendante, et les outils incluront des capacités pour une mise à jour sans faille des systÚmes existants vers la nouvelle version. Les développements du projet sont écrits en Rust et sont distribués sous les licences Apache 2.0 et MIT. Des builds sont préparés pour Linux et macOS. De plus, un client de bureau, une interface web et une interface console sont en cours de développement.
Radicle permet de ne pas dépendre des plateformes et des entreprises centralisées pour le développement et la distribution de code, avec les risques additionnels qu'elles impliquent (point de défaillance unique, l'entreprise peut fermer ou changer les conditions d'utilisation). Pour la gestion du code, Radicle utilise Git, enrichi par des outils pour définir des dépÎts dans le réseau P2P. Toutes les données sont d'abord sauvegardées localement (concept local-first) et sont toujours disponibles sur l'ordinateur du développeur, quel que soit l'état de la connexion réseau.
Les participants donnent accĂšs Ă leur code et aux artefacts associĂ©s, tels que les patches et les discussions sur les corrections d'erreurs (issues), qui sont sauvegardĂ©s localement et rĂ©pliquĂ©s sur les nĆuds d'autres dĂ©veloppeurs intĂ©ressĂ©s, connectĂ©s au rĂ©seau P2P dĂ©centralisĂ© commun. Un dĂ©pĂŽt Git dĂ©centralisĂ© mondial se forme ainsi, dont les donnĂ©es sont rĂ©pliquĂ©es et dupliquĂ©es sur diffĂ©rents systĂšmes des participants.
Pour dĂ©finir les nĆuds voisins dans le rĂ©seau P2P, le protocole Gossip est utilisĂ©, tandis que pour la rĂ©plication des donnĂ©es entre les nĆuds, le protocole Heartwood, basĂ© sur Git, est employĂ©. Puisque le protocole est basĂ© sur Git, la plateforme s'intĂšgre facilement avec les outils de dĂ©veloppement existants utilisant Git. L'identification des nĆuds et la vĂ©rification des dĂ©pĂŽts se fait grĂące Ă une cryptographie basĂ©e sur des clĂ©s publiques, sans utilisation de comptes.
Chaque dĂ©pĂŽt dans un rĂ©seau P2P possĂšde son propre identifiant unique et est auto-certifiĂ©, c'est-Ă -dire que toutes les actions dans le dĂ©pĂŽt, telles que l'ajout de commits et les commentaires sur les issues, sont validĂ©es par le propriĂ©taire Ă l'aide d'une signature numĂ©rique, permettant ainsi de vĂ©rifier l'exactitude des donnĂ©es sur d'autres nĆuds sans utiliser de centres de certification centralisĂ©s. Pour accĂ©der au dĂ©pĂŽt, il suffit qu'au moins un nĆud en ligne possĂšde sa copie rĂ©pliquĂ©e.
Les nĆuds dans le rĂ©seau P2P peuvent s'abonner Ă des dĂ©pĂŽts spĂ©cifiques et recevoir des mises Ă jour. Il est possible de crĂ©er des dĂ©pĂŽts privĂ©s, accessibles uniquement Ă certains nĆuds. La gestion et la propriĂ©tĂ© d'un dĂ©pĂŽt utilisent le concept de « dĂ©lĂ©guĂ©s ». Un dĂ©lĂ©guĂ© peut ĂȘtre un utilisateur individuel, un bot ou un groupe, liĂ©s Ă un identifiant spĂ©cial. Les dĂ©lĂ©guĂ©s peuvent accepter des patchs dans le dĂ©pĂŽt, fermer des issues et dĂ©finir des droits d'accĂšs au dĂ©pĂŽt. Plusieurs dĂ©lĂ©guĂ©s peuvent ĂȘtre associĂ©s Ă chaque dĂ©pĂŽt.
Sur les systÚmes des utilisateurs, les dépÎts Radicle sont stockés sous forme de dépÎts Git ordinaires, contenant des espaces de noms supplémentaires pour stocker les données des pairs et des forks, qui sont en cours d'utilisation. Les discussions, les correctifs proposés et les composants pour organiser les revues sont également conservés dans le dépÎt Git sous forme d'objets collaboratifs (COB - Collaborative Objects) et sont répliqués entre les pairs.
Radicle 1.0 comprend :
- La mise en Ćuvre d'un protocole extensible pour organiser le fonctionnement du rĂ©seau P2P et la synchronisation des donnĂ©es.
- Des éléments d'interaction sociale tels que les problÚmes, les correctifs et les revues de code.
- Un protocole d'authentification et d'autorisation basé sur des clés publiques, fonctionnant sans autorités centrales. serveurs.
- Une interface CLI familiĂšre pour les utilisateurs connaissant Git.
- Une interface web pour naviguer dans les dĂ©pĂŽts et les nĆuds.
- Des outils visant à garantir la confidentialité, incluant le support de dépÎts privés et la possibilité de fonctionner via le réseau anonyme Tor.
- Prise en charge des builds répétables pour vérifier que les exécutables diffusés de Radicle sont compilés à partir des sources déclarées.
Fonctionnalités encore en développement :
- Outils intégrés pour l'intégration continue (CI) et la livraison continue (CD).
- Interface utilisateur en terminal Radicle TUI (Terminal User Interface).
- Fonctionnalités avancées de révision des modifications.
- SystÚme de notification des changements dans le dépÎt.
- Prise en charge des profils d'utilisateurs et possibilité de lier plusieurs appareils.
- Prise en charge des balises.
- Utilitaires pour modĂ©rer et gĂ©rer les nĆuds.
- Application de bureau.
Source : opennet.ru
