Source code of my website
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

✨ : add tangled draft article

+112
content/posts/drafts/tangled/at-proto-records.png

This is a binary file and will not be displayed.

content/posts/drafts/tangled/cover.png

This is a binary file and will not be displayed.

+112
content/posts/drafts/tangled/index.md
··· 1 + --- 2 + date: 2026-04-30 3 + title: "Tangled - une alternative à GitHub sur AT Protocol" 4 + slug: tangled 5 + tags: 6 + - git 7 + - souveraineté 8 + cover_anchor: top 9 + draft: true 10 + --- 11 + 12 + Avec la chute progressive de GitHub, on voit de plus en plus de messages d'entreprises ou de projets qui cherchent à en sortir. 13 + 14 + Au-delà de l'hébergement d'un simple serveur Git, GitHub c'était aussi une espèce de réseau social. 15 + 16 + Tangled se pose comme une alternative : un hébergement Git (presque classique), les interactions sociales qui l'accompagnent (stars, issues, etc.), l'hébergement de sites statiques (comme les GitHub Pages), et l'exécution de pipelines (similaire à GitHub Actions). 17 + 18 + Et tout ça avec des notions d'auto-hébergement, liées à l'AT Protocol, mais aussi pour le code et les pipelines. 19 + 20 + Ça a l'air plutôt complet, et c'est encore en version _alpha_, donc la stabilité et les features vont continuer à évoluer dans les prochains mois. 21 + 22 + J'ai testé ça pour vous. 23 + 24 + <!--more--> 25 + 26 + ## Tangled c'est quoi ? 27 + 28 + Tangled, c'est donc une plateforme "sociale" d'hébergement de code. 29 + 30 + Voyez donc ça comme une alternative à GitHub, ou même GitLab. 31 + 32 + Pour fonctionner, Tangled s'appuie sur trois éléments distincts : 33 + 34 + * l'AT Protocol pour l'authentification des utilisateurs, et le stockage des données sociales (stars, issues, PRs, etc.) 35 + * des serveurs Git, nommés _knots_ pour le stockage des données du code 36 + * des runners de CI nommées _spindle_ 37 + 38 + Par défaut, Tangled propose l'utilisation de son propre PDS AT Protocol (`tngl.sh`). 39 + Si vous n'avez pas encore de compte AT Protocol (comme un compte Bluesky), vous pourrez en créer un qui sera hébergé sur `tngl.sh`. Si vous avez déjà un compte Bluesky, sur un PDS appartenant à Bluesky ou un autre (comme Eurosky), vous pouvez utiliser ce compte. 40 + 41 + Le PDS de Tangled est hébergé en Finlande. 42 + 43 + Et c'est là où est l'idée de génie. Toutes les données relatives à Tangled sont stockées sur votre PDS, dans des records préfixés `sh.tangled`. En cas de migration de compte sur un autre PDS, les données vous suivent. 44 + 45 + ![Les records AT Proto de mon compte](at-proto-records.png) 46 + 47 + Les _knots_ sont des simples serveurs Git, auto-hébergeables. Encore une fois, Tangled a son propre _knot_, qui permet d'héberger le code sans avoir besoin de démarrer sa propre instance. 48 + Mais si vous souhaitez héberger votre propre _knot_, pour conserver la maitrise de vos données, c'est aussi possible. 49 + 50 + Enfin, le même principe s'applique pour les _spindle_, qui sont les runners de CI. 51 + Ici aussi, Tangled propose son propre _spindle_, mais il est possible d'en auto-héberger un. 52 + 53 + ## Le setup du compte 54 + 55 + Si vous avez déjà un compte AT Protocol (Bluesky principalement), la création de votre compte sur Tangled se fait simplement en se connectant avec votre compte existant. 56 + 57 + Les données relatives à Tangled sont alors stockées sur votre PDS. 58 + 59 + > Je n'ai pas encore migré mon compte sur un PDS de type Eurosky, donc je ne sais pas concrètement si ça fonctionne, mais je me doute que c'est bien le cas. 60 + 61 + Une fois cette première étape franchie, on a accès à la plateforme. 62 + 63 + La page d'accueil présente une timeline avec les activités d'autres personnes, et quelques repos _Trending_. 64 + 65 + ![Page principale de Tangled](tangled-main-page.png) 66 + 67 + Comme pour tous les hébergements Git, il y a un peu de setup à faire : configurer les clés SSH qui permettront de pousser le code et configurer les adresses mails qui permettent de rattacher les commits au compte. 68 + 69 + ![Configuration des adresses mail de commit](tangled-config-emails.png) 70 + 71 + ![Configuration de la clé SSH](tangled-config-ssh.png) 72 + 73 + ## Créer un nouveau repo 74 + 75 + La création d'un repo se fait en quelques clics. 76 + 77 + ![Formulaire de création d'un repo](tangled-repo-creation.png) 78 + 79 + Une subtilité dans la création du repo est la sélection du _knot_, qui est le serveur qui héberge le repo. Je reviendrai sur ce point plus loin, en détaillant la partie liée à l'auto hébergement. 80 + 81 + Une fois le repo crée, on nous propose simplement d'y pousser le code. 82 + 83 + ![La page d'un repo tout neuf!](tangled-empty-repo.png) 84 + 85 + J'ajoute le repo à mes remote Git avec la commande `git remote` 86 + 87 + ```shell 88 + $ git remote add tangled git@tangled.org:codeka.io/website 89 + 90 + $ git push tangled 91 + The authenticity of host 'tangled.org (2a04:3541:8000:1000:24de:d2ff:fe7c:6eaf)' can't be established. 92 + ED25519 key fingerprint is SHA256:fLyp6ivr5HqmGI8yJiPYstTiJa2AXF/RAa9kF/ur1xo. 93 + This key is not known by any other names. 94 + Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 95 + Warning: Permanently added 'tangled.org' (ED25519) to the list of known hosts. 96 + 97 + Welcome to Tangled's hosted knot! 🧶 98 + Enumerating objects: 4145, done. 99 + Counting objects: 100% (4145/4145), done. 100 + Delta compression using up to 22 threads 101 + Compressing objects: 100% (3858/3858), done. 102 + Writing objects: 100% (4145/4145), 615.41 MiB | 9.50 MiB/s, done. 103 + Total 4145 (delta 1993), reused 309 (delta 72), pack-reused 0 104 + remote: Resolving deltas: 100% (1993/1993), done. 105 + To tangled.org:codeka.io/website 106 + * [new branch] main -> main 107 + ``` 108 + 109 + Le code apparait bien dans le repo, première étape franchie ! 110 + 111 + ![Mon repo une fois le code pushé](tangled-repo-pushed.png) 112 +
content/posts/drafts/tangled/tangled-config-emails.png

This is a binary file and will not be displayed.

content/posts/drafts/tangled/tangled-config-ssh.png

This is a binary file and will not be displayed.

content/posts/drafts/tangled/tangled-empty-repo.png

This is a binary file and will not be displayed.

content/posts/drafts/tangled/tangled-landing-page.png

This is a binary file and will not be displayed.

content/posts/drafts/tangled/tangled-main-page.png

This is a binary file and will not be displayed.

content/posts/drafts/tangled/tangled-repo-creation.png

This is a binary file and will not be displayed.

content/posts/drafts/tangled/tangled-repo-pushed.png

This is a binary file and will not be displayed.