Q: De quelle forge t'occupes-tu ? R: Je m'occupe de la forge chapril (forge.chapril.org) qui est basée sur le produit Gitea. Q: Depuis combien de temps ? R: Je l'ai déployée à la fin 2020, fait la documentation de l'instance, la personalisation et j'en fait la maintenance. Q: Qu'est-ce que tu entends par personalisation ? R: Le chapril c'est un projet d'intégration d'outils logiciel libres qui existent et donc le but du jeu, après installation, c'est de les proposer en ligne. Sauf que ça c'est l'idéal mais il y a toujours de la personalisation à faire: mettre un logo, mettre un lien etc. C'est modifier un certain nombre d'aspects visuels. Ici il fallait modifier favicon, le logo en haut à gauche, la page d'accueil et voila. Q: Combien de temps ça te prend? R: Il y a deux phases. Le déploiement était assez rapide: une ou deux journée, parce que je l'avais déjà fait avant. Il se trouve que je gère aussi la forge de l'April (aussi Gitea). Donc (et je ne l'avais pas réalisé) je gère deux forges. L'idée c'était de capitaliser sur le travail fait pour l'April pour chapril. Dans le cadre de l'April on fait les choses bien: on fait de belles procédures d'installation pour que le reste de l'équipe adminsys puisse prendre le relai. J'avais mis beaucoup de soin à produire cette documentation d'installation pour l'April. Du coup ça a été plutôt facile de la reprendre pour le chapril. Depuis l'installation il y a régulièrement des mises à jour: * Mises à jour mineures: la procédure est simple. En 15/20 minutes c'est fait, y compris le compte rendu de cette mise à jour dans un ticket qui va bien. C'est léger. Mais ils n'ont pas de paquets Debian et n'ont pas de source list Debian. Ils ont plein de paquets GNU/Linux mais pas Debian. Du coup il faut le faire à la main mais c'est très rapide et c'est bien pensé donc ça se fait très bien. Il y en a une par semaine au maximum. En trois mois 3 x 4 = 12, 15h environ. * Mises à jour majeures: cette semaine j'ai passé 2 heures pour remettre la personalisation. Ils changent des fichiers donc la personalisation ne marche pas forcément bien. A noter que Gitea a un processus de personalisation qui n'est pas graphique mais qui est pensé. Il y a un dossier dans lequel on peut reprendre leurs fichiers du code original, les modifier, et ils sont pris en compte. C'est une forme de prise en compte technique, bas niveau, mais qui a le mérite d'exister par rapport à d'autres projets ou il n'y a rien du tout. Mais il faut vérifier, après une mise à jour. Au total, pour les mises à jour, une vingtaine d'heures depuis 4 mois. Le deuxième type d'action c'est de répondre aux utilisateurs. Ca représente deux ou trois heures parce qu'il y a eu très peu de demandes, sur des bugs passagers. Et pour la mise en place, j'ai passé plus de temps que prévu sur les conditions d'usage parce qu'il y avait plusieurs personnes qui vérifiaient et il fallait que tout le monde soit d'accord. Ce n'est pas négatif, c'est positif. Q: Tu mentionne la forge de l'April ou tu as fait beaucoup de documentation, c'était quand ? R: En janvier 2020. Q: Ca t'a pris combien de temps ? R: Une journée ou deux, c'est assez rapide. Je l'ai déployée avant ça, dans un coin. J'ai l'habitude d'écrire les documentations, de prendre des notes, pour gagner du temps tout de suite. Et j'ai une certaine expérience de déploiement de services. Q: C'est au fil de l'eau ? R: Ca prend du temps. Deux trois jours globalement. Surtout que, lorsque je personalise je prend l'icone, j'essaye de l'adapter avec la charte graphique de l'April. Il faut faire des tests, des essais. Et la procédure de mise a jour s'est aussi renforcée. Q: La maintenance de cette forge de l'April concerne un public plus restreint que chapril. Tu dirais que c'est quelle masse de travail ? R: Une ou deux heure par mois pour les mises à jour. Et pour les utilisateurs c'est moins d'une heure parce qu'il n'y quasiment pas de demande. Au début il y avait pas mal de demandes parce que je faisais de la création de compte, qui se faisait sur cooptation. On converge vers la notion de "j'ai une brique logicielle, je l'installe et ça roule". On en est la avec Gitea. Si j'y passe trois heures par mois c'est le bout du monde pour l'instant. Q: Tu es bénévole ? R: Oui Q: A propos des fonctionalités de Gitea. Est-ce qu'il y a un DVCS ? R: Oui. Q: Merge/pull request ? R: Oui. Q: Issues ? R: Oui. Q: CI ? R: Non. Q: CD ? R: Non. Q: Operations ? R: Non. Q: Wiki ? R: Oui. Q: Webhooks ? R: Oui. Q: Integrations ? R: Oui. Gestionaire de ticket externe, Gitea le gère bien et je l'utilise vers le redmine de l'April. Dans chaque projet tu peux définir l'URL de la liste des tickets et aussi l'URL d'un ticket et indiquer le format de ces tickets et ainsi, dans tes issues quand tu met #XYZ, automatiquement il mettra le lien vers le ticket dans le gestionaire de ticket externe. Dans ton code, si le commit fait une référence avec la convention du #XYZ, il te mettra, dans l'interface graphique, un lien vers la bonne page du gestionnaire de ticket. Ca se définit dans les settings d'un projet. Et c'est bien pensé et oui on l'utilise. Q: Est-ce que vous utilisez une autre intégration ? R: Non. Q: Snippets ? R: Je ne sais pas. Q: Pages ? R: Je ne suis pas sur. Q: Un registry ? R: Je ne sais pas. Q: API ? R: Oui. On l'utilise pour faire les rapports d'activité. C'est un script lancé par cron tout les mois. Q: Est-ce que, en plus de ce script, il y a des features un peu ad-hoc développées par dessus la forge ? R: Une très belle page de documentation publique que j'encourage les gens à consulter. Quand on a un service, il est forcément monitoré et on a une sonde mais elle est classique et pas spécifique à Gitea. On a développé une sonde pour détecter les mises à jour. Le script de rapport d'activité montre si le service est utilisé et dans quelle proportions. Si on gère des comptes il faut voir s'il n'y a pas une explosion du nombre de comptes. Et l'espace disque, on peut arriver à saturation. Il est spécifique à Gitea mais c'est une démarche qu'on fait pour tout les services. Le backup... il y a une procédure avec une sauvegarde quotidienne via borgmatic et au préalable on dump la base de donnée. Même si ce n'est pas celui intégré à Gitea, qui a son propre dump de base de données. On fait de l'intégration et pas du développement: on fait le minimum. Q: Dans quelle mesure Gitea propose d'importer des projets ? Comment ça se passe ? R: Ca se passe bien. On pourrait penser que Gitea est rustique mais c'est un produit très actif et utilisé professionellement. Les gens qui mettent de l'argent dedans ont de vrais besoin, par exemple le gestionaire de tickets externe. Même si ce n'est pas hyper sexy coté interface graphique. Il se trouve que pour l'import tu peux importer depuis GitHub, GitLab et un autre Gitea. Et apparament, parceque je ne l'ai pas utilisé c'est des utilisateurs qui me l'ont rapporté, ça marche bien. On peut aussi déclarer des dépôt qui sont des mirroirs: je suis dans Gitea, je veux créer un dépôt qui est un mirroir d'un dépôt qui se trouve ailleurs et on m'a dit que ça se mettait à jour toutes les six heures. Sur la forge chapril il y a des utilisateurs qui utilisent la fonction mirroir et des utilisateurs qui ont utilisé la fonction d'import. Q: Ils t'en ont parlé ? R: J'ai été me promener dans les menus et j'ai été impressioné que cela soit possible, ça m'a marqué. Ca me fait penser à la forge GitLab CE que je gère pour ma boite et je me demande pourquoi je n'utilise pas ces fonctions la. Pourquoi je n'ai pas importé de projets dans le GitLab de ma boite. Il y a un certain nombre de migrations. Il y a un an ou deux il y a eu pas mal de migrations: il y a framagit qui annonce la fermeture et il y a eu un mouvement de migration. Q: On est pile dans le sujet, tu peux m'en dire plus ? R: La problématique d'hébergement de code est une problématique ancienne qui, avec l'arrivée de GitHub a été une refonte du concept, une nouvelle proposition plutôt sexy à l'utilisation et donc qui a attirée beaucoup de monde mais qui n'est pas du tout libre. Un concurrent est né qui s'appelle GitLab et qui a grandit grâce à une approche logiciel libre mais qui est très opportuniste et qui pose aujourd'hui problème parce qu'ils ont une version libre et une version pas libre. Leur gitlab.com (qui est pratique parce qu'il héberge tout le monde) était libre à l'origine: ça leur servait de plateforme de test, ils étaient bien content d'avoir des gens pour faire les tests. Et aujourd'hui ils ont mis la version pas libre donc en bon libriste qui se respecte et qui essaye d'avoir le moins de contradictions possible, même si on en a toujours, on est des être humains, on ne peut pas être sur GitHub ni GitLab.com. On cherche ailleurs et framasoft avait déployé la version libre de Gitlab sur framagit.org et donc qui permettait d'avoir le confort, l'aspect sexy tout en ne s'en occupant pas parce que c'est eux qui géraient l'instance et puis la faible contradiction par rapport aux valeurs du libre. Du coup il y avait beaucoup de projets qui étaient la bas. Notament beaucoup des miens. Il se trouve que l'aventure framasoft c'était de montrer que degoogliser internet était faisable et pas de le faire eternellement, donc ils ont annoncé il y a deux ou trois ans, qu'ils allaient commencer à restreindre les services. A partir de ce moment il n'était plus possible de rester sur leur plateforme. Il n'était plus possible de dire à des clients ou à des collaborateurs alors que cette plateforme allait soit arreter la création de compte, soit de demander aux gens d'arreter de créer des dépots etc. Mon questionnement a été: framagit dans un an ce n'est plus possible, il faut tout de suite se poser la question de comment faire. Quand on regarde sur la planete ou on peut trouver des forges ouvertes au public, il n'y en a pas tant que ça. Il y en a deux ou trois, basées sur Gitea notament, mais ça ne va pas très loin. Moi même, professionellement avec mes clients, j'ai eu beaucoup de difficulté. Je fais de la prestation de développement et je fais en sorte que le code et le gestionnaire de ticket ne soient pas chez moi parce que je veux que mon client ne perde pas ses données si moi je disparais. J'en ai conclu que je devais gérer ma propre forge. Donc j'ai déployé GitLab CE et il se trouve que maintenant les choses s'arrangent parce que certains de mes clients ont leur propre forge. Le nombre de forge sur la planète augmente, je dirais que dans les deux dernières années il a beaucoup augmenté par contre toutes ces forges ne sont pas forcément publiques. Il y a donc eu un mouvement de décentralisation des forges et j'en fait partie, avec ma boite. Autant Gitea que GitLab CE sont assez facile à déployer et à maintenir. Avec GitLab CE les mises a jour sont faciles parce qu'ils ont une source list pour Debian. Mais c'est tout les jours qu'il faut faire ces mises à jour et il n'y a rien à faire. Je me suis juste retrouvé à court de place parce qu'un paquet GitLab CE c'est 800MB et que le disque était plein. Q: Une fois que tout ça est installé, tu as fait bouger des projets ? R: Oui, mais je ne me souviens plus. J'ai aussi déplacé des projets de clients. A l'époque le gros point qui posait problème ce n'était pas git, ce sont les issues. Et je n'ai pas vérifié mais c'est encore problématique. Avec GitLab CE, si tu n'es pas root sur la plateforme tu perds les identifiants des gens qui ont créés les tickets. Grosse problématique. Dans le cas d'un projet client j'ai donc perdu les utilisateurs: ce n'était pas grave mais cela m'a été très désagréable. Q: Quand tu es root ça se passe bien ? R: Tu as plus de moyens de le faire mais je ne l'ai pas pratiqué. Q: C'était un one shot ? R: Oui c'était une migration. Je ne sais pas si j'ai fait du git push depuis mon poste de travail pour recréer le dépôt. A l'époque les fonctions d'import nétaient pas aussi sophistiquées et disponibles. Il me semble que ce sont des fonctionalités récentes. Dans Gitea, quand j'ai vu ça je me suis dit "wow" mais il me semble que c'était tout neuf. Ca m'a marqué parce que je me suis dit: "tiens, maintenant il y a de l'import". Q: Donc les projets que tu avais sur framagit ont été migrés il y a plusieures années ? R: Oui ça fait 2/3 ans. Donc très rapidement je suis passé à GitLab. Q: Est-ce que, dans le cas de la forge de chapril, tu sais que des gens sont venu la pour migrer depuis framagit ? R: Oui, certains me l'ont dit. L'annonce de la forge chapril en décembre a été extrêmement bien accueillie sur les réseaux sociaux, principalement mastodon. Moi je balançais l'annonce comme ça: ce n'est pas le premier service dont je fais l'annonce. Et il y a eu au moins une dizaine de retours de gens qui disaient: ah, super, merci un bon point pour la diversité. En plus Gitea alors que tout le monde parle de GitLab CE. Il y a une prise de conscience d'un problème de diversité: il faut qu'il y ait plusieurs produits de forge disponibles. Si ça a été remarqué c'est parce que ça fait partie de la problématique des gens. Q: Est-ce que tu te souviens d'un cas concret d'une personne qui a migré depuis framagit ? R: Oui, il y a trois mois, en Janvier, une personne m'a parlé de sa migration depuis framagit. En tant qu'administrateur de la forge j'ai accès à des indicateurs et je vois de cette façon que la fonction miroir (en direction pull). Mais je ne sais pas s'il y en a qui sont en push. Q: Comment la forge de chapril va évoluer ? Est-ce Gitea est un produit totalement monolithique ou bien est-ce qu'il y a des choses que tu peux décider d'activer ou non ? R: Dans l'interface d'administration il y a cette possibilité mais ce sont des fonctionalités mineures. Par exemple 2FA, la gestion d'avatars externes, la gestion de l'autenthification externe (via GitHub par exemple). Elles sont désactivées pour des problèmes d'éthique. Q: Comment est-ce que vous décidez cela ? R: Notre démarche est toujours de défendre le coté éthique: ça ne sert a rien d'avoir une forge si pour se connecter dessus ils passent par l'authentification GitHub. Ils sont tracés et ne sont pas en confiance. On mettra toujours une barrière. Si un jour on s'apperçoit qu'on ne peut pas défendre les utilisateurs parce que le produit ne le permet plus, a ce moment la, soit on fera une grosse personalisation, soit on changera de produit. Q: Comment ça se discute ? R: Ces valeurs la ne sont pas discutables. Ça fait partie des engagements de l'April: on ne fait pas de compromis la dessus. Après il faut la faire vivre et on a une équipe d'animateurs. Il y a un animateur référent par service et ils se parlent entre eux. Quand une question se pose elle est partagée avec l'ensemble des animateurs, voir même ouverte à tout le monde. On a des réunions mensuelles ou on fait la revue des services et ou la présence est quasiment obligatoire. On essaie d'avoir une approche collective et transparente. Et je me bat pour que, lorsque quelqu'un se pose une question, qu'elle soit ouverte au groupe mais aussi à tout le monde. Typiquement il y a des questions qu'on débat entre animateurs et d'autres qu'on met directement sur la liste de diffusion publique pour inclure les gens qui veulent participer. C'est de la transparence mais c'est aussi la volonté de jouer collectif. Et on reçoit beaucoup quand on partage une question, on ne veut pas se priver de ça. Et puis l'April et chapril sont des aventures humaines collectives donc l'idée ce n'est pas de faire des trucs dans son coin. C'est aussi une question de survie par rapport au Chapril. Parce qu'il y a des animateurs référents qui ne connaissent que leur service mais si demain ils doivent être remplacés, s'ils partent en voyage, en vacances il faut qu'on puisse prendre la suite. Ca fait partie des raisons pour avoir des échanges, partager une certaine vision de comment ça marche, de ce qui existe, des enjeux. Ca permet d'augmenter les compétences de chacun et aussi de régler d'éventuels problèmes plus facilement. Q: Je suppose que c'est aussi cette équipe d'animation qui serait sollicitée s'il y a des problèmes de comportement qui contreviennent au Code de Conduite ou la loi sur la forge ? R: Tout a fait, il y a des niveaux de responsabilité. Le responsable de tout ça c'est la présidente de l'April. Puis le délégué général. Puis l'animateur du groupe chapril (moi) qui veille à ça, même s'il n'a pas de responsabilité légale. Et enfin l'animateur du service et le but c'est que ce soit lui qui soit le plus autonome possible pour gérer. Les questions de modération se posent de plus en plus au sein du chapril. C'est relativement cool: on ne croule pas sous les demandes de modération, alors que ça fait trois ans qu'on tourne. Sur la forge il y a zero demandes. Q: Est-ce que tu as suivi le sujet de la fédération dans Gitea ? R: Je crois savoir qu'il y a un ticket ouvert, que j'ai découvert en début d'année, lorsque j'ai fait une recherche après que tu ai lancé le projet fedeproxy. J'ai été surpris que ce ticket existe et heureux qu'il y soit. Q: Imagines que tu ai une baguette magique qui te permet de faire un souhait concernant l'interaction de la forge chapril avec les autres forges, ce serait quoi ? R: Pouvoir protéger les utilisateurs en refusant l'interopérabilité avec des plateformes non libres. Fédérer des forges c'est l'avenir. Si c'est pouvoir interopérer avec GitHub ou GitLab.com, non. Q: Est-ce qu'aujourd'hui il y a quelque chose qui marche bien dans la façon dont les forges interagissent ? R: J'ai envie de penser que l'import des dépôts git marche de mieux en mieux. Et je suis surpris que GitLab CE ait implémenté l'import depuis Gitea, cela veut dire qu'ils l'ont identifié comme un concurrent.