Files
varlog/_cache/similar/8733d9f1-d0f8-422b-866a-263ff6036480.json
2026-05-15 10:37:48 +02:00

1 line
23 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[{"uuid":"586c5ab7-e960-465b-b499-83e0209890fe","slug":"quand-alt-ne-repond-plus-anatomie-d-un-bug-clavier-sous-gnome-wayland","title":"Quand Alt ne répond plus : anatomie d'un bug clavier sous GNOME/Wayland","category":"informatique","author":"cedric@abonnel.fr","cover":"cover.png","published":true,"published_at":"2026-05-25 07:27","created_at":"2026-05-12 13:35:47","updated_at":"2026-05-12 13:40:34","tags":[],"plain":"Comment une option de clavier a priori anodine peut désactiver Alt+Tab, Alt+F4 et tous les raccourcis Alt — et comment diagnostiquer ce genre de problème de façon méthodique.\r\n\r\nLe symptôme\r\n\r\nUn beau matin, les raccourcis clavier ne répondent plus. Pas tous : seulement ceux qui utilisent la touche Alt gauche.\r\nne change plus de fenêtre\r\nne ferme plus l'application active\r\nDans un terminal, les raccourcis (édition de ligne readline, raccourcis dans une applicaiton, navigation tmux…) restent sans effet\r\nLa touche AltGr (Alt droite), elle, fonctionne toujours : on peut taper , , , les caractères normalement obtenus via Alt droite sur un clavier français azerty\r\n\r\nPremier réflexe naturel : « Le clavier est cassé ». Sauf que la touche physique répond bien — elle ne déclenche simplement plus ce qu'on attend d'elle.\r\n\r\nComprendre ce qui se passe (sans connaître Linux par cœur)\r\n\r\nPour saisir le bug, il faut comprendre un détail qu'on ignore généralement : une touche physique du clavier et la fonction qu'elle déclenche sont deux choses différentes.\r\n\r\nQuand on appuie sur la touche marquée « Alt » à gauche du clavier, le système reçoit d'abord un signal matériel — un code brut, sous Linux. Ce signal est ensuite traduit en une fonction logique par une couche logicielle appelée xkb (X Keyboard Extension). C'est xkb qui décide que signifie « modificateur Alt gauche » (le fameux ).\r\n\r\nMais xkb peut être configuré pour faire autre chose de ce même signal. Et c'est exactement ce qui s'était passé ici. Une option xkb nommée indiquait à la couche de traduction :\r\n« Quand tu reçois , ne génère pas . Génère à la place. »\r\n\r\n, c'est le nom technique de AltGr : la touche modificatrice qui permet d'accéder au « troisième niveau » d'une touche (le au-dessus du , le au-dessus du , etc.). En clair, l'option transformait Alt gauche en un deuxième AltGr.\r\n\r\nConséquence : du point de vue des applications, personne n'appuie jamais sur Alt. Le gestionnaire de fenêtres (mutter, dans GNOME) attend un événement qui ne vient jamais ; le terminal attend un préfixe Alt qui ne vient jamais non plus ; AltGr fonctionne toujours parce que c'est lui le « vrai » Level 3 Shift sur azerty, par défaut.\r\n\r\nC'est l'analogie d'un interrupteur dont on aurait inversé deux fils dans le mur : l'interrupteur marche, mais il commande une autre lampe.\r\n\r\nLa cause exacte\r\n\r\nSous GNOME, les options xkb sont stockées dans la base de configuration dconf, accessible via la commande . La clé concernée :\r\n\r\n\r\n\r\nSur le système concerné, la commande retournait :\r\n\r\n\r\n\r\nD'où venait cette option ? Plusieurs hypothèses plausibles :\r\nSélectionnée par erreur dans Paramètres → Clavier → Options de disposition lors d'une configuration ancienne\r\nImportée depuis une ancienne machine via la synchronisation du profil\r\nActivée par un script ou un outil de personnalisation (GNOME Tweaks, dconf-editor)\r\nHéritée d'une habitude QWERTY où certains préfèrent un second AltGr à gauche\r\n\r\nSur un clavier français azerty, cette option n'a aucun intérêt pratique : AltGr est déjà sur la touche Alt droite, là où l'index droit peut l'atteindre naturellement. Ajouter un second AltGr sur la touche Alt gauche revient à perdre Alt sans gagner quoi que ce soit.\r\n\r\nLe diagnostic, étape par étape\r\n\r\nVoici la séquence de commandes pour confirmer le problème — utile à mémoriser parce qu'elle s'applique à tout symptôme similaire sur GNOME/Wayland.\r\n\r\n1. Confirmer l'environnement de session. Les commandes qui suivent supposent GNOME sous Wayland ; sous X11 ou KDE, le diagnostic diffère.\r\n\r\n\r\n\r\n2. Inspecter les options xkb. C'est le test diagnostic principal pour ce genre de panne.\r\n\r\n\r\n\r\nSi la sortie n'est pas (liste vide) ou une option clairement intentionnelle, on tient probablement le coupable. Les options les plus susceptibles de casser des raccourcis :\r\n— transforme Alt gauche en AltGr (le cas présent)\r\n— échange Alt et Super (la touche Windows)\r\n— échange Caps Lock et Échap (anodin pour Alt, mais peut surprendre)\r\n, — transforment Caps Lock en Ctrl\r\n\r\n3. Vérifier que les raccourcis WM sont bien définis. Cela permet d'éliminer une mauvaise piste : si ne marchait pas parce que le raccourci avait été effacé, ce serait visible ici.\r\n\r\n\r\n\r\nLa sortie attendue est ou équivalent. Si y figure, le gestionnaire de fenêtres est correctement configuré — la panne est ailleurs.\r\n\r\n4. Vérifier les options d'accessibilité. Les touches rémanentes (StickyKeys), touches lentes (SlowKeys) ou touches rebonds (BounceKeys) peuvent provoquer des comportements clavier surprenants quand elles sont activées par erreur.\r\n\r\n\r\n\r\nToutes les trois doivent normalement renvoyer sauf besoin spécifique.\r\n\r\n5. Tester au niveau matériel si rien d'autre n'explique. Si toutes les vérifications logicielles sont propres, on vérifie que la touche envoie bien un signal au noyau :\r\n\r\n\r\n\r\nL'outil demande de choisir un périphérique (le clavier), puis affiche en direct chaque événement reçu. En appuyant sur Alt gauche, une ligne contenant doit apparaître. Si rien ne s'affiche, le problème est matériel ou dans le pilote — ce qui sort du cadre de cette fiche.\r\n\r\nLa correction\r\n\r\nUne seule commande suffit dans le cas présent :\r\n\r\n\r\n\r\nL'effet est immédiat : mutter recharge la configuration clavier à la volée, sans qu'on ait besoin de fermer sa session. Si pour une raison ou une autre l'effet ne se voit pas (vieux processus qui a mis en cache la configuration, terminal récalcitrant…), une déconnexion/reconnexion de la session GNOME suffit à tout réinitialiser.\r\n\r\nPour vérifier que la valeur est bien revenue à vide :\r\n\r\n\r\n\r\nEt si on voulait vraiment garder l'option ?\r\n\r\nPour information, la commande inverse est :\r\n\r\n\r\n\r\nÀ réserver aux cas où l'on tape énormément de caractères de troisième niveau de la main gauche et où on accepte de perdre Alt+Tab.\r\n\r\nLa méthode à retenir, au-delà de ce bug précis\r\n\r\nL'intérêt de cette fiche n'est pas tant la solution — une ligne de commande — que la logique de diagnostic. Quand une touche cesse de fonctionner sous Linux, on remonte la chaîne des responsabilités, du plus haut niveau au plus bas :\r\n\r\n1. Le gestionnaire de fenêtres a-t-il bien le raccourci ? ()\r\n2. Les options d'accessibilité ne brouillent-elles pas la frappe ? ()\r\n3. La couche xkb traduit-elle correctement la touche en modificateur ? ()\r\n4. Le noyau reçoit-il un signal matériel quand on appuie ? ()\r\n\r\nÀ chaque étage, une commande, une sortie attendue, et un verdict clair. La grande force de Linux dans ce genre de situation, c'est que chaque couche est inspectable séparément. Le réflexe à acquérir n'est pas « ça ne marche pas, je redémarre » mais « ça ne marche pas, je trouve quelle couche ment ».\r\n\r\nChecklist mémo\r\n\r\nModificateur (Alt / Super / Ctrl) qui ne répond plus sous GNOME/Wayland :\r\n\r\n1. — surveiller , , , \r\n2. — confirmer que le raccourci existe\r\n3. (puis , )\r\n4. → choisir le clavier → presser la touche → doit afficher le bon code (, , etc.)\r\n\r\nQuatre commandes, quatre couches, et 95 % des bugs clavier de session graphique sont localisés."},{"uuid":"968b0e93-d54b-4394-9c54-d9f4ee59d816","slug":"ffmpeg-mp3-tag-metadata","title":"ffmpeg : gestion des metadata dans un MP3","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-28 20:02:45","created_at":"2023-02-28 20:02:45","updated_at":"2023-02-28 20:02:45","tags":[],"plain":"Utilisation du programme ffmpeg pour manipuler les metadata des fichiers MP3. Cela impactera directement les TAG des mp3 et les informations présentes dans iTunes et autres bibliothèques multimédia.\nCréer un fichier metadata\nExemple de fichier metadata.txt : Autre exemple : Liste des metadata possibles\nWindows | iTunes (Info tab) | id3v2.3 | id3v2.4 | ffmpeg key | ffmpeg example| |\n------- | ----------------- | ------- | ------- | ---------- | --------------- |\nTitle | Title | TIT2 | title | -metadata title=”Adagio for Strings” |\nSubtitle | Description \\\\ (Video tab) | TIT3 | TIT3 | -metadata TIT3=”Op. 91″ |\nComments | Comments | COMM | | not implemented |\nContributing artists | Artist | TPE1 | artist | -metadata artist=”Yo Yo Ma/London Symphony” |\nAlbum artist | Album Artist | TPE2 | albumartist | -metadata albumartist=”London Symphony” |\nAlbum | Album | TALB | album | -metadata album=”String Classics” |\nYear | Year | TYER | date | -metadata date=”2012″ |\n# | Track Number | TRCK | track | -metadata track=”3/12″ \\\\ (means track number 3 of 12) |\nGenre | Genre | TCON | genre | -metadata genre=”Classical” |\nPublisher | | TPUB | publisher | -metadata publisher=”London Publishing” |\nEncoded by | | TENC | encodedby | -metadata encodedby=”Telarc” |\nAuthor URL | | WOAR | | not implemented |\nCopyright \\\\ (Not Editable) | | TCOP | copyright | -metadata copyright=”℗ Telarc” |\nComposers | | TCOM | composer | -metadata composer=”J.S. Bach” |\nConductors | | TPE3 | performer | -metadata performer=”T. S. Miles” |\nGroup description | Grouping | TIT1 | TIT1 | -metadata TIT1=”The Classics” |\nPart of set | Disc Number | TPOS | disc | -metadata disc=”1/2″ \\\\ (means disc number 1 of 2) |\nInitial key | | TKEY | TKEY | -metadata TKEY=”G” |\nBeats-per-minute | BPM | TBPM | TBPM | -metadata TBPM=”120″ |\nPart of a compilation | Part of a compilation | TCMP | compilation | not implemented |\nTLAN | language | -metadata language=”eng” |\nTSSE | encoder | -metadata encoder=”iTunes v10″ |\nlyrics | voir http:id3.org/Lyrics3v2 |\ncreationtime | -metadata creationtime=\"2013-05-02 22:01:04″ |\nalbum-sort | -metadata album-sort=\"String Classics″ |\nartist-sort | -metadata artist-sort=\"London Symphony″ |\ntitle-sort | -metadata title-sort=\"Adagio for Strings″ | Fichier metadata.txt vide basé sur toutes les metadata possibles gérées par ffmpeg : Liste des genres\nLa liste des genres est définie par la norme ID3. Elle est arrêtée depuis la version ID3v1 Sources : http:id3.org/id3v2.4.0-frames\nAjouter des metadata\nAjouter les tag définis dans le fichier metadata.txt : Pour Windows, ne pas oublier d'ajouter les options suivantes : 1. id3v2version 3\n1. writeid3v1 1 ffmpeg -i in.mp3 -i metadata.txt -mapmetadata 1 -c:a copy -id3v2version 3 -writeid3v1 1 out.mp3\n--\nAjouter des tag dans la ligne de commande avec une image :\n--\nAjouter les tag définis dans le fichier metadata.txt avec une image : Supprimer\nPar exemple, pour supprimer le tag informant le nom de l'artiste :\n--\nSupprimer toutes les metadata : Extraire les metadata\nExtraire les metadatas d'un fichier MP3 : Le résultat est écrit dans le fichier metadata.txt\n--\nExtraire les metadatas de tous les fichiers MP3 présents dans le dossier courant : for f in .mp3 ; do ffmpeg -i \"$f\" -f ffmetadata \"${f%.}.txt\" ; done\n Le résultat est écrit dans le fichier de même nom que le MP3 avec l'extension txt au lieu de mp3 Informations sur ce document\nDocument rédigé par le 27/10/2019 à 09:31.\\\\\nModifié le 27/10/2019 à 11:30. Librement inspiré des pages suivantes :\nhttp:jonhall.info/createid3tagsusingffmpeg/\nhttps:*ffmpeg.org/ffmpeg-all.html#mp3 \\\\"},{"uuid":"96eaaeb7-e04f-472d-b4ed-37ffbdae945f","slug":"relever-temperature-cpu-gpu","title":"Relever la température dans la GPU et le CPU d'un Raspberry Pi","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-04-17 20:51:11","created_at":"2020-04-17 20:51:11","updated_at":"2020-04-17 20:51:11","tags":[],"plain":"Il est judicieux de connaître la température du processeur et de la puce graphique afin de ne pas endommager votre Raspberry Pi. La température maximale est de 80 °C, au delà de 93 °C les composants peuvent subir des dommages irréversibles. Le pire ? Griller votre carte ! Voici mes tests réalisés avec un Raspberry Pi 4. Fondamentaux\nLa température de la GPU est accessible depuis la commande et le paramètre : La température du processeur est stocké dans le fichier , exprimée en millième de °C : Pour afficher la valeur en °C, il faut effectuer une division par 1000 de la valeur contenue dans : Script évolué\nLe script ci-dessous affiche la température de la GPU et du CPU. Pour rendre exécutable le code : Pour afficher toutes les secondes, les informations rafraîchies : Exemple d'execution : Biblio\nHow to find out Raspberry Pi GPU and ARM CPU temperature on Linux lm-sensors does not detect integrated temperature sensor on Raspberry Pi"},{"uuid":"096df1cd-df10-4134-b6b9-fb1dd420fdc4","slug":"15-2","title":"15/09/2019","category":"Journal geek","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-04-17 18:06:42","created_at":"2020-04-17 18:06:42","updated_at":"2020-04-17 18:06:42","tags":[],"plain":"Private Network Firefox Les outils Mozilla s'agrandissent. Firefox Private Network propose désormais une protection pour votre protéger des curieux, pirates et méchants hackers sur des réseaux publics et ouverts.\nWhen requests are sent to the Cloudflare proxy, Cloudflare will observe your IP address (known as the source IP address), the IP address for the Internet property you are accessing (known as the destination IP address), source port, destination port, timestamp and a token provided by Mozilla that indicates that you are a Firefox Private Network user (together, “Proxy Data”). Cet outil est une extension Firefox et permet également de masquer les requêtes DNS effectuées par Firefox à votre gestionnaire de réseau (FAI, réseau d'entreprise, Wifi connecté, opérateur mobile...). Il s'agit ni plus, ni moins d'une solution VPN. Actuellement disponible pour les versions de Firefox Desktop, cette solution gratuite, est en version Beta et utilise les solutions Cloudflare. Cette solution confère également une solution de Proxy avec conservation des données durant 24 heures. <https:www.mozilla.org/en-US/privacy/firefox-private-network/> <https:www.cloudflare.com/mozilla/firefox-private-network-privacy-notice/> Suis-je obliger d’énumérer les points négatifs de cette solution ? Ben oui : unique opérateur, opérateur américain, intermédiaire, conservation des données hors de notre contrôle Liens\nJP m'a rappelé que de la lecture sur des magazines oubliés existait sur le site Abandonware Magazine. Il m'a avoué avoir un faible pour le ZX81. J'en connais un autre qui crackerait pour en avoir un de nouveau. Il m'a également rappelé au bon souvenir de mon montage de NAS et m'a indiqué que je pouvais également opter pour une solution toute prête avec le Synology DS1819 + 8 Bay Desktop NAS. 1027€, un peu cher. Enfin, un vieux logiciel qui traîne dans nos cartes SIM pourrait compromettre notre vie privée. Ces SMS « invisibles » pourraient géolocaliser plus dun milliard de mobiles Retrouver la revue digitale du 16/09/2019 dans le podcast audio mindcast INFO."},{"uuid":"0bba1ad7-e4cb-49a6-9467-fcfac2e09a93","slug":"deuxiemes-pas-devops-durcir-et-fiabiliser-un-serveur-debian","title":"Deuxièmes pas DevOps : durcir et fiabiliser un serveur Debian","category":"informatique","author":"cedric@abonnel.fr","cover":"cover.jpg","published":true,"published_at":"2026-06-08 07:00","created_at":"2026-05-12 23:01:34","updated_at":"2026-05-13 22:53:46","tags":{"logiciels":["Fail2ban","Debian"]},"plain":"Une fois le système de base configuré (dépôts, mises à jour, , identification — sujets traités dans l'article précédent), la machine est fonctionnelle mais encore vulnérable et un peu fragile pour un usage sérieux. Ce deuxième article s'attaque aux gestes qui transforment un serveur « qui marche » en un serveur sur lequel on peut raisonnablement faire tourner quelque chose : sécuriser l'accès SSH, mettre en place un pare-feu, automatiser les correctifs de sécurité et soigner quelques détails opérationnels.\r\n\r\nSécuriser l'accès SSH\r\n\r\nSSH est la porte d'entrée principale d'un serveur Linux. C'est aussi, statistiquement, la cible la plus attaquée : n'importe quelle IP publique reçoit en permanence des tentatives de connexion automatisées. Deux gestes simples changent radicalement la donne.\r\n\r\nPasser à l'authentification par clé\r\n\r\nLes mots de passe, même longs, restent vulnérables aux attaques par force brute et au phishing. Une paire de clés cryptographiques est à la fois plus sûre et plus pratique au quotidien.\r\n\r\nCôté poste de travail, on génère une paire de clés modernes :\r\n\r\n\r\n\r\nL'algorithme est aujourd'hui le choix par défaut recommandé : clés courtes, signatures rapides, sécurité solide. Le commentaire () facilite l'identification de la clé quand on en gère plusieurs.\r\n\r\nOn copie ensuite la clé publique sur le serveur :\r\n\r\n\r\n\r\nCette commande dépose la clé publique dans côté serveur avec les bonnes permissions. À partir de là, la connexion se fait sans saisir de mot de passe — il faut tester depuis une nouvelle session avant de passer à l'étape suivante, sous peine de risquer de se retrouver enfermé dehors.\r\n\r\nDésactiver la connexion root et les mots de passe\r\n\r\nUne fois la connexion par clé validée, on durcit la configuration SSH. Le fichier à modifier est :\r\n\r\n\r\n\r\nLes directives importantes à positionner (ou décommenter) sont :\r\n\r\n\r\n\r\nLa première interdit toute connexion directe en via SSH : on devra obligatoirement se connecter avec un utilisateur normal puis élever ses droits via . La deuxième supprime complètement l'authentification par mot de passe, ne laissant plus que les clés. La troisième confirme explicitement que l'authentification par clé est active.\r\n\r\nOn recharge ensuite le service pour appliquer les changements :\r\n\r\n\r\n\r\nImportant : garder la session SSH actuelle ouverte et tester la nouvelle configuration depuis un autre terminal avant de fermer la première. En cas de problème, on peut encore corriger le tir.\r\n\r\nPour aller un cran plus loin, changer le port SSH par défaut (22) vers un port moins évident réduit considérablement le bruit dans les logs. Ce n'est pas de la sécurité au sens strict (un scan le retrouvera), mais c'est un filtre efficace contre les attaques automatisées.\r\n\r\nMettre en place un pare-feu\r\n\r\nPar défaut, Debian n'a aucun pare-feu actif. Tout port ouvert par un service installé sera donc directement exposé. Deux outils standards existent : (le successeur officiel d', bas niveau et puissant) et (une surcouche pensée pour la simplicité). Pour démarrer, est le bon compromis.\r\n\r\n\r\n\r\nLa logique consiste à tout bloquer en entrée par défaut, puis à n'ouvrir explicitement que ce qui doit l'être :\r\n\r\n\r\n\r\nSi SSH écoute sur un port non standard, remplacer par (ou le port choisi). Oublier cette étape avant un est un grand classique du verrouillage involontaire.\r\n\r\nPour les services web, on ouvrira typiquement les ports 80 et 443 :\r\n\r\n\r\n\r\nL'état du pare-feu se vérifie avec :\r\n\r\n\r\n\r\nSur une architecture où la machine est derrière un reverse proxy (cas fréquent quand on expose plusieurs services sur un même domaine), seuls les ports utiles côté proxy doivent être ouverts au monde extérieur. Les services applicatifs eux-mêmes restent accessibles uniquement depuis le réseau interne.\r\n\r\nAutomatiser les correctifs de sécurité\r\n\r\nLes failles de sécurité ne préviennent pas, et personne n'a envie de lancer manuellement chaque matin sur dix machines. Le paquet applique automatiquement les mises à jour du dépôt .\r\n\r\n\r\n\r\nLa configuration se trouve ensuite dans . Par défaut, seuls les correctifs de sécurité sont appliqués automatiquement, ce qui est généralement le bon compromis : on profite des patches critiques sans risquer qu'une mise à jour fonctionnelle introduise une régression sur un service en production.\r\n\r\nQuelques options qui méritent l'attention dans ce fichier :\r\n: à régler sur si l'on accepte les redémarrages automatiques après une mise à jour de noyau, ou si l'on préfère les piloter à la main. La directive permet alors de choisir l'horaire.\r\n: pour recevoir un rapport par mail des mises à jour appliquées, à condition d'avoir un MTA configuré sur la machine.\r\n\r\nLe bon réflexe consiste à vérifier de temps en temps les logs dans pour s'assurer que tout se déroule sans heurts.\r\n\r\nSoigner les détails opérationnels\r\n\r\nQuelques outils complémentaires améliorent significativement le confort et la résilience d'un serveur.\r\n\r\nFail2ban surveille les logs d'authentification et bannit temporairement les IP qui tentent trop de connexions échouées. Même avec SSH par clé uniquement, le service réduit considérablement le bruit dans les journaux :\r\n\r\n\r\n\r\nLa configuration par défaut surveille déjà SSH ; elle peut être étendue à d'autres services (nginx, Postfix, etc.) via des fichiers dans .\r\n\r\nLogwatch ou journalctl méritent qu'on s'y attarde. Sur une Debian récente, est l'outil central pour consulter les logs systemd :\r\n\r\n\r\n\r\nPrendre l'habitude de jeter un œil aux logs régulièrement — ou de mettre en place une remontée centralisée si l'on gère plusieurs machines — change beaucoup de choses en exploitation.\r\n\r\nUn swap raisonnable, sur une VM ou un serveur dédié, évite que la machine ne devienne complètement injoignable en cas de pic de consommation mémoire. Sur un conteneur LXC en revanche, c'est généralement géré au niveau de l'hyperviseur.\r\n\r\nEt après ?\r\n\r\nAvec ces réglages, le serveur est dans un état correct pour accueillir des services réels : la surface d'attaque est réduite, les correctifs s'appliquent tout seuls, et les logs racontent ce qui se passe. La suite logique est l'installation de la pile applicative proprement dite (serveur web, base de données, runtime) et la mise en place d'un reverse proxy pour exposer plusieurs services derrière un même point d'entrée.\r\n\r\nComme évoqué dans le premier article, le moment où l'on commence à enchaîner ces étapes sur plusieurs machines est exactement celui où il faut basculer vers de l'automatisation : un script shell bien rangé pour commencer, puis Ansible ou un équivalent quand le parc grossit. Une bonne pratique consiste à versionner ces scripts dans un dépôt Git dédié à l'infrastructure, au même titre que le code applicatif."}]