Journal Importer des "issues" GitHub dans des "tickets" Trac

24
30
sept.
2023

Bon, je me suis laissé entraîner. Je savais que ça finirait mal. Il y a quelques années, j'ai ouvert un compte Github. J'en avais probablement besoin pour participer à un projet hébergé sur cette plateforme. Et puis j'ai commencé à y mettre mes propres projets, parce que c'était pratique de pouvoir créer un dépôt Git en 3 clics. Je me suis bientôt retrouvé avec plus de 100 projets sur Github.

Seulement voilà, Github, ce n'est pas un logiciel libre. Et en plus, maintenant ils se concentrent sur l'intelligence artificielle et plus sur les outils pour écrire du logiciel. Et en plus, ils ont rendu l'authentification à 2 facteurs bientôt obligatoire et j'ai pas envie de leur donner mon numéro de téléphone (surtout que j'ai eu des problèmes avec mon téléphone il y a quelques jours et c'était déjà assez pénible comme ça).

J'aurais pourtant dû le voir venir: j'avais déjà dû quitter Google Code Project Hosting ainsi que BerliOS il y a quelques années. Je m'étais mis en place un Trac et un Subversion sur mon serveur personnel pour héberger mes projets.

Ces derniers mois j'ai commencé à migrer quelques-uns de mes petits projets à nouveau sur mon propre serveur. J'ai remis Trac à jour (la version 1.6 vient de sortir il y a quelques jours, c'est la première version stable à supporter Python 3, mais j'utilisais déjà les versions 1.5 qui sont aussi en Python 3 depuis longtemps). J'avais aussi installé Gerrit pour pouvoir recevoir des patchs pour mes projets. Il ne reste plus qu'à déplacer les projets en essayant de ne pas perdre trop d'informations.

Migrer le dépôt Git est la partie facile: Git est un système décentralisé, on peut récupérer les commits, branches, tags, etc et les pousser ailleurs très facilement (avec l'option --mirror par exemple). Le problème, c'est tout le reste, c'est à dire dans le cas de GitHub, les pages de wiki et les "issues", qui sont l'endroit ou un peu tout l'historique de l'activité du projet est conservé: tous les bugs corrigés, les discussions sur comment implémenter une nouvelle fonctionnalité, etc.; et aussi le futur du projet: les bugs encore à corriger et les nouvelles fonctionalités à implémenter.

Étrangement, personne n'avait encore écrit de script pour faire cette migration. J'ai dû donc m'atteler à la tâche, en m'inspirant fortement d'un script destiné à migrer de Mantis vers Trac. Ce dernier n'avait été mis à jour ni pour Python 3, ni pour les changements d'APIs survenus dans les versions 1.0, 1.2, 1.4 et 1.6 de Trac. Le premier problème a été rapidement corrigé par 2to3, et le deuxième par une lecture de la documentation d'API et un changement assez répétitif sur le code.

Du côté de Github, l'interfaçage est plutôt simple avec une API REST exposant toutes les informations nécessaires. Du côté de Trac, il s'agit d'une API Python permettant, au choix, d'utiliser des classes fournissant une interface haut niveau, soit de manipuler directement la base de données de Trac à l'aide de requêtes SQL.

Au total, l'implémentation du script a demandé moins d'une journée (j'ai commencé hier soir et je termine aujourd'hui en début d'après-midi). Il me reste encore quelques petites choses à faire, mais je vais peut-être les faire à la main pour aller plus vite. Ainsi que finaliser la configuration du Trac pour le projet que je viens d'importer (avec un joli thème, un logo, la description du projet, etc).

En tout cas, si l'envie vous prend de quitter Github pour rejoindre Trac, le script est à votre disposition dans le wiki trac-hacks: https://trac-hacks.org/wiki/GithubImportScript

  • # MFA sans téléphone

    Posté par  . Évalué à 10.

    Merci pour le script !

    Sur ce point :

    Et en plus, ils ont rendu l'authentification à 2 facteurs bientôt obligatoire et j'ai pas envie de leur donner mon numéro de téléphone

    Tu peux utiliser du TOTP (dans un gestionnaire de mot de passe comme bitwarden ou keepassxc et/ou une appli type FreeOTP) ou une clé matérielle type Yubikey ou Nitrokey (open hardware).

    C'est une excellente chose que l'authentification à deux facteurs deviennent obligatoire dès que possible, je trouve.

    • [^] # Re: MFA sans téléphone

      Posté par  . Évalué à 3.

      Je le croyais aussi, mais en fait pour utiliser une clé fido2 il faut d'abord l'appli en totp maître.
      Bhaaa
      Pas la patience de tester avec une appli totp standard, si j'ai investi dans des clés fido c’est bien parce que je ne veux pas passer par un téléphone passoire.

      • [^] # Re: MFA sans téléphone

        Posté par  . Évalué à 2.

        Ah, je n'avais pas constaté, c'est curieux comme contrainte. J'avais pu configurer ma Yubikey bien avant le TOTP (que j'ai fait en plus une fois abonné à Bitwarden, mon téléphone n'étant pas soire :D).

    • [^] # Re: MFA sans téléphone

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      Oui j'utilise par ailleurs des solutions de ce genre (pour le travail, donc tout est sur le PC du travail, ça va bien). Mais pour GitHub où je me connecte depuis peut-être une dizaine de machines, même occasionnellement, et certaines avec des OS inhabituels genre Haiku, j'ai pas vraiment envie de configurer tout ça/porter les logiciels/écrire les drivers pour les tokens matériels, et les projets auxquels je contribue ne le méritent pas vraiment (beaucoup n'on qu'un seul utilisateur: moi).

      Et puis ce n'était qu'une raison en plus de toutes les autres, mais qui est arrivé récemment et m'a rappelé que je m'étais dit que je devrais sortir mes trucs de Github et prendre une solution à base de logiciels libres.

      • [^] # Re: MFA sans téléphone

        Posté par  (site web personnel, Mastodon) . Évalué à 4. Dernière modification le 30 septembre 2023 à 19:31.

        Problématique similaire ici : je n’ai pas le luxe de dépendre du téléphone pour des trucs persos d’une part, et j’ai un serveur perso sur lequel je devais migrer (au pire sinon miroiter au mieux) le contenu de mon GH. Le souci ce sont les quelques tickets.

        J’avais vu que GitLab est capable d’assurer le déménagement ; mais je ne sais pas si c’est disponible avec une instance perso d’une part et l’instance perso je trouve ça un peu trop consommatrice (et overkill pour mon besoin) d’autre part.
        Je suis en train de regarder Forgejo, mais ça ne fait que l’import ou le miroir (disponible aussi de l’autre côté avec la même limitation …donc mal nommé migration du coup.)
        Je vais du coup regarder ton travail aussi.

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

        • [^] # Re: MFA sans téléphone

          Posté par  . Évalué à 0.

          Par curiosité je suis allé voir Forgrjo.
          C'est pas ce que j’appellerai léger, un mysql/postgresql et un binaire (langage ?) et tout un déploiement à faire.
          Tel que je le vois et avec mon usage autant filer des sous à un chaton et mettre une forge en saas.

          • [^] # Re: MFA sans téléphone

            Posté par  (site web personnel, Mastodon) . Évalué à 3.

            Oui, il a beaucoup de fonctionnalités mais un peu moins ; et surtout j'avais trouvé l'ensemble plus léger à l'utilisation —ça ne veut pas dire que c'est léger dans l'absolu, juste plus léger que GitLab. J'ai déjà le serveur de bases qui tourne donc ça change pas beaucoup pour moi.
            Après, par méfiance pour le tout intégré (et qu'on ne sait pas migrer d'une solution à une autre), je me dis que Trac pour les tickets et Gogs pour s'interfacer aux dépôts peut être un bon choix.

            “It is seldom that liberty of any kind is lost all at once.” ― David Hume

      • [^] # Re: MFA sans téléphone

        Posté par  . Évalué à 3.

        [Tant qu'on digresse, j'en remets une couche.]

        Tu peux utiliser ton serveur perso pour générer les mots de passe en y mettant le code initial et en appelant oathtool. Tu peux appeler ça via une page que tu protèges avec un mot de passe. Tu peux même chiffrer le code initial et utiliser la clé de chiffrement comme mot de passe, comme ça le secret n'est pas compromis si le serveur l'est (à ceci près que le code est visible un instant dans top quand tu fais l'appel à oathtool…).

      • [^] # Re: MFA sans téléphone

        Posté par  (site web personnel) . Évalué à 3.

        j'ai pas vraiment envie de configurer tout ça/porter les
        logiciels/écrire les drivers pour les tokens matériels

        Sauf erreur de ma part, le portage requis est minimal. Soit tu as besoin de rajouter l'USB ID kivabien quelque part (et il y a des chances que ça soit déjà fait), soit c'est fait dans le browser.

        Ensuite, bien sur, si tu part de vachement loin genre le Hurd, il y a peut être pas le support de l'USB ou seulement firefox 3.5.

    • [^] # Re: MFA sans téléphone

      Posté par  . Évalué à 5.

      C'est une excellente chose que l'authentification à deux facteurs deviennent obligatoire

      ah ?
      Je me demande toujours si ça améliore l'impression de sécurité ou la sécurité tout court. Le caractère obligatoire emmerde tellement de monde que je prédis l'apparition d'applications mobiles capables de gérer ça pour nous : détection dans un nimaile ou un nessaimesse du code à rentrer et remplissage auto-ma-gique du formulaire web.

      Sur la sécurité, comme mes enfants font tout sur leur mobile et que l'un d'eux joue à déverrouiller les mobiles de la famille et des amis en quelques secondes, je pense que la sécurité de l'authentification tient jusqu'à ce qu'on te pique ton télépĥone.

      • [^] # Re: MFA sans téléphone

        Posté par  (site web personnel, Mastodon) . Évalué à 3.

        C'est important l'impression… (en vrai, par rapport aux certifications et autres, c'est bien pour ces boîtes de montrer que c'est ok de leur côté …là en déportant la responsabilité chez les usagers)

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

      • [^] # Re: MFA sans téléphone

        Posté par  . Évalué à 7.

        La sécurité, c'est parfois une sensation de fraîcheur dans la nuque :p.

        Mais dans le cas du MFA, tu as des moyens simples et gratuits de la mettre en œuvre, et qui réduisent drastiquement l'impact d'un vol de mot de passe (par exemple tu te fais piquer un mot de passe commun à deux-trois sites web). Microsoft et Google disent que ça fait échouer 99.9% des tentatives. Bon, ils ont peut-être quelque chose à vendre, et comment leur faire confiance ? Divisons le nombre par deux, et disons que ça fait échouer seulement 49,95% des attaques. C'est déjà énorme !

        Pour reprendre l'exemple de tes enfants et des téléphones, avec du MFA, tu fais passer le risque associé au vol des moyens d'authentification de "tous les pirates d'Internet" à "quelques dizaines de personnes".

        Après, ce n'est pas parfait non plus comme solution. Mais associé à un truc genre 5 essais et verrouillage du compte (fail2ban par exemple), ça devient super efficace.

        • [^] # Re: MFA sans téléphone

          Posté par  . Évalué à 6.

          Pour reprendre l'exemple de tes enfants et des téléphones, avec du MFA, tu fais passer le risque associé au vol des moyens d'authentification de "tous les pirates d'Internet" à "quelques dizaines de personnes".

          Tu parles de quantités alors qu'il s'agit de qualité : il ne s'agit pas de voler le mot de passe d'une application, mais de voler un mobile qui donne accès à tout : comptes bancaires, impots, applications, contrôle d'entreprises (avec l'identité numérique), etc.

          Au reste, on va vite comprendre qu'il est beaucoup plus rentable de pirater un mobile qui donne accès à tout. Comme c'est assez facile vu le peu de suivi de sécurité, je pense qu'on va vers de gros ennuis.

          • [^] # Re: MFA sans téléphone

            Posté par  . Évalué à 5.

            Au reste, on va vite comprendre qu'il est beaucoup plus rentable de pirater un mobile qui donne accès à tout. Comme c'est assez facile vu le peu de suivi de sécurité, je pense qu'on va vers de gros ennuis.

            Là dessus je te rejoins complètement. C'est une des raisons pour laquelle je n'ai pas de smartphone (mais pas la principale).

            Par contre l'impact entre un exploit distant et local reste énorme, ce n'est pas tout ou rien.

      • [^] # Re: MFA sans téléphone

        Posté par  (site web personnel) . Évalué à 5.

        Sur la sécurité, comme mes enfants font tout sur leur mobile et que l'un d'eux joue à déverrouiller les mobiles de la famille et des amis en quelques secondes, je pense que la sécurité de l'authentification tient jusqu'à ce qu'on te pique ton télépĥone.

        D’où le fait d'avoir aussi besoin d'un mot de passe, le 2 de 2FA.

        Mais sinon, je connais au moins un développeur d'un projet que tout le monde a sur sa machine qui a eu son compte bitbucket compromis. Il n'avait pas de 2FA à l'époque. On est pas vraiment passé loin de la cata.

        Le 2FA, c'est un peu comme la ceinture de sécurité, ça dérange, mais quand un souci nous arrive, on est content de l'avoir.

        Et j'ai pas besoin de ressortir les vieux trucs des archives pour montrer que ça arrive encore de temps en temps:

        https://github.com/advisories/GHSA-g2q5-5433-rhrf
        https://github.com/rest-client/rest-client/issues/713
        https://withatwist.dev/strong-password-rubygem-hijacked.html
        https://www.zdnet.com/article/canonical-github-account-hacked-ubuntu-source-code-safe/

        • [^] # Re: MFA sans téléphone

          Posté par  . Évalué à 2. Dernière modification le 02 octobre 2023 à 15:03.

          Je pense n'avoir pas été assez clair…

          mes enfants font tout sur leur mobile

          D’où le fait d'avoir aussi besoin d'un mot de passe

          ne sert à rien, puisque les mots de passe stockés par Firefox sur le mobile seront accessibles au voleur

          • [^] # Re: MFA sans téléphone

            Posté par  . Évalué à 4.

            Stocker ces mots de passe de manière non chiffrée n'est pas une bonne pratique. Si les bases ne sont pas appliquées oui ça ne sert à rien. Mais c'est comme dire qu'utiliser 1234 comme mot de passe c'est pas très sûr. Tout le monde répète à tut tête d'utiliser des gestionnaires de mot de passe de ne mémoriser qu'un seul mot de passe fort et de ne pas réutiliser ses mots de passe. On dit juste en plus que c'est bien d'avoir en plus un second facteur. Personne de sérieux ne dit que c'est le graal, personne ne dit que ça permet d'utiliser azerty comme mot de passe.

            https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

            • [^] # Re: MFA sans téléphone

              Posté par  . Évalué à 6.

              Oui ben faudrait redescendre dans la vraie vie hein. On peut répéter comme un mantra qu'il y a des bonnes pratiques à avoir, mais lorsqu'elles ne sont pas adoptées par la masse c'est comme pisser dans un violon :

              • Autour de moi, les mots de passe font 4 ou 6 chiffres (dates de naissances…) ou quelques lettres et des chiffres (prénom et dates de naissance…). 
              • Beaucoup de clients du magasin de ma copine ont une carte bleue dans le téléphone ; ceux qui s'y connaissent ont réussi à bidouiller pour ne plus mettre de mot de passe, ceux qui ne veulent pas s'y connaitre mettent un mot de passe le plus court et simple possible (et pourquoi pas, puisque le code habituel des CB ne fait que 4 chiffres ?).
              • Autrefois j'avais aussi des exemples bien sentis dans l'informatique, avec des admins sys certifiés et tout… ça date un peu et je ne suis plus dans la scène "sécurité" mais je doute fort que ça ait beaucoup changé.

              Bref. AMHA, ça ne sert à rien de mettre en oeuvre une solution d'authentification à deux facteurs dans de telles conditions. On se voile la face. Et vu nos données persos qui circulent sur les tel mobiles des autres, personne n'est en sécurité ; par exemple, pour des raisons pratiques ma copine et mes enfants ont déjà eu accès à des trucs sensibles comme mon compte bancaire par exemple et c'est sûrement le cas pour chacun de nous. Donc faut pas s'aveugler. À moins que j'ai raté un truc, en l'état l'authentification forte, l'identité numérique, etc. c'est selon moi dangereux.

              • [^] # Re: MFA sans téléphone

                Posté par  . Évalué à 2.

                Même dans des cas de mauvaises pratiques le second facteurs protège de certains problèmes.

                Imaginons que je descende dans ton monde réel pleins de gens qui utilisent 1234 comme mot de passe partout et ben le second facteur va protéger en cas de vol de base de données. C'est à mon avis l'attaque de loin la plus répandu car la plus lucrative. Voler plusieurs milliers de couples email / mot de passe sans prendre de risque physique plutôt que d'aller chercher un à un des téléphones en bas de ta rue.

                Les différents éléments de sécurité (mot de passe fort, non réutilisation, stockage sûr, second facteurs,…) s'additionnent dans n'importe quel sens. Donc il n'y a pas à faire tout le reste avant. Il n'y a pas d'ordre (certains apportent plus que d'autres, mais les uns ne s'appuient pas sur les autres).

                D'une autre manière si après des décennies, les utilisateurs n'arrivent toujours pas à appliquer ce qui paraît être les principes de base, il va falloir se rendre compte que ben le mot de passe c'est de la merde et qu'il va falloir trouver autre chose. L'utilisation d'un autre facteur que les mots de passe peut être un début de réponse.

                https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

              • [^] # Re: MFA sans téléphone

                Posté par  . Évalué à 4.

                ton un peu sec, désolé

              • [^] # Re: MFA sans téléphone

                Posté par  . Évalué à 10.

                Comme le disait Coluche, c'est pas parce qu'ils sont nombreux à avoir tord qu'ils ont raison :).

                le code habituel des CB ne fait que 4 chiffres

                Voilà un bon exemple de 2FA (quelque chose que tu as, quelque chose que tu sais), systématiquement couplé à une limitation à trois essais (empêche la force brute).

                En combinant ces trois paramètres, on arrive à avoir des millions de cartes en circulation et assez peu de fraude.

                Une fraude facile à mettre en place est de regarder quelqu'un faire son code, et lui prendre/voler sa carte ensuite, mais, risqué, relativement lent, et la carte peut être révoquée rapidement.

                • [^] # Re: MFA sans téléphone

                  Posté par  . Évalué à 3.

                  Hem. Le problème c'est l'idée induite dans la tête des gens : un mot de passe officiel qui fait 4 chiffres ne donne pas envie de faire mieux. En plus cette simplicité a permis des vols de codes : pour ceux qui s'en souviennent, il y a quelques années des voleurs avaient planqués des dispositifs dans les distributeurs.
                  Mais le problème n'est pas tant la carte physique. :
                  la pléthore de chiffres sur les CB (numéro de carte, date, 3 chiffres de contrôles) n'est pas d'une grande sécurité. Le faible nombre de possibilités rend la forge de CB très facie. On a plein de paiements avec des fausses cartes sur nos serveurs, la détection est assez efficace, mais pas toujours fiable et donc coûteuse : faux positifs, lenteurs, fausses cartes non détectées.

      • [^] # Re: MFA sans téléphone

        Posté par  . Évalué à 2.

        Tu veut dire que comme ça n'est pas inviolable c'est uniquement une impression de sécurité ?

        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: MFA sans téléphone

      Posté par  . Évalué à 10.

      Les fournisseurs privés ont tendance à mettre bien en avant leur solution maison d'app mobile (GoldenJail Authenticator) ou le numéro de mobile (SMS) comme nécessaire au 2FA.
      Parce que cela leur permet de collecter une donnée privée très intéressante.
      Mais en cherchant bien dans le formulaire, il traîne toujours un "autre moyen" qui permet d'accéder au TOTP.

      Le TOTP a l'avantage de ne pas nécessiter d'application privée - moi j'utilise Aegis Authenticator - et de fonctionner en mode avion.

      Le TOTP n'étant finalement qu'un générateur pseudo-aléatoire initialisé par une "graine" (seed), c'est très facile à implémenter avec un petit script et un gestionnaire de mot de passe classique.

      • [^] # Re: MFA sans téléphone

        Posté par  . Évalué à 4.

        Parce que cela leur permet de collecter une donnée privée très intéressante.

        Absolument, on se souviendra des arguments sur la peur de la perte du compte des gafam pour sécuriser le compte avec un numéro de téléphone.

        Merci pour la découverte de Aegis.

  • # Wiki

    Posté par  . Évalué à 2.

    Migrer le dépôt Git est la partie facile: Git est un système décentralisé, on peut récupérer les commits, branches, tags, etc et les pousser ailleurs très facilement (avec l'option --morror par exemple).

    Morror? 😁

    Le problème, c'est tout le reste, c'est à dire dans le cas de GitHub, les pages de wiki et les "issues"

    Les pages wiki d'un dépôt Github est un dépôt Github donc rien de plus facile que de le cloner également. L'url du dépôt est en bas du wiki.

    Sinon pour l'authentification, y'a aussi le support des passkeys: https://docs.github.com/en/authentication/authenticating-with-a-passkey/about-passkeys

    • [^] # Re: Wiki

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      Il fallait bien sûr lire --mirror, si la modération passe dans le coin et peur corriger :)

      Oui, l'export de wiki Github est simple, c'est plutôt l'import dans Trac qui va demander un peu de travail. Mais comme je n'ai pas utilisé le wiki Github dans aucun de mes projets, je laisse ça à d'autres développeurs.

    • [^] # Re: Wiki

      Posté par  (Mastodon) . Évalué à 7.

      (avec l'option --morror par exemple).

      Morror? 😁

      Oui, il fallait bien sûr lire --mordor, mais le lecteur aura corrigé de lui-même.

      • Y.
      • [^] # Re: Wiki

        Posté par  (site web personnel) . Évalué à 6.

        Avec --horror ça ne liste que les CVE critiques de ton code et tes pires erreurs de programmation, et après ça les poste à ton nom, avec un commentaire « Mon code est évidemment parfait et je vous mets au défi de trouver un souci bande de nazes ».

        • [^] # Re: Wiki

          Posté par  . Évalué à 7.

          git --horror fait pareil que cat sur mon code, c'est grave ?

          • [^] # Re: Wiki

            Posté par  (site web personnel, Mastodon) . Évalué à 2.

            Ni man git-horror ni git help horror ne fonctionnent chez moi :( Tu dois avoir un truc en plus installé ? Ou une config perso ? (Tiens, git help -a me liste aussi mes alias…)

            “It is seldom that liberty of any kind is lost all at once.” ― David Hume

            • [^] # Re: Wiki

              Posté par  . Évalué à 4.

              Ce doit être que ton code est Parfait™ et que l'extension horror s'est désinstallée d'elle-même au crépuscule :).

              • [^] # Re: Wiki

                Posté par  (site web personnel, Mastodon) . Évalué à 3.

                Arf, en plus git --horror …ce devrait être juste man git …mais ma version a auto-retiré cette option (bien que je ne pense pas avoir atteint la perfection)

                “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # Export Des issues

    Posté par  . Évalué à 2.

    Je ne sais pas en quelle mesure un projet comme cela peut aider:
    https://github.com/MichaelMure/git-bug#bridges

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.