2 points par GN⁺ 2025-12-01 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Le projet de navigateur web Dillo est en cours de migration depuis GitHub vers un serveur auto-hébergé
  • Les raisons principales de la migration sont la dépendance au JavaScript, la gouvernance centralisée et les performances lentes relevées sur GitHub
  • Le nouveau serveur est exploité sous le domaine dillo-browser.org et utilise un frontend Git léger basé sur cgit ainsi qu’un bug tracker maison, « buggy »
  • Toutes les données sont gérées dans un dépôt Git et répliquées sur Codeberg et Sourcehut, ce qui minimise le risque de perte
  • La conception s’appuie sur des signatures OpenPGP pour préserver la confiance en cas de perte DNS et renforcer l’autonomie et la pérennité du projet

Contexte

  • Le site historique de Dillo était dillo.org, avec un dépôt Mercurial, un serveur de courrier, un bug tracker et les archives de la liste de diffusion
    • En 2022, le domaine a été perdu, puis un tiers a créé un site similaire rempli de publicités IA
    • Certaines données ont été récupérées, mais pas de manière exhaustive
  • Forts de cette expérience, les mainteneurs ont décidé d’éviter une dépendance à un site unique et de bâtir une infrastructure de sauvegarde distribuée
  • Le code a d’abord été déposé sur GitHub, mais jugé inadapté à long terme

Limites de GitHub

  • GitHub était pratique pour les workflows CI et la gestion des dépôts, mais présente plusieurs limites
    • Le frontend ne fonctionne qu’avec le JavaScript, ce qui empêche de consulter les issues et PR avec le navigateur Dillo
    • Les pages consomment trop de ressources, provoquant une surcharge inutile pour un rendu HTML simple
  • Le risque qu’un acteur unique de gouvernance bloque un compte peut entraîner la suppression de l’accès aux données
  • La plateforme ralentit progressivement et exige une connexion Internet rapide
  • Le modèle de notifications de GitHub basé sur le « push model » ne s’adapte pas à un mode de développement orienté hors ligne
  • L’absence d’outils de modération communautaire dans les projets à fort taux d’utilisateurs non développeurs augmente la fatigue des mainteneurs
  • Alors que GitHub s’oriente vers le LLM et l’IA générative, des sites mettent en place des murs JavaScript ou un fingerprinting navigateur renforcé pour bloquer les crawlers LLM
    • Cela provoque des effets de bord qui empêchent l’accès via Dillo

Mise en place d’un hébergement propre

  • Les services de dépôt existants ne permettaient pas de remplir à la fois les objectifs de suppression du point de défaillance unique et d’exploitation légère
    • Nous avons donc choisi d’exploiter un serveur propre et de conserver plusieurs miroirs
  • Le domaine dillo-browser.org a été acquis et un petit VPS a été installé
    • Il fonctionne de manière plus stable que prévu, en traitant principalement le trafic des bots IA
  • Le frontend Git choisi est cgit
    • Écrit en C, il consomme moins de RAM et de CPU, et fonctionne sans JavaScript
    • Le CSS a été ajusté pour s’afficher correctement dans Dillo
    • Accessible via https://git.dillo-browser.org/
  • Le bug tracker utilise « buggy », développé en interne
    • Il parse des fichiers Markdown pour générer des pages HTML, et chaque bug est stocké dans un dépôt Git
    • Lors d’un commit, un hook Git met automatiquement à jour les pages
    • Édition possible hors ligne, sans crainte de vulnérabilités de sécurité
    • Disponible à https://bug.dillo-browser.org/
  • Les archives de la liste de diffusion sont stockées de manière répartie sur 3 services externes, avec ajout prévu d’une copie propre ensuite

Configuration des miroirs

  • Toutes les données critiques sont gérées sous forme de dépôts Git et sont répliquées sur Codeberg et Sourcehut
    • Si un dépôt arrêté, on peut basculer rapidement vers un autre miroir avec un faible coût de migration
  • Le point de défaillance unique reste le DNS (dillo-browser.org)
    • En cas de perte du DNS, il est possible d’informer les utilisateurs via mailing lists, Fediverse, IRC
    • Les données étant répliquées en git, il n’y a pas de perte fatale

Signature OpenPGP

  • Cette page est signée avec la clé GPG de Rodrigo Arias Mallo (32E65EC501A1B6FDF8190D293EE6BA977EB2A253)
    • Il s’agit de la même clé que pour les dernières versions de Dillo, et elle est également enregistrée sur le compte GitHub
    • Le fichier de signature (index.html.asc) est lié par <link rel=signature>
  • La signature OpenPGP permet de conserver la confiance même en cas de perte DNS
    • Prouver la propriété via une confiance basée sur la signature plutôt que par la chaîne de certificats TLS
    • Les signatures incluses dans tous les miroirs Git renforcent la résistance aux pertes de données

Avancement de la migration et perspectives

  • Le dépôt GitHub n’est pas supprimé immédiatement et continuera d’être mis à jour jusqu’à la fin de la migration
    • Une fois terminée, le dépôt sera basculé en mode « archived », avec annonce sur le site officiel
    • Les commits et fichiers de release sont conservés pour la rétro-compatibilité descendante
  • La nouvelle infrastructure peut être exploitée de manière indépendante avec peu de coûts et de consommation énergétique
    • Au vu du niveau actuel des dons et des coûts serveur, elle peut être maintenue au moins pendant 3 ans
    • Les soutiens sont possibles via Liberapay si vous le souhaitez : https://liberapay.com/dillo/

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.