Je n’ai jamais vu cette hypothèse se réaliser depuis plus de 20 ans de Debian. /etc/apt/ est un répertoire système particulier où le bricolage et approximations n’ont pas leur place. Maintenant, pour passer à la pratique (le plus important), essayons de forcer cette hypothèse, et de vérifier la suggestion.
Un utilisateur souhaite sauver son fichier ‹ ma-musique.list › dans /etc/apt/sources.list.d/
ls -1 /etc/apt/sources.list{,.d/*{.sources,.list}} 2>/dev/null
/etc/apt/sources.list.d/trixie.sources
/etc/apt/sources.list.d/ma_musique.list
« ma_musique.list » est listé, donc suggestion qui n’apporte rien.
Ne pas masquer ce fichier permet justement à celui qui fait n’importe quoi de se poser la bonne question:
" Mais que fait le fichier ma_musique.list dans /etc/apt/ ?? C’est sûrement un bug "
Le document ma_musique.list sera listé par sl-test, donc avertira d’une bizarrerie à vérifier, mais n’aura aucun impact sur le traitement de sortie d’analyse des domaines (l’objectif du script): ma_musique.list sera simplement ignoré/filtré comme un vilain intrus.
Un bug est un résultat ou fonctionnement qui n’est pas conforme à la spécification du produit (script en l’occurrence).
Pour rapporter un ‹ bug ›, il faut préciser les conditions exactes et son environnement permettant de reproduire cet éventuel ‹ bug ›. Une hypothèse de bug non vérifiée et à probabilité nulle n’est pas un bug.
Rapporter un ‹ bug › de sl-test doit être relatif au fonctionnement global, et non extraire/commenter une ligne de code sans comprendre le traitement qui suit. La cuisine interne, je m’en occupe.
Quoi que vous en dites ou pensiez, c’est un bug ou un effet de bord. Plus exactement, votre expression régulière ne passe pas les tests unitaires.
Où est la spécification du produit ? Un script n’est pas une spécification, surtout lorsqu’elle contient une expression régulière qui n’est pas forcément à la portée de tous. La spécification doit être facilement compréhensible; l’étude d’un ouvrage tel que « Expression des besoins dans un projet SI » aux éditions Dunod est très utile et vous éclairera davantage si nécessaire en matière de formulation de l’expression des besoins, des spécifications…
Je partage ce point en gras Le minimum serait de le différentier à l’affichage mais le mettre au même niveau que les autres est un autre bug car les SI ne sont pas là pour créer de la confusion, bien au contraire.
« Une hypothèse de bug non vérifiée et à probabilité nulle n’est pas un bug. » Ne serait-ce pas de l’autosatisfaction au regard de la faible pertinence ou de la légèreté des arguments ?
Désolé de vous le dire mais votre script ne fonctionne pas sur mon environnement. Votre expression régulière méritait une correction.
Je laisse les lecteurs se pencher sur votre expression régulière et la mienne. Un excellent exercice pour se poser les bonnes questions, progresser. Ceci dit je reste convaincu qu’en matière d’expression régulière on peut encore faire mieux aussi c’est en toute humilité que je l’ai présenté et je suis vraiment navré si elle vous contrarie. Je n’ai pas vocation à rédiger un rapport complet sur un bug pendant mon temps libre car les quelques éléments pertinents que je vous ai fournis vous suffisent largement à vous pencher sur la question.
Vous pouvez aussi faire appel à ChatGPT et lui demander d’analyser votre expression régulière ainsi que la mienne Vous pouvez même poser la question à l’IA s’il y a un bug dans votre script.
Heureusement que le reste de votre script vous satisfait. Comme déjà mentionné il mériterait au moins à évoluer puisque le terme bug semble vous effrayer. C’est dommage toutefois que l’expression régulière de départ laisse à désirer mais bon c’est pas grave tant que votre script reste de l’expérimentation et qu’il n’entre pas dans un paquet Debian.
Pas la peine d’insister une 2ème fois dans le sujet ‹ sl-test › avant même d’avoir ma réponse à ton précédent message ici même, puisque tu as tous les éléments de réponses ici. Voir précisions sur ‹ rapport de bug › dans ce qui suit.
c’est un bug ou un effet de bord.
Quoi « c’est » ? Quel bug ou ‹ effet de bord › ? De la précision !
Merci de commencer par faire comme tout le monde dans l’univers logiciel, et non pas dans un monde purement théorique et imaginaire, c’est-à-dire de décrire précisemment le dysfonctionnement observé relativement à la description de sl-test, avec exemple de sortie pour constater le ‹ bug ›, et de fournir l’environnement de test pour pouvoir analyser et vérifier (-> fournitures des fichiers sources et fichiers étranges qui ne seraient pas à leur place, et qui pourraient causer une l’observation décrite plus haut, à savoir par exemple un document ‹ ma_musique.list › sous /etc/apt/).
Rapporter un ‹ bug ›, ça commence toujours comme ça et pas autrement, sinon ça s’appelle du bavardage (perte de temps).
Tout rapport de ‹ bug › qui ne répond pas à une description précise et factuelle du problème observé, et non seulement imaginaire et non reproductible, et sans fournir les éléments de test pour analyse ne tient que quelques jours dans une base de suivi de bugs: clotûre d’ouverture du ‹ bug supposé ›, puisque ensemble vide / perte de temps.
Plus exactement, votre expression régulière ne passe pas les tests unitaires.
De plus tu fais une erreur grossière à multiples répétitions: en Bash, dans l’expression /etc/apt/s*t , l’étoile n’est pas du REGEX, mais du globbing.
Si tu confonds REGEX et globbing, c’est embettant et on ne va pas se comprendre, mais ça explique ton incompréhension.
Comment peux-tu faire une suggestion démolie en 2 secondes (1er message), sans comprendre la différence entre REGEX et globbing ??
Contente toi de tester le script dans un premier temps, de vérifier sa sortie, et dans un second temps, d’éventuellement demander des explications sur ce que tu ne comprends pas dans le script (la cuisine interne). Si tu bloques déjà sur la première ligne, je te préviens que ça va se compliquer pour la suite.
Test unitaire…
Tu cherches vraiment les complications absolument partout.
Si un test unitaire ne comprend pas le globbing de Bash, en lui faisant croire que c’est du REGEX, je serais curieux de voir comment tu as fait ton test aussi en lui faisant comprendre que le répertoire /etc/apt/ n’est pas une poubelle usager, mais un répertoire système Debian très particulier, bien que ça ne m’intéresse que très moyennement (-> ouvre un sujet ‹ test unitaire › si tu veux). Mais comme son nom l’indique, ‹ unitaire › ne correspond justement pas à ceci (1er message):
→ Rapporter un ‹ bug › de sl-test doit être relatif au fonctionnement global du script, et non extraire/commenter une ligne de code sans comprendre le traitement qui suit.
Où est la spécification du produit (script en l’occurrence) ?
Elle se trouve à sa place dans le sujet sl-test, à savoir:
sl-test liste les fichiers sources apt, teste leurs domaines et identifie leurs éventuelles redirections, avec option -e,–enabled : ne teste que les fichiers sources non désactivés par une première ligne `Enabled: no’ du fichier source au format DEB822.
A moins de mauvaise foi flagrante, je ne vois rien de difficile à comprendre pour un usager Debian, sauf peut-être la référence à DEB822 qui correspond au format *.sources. Pour rapporter un ‹ bug ›, il faut justement s’assurer de bien comprendre la fonction du script et du résultat attendu. Impossible d’évoquer un ‹ bug › sans avoir compris la fonction d’un script, c’est la base.
Désolé de vous le dire mais votre script ne fonctionne pas sur mon environnement.
Mais tu n’as pas à être désolé bien au contraire ! C’est justement bien ça et rien que ça qu’on veut voir !!! Du factuel, du concret !!
Je n’ai pas encore vu une seule sortie de sl-test dans ton environnement, et c’est exactement ça qu’il faut formaliser, sans avoir besoin de faire une page de prose pour tourner en rond et faire mine de ne pas comprendre, et sans avoir besoin du Larousse pour trouver comment faire un rapport de bug (Larousse ne sait pas, ce n’est pas là qu’il faut chercher).
Ton plus gros problème est en fait de confondre REGEX et globbing de manière répétée et insistante, et de chercher des poux absolument partout où tu peux, sans que je n’arrive à en cerner la motivation (remarque secondaire).
Commence par formaliser factuellement le supposé ‹ bug › dans ton environnement, et on verra si le problème vient du script où de ton environnement /etc/apt/ bricolé, je serais curieux de savoir de quelle manière (du jamais vu).
En conclusion, la critique étant aisée et la création plus difficile, je te suggère de faire dans un nouveau sujet une proposition de script qui aura exactement la même fonction que sl-test, et qui passera tes tests ‹ unitaires › fantômes et non précisés. La théorie est une chose, la pratique, une autre. Du concret ! Facts and figures !
PS: inutile de relancer tes commentaires redondants qui ne sont pas à leur place dans le sujet sl-test, tu as tout ce qu’il faut ici.
Seuls les ‹ vrais bugs › fonctionnels du script présentent un intérêt dans le sujet sl-test, jusqu’à démonstration du ‹ vrai bug › fantôme pour le moment.
Pour le support ou explications REGEX/globbing, c’est un vaste sujet souvent incompris; y répondre de manière détaillée ici ne me semble pas la bonne place pour ne pas transformer ce sujet en de tout et de rien. Le titre du sujet doit servir de point de référence.
Que de bavardage pour tenter de vous justisfier mais ça ne marche pas. De là a me demander un travail de professionnel gratuitement que vous n’êtes pas à même de faire, c’est gonflé. Il y a des prestataires qui vous factureront cela très bien ! C’est déjà très gentil de ma part que de vous avoir apporté de l’aide constructive.
Visiblement, celui qui cherche les problèmes c’est bien vous en tentant de les masquer ou à les placer en simple discussion « pause café ». Je vous le dis en toute franchise que cela vous plaise ou pas que je pense que ce n’est pas faire preuve d’honnêteté intellectuelle de votre part. Vous voulez du concret, vous en avez déjà mais à vous de bosser un peu que de demander que l’on vous fasse tout gratuitement et en persistant en n’acceptant pas la critique constructive employée lors de la présentation de mon expression régulière ! J’ai un très grand respect pour tout travail sérieux mais quand il s’agit de faire oeuvre de fatuité en montrant un ego exacerbé comme vous faites alors non, je le dis !
Posez la question à n’importe quel classe d’étudiant en informatique ce qu’elle pense de votre expression régulière, il en sortira pour les plus dégourdis des remarques pertinentes car vous le savez très bien que votre code ne passe pas les tests unitaires et votre pirouette pseudo linguistique ne trompera personne ayant fais un minimum de script ou de dev.
En l’état actuel, votre script pourra servir auprès de certains enseignants mais pas de professionnels !
Revoyez votre copie, elle n’est pas bonne. Quand au mot « globbing », utiliser le terme expression régulière à la place n’est absolument pas un problème sachant que ce dernier terme va beaucoup plus loin et qu’il est moins limité qu’un anglicisme particulièrement réducteur. Je n’encouragerai personne à chercher un ouvrage sur le globbing mais plus tôt. sur les expressions régulières tel que l’excellent ouvrage aux éditions O’Reilly.
En fait vous ne maîtrisez tout simplement pas suffisamment les expressions régulières et cela vous fait peur de perdre le contrôle de votre propre script. Ni même l’usage d’un dictionnaire qui est fait pour définir correctement les mots et non pas pour vous apporter une solution de recette de cuisine comme vous semblez chercher.
Si mon plus gros problème est de confondre expression régulière avec l’une de sa sous partie la plus simple alors me voici rassuré.
Avez-vous au moins fait l’effort de faire usage de chatgpt (ou une autre IA digne de ce nom) comme proposé ? Rien la dessus, et pour cause ! Dans le domaine du développement d’applications ou d’un simple script, l’IA a de quoi remettre sérieusement le code des débutants et reste une aide précieuse même aux développeurs les plus aguerris, encore faut-il accepter de se remettre en question pour progresser. Si l’on est borné, nul doute qu’on en fait qu’à sa tête.
Restez avec votre autosatisfaction et votre ego et ne vous étonnez surtout pas si votre progression est à l’arrêt ou n’avance pas suffisamment. Tant que vous n’avez pas repris calmement mon post soigneusement rédigé dans la section script et que vous ne faites pas un minimum d’effort intellectuel alors c’est sur que ce sera difficile de vous aider. Je ne vous demande pas de me remercier, vous le ferez au fond de vous même quand vous aurez changé d’état d’esprit pour accepter que l’on puisse apporter de réels éléments d’amélioration sans forcément tout faire à votre place. Je comprendrais votre réaction si je n’avais jamais mis les mains sur un clavier mais si je vous ai apporté cette axe d’amélioration majeure c’est que j’ai de quoi le faire sans avoir à me justifier.
Pratiquez, mettez à l’épreuve votre code avec l’IA et des tests, et là vous n’aurez même pas besoin d’écrire un sujet pour demander si votre script n’a pas de bogue. Pourquoi ne placez vous pas votre code sur un Github par exemple ? Par peur de correction des erreurs qui froisserait votre orgeuil, nul doute.
C’est à vous de prendre le temps de tester, surtout quand cela apporte réellement quelque chose. Masquer les problèmes d’un code est le plus grave pour un développeur. Ce n’est pas l’état d’esprit d’un développeur. Certes ce n’est jamais agréable au début que de se voir recaler son code mais tous les professionnels digne de ce nom ont passé ce cap en appréciant d’avoir appris quelque chose en guise de satisfaction ou en se disant que la prochaine fois ils seront plus vigilants ou qu’il leur faudra un peu plus de temps pour produire un code digne de ce nom.
Je garde votre exemple comme cas d’école de ce qu’il ne faut pas faire tant au niveau écriture de script que d’attitude.
Bon courage pour la correction de votre script avec un tel état d’esprit et si peu d’ouverture, de persévérance de votre part. Cherchez et vous trouverez On n’est jamais mieux servi que par soit même, surtout lorsqu’on fait l’autruche. A quand un dépôt sur un GitHub et son partage !
Non mais du délire total, absolument jamais vu ça.
votre script ne fonctionne pas sur mon environnement.
Ben fais voir !! On ne demande que ça. Qu’as-tu à cacher ? Explique.
Je te demande de faire un copier/coller de la sortie terminal de st-test déjà pour constater ton ‹ bug › qu’on a pas encore vu, dans 2 sujets différents. Quel problème ça te pose, sérieusement ?
Je n’ai jamais vu un usager expliquer qu’il constate un bug, mais qu’au bout de 10 pages de prose n’arrive toujours pas à faire une simple copie texte de sa sortie terminal.
Confondre le REGEX et le globbing et faire une suggestion démolie en 2 secondes, et faire autant de prose pour rien, ce n’est pas sérieux, perte de temps.
Du blabla et du blabla.
Relisez mon précédent message ! Je ne peux rien faire pour vous si ce n’est vous inviter à le relire, à adopter une attitude positive et constructive. Cela vous évitera de tourner en rond en occultant des éléments essentiels.
Je suis d’accord avec vous, ce pas sérieux de votre part.
Alors vous les avez trouvé les cas de dysfonctionnements ? Toujours pas ! La perte de temps ne tient qu’à vous tant que vous n’aurez pas fait un minimum d’effort ne serait-ce que de se faire assister par exemple par une IA tel que chatgpt et que vous occultez délibérément tout comme ma suggestion de diffuser plus largement votre code sur une plateforme style Github où d’autres personnes pourront vous le faire évoluer (sous réserve qu’il soit lu…). Vous pourriez ainsi créer des branches nouvelles et le fusionner (merger) dans votre code mais il est évident qu’une absence de fusion ou trop de branches révéleraient le mal être. Je peux concevoir que vous n’ayez pas connaissance de ce genre d’outils mais ils sont très utiles et ce ne sont pas les scénarios d’apprentissage (tutoriaux) qui manquent sur le Web. Je suis bon prince en vous suggérant comme précédemment des éléments où je ne peux être pris comme partie prenante: des puissants outils professionnels permettant un réel travail collaboratif mais qui démasquent bien les mauvaises pratiques et notamment l’autosatisfaction. Ce n’est pas pour rien si l’Agilité est venu en renfort de la méthode standard de cycle en V. Il est évident que ça ne plaît pas à tout le monde mais toutes les entreprises l’ont adopté. Voyant que vous vous entêtez et afin de rendre utile nos échanges (ils le sont mais vous tentez en vain de dénigrer mes propos même lorsque j’incite à faire usage d’outils externes reconnus pour avoir un retour non partisant), j’ai fait preuve d’ouverture où se sont la manière et la métrique d’outils qui en diront bien plus que votre mauvaise foi ou mes éventuelles erreurs !
Je vous rassure, il n’y a pas de démolition mais tout juste seulement « 2 secondes » mensongères de votre part car vous avez passé plus de temps pour déterminer on ne sait comment un taux zéro de probabilité de faux positifs. Visiblement vous avez la mémoire courte car mon analogie avec l’usage d’un antivirus semble déjà oublié si tant est que vous l’ayez comprise.
Quel argumentation de choc ! C’est sur que pour vous ça ne restera que du « blabla » mais d’autres y trouverons des noms d’outils, des éléments non partisan. En tout cas ce n’est pas pour moi une perte de temps et sans me prendre trop au sérieux comme vous le faites cela a permis de montrer qu’aujourd’hui on a de puissants outils pour éviter le type d’ineptie que vous étalez tout en empêchant la dictature du développeur ou de l’administrateur. Ah l’Agilité n’est pas parfaite mais elle apporte tant de bien dans votre cas
Non je n’ai pas pris « deux secondes » pour démolir vos propos car votre cas est très intéressant mais relève plus de la psychologie… Je ne peux même pas vous conseiller tant que vous n’aurez pas de vous même essayé de remettre en question votre code au lieu de rester bloquer sur du « globbing » puisque vous y tenez tant à limiter votre esprit.
Pour résumer, un véritable table cas d’école sur ce qu’il ne faut pas faire en matière de script. Heureusement, il existe des méthodes et des outils pour démasquer les imposteurs et faire véritablement un travail d’équipe. Ceci dit, on peut se dispenser de ces outils lorsque l’on a affaire a des personnes de bonne composition pour des scripts courts tel que celui proposé. Je continuerai a répondre aux autres participants de bonnes composition le plus simplement du monde à leurs problématiques de code, quand aux autres cas plus rares heureusement , c’est par l’usage d’outils de contrôle, notamment de version que je passe tel que Git par exemple. Bien plus que de la prose mais de la méthodologie !
La bonne blague. 2 pages de prose et de blabla indigeste à n’en plus finir, sans obtenir la moindre trace de rapport de ‹ bug › et de copie d’écran qui ne demande que 15 secondes, dans 2 sujets en parallèle, et osez parler de ‹ constructivité ›. Non mais sérieux. Mais quelle perte de temps magistrale. Leçon retenue. Le point qui m’échappe est la raison de cette attitude obstrutive, mais je m’en passerai.
Toujours cette ignorance sur les outils de mise en ligne, les outils collaboratifs.
Un peu de Git et d’IA, on n’est plus au 20ième siècle
Il n’y a pas de honte que de parler de positivisme, de volonté de construire, d’avancer. Bien au contraire ! Ce ne sont pas des gros mots mais je comprends que cela puisse vous déranger… J’ai toujours encouragé les bonnes volontés mais je ne perçois aucun effort de votre part malgré vous avoir tendu à plusieurs reprises la main pour sortir un peu la tête de l’eau. Tant pis pour vous, ça servira à d’autre comme on dit ! C’est d’ailleurs pour eux que j’écris principalement, pour qu’ils ne se fassent pas berner par votre autosatisfaction et votre aveuglement tout en les encourageant à faire usage d’outils cités par mes soins à plusieurs reprises mais que vous ignorez systématiquement. Au risque de me répétez ces outils évitent d’être partie prenante tout en faisant évolué les choses avec Agilité
Oui vous vous passerez de cette attitude soit disant obstructive, par ce que vous la caractérisez ainsi, mais que tout esprit équilibré se gardera de la qualifier trop rapidement pour s’intéresser à la substance essentielle fourni lorsque je cite des outils qui continuent de faire leur preuves et qui surtout évitent un blocage de projet ici lié par une autosatisfaction exacerbée de votre part.
Je suis navré que lorsqu’il y a plus d’une page d’écran vous rencontrez des difficultés, de la fatigue. Heureusement que vous n’utilisez pas par exemple un Framework tel que Django pour du Python par exemple car je vous laisse le soin de découvrir son nombre de page ! Heureusement que vous ne créez pas de page Web en 2026 car rien que le document du W3C sur HTML a de quoi en faire abandonner plus d’un, ne serait-ce qu’à cause de sa taille, sans même parler de la vingtaine de technologies principales associées. De là à ne même pas avoir tenté de voir ce que donnerait l’IA comme je l’ai conseillé à au moins deux reprises, c’est vraiment stupide de votre part mais j’encourage tous les autres lecteurs à cet exercice ,après avoir pondu du code, comme le propose déjà VisualStudio Code. Cela ne doit en aucun cas se substituer à la phase de réflexion et si vous ne comprenez pas le code, ChatGPT vous sera une nouvelle fois d’un grand secours. Mais sans effort, point de salut.
Je suis désolé que vous aillez perdu votre temps mais pas moi avec votre exemple de script et votre attitude qui me serviront dans le cadre de sensibilisation à ce qu’il ne faut surtout pas faire. Et oui, même le négatif peut se transformer en positif dans certaines circonstances. Merci @Verner.
Vous avez raison, je ferais plus court avec un résumé dans un autre cadre , mais il me fallait de la matière et vous en avez largement apporté qui servira d’engrais pour les jeunes pousses.
Je vous laisse le soin de relire mes messages précédents pour répondre à vos questions
Si vous savez écrire un script et que vous ne savez pas utiliser ChatGpt alors, il y a effectivement un gros problème de votre côté.