Il y a environ un an, j’avais publié un message sur l’instance Discourse de GitHub contenant plusieurs URLs de la forme « https://github.com/OWNER/REPO/tree/BRANCH/path » afin de discuter de la façon dont GitHub.com traite ces URLs. Mon message a rapidement reçu une modification générée automatiquement par le système avec le message « Le lien GitHub a été remplacé par un lien permanent », ce qui semble provenir du plugin discourse-github. Bien que le remplacement du nom de branche par un lien permanent vers l’ID du commit actuel puisse être une fonctionnalité utile dans le cas courant où un message cite un code spécifique, dans le cas particulier d’une discussion sur le traitement des URLs GitHub, cette modification a détruit le sens de mon message. J’ai eu la chance de remarquer immédiatement l’édition du bot et, après plusieurs échanges avec lui, j’ai fini par trouver une solution de contournement consistant à ajouter une balise pour empêcher le motif du bot de correspondre, comme ceci :
https://github.com/OWNER/REPO/tree/<span>BRANCH</span>/PATH
Mais d’autres auteurs pourraient ne pas remarquer l’édition du bot et se retrouver avec un message qui confondrait les lecteurs.
Quelle est la meilleure solution pour éviter les modifications indésirées de liens permanents GitHub sur un message particulier ? En général, je pense qu’il est erroné que des bots effectuent des modifications automatiques risquant de ruiner un message. Il serait plus sûr de (1) demander à l’auteur, lors de l’enregistrement du message, si les liens doivent être modifiés, ou (2) que le bot ajoute un lien permanent sans supprimer le lien original. (Je me souviens avoir vu certains bots sur d’autres sites web, peut-être Reddit, qui ajoutent des informations sans supprimer les informations existantes.) Si les mainteneurs de Discourse jugent ces options trop peu élégantes ou trop coûteuses à mettre en œuvre pour un cas d’usage rare, d’autres options pourraient être de (3) afficher un avertissement après l’enregistrement du message, avec un lien vers des informations expliquant comment l’auteur peut éviter ces modifications si nécessaire, soit (a) sous forme d’une bannière dédiée dans l’interface utilisateur, soit (b) simplement une ligne de texte ajoutée par le bot à la fin du message.
Je ne suis pas certain de savoir quelle serait la conception la plus raisonnable pour permettre à l’auteur de se désengager de ces modifications. Les paramètres d’exclusion à l’échelle du site du plugin discourse-github, basés sur la cible du lien, ne semblent pas bien adaptés à cet usage. Peut-être que ma solution de contournement actuelle avec la balise est suffisante. Même si aucune modification n’est apportée à Discourse, j’espère que ce message rendra la solution de contournement plus facile à découvrir pour les auteurs qui remarquent le problème.
Note : J’avais précédemment soulevé ce problème sur le forum de GitHub car je supposais que le bot « lien permanent » était spécifique à l’instance de GitHub, mais un commentateur m’a signalé qu’il s’agit d’une fonctionnalité générale de Discourse, c’est pourquoi je soulève le problème ici.
Merci pour votre attention !