1. -

      Article intéressant, vraiment détaillé.

      Dans la section “Ajouter un dépôt…”, cela aurait été vraiment bien d’aborder extrepo, fast track voire fast forward, qui sont des dépôts Debian alternatifs, gérés officiellement, et qui simplifie la démarche, d’autant que pour extrepo, il suffit d’installer le binaire idoine depuis les dépôts officiels ; “Fast Forward” est intégré à extrepo.

      Voilà, (mes deux cents).

      1. -

        Excellent !

        Je suis retombé en enfance, avec un délice certain :

        • je me suis vu remanger de cette fameuse soupe
        • je me suis vu faire manger de cette fameuse soupe à notre fille à l’époque

        Je suis retombé en enfance parce que cette histoire, comme celles de mon enfance, à une morale claire, simple, et pose des questionnements pertinents…

        Et ça fait du bien !

        Le parallèle établi, amené de cette manière est… de l’art !
        Servi en multi-langues. Donc plusieurs “cultures” sont concernées.

        Et, “avec ça, vous reprendrez bien un peu de soupe ?!”

        1. -

          Ils pourront renommer la distrib en Arsch Linux. :o)

          1. -

            C’était prévisible à cause de l’essor de la cybercriminalité.

            Ken Thompson abordait ce thème dès 1984 durant une conférence « Reflections on Trusting Trust ». J’utilise Manjaro, à défaut de pouvoir utiliser véritablement GNU Guix. Je n’ai jamais eu vraiment confiance dans la vigilance collective : je n’y crois qu’à moitié. Je me dis que la cybersécurité c’est sûrement l’enfer sur Terre.

            1. -

              J’en conviens.

              Ce qui est désagréable, c’est qu’un problème simple génère une multitude de solutions en ligne de commande, toutes différentes, souvent imprécises, incorrectes ou redondantes.

              Cela renvoie une image trompeuse de la ligne de commande avec des biais significatifs dans la description. Mais apparemment cela perdure.

              1. 2

                Bha pourtant dans Python tu as quinze milles libs qui font sensiblement la même chose, en plus tu peux pas les avoir en même temps, faut faire des environnements virtuels. Pas vraiment sûr que cet argument soit valable. En plus, à chaque montée en version t’es pas sûr que ça pète pas…

                Non, c’est surtout que TU es plus à l’aise avec python et tant mieux :-)

                1. 1

                  Encore plus simple : BTRFS avec profil RAID1 https://btrfs.readthedocs.io/en/latest/mkfs.btrfs.html#man-mkfs-profiles. Pas besoin de sous-couche sous le système de fichier, et on y gagne au passage les contrôles d’intégrité, la compression, etc.

                  1. 1

                    Un pipeline Shell peut être écrit en quelques secondes.

                    Le problème est la fortuité. On finit par chercher des variantes pour coller au mieux au résultat souhaité. Cela entraîne un surcoût temporel inattendu pour un résultat plus ou moins satisfaisant. Ce processus semble facile en apparence mais il s’avère souvent tortueux.

                    Ce qui est souvent présenté comme une qualité universelle du Shell s’apparente également à l’un de ses principaux défauts. On vante l’approche Unix — « un outil qui fait une chose et qui le fait bien » — mais ce principe est paradoxalement mis à mal par la profusion d’utilitaires aux fonctions parfois très proches.

                    On ne retrouve pas ces défauts dans Python.

                    1. 1

                      Bonjour, Vous faites le distinguo entre la création d’alias & l’identité numérique.

                      Par exemple, plutôt que de gérer individuellement 50 adresses liées à des services marchands, l’idée serait de pouvoir les regrouper dans une identité “Shopping”, distincte d’une identité “Administratif”, “Santé” ou “Réseaux sociaux”. Si un problème survient sur un usage donné, on agit sur l’ensemble du contexte concerné sans impacter le reste.

                      Je pense justement que l’identité numérique doit faire appel aux alias et dans une granularité plus profonde. Le fait de distinguer des identités par grands usages n’est pas suffisant. Prenons simplement l’identité “Shopping” et faites le compte des magasins et services auquels vous allez donner cette @email. Sans compter l’exploitation de vos données entre magasins que se refilent vos données. 2 très bons article de la part du Pixel de tracking

                      Ces articles datent un peu mais ils sont toujours d’actualité

                      1. 2
                        FPAT = "\\[[^]]+\\]|\"[^\"]+\"|[^ ]+"
                        

                        Rien qu’écrire cette ligne m’aurait pris plus de temps que de sortir :

                        grep “ 500 “ access.log | awk ‘{print $1}’ | sort | uniq -c | sort -rn

                        Donc nope, désolé, pas d’accord avec

                        Sérieusement, le Shell n’est pas le bon outil. On aurait pu obtenir le même résultat sans effort avec un programme Python.

                        1. 2

                          Ne va pas me faire croire que Python n’est pas installable sur la plupart des systèmes. Idem pour la portabilité. On peut installer GNU awk sans forcément se contraindre à POSIX

                          Python n’est pas toujours installable sur ton environnement : pas la permission, pas disponible, ressources limités, connexion Internet non disponible. Et tous les systèmes n’utilisent pas les outils GNU.

                          Cette remarque n’est d’ailleurs pas artificielle : les systèmes embarqués peuvent ne pas avoir Python par faute de ressources manquantes (genre un RPi Zero 1ère génération) ou alors un vieux serveur AIX qui sert en production n’a pas forcément de version de Python disponible. Or, ils auront awk, sed, grep and co.

                          Encore une fois, le but n’est pas de dire que tu as tord, mais ta solution n’est pas adaptée à toutes les situations. Le but du jeu est de connaître des solutions, pour être versatile et avoir moins peur en terres inconnues. Se reposer sur une seule solution “parce que c’est mieux” est une fausse bonne idée. Et c’est clairement pas quelque chose que ChatGPT va nous apprendre !

                          1. 4

                            Ouai bha c’est moins simple que le script shell du début ^__^ En plus c’est moins immédiat.

                            1. 1

                              Je suis partiellement d’accord sur le principe.

                              On peut certainement chaîner des commandes efficacement et obtenir un résultat valable. Mais cela représente une charge mentale non négligeable. Il faut bien comprendre les divers utilitaires ainsi que le fonctionnement du Shell.

                              On se croirait au début du XXIe siècle concernant la remarque artificielle sur la disponibilité des ressources. Ne va pas me faire croire que Python n’est pas installable sur la plupart des systèmes. Idem pour la portabilité. On peut installer GNU awk sans forcément se contraindre à POSIX.

                              Le script Gawk ci-dessous remplace entièrement le pipeline.

                              #!/usr/bin/env -S gawk -f
                              
                              BEGIN {
                                  FPAT = "\\[[^]]+\\]|\"[^\"]+\"|[^ ]+"
                              }
                              
                              $6 == 500 {
                                  count[$1]++
                              }
                              
                              END {
                                  PROCINFO["sorted_in"] = "@val_num_desc"
                              
                                  for (ip in count) {
                                      print count[ip], ip
                                  }
                              }
                              
                              

                              Script Python « jetable » généré par ChatGPT

                              #!/usr/bin/env python3
                              import re
                              from collections import Counter
                              
                              p = re.compile(r'\[[^]]+\]|"[^"]+"|[^ ]+')
                              c = Counter()
                              
                              with open("access.log", encoding="utf-8", errors="ignore") as f:
                                  for line in f:
                                      f = p.findall(line)
                                      if len(f) > 5 and f[5] == "500":
                                          c[f[0]] += 1
                              
                              for ip, n in c.most_common():
                                  print(n, ip)
                              

                              access.log fictif

                              192.168.1.10 - - [10/Jun/2026:08:15:23 +0200] "GET /index.html HTTP/1.1" 200 5120
                              203.0.113.45 - - [10/Jun/2026:08:16:01 +0200] "POST /api/login HTTP/1.1" 500 721
                              198.51.100.12 - - [10/Jun/2026:08:16:15 +0200] "GET /products HTTP/1.1" 200 8342
                              203.0.113.45 - - [10/Jun/2026:08:17:03 +0200] "POST /api/login HTTP/1.1" 500 721
                              192.168.1.10 - - [10/Jun/2026:08:17:55 +0200] "GET /contact HTTP/1.1" 404 1204
                              198.51.100.34 - - [10/Jun/2026:08:18:42 +0200] "GET /checkout HTTP/1.1" 500 913
                              203.0.113.45 - - [10/Jun/2026:08:19:08 +0200] "GET /dashboard HTTP/1.1" 500 1102
                              198.51.100.34 - - [10/Jun/2026:08:19:54 +0200] "POST /checkout HTTP/1.1" 500 913
                              203.0.113.88 - - [10/Jun/2026:08:20:11 +0200] "GET /reports HTTP/1.1" 200 6543
                              198.51.100.34 - - [10/Jun/2026:08:20:47 +0200] "GET /checkout HTTP/1.1" 500 913
                              192.0.2.77 - - [10/Jun/2026:08:21:12 +0200] "GET /admin HTTP/1.1" 500 1500
                              203.0.113.45 - - [10/Jun/2026:08:21:44 +0200] "GET /dashboard HTTP/1.1" 500 1102
                              198.51.100.12 - - [10/Jun/2026:08:22:08 +0200] "GET /products HTTP/1.1" 200 8342
                              192.0.2.77 - - [10/Jun/2026:08:22:33 +0200] "POST /admin HTTP/1.1" 500 1500
                              198.51.100.34 - - [10/Jun/2026:08:23:01 +0200] "GET /checkout HTTP/1.1" 200 3400
                              203.0.113.45 - - [10/Jun/2026:08:23:45 +0200] "GET /dashboard HTTP/1.1" 500 1102
                              
                              
                              1. 4

                                Plusieurs remarques concernant ce commentaire :

                                • Simple ne veut pas dire facile et tout le monde n’apprend pas à utiliser le manuel ou à utiliser correctement les outils à sa disposition, ce qui explique les solutions sur Stack Exchange
                                • Comme dit en bas, il n’existe pas une solution, mais des solutions
                                • Le shell est un outil comme un autre et une personne qui sait programmer en shell te sortira le même commentaire sur le Python :)
                                • Pour moi, il est plus facile d’enchaîner les commandes shell que faire un programme en Python, qui en plus pourra être plus lourd qu’un outil système déjà présent (et sûrement compilé en C)
                                • Selon moi, le truc le plus important : sort, uniq, grep, awk sont des utilitaires UNIX/POSIX. Ils sont disponibles partout (OpenBSD, Linux, FreeBSD, AIX, Solaris). Ils fonctionnent donc de manière quasi-universelle et ne demandent aucune stack à installer. Ton programme en Python demande un environnement Python et sera sûrement rempli de fonctions spécifiques qui ne sont pas interopérables avec le reste.

                                “Le mieux est l’ennemi du bien”, comme dirait l’autre

                                1. 1

                                  Différents chemins mènent à Saint-Bauzille-de-Putois. :o)

                                  1. 1

                                    Bonjour,

                                    Merci pour votre retour détaillé.

                                    Vous soulevez un point très pertinent, et je pense que c’est aussi le signe que je n’ai pas suffisamment clarifié certains aspects dans l’article.

                                    Je suis d’accord avec vous sur le fait qu’un utilisateur averti peut déjà obtenir une partie des bénéfices recherchés avec Gmail “+”, SimpleLogin ou une stratégie “1 service = 1 email”. D’ailleurs, votre pratique est probablement plus avancée que celle de la majorité des utilisateurs.

                                    Là où j’essaie d’aller un peu plus loin, ce n’est pas tant sur la création d’alias que sur la notion d’identité numérique.

                                    Par exemple, plutôt que de gérer individuellement 50 adresses liées à des services marchands, l’idée serait de pouvoir les regrouper dans une identité “Shopping”, distincte d’une identité “Administratif”, “Santé” ou “Réseaux sociaux”. Si un problème survient sur un usage donné, on agit sur l’ensemble du contexte concerné sans impacter le reste.

                                    Autrement dit, je ne considère pas les alias comme des concurrents de l’approche ; au contraire, ils constituent probablement l’une des briques qui rendent cette compartimentation possible.

                                    Votre remarque est intéressante car elle rejoint celle d’un autre lecteur : plusieurs personnes ont spontanément comparé Confido à des systèmes d’alias existants. Cela me montre que je dois probablement mieux expliquer ce qui distingue une adresse, un alias et une identité numérique.

                                    Concernant les numéros de téléphone, je n’ai pas encore trouvé d’équivalent aussi mature et accessible que ce qui existe pour l’email. Certaines solutions commencent à émerger, mais elles restent beaucoup plus limitées selon les pays et les opérateurs. C’est néanmoins un sujet qui m’intéresse beaucoup, car la logique de compartimentation pourrait effectivement s’appliquer aussi au téléphone.

                                    Merci encore pour votre retour et pour le partage de votre propre méthode. C’est exactement le type de discussion que je cherchais en publiant cet article.

                                    1. 1

                                      La vraie puissance de ces outils apparaît quand on les combine. Le pipe (la barre verticale | ) passe la sortie d’une commande en entrée de la suivante :

                                      # Dans les logs Apache, extraire les IPs des erreurs 500 et les compter 
                                      # par occurrence
                                      
                                      grep " 500 " access.log | awk '{print $1}' | sort | uniq -c | sort -rn
                                      

                                      Cette inefficacité remarquable à programmer en Shell apparaît nettement dans cet exemple. On entremêle succinctement des utilitaires de façon erratique. Le Shell est décrit comme étant un outil commode : courant, pratique et fiable.

                                      Mais comment expliquer les multiples solutions insatisfaisantes sensées résorber le problème ? Si vous ne me croyez pas, il suffit de consulter des solutions sur Stack Exchange.

                                      La ligne de commande semble convenir à première vue. Finalement, ce n’est pas aussi simple qu’escompté. On éprouve toute cette complexité en ressortant avec des commandes tortueuses. Parcourir les manuels des utilitaires, expérimenter, recomposer à nouveau en cas d’échec. Pour quoi ? Déboucher sur une ligne de commande qui nous aurait pris un temps fou pour y parvenir.

                                      Sérieusement, le Shell n’est pas le bon outil. On aurait pu obtenir le même résultat sans effort avec un programme Python.

                                      1. 1

                                        Bonjour, Article intéressant qui met bien en avant la segmentation des usages de nos données que l’on transmet et les bonnes pratiques d’hygiène numérique qu’il faut adoptr. Mais pourquoi inventer un énième dispositif pour le faire. De nombreux fournisseurs d’adresses emails permettent de créer des alias Prenons l’exemple de Gmail (c’est juste un exemple et je ne pousse pas vers Google)

                                        Le seul bémol, il me semble, c’est que ce dispositif fonctionne que pour la réception d’email. Si vous souhaitez envoyer un email avec votreadresse+shopzara@gmail.com cela ne sera pas possible. L’utilisation d’un alias sera nécessaire. Mais le nombre d’alias peuvent être restreint. Une solution possible est d’utiliser les services de simplelogin, solution open source (https://simplelogin.io/). Vous créez des @emails en fonction de vos besoins et lorsque les personnes à qui vous avez donné ces @emails vous envoient un message il est redirigé vers une boite email principale. Et si jamais vous souhaitez écrire à ces personnes vous pouvez passer par l’email associée. Ce service a un coût mais permet une certaine tranquilité d’esprit

                                        De mon côté 1 service = 1 @email. Je compartimente sévère mais au moins je vois d’où viennent, pas forcément les fuites, mais surtout les reventes de mes données. C’est une routine prise depuis des années et c’est devenue une habitude. Je fais de la pédagogie autour de moi et prend qui veut.

                                        Savez-vous s’il existe la même chose pour les numéros de téléphone que l’on donne au même rythme que ses @emails ?Je vais cette solution https://surfshark.com/fr/alternative-id chez Surfshark mais je n’ai pas trouvé de retour d’utilisateur et comment cela fonctionne

                                        1. 1

                                          je ne comprends pas comment vous compter compartimenter autrement ?!

                                          Bonjour,

                                          Merci pour votre retour.

                                          Je pense que votre remarque met justement le doigt sur un point que je n’ai probablement pas assez bien expliqué dans l’article.

                                          Vous avez raison sur un point important : beaucoup d’utilisateurs n’utilisent ni gestionnaire de mots de passe, ni cartes virtuelles, ni plusieurs adresses email dédiées. Mon article généralise probablement un peu trop cette réalité.

                                          Aujourd’hui, quelqu’un de sensibilisé peut déjà faire beaucoup de choses avec plusieurs adresses email, des alias ou la syntaxe “+” que vous mentionnez. Vous en êtes un bon exemple.

                                          L’idée de Confido n’est donc pas simplement de multiplier les adresses email.

                                          J’essaie plutôt de raisonner en termes d’identités numériques compartimentées. Par exemple, une identité “Shopping”, une identité “Administratif”, une identité “Santé”, une identité “Réseaux sociaux”, chacune pouvant contenir plusieurs adresses, être mise en pause, supprimée ou isolée du reste de la vie numérique lorsqu’un problème survient.

                                          Autrement dit, là où un alias permet d’identifier une adresse exposée, l’objectif de Confido est de permettre de piloter un usage complet et d’en limiter les conséquences sans impacter les autres usages.

                                          Je reconnais cependant que si votre lecture vous a principalement évoqué des adresses email multiples, c’est probablement que je n’ai pas encore suffisamment clarifié cette différence dans l’article.

                                          Merci encore pour ce retour, c’est exactement le type d’objection qui permet d’améliorer le positionnement du projet.