Depuis vendredi dernier (2 mai), une nouvelle saison inédite du jeu télévisé La Carte aux trésors est diffusée les vendredis soirs sur France 3. \o/
La semaine dernière, j'ai remplacé l'entité qui gère commercialement mes noms de domaine. C'était la première fois que je changeais de bureau d'enregistrement. Retour d'expérience.
Si t'as du mal à visualiser ce qu'est un registre de noms de domaine, un bureau d'enregistrement, etc., je te renvoie à cet excellent guide de l'Anssi, notamment au schéma page 7 et aux explications à partir de la page 9. Pour une explication détaillée du fonctionnement d'un bureau d'enregistrement, voir cet excellent article de l'Afnic.
Ma première motivation a été le prix.
En 2023, j'écrivais que les tarifs TTC de Gandi, mon bureau d'enregistrement actuel, ont gonflé de 56 % en 9 ans. En 2024, nouvelle hausse de 13 € TTC par rapport à 2023, soit une hausse de 99 % en 10 ans, c'est-à-dire un doublement du prix (renouvellement d'un .info et d'un .fr pour 1 an en 2014 : 30,08 € TTC ; en 2024 : 59,98 € TTC).
Ça n'allait pas s'arrêter là : dans une de ses notes, Genma relatait une nouvelle augmentation conséquente des tarifs de Gandi. J'ai donc vérifié sa grille tarifaire. Effectivement, en 2025, le renouvellement de mes deux noms allait passer de 59,98 € TTC à 100,78 € TTC, soit une nouvelle hausse de 68 % en un an, et un triplement en 11 ans.
Comme je l'ai expliqué en 2023, les registres dont je dépends n'ont (quasi) pas augmenté le prix qu'ils facturent aux bureaux d'enregistrement. (Exemple : l'Afnic facture 5,07 € HT une opération sur les domaines qu'elle gère, dont .fr.)
Johndescs m'a informé que, lors du renouvellement d'un de ses domaines dans un TLD différent des miens, Gandi ne l'a pas facturé selon la grille tarifaire publique, mais à un prix insignifiant rendant caduque toute velléité de changement. Peut-être une promotion ponctuelle et/ou sur un TLD précis. J'ai appris cela alors que le transfert d'un de mes domaines était en cours, donc, afin de ne pas embrouiller leur système d'information et bloquer mon domaine en simulant un renouvellement en parallèle, je n'ai pas pu vérifier si Gandi m'aurait proposé un bon prix. De toute façon, je n'aime pas les promotions (temporaires).
Le seul service que j'utilise, c'est l'intermédiation avec les registres (Afnic pour mon .fr, Identity Digital ‒ ex-Afilias ‒ pour mon .info). Je suis mon hébergeur DNS. Je suis mon fournisseur de boîtes emails, etc. Mes interactions avec les registres se limitent à un renouvellement annuel et à un changement de délégation signée (DNSSEC) par an. Ça ne justifie pas cette explosion des tarifs.
Évidemment, je sais mutualiser (cotiser pour d'autres) et encourager un petit acteur français plutôt que de renforcer de gros acteurs hégémoniques à la OVH ou Scaleway. Mais depuis 2023, les boîtes emails de Gandi sont devenues payantes, donc il m'est difficile de les proposer à des Moldus, et, en 2023, Gandi a fusionné avec le groupe néerlandais TWS (Your.Online), ce qui ne correspond pas à ma conception de « petit acteur français ».
Bref, les tarifs de Gandi ne se justifient plus, ni par les services que je consomme, ni par des idéaux (mutualisation, petit acteur français).
Ma deuxième motivation a été que Gandi s'est foutu de moi en matière de prospection et d'utilisation de mes données à caractère personnel (DCP).
En juillet 2024, comme d'autres clients, j'ai reçu un email de Gandi pour me vanter son « pack Sécurité DNS+ » payant. J'estime qu'il s'agit de prospection commerciale que je n'ai pas sollicité. Des options gratuites (MFA, DNSSEC, verrous registre et bureau d'enregistrement, etc.) permettent d'atteindre un objectif de sécurité raisonnable. Le but est de vendre un sur-service. Gandi n'étant pas mon hébergeur DNS, je ne suis même pas éligible à ce service. De plus, l'email joue sur la peur (JOP 2024, « cybermenaces », olala), et je n'aime pas ça, d'autant que l'article censé appuyer les menaces encourues ne provient pas d'une source sûre, date de 2023, porte sur les seules institutions financières, et préconise DNSSEC (et non les fonctionnalités comprises dans le pack Sécurité DNS+). Bref, pour moi Gandi a merdé.
La première réponse de Gandi à ma demande RGPD ne répondait pas à l'ensemble de mes questions (alors que Gandi y était contraint par ledit RGPD), la suivante n'était pas à la hauteur, niant à moitié le caractère promotionnel du message, pour, ensuite, s'enfoncer dans le silence face à ma démonstration dudit caractère promotionnel. Je n'aime pas cette attitude : si Gandi se braque sur ce minuscule problème d'usage de données à caractère personnel (DCP), qu'est-ce que ça doit être lors d'atteintes plus sévères. Je ne peux plus avoir confiance en Gandi pour gérer mes DCP. Au-delà de la gestion de DCP, il s'agit de la non-reconnaissance d'une erreur. Quand une personne ou une entité s'y refuse, c'est généralement mauvais signe.
Si j'ai été aussi indécis et lent à changer de bureau d'enregistrement, c'est que je pensais que le prix du transfert n'englobait que celui-ci, et qu'il fallait donc le cumuler avec le prix du renouvellement. Du coup, il fallait une explosion des tarifs de Gandi pour que l'opération soit profitable (ce qui est devenu le cas depuis septembre 2024). Or, ce n'est pas le cas : usuellement, un transfert (changement de bureau) prolonge d'un an la durée d'expiration du nom de domaine (a priori, certains registres ont une politique différente).
Le point de départ de cette prolongation diffère selon les registres. Certains ajoutent un an à la date habituelle de renouvellement. D'autres ajoutent un an à la date du transfert. Dans ce deuxième cas, le titulaire perd le pro-rota entre la date usuelle de renouvellement et la date de transfert. (Exemples deux paragraphes plus bas.)
Tu trouveras des documentations, comme celle de BookMyName (Scaleway), qui affirment que l'Afnic (.fr, entre autres) ajoute un an à la date de transfert. Comme le consigne les guides des procédures de l'Afnic, si c'était le cas avant 2022, ce n'est plus le cas depuis fin 2022 (page 13) : l'Afnic ajoute un an à la date d'expiration.
Je cite les guides de procédures de l'Afnic : « Changement date d’expiration : Oui. La date d’expiration du nom de domaine est prolongée d’une année. Par exemple si la date initiale d’expiration du nom de domaine est le 20/06/2022 et que le transfert du nom de domaine abouti la nouvelle date d’expiration du nom de domaine sera alors le 20/06/2023. ». Avant : « Oui. Par exemple si la date initiale d’expiration du nom de domaine est le 20/06/2016 et que la fin du transfer a lieu le 08/05/2016, la nouvelle date d’expiration sera le 08/05/2017 (prise en compte de la date de l’opération) ». Je peux témoigner que, désormais, c'est bien un an à partir de la date d'expiration.
(J'ai signalé à BookMyName l'obsolescence de sa documentation, j'ai reçu l'habituelle réponse polie « balek, frérot » aka « merci, on regardera un jour peut-être ».)
Dans tes calculs sur la durée d'un changement de bureau d'enregistrement, il faut prendre en compte la levée de la protection contre les transferts (« clientTransferProhibited ») par ton bureau d'enregistrement actuel (sortant).
Le délai d'attente semble être à la discrétion du bureau d'enregistrement sortant. Chez Gandi, si la MFA n'est pas activée, un délai d'attente automatisé de 3 jours (de minute à minute) est imposé.
Là encore, tu trouveras des documentations obsolètes, comme celle de Gandi, qui affirment que l'Afnic ne propose pas de verrouillage contre les changements indésirés de bureau d'enregistrement. Pourtant, j'ai bien dû demander la levée de cette restriction et, dans les bases de données publiques, je constate sa présence (« eppstatus: clientTransferProhibited »). L'Afnic propose donc la protection contre les transferts.
(J'ai signalé à Gandi l'obsolescence de sa documentation, j'ai reçu l'habituelle réponse polie « balek, frérot » aka « merci, on regardera un jour peut-être ».)
Comme je suis mon hébergeur DNS, je n'avais pas identifié ce point de vigilance, je l'ai découvert durant le transfert de mon premier nom de domaine. Je m'attendais à ce que seules les informations administratives de mon nom de domaine soient modifiées (« c'est désormais l'entité X qui gère la relation commerciale avec le titulaire »). Que nenni. Par défaut, un changement de bureau d'enregistrement entraîne un retrait de la délégation signée (c'est-à-dire de l'enregistrement de type DS dans la zone parente).
C'est plutôt logique : pour la majorité des domaines, le bureau d'enregistrement assure également la fonction d'hébergeur DNS. Si DNSSEC est activé, c'est donc lui qui signe la zone. Il détient donc la clé privée. Dès lors, un changement de bureau entraîne un changement de clé privée et le nouveau bureau déclarera une nouvelle délégation signée au registre.
Certains registres, comme l'Afnic (pages 12 et 13), mettent à disposition des bureaux d'enregistrement, une option permettant de préserver la délégation signée. L'ennui, c'est que les bureaux ne proposent pas à leurs clients de l'activer. En tout cas, BookMyName ne le propose pas (je lui ai signalé, j'ai reçu l'habituelle réponse polie « balek, frérot » aka « merci, on regardera un jour peut-être »).
Conséquence : pour éviter une panne temporaire liée à DNSSEC (le temps que les données mises en cache par les serveurs DNS récursifs expirent), il faut déclarer la délégation signée au nouveau bureau d'enregistrement immédiatement après la fin du transfert. J'ai vérifié : en faisant ainsi, les délégations signées de mes domaines n'ont jamais cessé d'être diffusées par les serveurs DNS qui font autorité sur .info et .fr. (car ces zones ne sont pas modifiées en temps réel, mais à intervalle régulier fréquent, toutes les 15 minutes, par ex.).
Je ne fais pas la distinction entre un bureau d'enregistrement (Gandi, BookMyName, etc.) et un revendeur (Infomaniak, LeBureau.coop), c'est-à-dire une entité qui se repose sur un bureau d'enregistrement. D'abord, car cela ne me paraît pas pertinent dans mon cas d'usage (mais ça peut l'être lorsque l'on veut maîtriser sa chaîne d'approvisionnement / ses dépendances). Ensuite, car l'information est difficile à trouver (surtout qui est le revendeur).
Mes critères :
L'Afnic propose un annuaire des bureaux d'enregistrement accrédités (pour les seuls domaines / extensions qu'elle gère, mais comme je veux conserver mon .fr et recourir à un unique bureau d'enregistrement pour l'ensemble de mes noms…). Néanmoins, il souffre de plusieurs limitations : il ne permet pas d'exclure (les agences web, les FAI, etc.) pour n'avoir que les vendeurs grand-public ; probablement afin d'éviter tout procès, la liste n'est pas triée, donc une même entité peut revenir dans plusieurs pages de résultats, et d'autres entités peuvent ne pas apparaître ; la liste ne semble pas être à jour. (J'ai signalé tout cela à l'Afnic, j'ai reçu l'habituelle réponse polie « balek, frérot » aka « merci, on regardera un jour peut-être ».)
Ainsi, je conseille plutôt la liste des bureaux d'enregistrement accrédités par l'Afnic mise à disposition en Open Data (jeu de données « I »).
Je préfère éviter OVH : gros acteur = dangereux ; je ne veux pas mettre tous mes œufs dans le même panier (j'ai d'autres services là-bas) ; il y a 10 ans, la console d'administration ne proposait pas le niveau de service que j'attendais et, en interne, l'équipe en charge du DNS était injoignable, ce qui est mauvais signe.
Hetzner (Allemagne), Infomaniak (Suisse), Amen (actionnaire italien, groupe européen), IONOS / ex-1&1 (groupe allemand), hosteur.com (Suisse), Ikoula (Sewan, gros groupe européen dépassant Scaleway), PulseHeberg (développement à l'international dont aux États-Unis d'Amérique, donc risque d'application de lois ricaines), etc., ne remplissent pas mon critère de nationalité. Je précise que le site web d'Amen est inutilisable sans BootstrapCDN et donc sans transfert de DCP vers les États-Unis, que la grille tarifaire complète est difficilement accessible, et que les tarifs sont proches de ceux de Gandi en 2024. Le tarif proposé par Hosteur.com sur le .info, 11,99 € HT, surpasse toute la concurrence. PulseHeberg propose un prix décent pour le renouvellement d'un .fr mais ne gère pas de .info.
Nuxit, Ikoula : tarifs élevés à mes yeux (.fr : le prix HT d'un renouvellement 1 an est quasiment le double du prix à la sortie de l'Afnic ; .info : 60 % de plus que les gros du marché). De plus, j'ai eu un léger désaccord avec Celeste, proprio de Nuxit, dans le passé (je ne souhaite pas développer).
LeBureau.coop : tarifs prohibitifs à mes yeux (.fr : le prix HT d'un renouvellement 1 an hors hébergement est quasiment le quadruple du prix Afnic ; .info : plus du double de ce que propose les gros du marché) alors que je ne crois plus aux initiatives coopératives ; pas assez mature pour que je me lance (absence des mentions obligatoires RGPD, formulaire de contact pour devenir sociétaire et client donc pas de processus de location automatisé, etc.).
Au final, j'ai choisi BookMyName, marque de Scaleway.
Ce choix a été difficile, car, en sus qu'il est un gros acteur économique (= danger), je n'ai aucune confiance en Scaleway en matière de protection de mes DCP :
J'ai décidé de prioriser le prix. Le choix contraire aurait été un sacrifice inutile puisque très peu d'entités s'attachent véritablement à la protection de nos DCP.
Quelques retours sur BookMyName :
La fourniture d'un numéro de téléphone est obligatoire. J'en ai donné un dans la plage réservée aux numéros figurant dans une œuvre audiovisuelle (page 83). Contrairement au 01 23 45 67 89, ces numéros ne peuvent pas être attribués. Oui, je sais que l'ICANN impose la fourniture de véritables coordonnées sinon fin de la location du nom de domaine, blablabla, mais je n'ai vraiment pas envie de me faire emmerder par téléphone, ma tranquillité d'abord, j'ai déjà donné mon adresse postale, basta. De plus, lorsque BookMyName a vérifié le titulaire de mon .info, il m'a demandé de confirmer uniquement mon nom, prénom et adresse emails.
Lors de la création du compte, on nous parle d'un lien dans un email pour en confirmer la création. Or, le lien dans l'email renvoie vers la procédure de perte du mdp… Je déteste toujours autant les instructions qui diffèrent de ce qu'il faut effectuer, ça illustre toujours un manque de soin.
Depuis le bureau d'enregistrement sortant (actuel).
Chez Gandi, dans la console d'administration, choisir le domaine, onglet « Transfert sortant », bouton « désactiver Protection contre le transfert ». Si tu n'as pas activé la MFA (authentification multi-facteurs), tu pars pour 3 jours d'attente de minute à minute (Gandi envoie un email). Le message d'information est ambigu et évoque à la fois un délai maximal de 3 jours (comme si un humain allait agir avant) et un délai ferme…
Le retrait du verrou sur mon .info a entraîné le retrait de celui sur mon .fr, ce qui est inattendu (je peux vouloir transférer un seul nom, il m'apparaît difficile de déterminer si l'usage le plus fréquent est de transférer tous ses domaines). Je l'ai signalé à Gandi, j'ai reçu l'habituelle réponse polie « balek, frérot » aka « merci, on regardera un jour peut-être ».
Le message « DNSSEC est actuellement activé sur ce domaine. Veuillez désactiver DNSSEC avant de lancer un transfert sortant pour éviter d'éventuels futurs problèmes. » n'est pertinent que si Gandi est aussi l'hébergeur DNS.
La présence ou l'absence de ce verrou se constate aussi dans les bases de données publiques consultables avec les protocoles whois ou RDAP. Pour un .info : « Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited » (verrou) ou « Domain Status: ok https://icann.org/epp#ok » (absence de verrou et de tout autre état). Pour un .fr : « eppstatus: clientTransferProhibited » (verrou) ou « eppstatus: active (absence de verrou et de tout autre état).
Il s'agit de mon .info. Je ne fais rien d'important avec (ce shaarli peut disparaître, osef), donc je décide de transférer mon nom chez BookMyName un vendredi en fin de journée. (Un changement de bureau est entièrement automatisé, mais si ça foire, je peux me retrouver sans domaine jusqu'au lundi).
Je récupère le code d'autorisation auprès du bureau d'enregistrement actuel (sortant). Chez Gandi : dans la console d'administration, choisir le domaine, onglet « Transfert sortant ».
Je le communique au nouveau bureau d'enregistrement (entrant), et je paye la facture. Le nouveau bureau (BookMyName) envoie un email de confirmation à l'adresse emails déclarée chez lui (je n'ai pas compris l'intérêt de cette étape, mais, a priori, il s'agit d'un formulaire d'autorisation, peut-être imposé par Identity Digital, ex-Afilias, le registre de .info). Je confirme. Le suivi des opérations sur l'interface web de BMN affiche « Demande en cours au registre ». Dans la base de données publique : « Domain Status: pendingTransfer https://icann.org/epp#pendingTransfer ».
Après 12 minutes, je reçois un email de Gandi (bureau sortant) qui me demande de confirmer (ou d'attendre 5 jours pour une confirmation automatique). Je confirme.
Le changement de bureau est terminé. Le nom disparaît de ma console d'administration Gandi. Dans la base de données publique : « Registrar: Scaleway SAS » , « Domain Status: transferPeriod https://icann.org/epp#transferPeriod » (période de grâce de 5 jours en cas de problème durant lequel le bureau entrant peut se faire rembourser par le registre).
J'effectue les vérifications que j'avais planifiées :
dig NS info
puis dig @d0.info.afilias-nst.org. DS guiguishow.info
) me montre qu'elle est, en pratique, toujours en place, mais elle va disparaître lors de la prochaine génération de la zone info. Je déclare donc ma délégation signée dans l'interface de gestion de BookMyName (bureau entrant) et je retrouve un « DNSSEC: signedDelegation » ;jq '.events[] | select(.eventAction=="expiration")'
) : OK, elle a été incrémentée d'une année à compter de la date usuelle de renouvellement.Le changement de bureau d'enregistrement a donc duré 30 minutes (+ 3 jours pour lever l'interdiction de changement de bureau en l'absence de MFA).
Le lendemain, puisqu'il s'agit de mon premier nom de domaine en gestion chez BookMyName, cette entité me demandera de vérifier mes coordonnées (nom, prénom, adresse emails) en tant que titulaire de ce compte (procédure WAPS de l'ICANN).
[*] : pour RDAP, je donne le nom de l'attribut dans le fichier JSON, chaque client RDAP (OpenRDAP, nicinfo, etc.) peut utiliser un label différent pour présenter l'information à l'utilisateur.
Il s'agit de mon .fr. Mon adresse email principale, ma messagerie instantanée, etc. sont dans ce domaine, donc je décide d'attendre le prochain jour ouvré avant d'en confier la gestion à BookMyName (comme ça, en cas de dysfonctionnement technique durant le transfert, je peux légitimement supposer que des humains pourront me dépanner rapidement).
Je récupère le code d'autorisation. Je le communique au bureau entrant. Je paye. Cette fois-ci, il ne m'envoie pas de demande d'autorisation / confirmation. « Demande en cours au registre ». Dans la base de données publique : « pending: TRANSFER » « eppstatus: pendingTransfer ».
Moins d'une minute plus tard (rien à voir avec les 12 minutes pour .info), le bureau sortant m'envoie un email pour confirmer l'opération, ce que je fais.
Le changement de bureau est terminé. Dans la base de données publique : « registrar: SCALEWAY », « status: transferPeriod », « eppstatus: active ». Après quelques dizaines de secondes de plus : « eppstatus: clientTransferProhibited ». Contrairement à mon .info, mon .fr a mis quasiment 15 minutes avant de disparaître de la console d'administration de Gandi (bureau sortant).
J'effectue donc les vérifications que j'avais planifiées :
dig NS fr
puis dig @d.nic.fr. DS <DOMAINE>
) me montre qu'elle est, en pratique, toujours en place, mais elle va disparaître lors de la prochaine génération de la zone fr. Je déclare donc ma délégation signée dans l'interface de gestion de BookMyName (bureau entrant) et je retrouve un « key1-tag » ;jq '.events[] | select(.eventAction=="expiration")'
) : OK, elle a été incrémentée d'une année à compter de la date usuelle de renouvellement.Le changement de bureau d'enregistrement a donc duré moins de 15 minutes (+ 3 jours pour lever l'interdiction de transfert en l'absence de MFA).
Rigolo : l'Afnic conserve les différents objets de type « nameserver » créés par les différents bureaux et les rend accessibles via le protocole RDAP.
Au final, le renouvellement pour un an de mes deux noms de domaine, un .info et un .fr, m'a coûté 28,11 € TTC chez Scaleway, au lieu de 100,78 € TTC chez Gandi, soit 3,6 fois moins. Scaleway pratique les tarifs que Gandi pratiquait en 2014. :O
Dans le courrier des lecteurs du numéro 116 (février - avril 2025) de Fakir :
Jean-Baptiste nous raconte son mode de vie, avec quelques gros angles morts quand même, mais qui esquisse peut-être un futur…
À longueur de pages, on lit dans Fakir des témoignages de gens qui se sont flingué la santé à l'usine et qui n'arrivent pas à remplir leur caddie. Or, personne ne nous oblige à faire ce qu'on fait (ou à continuer de le faire). Je développe. Ici, dans la diagonale du vide, avec 500 € par mois, t'es le roi du pétrole (ou presque) si t'es proprio de ta bicoque (qui coûte pas cher). Il suffit de s'installer dans un centre-bourg à moitié vide (comme je l'ai fait), avec tous les commerces (je sais, ça devient rare), comme ça on évite de prendre la bagnole (gouffre financier]. La bouffe est pas chère (sauf si on est assez bête pour aller au supermarché). On peut se faire prêter un peu partout des bouts de terrain pour faire un potager (les vieux n'ont plus la force). Le troc marche à fond (légumes, services, etc.), on mutualise les bagnoles, les perceuses, les coups de main pour couper le bois, etc. Y a même du taf chez les artisans (les garagistes du coin s'arrachent les cheveux), dans les commerces et l'aide à la personne bien sûr. C'est sûr, c'est pas la vie de tous ces crétins de richards décérébrés (c'est beaucoup mieux d'ailleurs : moi je vois des loutres et des castors). En fait, je pense qu'on a tous des petits interrupteurs dans la tête, et qu'il suffit de basculer de « je subis ma pauvreté » à « je choisis ma pauvreté ». C'est vachement mieux, on a même l'impression d'être riches, quelque part.
Ça rejoint les propos du diplomate iranien Majid Rahnema dans son livre Quand la misère chasse la pauvreté rapportés dans le numéro 105 de Fakir : la pauvreté est une façon de vivre sobrement mais dignement, en indépendance. La misère, c'est perdre son pouvoir, dépendre économiquement d'une aide extérieure qui ne permet même pas de vivre dignement.
Pas de point d'accès en 5 Ghz (802.11ac) avec une carte Wi-Fi Intel Dual Band Wireless-AC 7260.
Mais on peut déjà passer de 802.11g à 802.11n avec la conf' hostapd
qu'il donne (attention : TKIP < CCMP). Je passe d'un débit moyen de 3 Mo/s à 12 Mo/s.
Config hostapd
:
interface=<CHOISIR>
driver=nl80211
ssid=<CHOISIR>
hw_mode=g
channel=6
# 802.11n
wmm_enabled=1
ieee80211n=1
ht_capab=[HT40-][HT40+][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40][DSSS_CCK-40][DSSS_CCK-40]
auth_algs=1
wpa=2
wpa_passphrase=<CHOISIR>
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
Je me note ça : la messagerie Signal se repose sur turn.cloudflare.com pour STUN (découverte de la présence d'un NAT et de l'adresse IP publique). Source : point d'accès Wi-Fi (hostapd
) + wireshark
.
J'en retire pas grand-chose. Oui, ça envoie l'IP publique à Cloudflare et ça lui révèle les dates+heures des tentatives d'appel, mais bon, c'est anecdotique. D'un autre côté, ce n'est pas sorcier de proposer un serveur STUN, surtout en comparaison d'un logiciel de messagerie texte+audio+vidéo… Ça jette le doute : si Signal externalise pour si peu, peut-on avoir confiance ? On est dans l'habituelle flemme de faire soi-même…
En revanche, je me demande si Signal utilise turn.cloudflare.com comme serveur TURN auquel cas les flux médias (audio et/ou vidéo) seraient relayés par Cloudflare. Le contenu des communications serait toujours chiffré, mais Cloudflare « saurait » qui parle à qui, quand, à quelle fréquence, etc. Dans ses paramètres, Signal propose une option pour relayer les flux médias via son infrastructure, donc je ne crois pas à l'utilisation du serveur TURN de CF. mais je vérifierai à l'occasion.
Requête OverPass API (lien direct) :
/*
This has been generated by the overpass-turbo wizard.
The original search was:
“telecom=data_center in France”
*/
[out:json][timeout:25];
// fetch area “France” to search in
{{geocodeArea:France}}->.searchArea;
// gather results
nwr["telecom"="data_center"](area.searchArea);
// print results
out geom;
Évidemment, cela repose sur la qualité des données d'OSM. Il manquait au moins au centre de données (je l'ai ajouté).
Via https://mastodon.gougere.fr/@bortzmeyer/114330101067096155.
#datacenters
La calculette graphique de GNOME, gnome-calculator
, plante (son affichage gèle) à son ouverture si elle ne parvient pas à récupérer des taux de change monétaires depuis la BCE et le FMI. LOL. La gestion des erreurs, sérieux… Pas cool non plus, les requêtes réseau à l'insu de l'utilisateur…
Il y a quelques semaines, j'avais contourné avec gsettings set org.gnome.calculator refresh-interval 0
. Source. Cela ne fonctionne plus aujourd'hui.
Il faut se déconnecter du réseau, ouvrir la calculette, aller dans le menu, Préfèrences, et choisir la valeur « Jamais » pour le paramètre « Intervalle de rafraîchissement des taux de changes ».
J'ai réinstallé Signal :
« Vous me l'apprenez, madame Lucette » :'D
Ce sketch tourne dans ma tête depuis des jours. Je pensais que ça viendait du Groland, mais non, c'est de Broute.
On fait appel à moi pour réparer un système GNU/Linux.
Linux Mint 21.2. Gros affichage (en réalité, 800x600), plus de réseau WiFi, plus d'imprimante USB, et plus de son. A priori, suite à une mise à jour. Étrange car la plus récente version majeure de Mint (22.1) n'est pas installée, donc c'était une màj mineure, donc peu probable qu'elle ait tout cassé.
Puisque màj, je me dis qu'elle a peut-être été interrompue, mais apt install -f
me dément.
Je me dis que, puisque tout est cassé, autant mettre à jour en Mint 22.1. Ça ne change rien.
Pour le WiFi, lspci
n'affiche aucun pilote en cours d'utilisation. Ha, idem pour le réseau filaire (qui est donc HS). Je passe sur un liveUSB Mint. Là, tout fonctionne (affichage, WiFi et filaire, imprimante, son). J'utilise apt-file
pour identifier dans quels paquets sont les pilotes affichés par lspci
pour le réseau (WiFi et filaire) : linux-modules-extra-<version_noyau>
. Je chroot dans le Mint installé, j'installe le paquet, je redémarre : WiFi et filaire OK.
Origine de ce problème ? Aucune idée. Sur le forum web de Mint, on trouve l'idée que, lors d'une mise à jour, le paquet linux-modules-extra-<version_noyau>
correspondant au noyau qui sera installé, est installé, par dépendance, par le paquet linux-image-generic
, sauf s'il est manquant. Dans mon cas, il était présent, donc ce n'est pas la bonne explication. Je n'en ai pas d'autre.
Concernant l'affichage, la disponibilité de la seule définition 800x600 indique que c'est le pilote ultra-minimaliste qui est en action. Pourtant, le pilote officiel de Nvidia est installé. La carte graphique, une Geforce GT 545, est prise en charge jusqu'à la version 390 du pilote officiel (pour savoir quelle version du pilote convient à telle carte graphique, il suffit de faire semblant de télécharger le pilote depuis le site de Nvidia). Mint 22.1 livre la version 6.8 de Linux. Or, la version 390 du pilote officiel Nvidia est incompatible avec Linux 6.
J'avais constaté que le liveUSB Mint 22.1 utilise le pilote libre nouveau
. J'ai donc désinstallé xserver-xorg-video-nvidia-390
, nvidia-driver-390
, nvidia-utils-390
, nvidia-settings
, etc. Mais toujours rien après redémarrage. lspci
affiche deux pilotes potentiels (dont aucun en cours d'utilisation) : nvidiafb
et nouveau
. J'en déduis que nvidiafb
entre en conflit. apt-file search
le trouve dans aucun paquet donc j'empêche son chargement dans le noyau. Après redémarrage, nouveau
a pris la main et l'affichage est impec.
Là encore, aucune idée de l'origine du problème (Linux Mint 21.2 a un noyau 5.15, donc le pilote Nvidia officiel aurait dû fonctionner avant ma mise à jour vers 22.1 avec Linux 6.8).
Le son et l'imprimante fonctionnent sans intervention de ma part.
Je remarque que le gestionnaire Bluetooth, Thunderbird et un autre logiciel s'ouvrent automatiquement à l'ouverture de session. L'utilisatrice me dit qu'elle a jamais voulu ça. Je fais le ménage depuis le Menu, Préférences, Applications au démarrage.
Linux Mint est installé à côté de Windows 10 (dual boot). Tout porte à croire que winwin fonctionnait avant mon intervention puisque, le Mint étant cassé depuis des semaines, l'utilisatrice l'utilisait en secours. Après mon intervention, il ne démarre plus. Quelle que soit l'entrée choisie dans le menu de démarrage de l'EFI, ça démarrage Linux. Je ne vois pas comment j'aurais pu casser quelque chose avec le peu de commandes que j'ai utilisé… Erreur de ma part : ne pas avoir collecté plus d'informations avant de travailler (constater que winwin démarre, avec quelle entrée du menu EFI, etc.).
Chaque système est installé sur un disque dur dédié. Même si je débranche le disque Linux, l'EFI lance GRUB qui se plaint qu'il ne trouve pas le disque avec tel UUID (le disque Linux, donc). L'utilisatrice me dit que winwin démarrait automatiquement et qu'elle utilisait F9 (menu de démarrage) pour démarrer Mint (je l'ai vu faire) en sélectionnant « SATA 0 ». Donc winwin 10 serait en mode legacy / MBR (sinon il faudrait sélectionner Windows Boot Manager dans les sources EFI, mais il n'y figure pas) ? Étrange. Sur le disque dur dédié à winwin, il y a une partition qui a le drapeau boot et qui contient « bootmgr.exe », « bootnxt », « bootsect.bak », l'arborescence « Boot/BCD », etc. Une autre partition contient aussi « bootmgr.exe » et des documents de l'utilisatrice (parce que pourquoi pas ?). La partition système contient « bootnxt » et un dossier « Boot » vide. Le disque winwin a une table des partition au format MBR, celle du disque dur dédié à Linux est au format GPT. Seul le disque Linux a une partition EFI (aka ESP), mais elle ne contient pas l'arborescence « EFI/Microsoft/Boot » (et donc pas « bootmgfw.efi », « BCD », etc.). La commande efibootmgr
affiche aucune entrée propre à Windows. J'ai essayé de forcer le prochain démarrage (efibootmgr -n <numéro_entrée>
) sur la ligne louche la plus probable (« BBS USB »), sans succès. Bref, c'est le foutoir, et j'hésite entre un winwin MBR ou EFI. Seules certitudes : la commande os-prober
ne détecte pas winwin, et le menu GRUB était désactivé (« GRUB_TIMEOUT_STYLE=hidden » dans /etc/default/grub
) donc l'utilisateur choisisait son système depuis le menu de démarrage de l'EFI.
Je débranche le disque dur Mint de l'ordinateur, je démarre sur une clé USB d'installation de winwin 10. Je teste l'outil de réparation du démarrage. Évidemment, il ne parvient pas à corriger quoi que ce soit. J'utilise bootrec /fixmbr
: l'ordi démarre toujours sur le GRUB présent sur le disque dur alors que je m'attendais à une réécriture du MBR avec le gestionnaire de démarrage de winwin. bootrec /fixboot
termine en « Accès refusé ». D'après plusieurs sources sur le web, c'est le cas depuis la version 1709 de winwin 10 donc depuis 2017. Je peine à croire à un dysfonctionnement, je pense que c'est voulu par Microsoft. Reste à comprendre pourquoi, et pourquoi sa documentation n'est pas à jour. Consolation : bootrec /ScanOS
détecte winwin sur la bonne partition.
Je tente de chaîner l'amorceur winwin à GRUB en pointant sur le début de chaque partition du disque winwin (directive chainloader +1
de GRUB après avoir défini la racine) : échec (« Invalid EFI file path »). Je tente de pointer sur les binaires bootmgr
que j'ai identifié dans plusieurs partitions du disque winwin (directive GRUB : ntldr /bootmgr
) : échec (« ntldr: command not found »). C'était voué à l'échec : GRUB ne permet pas de chaîner du non-EFI quand il est lancé en mode EFI, et inversement, et c'est logique (source 1, source 2). Mais sur un malentendu…
Depuis l'invite de commande d'une clé d'installation winwin 10, je me décide à faire ce que je ne voulais pas : reconstruire l'arborscence Microsoft sur la partition EFI (du disque Linux, donc). Je ne le voulais pas car ça signifie que les deux systèmes, Mint et winwin, ne sont plus véritablement indépendants : sans le disque dur Linux, winwin ne peut pas démarrer… Pour ce faire, j'ai adapté ce tuto : cd /d M:\EFI
; mkdir Microsoft\Boot
; cd Microsoft\Boot
; bcdboot C:\Windows /l fr-fr
. Au redémarrage, le menu de démarrage de l'EFI présente une nouvelle entrée dans la rubrique « Sources de démarrage EFI » : « Windows Boot Manager ». Winwin démarre.
Depuis le Mint installé, os-prober
détecte désormais winwin (et l'ajoute au menu GRUB lors d'un update-grub
, sous réserve qu'il soit configuré pour le faire (« GRUB_DISABLE_OS_PROBER=false » dans /etc/default/grub
.
Winwin étant une espèce invasive, dès qu'on démarre sur lui, ce n'est plus GRUB qui a la main lors des redémarrages successifs. J'ai désactivé le démarrage rapide de winwin (fast startup), sans succès. J'ai pas creusé plus loin. J'ai même oublié de vérifier l'ordre de démarrage dans l'EFI (en tout cas, dans le menu de démarrage du même EFI, winwin occupe la première place devant Mint). Pas grave, l'utilisatrice a l'habitude de démarrer Mint avec F9 (menu de démarrage EFI), j'ai remis comme c'était, aucun poids sur ma conscience.
Là encore, aucune idée sur l'origine du problème. Lors de la mise à jour vers Mint 22.1, y a-t-il eu un grub-install
automatique qui a détruit l'amorceur winwin sur le disque dur dédié winwin ? Un update-grub
qui a changé la config du GRUB du disque Linux (vers lequel pointe le MBR du disque winwin) ? Un effacement de l'arborescence Microsoft sur la partition EFI ? Tout cela paraît improbable.
L'utilisatrice me dit qu'il n'y a plus de son sous winwin. Forcément, quand on branche les haut-parleurs sur le port microphone de l'ordi… Mais Linux fait avec. :D J'avais déjà vu ça.
Sieve est un langage de script de manipulation d'emails côté serveur. On peut classer des emails dans un dossier, écrire un répondeur, ignorer des spams, évaluer le retour d'un antivirus, chiffrer les emails entrants (avec un plugin, pas juste du Sieve), etc. RFC 5228. Beaucoup d'extensions : RFC 5233 pour travailler plus simplement sur des sous-adresses (étiquettes), RFC 5232 pour manipuler les drapeaux IMAP, RFC 5230 pour un répondeur, RFC 5235 pour évaluer simplement le résultat d'un antivirus / antispam, etc.
Les utilisateurs peuvent envoyer leurs scripts à leur serveur emails avec le protocole ManageSieve (je ne le fais pas, je passe par SSH).
Comme toujours, il y a la norme technique et les implémentations. Pour ma part, j'utilise Pigeonhole, l'implémentation de Sieve de Dovecot (qui, en sus d'être un serveur IMAP / POP peut aussi être un MDA, un agent local de livraison des emails, qui s'occupe des derniers kilomètres, comme un facteur humain, nommé dovecot-lda
). Documentation. Exemples. Autres exemples.
Un script Sieve est compilé (en une représentation binaire) afin d'accélérer son exécution. Dovecot y procède si le binaire n'existe pas (et on peut utiliser la commande sievec
pour le faire nous même), c'est le fichier ~/.dovecot.svbin
(qu'on peut lire avec sieve-dump
).
Ci-dessous, je note les quelques syntaxes que j'utilise.
[]
: liste de chaînes de caractères. On peut bosser sur plusieurs entêtes et/ou plusieurs valeurs en une expression.
require
: charger des extensions. Ex. : require ["fileinto", "envelope", "subaddress", "imap4flags", "body"];
if
/ elsif
/ else
if not
if anyof (condition_1, condition_2)
: OR (« ou » logique), une seule condition suffit
if allof (condition_1, condition_2)
: AND (« et » logique), il faut remplir toutes les conditions
Quelques commandes de test (en sus de not
, anyof
et allof
qui figurent déjà ci-dessus :
envelope
(nécessite le chargement de l'extension du même nom) : travailler sur l'enveloppe (MAIL FROM
, RCPT TO
, etc.)header
: travailler sur un ou plusieurs entête de l'emailaddress
: sous-ensemble de header
, portant uniquement les adresses (expéditeur, destinataire, copie, etc.)body
: travailler sur le corps de l'emailexists
(un entête existe), size
, etc.if header :is "Subject" "Check out my profile on LinkedIn"
: si le sujet est « Check out my profile on LinkedIn »
if header :contains "Subject" "Check out my profile on LinkedIn"
: si le sujet contient, entre autres la chaîne « Check out my profile on LinkedIn »
La comparaison entre un entête ou le corps de l'email et une chaîne de caractère n'est pas sensible à la case (parce que la norme du format des emails l'impose). Y compris les adresses emails (dont la partie locale est sensible à la case, pour rappel). Pour avoir une sensibilité à la case : if header :comparator "i;octet" :contains "Subject" "LoLmDr"
/ if address :comparator "i;octet" :localpart :is "From" "ToTo"
.
if address :is "From" "invitations@linkedin.com"
if address :contains "From" "@newsletter.voyages-sncf.com"
/ if address :domain :is "From" "newsletter.voyages-sncf.com"
: comparer uniquement le domaine (inversement, il existe :localpart
)
if header :contains "From" "quelquechose"
: chercher plus librement dans tout le From (ou dans le To ou…), pas juste dans l'adresse. J'y ai déjà eu recours quand address
ne matchait pas sur le domaine d'une adresse pour une raison qui m'échappait.
if address :is "To" "toto@example.com"
/ if header :is "To" "toto@example.com"
if envelope :is "To" "toto@example.com"
/ if header :is "Delivered-To" "toto@example.com"
: quand l'adresse de destination ne figure pas dans les entêtes (copie cachée, alias, liste, etc.)
if header :contains "List-Id" "nomliste.lists.example.com"
: quand l'email provient d'une liste de diffusion précise
if exists "List-ID"
: l'email provient d'une liste de diffusion (sans chercher laquelle)
if address :contains "To" "+test"
/ if address :detail :is "To" "test"
/ if envelope :contains "To" "+test"
/ if envelope :detail :is "To" "test"
: travailler sur une étiquette / sous-adresse (« test » dans « toto+test@example.com »). (Les 2e et 4e syntaxes nécessitent l'extension subaddress
. La 4e nécessite de configurer Postfix pour transmettre l'adresse complète à Dovecot-lda, « toto+test@example.com » au lieu de « toto@example.com » en laquelle Postfix l'aura résolu.)
if body :contains "blablabla"
(nécessite l'extension du même nom)
Il existe également l'extension regex
.
L'ordre des paramètres d'une commande n'est pas important : if address :is :domain :comparator "i;octet" "From" "example.com"
= if address :comparator "i;octet" :domain :is "From" "example.com"
, alors que seule la 2e respecte strictement le RFC. Évidemment, il ne faut pas inverser l'entête sur laquelle on travaille et sa valeur (ex. de truc foireux : if header :is "example.org" "From"
), car le compilateur ne les détecte pas tous (comme l'exemple donné ici), et c'est logique. Le type de comparaison (exacte avec :is
, sous-chaîne avec :contains
, ou métacaractères / joker avec :matches
) est optionnel et vaut :is
par défaut, mais je trouve que ne pas l'indiquer rend la règle illisible.
Toutes les actions doivent être suivies d'un point-virgule.
discard
: ignorer un email (il disparaît)
fileinto "dossier"
(nécessite l'extension fileinto) : déplacer l'email dans le dossier nommé « dossier »
setflag "\\Seen"
(nécessite l'extension imap4flags
) : marquer l'email comme lu. Il doit être positionné avant un fileinto. / fileinto :flags "\\Seen" "dossier"
stop
: ne pas poursuivre l'exécution du script car on a fait tout ce qu'on voulait
Il existe aussi redirect
, vacation
(répondeur, cf. ci-dessous), etc.
Pour tester un script (aussi bien sa syntaxe que son effectivité), Dovecot propose la commande sieve-test <chemin/vers/script/sieve> <email_à_tester>
. (Évidemment, le script sera compilé, donc analysé en entier, donc toute erreur de syntaxe sera remontée, même si l'email ne déclenche qu'un sous-ensemble.) Si l'on veut juste tester la syntaxe, on peut uniquement compiler le script : sievec .dovecot.sieve
.
Pour appliquer un script Sieve sur des emails déjà réceptionnés : sieve-filter
(attention : le manuel exige d'être très prudent, bugs, tout ça).
Aeris avait mis à disposition le script Sieve suivant qui envoie un email à toute personne le contactant avec une adresse email hébergée par un GAFAM. Je le recopie ci-dessous. Dovecot n'envoie pas l'email en réponse à une liste de diffusion et autres messages de masse (source).
if anyof (
address :is :domain "From" "gmail.com",
address :is :domain "From" "live.com",
address :is :domain "From" "msn.com",
address :is :domain "From" "hotmail.com",
address :is :domain "From" "hotmail.fr",
address :is :domain "From" "yahoo.com",
address :is :domain "From" "yahoo.fr"
) {
vacation :days 1 :subject "Protection de la vie privée" text:
### Message automatique ###
Bonjour,
Vous m’écrivez depuis une adresse mail dont le fournisseur ne respecte pas ma
vie privée et dont je n’ai aucunement approuvé les conditions générales
d’utilisation liberticides.
Je vous saurai donc gré de cesser d’utiliser cette adresse pour me joindre, et
de vous tourner vers des fournisseurs de mail respectueux de ma vie privée (à
défaut de la vôtre).
Votre mail ne recevra donc probablement aucune réponse de ma part, afin de ne
pas continuer à fournir mes données privées à votre fournisseur.
https://imirhil.fr/et-puis-merde-à-la-vie-privée.html
--
Aeris
Protégez votre vie privée, chiffrez vos communications
GPG : EFB74277 ECE4E222
OTR : 5769616D 2D3DAC72
https://café-vie-privée.fr/
.
;
}
(Journaliste) ‒ Devons-nous avoir peur de la Russie ? Nous, au Groland, on n'a pas peur. La preuve, nous venons de doubler notre effort de guerre. Désormais, chaque soldat grolandais devra boire deux fois plus de vin à la cantine.
(Bidasse bourré) ‒ Pas peur, moi.
:D
François Sureau invité aux Idées mènent le Monde 2024 :
Comme l'écrit [Georges] Bernanos, défendre les libertés en général, c'est défendre les libertés des autres. Ce qui m'éloigne de tout une partie du monde moderne, c'est que les gens qui revendiquent la liberté la revendique pour eux-mêmes. Alors qu'en réalité la bonne défense de la liberté, c'est de se soucier d'abord de la liberté d'autrui, ce qui n'est pas possible si l'on n'a pas essentiellement un sentiment de fraternité.
[…]
Quand j'ai commencé à m'intéresser aux libertés, c'est parce qu'en fait, j'étais très frappé de la facilité avec laquelle nous abandonnions un certain nombre de principes sur lesquels on avait fonctionné pendant longtemps. Pour moi, on ne peut pas rentrer la nuit chez quelqu'un si l'on n'a pas le mandat d'un juge, c'est aussi tarte que ça. C'est pas bien d'être surveillé tout le temps. Il ne faut pas que les incriminations pénales soient trop larges sans ça ça permettrait d'envoyer en prison a priori le tiers des personnes qui sont dans cette salle. Et j'ai vu, parce que nous étions inquiets de violence, du terrorisme, de la dislocation sociale, on avait tendance à revenir sur ces principes et je n'aimais pas ça, mais je n'aimais pas ça de manière absolument concrète et immédiate. Et puis, au bout d'un moment, j'ai cessé d'en parler quand je me suis rendu compte que mes sorties sur la liberté étaient utilisées ou me faisaient le complice de gens avec qui je n'avais absolument rien de commun : les défenseurs de l'islamisme intégral, les fous de Chavez. Je me suis rendu compte que nous ne parlions pas de la même chose, que pour moi la liberté n'était pas la liberté de faire n'importe quoi selon sa petite conscience personnelle, mais plutôt l'organisation d'un système général de libertés publiques qui nous permettrait de poursuivre notre chemin dans la société à l'abris des interventions de l'État. Et puis, en plus, dans les années qui viennent de s'écouler, d'autres puissances sont apparues, beaucoup plus puissantes que l'État : les mouvements de l'opinion publique, la tyrannie de la majorité, les gens qu'on envoie au pilori sur des soupçons, les réseaux sociaux, ça rend assez difficile la position classique du juriste libéral qui dit que c'est l'État qui est mauvais. Non, l'État n'est pas mauvais, nous le sommes autant que lui, puisque c'est parce que nous lui concédons toutes ces facilités qu'il a la possibilité d'intervenir dans nos vies. Donc je suis très content d'avoir fait ça, je continue à préférer la Déclaration des droits de l'Homme à son absence, naturellement, mais peut-être que j'y mets moins de passion qu'autrefois.
François Sureau nous présente "S'en aller" :
La liberté, c'est que rien ne vienne s'opposer aux tentatives que nous pouvons faire pour coïncider véritablement avec nous-mêmes dans ce que nous avons de bien : lire tout ce qu'on veut, écrire tout ce qu'on veut, penser tout ce qu'on veut, voyager comme on veut, une liberté qui soit essentiellement positive
François Sureau nous présente "S'en aller" :
À l'origine de tout, je pense qu'il y a un sentiment que beaucoup de gens ont, que peut-être vous avez eu, que peut-être les gens qui nous écoutent ont eu, qui est un sentiment extrêmement profond de l'étrangeté du monde [paradoxes, contraires, binarité gauche/droite, athée/catho, etc.]. Un sentiment éprouvé dans l'enfance, qui ne m'a absolument jamais quitté, qui m'a d'ailleurs empêché de prendre au sérieux, au fond, quelle institution que ce soit. Vous savez, c'était le propos de l'aumônier de la brigade Alsace-Lorraine de Malraux, Bockel, auquel on demandait « alors, qu'avez-vous appris en 50 ans de pratique de la confession ? » et il répondait « ho, c'est assez simple, il n'y a pas de grande personne ». J'ai eu ce sentiment très jeune que les grandes personnes que l'on me présentait, pour que je les admire ou que je les déteste, n'étaient que des enfants qui continuaient de jouer dans l'âge adulte les rôles particuliers que jouent les enfants à l'intérieur d'une classe, que ce à quoi ils s'occupaient profondément était assez vain et que ce monde qui était pourtant extrêmement joyeux et réconfortant à certains égards était l'envers d'un autre ou la préfiguration d'un autre, qu'il existait quelque chose au-delà d'un voile qu'on pouvait écarter, et pour moi, la manière de rentrer dans cet autre monde a été la littérature. […] C'est pas ici c'est une vallée de larmes et puis il y a un autre monde derrière qui est extrêmement sympathique, non, pas du tout, c'est que tout ce qui était bien ici et dont on ne comprenait pas nécessairement le sens prenait sens ailleurs, une dialectique entre les deux, en permanence. De manière négative et positive, des choses magnifiques ici dont je pouvais ressentir négativement le caractère éphémère mais qui en fait étaient une préfiguration de l'éternité ou des souffrances ici dont je me disais qu'elles préparaient en quelque sorte une éternité meilleure, un lien, une espèce de pont permanent entre les deux.
Pour beaucoup, l'Église (catho), par son formalisme, son caractère construit, etc. contraint, alors que pour Sureau, au contraire, c'est la famille, les études, etc. qui le corsetaient et l'Église qui le libérait :
Dans ce monde soumis à l'usine, au ministre, au percepteur, il y avait un endroit où tout le monde allait le dimanche, toutes classes sociales confondues, où un type montait à l'autel dans une chasuble […] et expliquait ou disait des choses absolument mystérieuses et qui pour moi étaient un appel prodigieux à l'imagination. Y compris des choses qu'on dit dans la liturgie au moment des morts, « souviens-toi de nos morts dont toi seul connaît la droiture », cette phrase me faisait rêver, j'avais l'impression que le monde tel que je le connaissais, le monde des concours, le monde des institutions, des grandeurs d'établissement, était un monde dans lequel chacun portait jugement sur chacun dans l'idée que chacun était capable de formuler un jugement sur la valeur des personnes, et par cette simple phrase, un pauvre gars montant à l'autel dans sa chasuble disait, au fond, « seul Dieu connaît la droiture des Hommes ».
Dans le christianisme orthodoxe, on retrouve plus un Christ guérisseur que rédempteur (catholicisme), et on part de l'expérience humaine (peur de la mort, désir, etc.) plutôt que de la révélation (catho).
François Sureau nous présente "S'en aller" :
Dans l'anarchisme de droite, il y a deux choses qui ne me vont pas. Dans l'anarchisme, il y a malgré tout cette idée qu'un mode d'organisation particulier, l'anarchie, celle de Guérin, de Kropotkine, permettrait de nous faire un monde plus vivable : je ne le crois aucunement. Et puis, dans la droite, il y a quelque chose qui ne me va pas non plus […] : je trouve que la caractéristique des anarchistes de droite est très souvent que ce sont des petits bourgeois animés par le ressentiment. […] On a toujours l'impression qu'ils ne sont pas reconnus à leur juste valeur : dans un monde bien fait, ils seraient ministres ou prince du sang, et ils ne le sont pas, et c'est la raison pour laquelle ils deviennent [Michel] Déon ou [Louis] Dimier. Moi pas du tout, je ne suis pas animé par cette forme particulière du ressentiment d'une classe moyenne désaxée qui était d'ailleurs à l'origine de tous les mouvements fascistes.
Autres thèmes abordés dans les deux vidéos sus-pointées : trouver son unité, qui je suis, d'abord en élaguant les branches mortes pour forcer l'unité, puis en s'acceptant ; monastère = mónos != seul mais plutôt unité de soi ; départ / arrivée / instant présent ; exprimer le désir de partir, c'est déjà être parti ; jugement / condamnation versus pardon / oubli ; culpabilité / rédemption.
François Sureau invité aux Idées mènent le Monde 2024 :
[…] Un autre exemple de la manière dont [la littérature] sert à la vie. On se demande aujourd'hui, là, en politique, s'il faut voter à droite, voter à gauche, etc., et moi je me suis beaucoup détaché de ça au fil des années, mais, à chaque fois que je lis des choses politiques dans les journaux, je pense à la description que donne Victor Hugo des funérailles de Chateaubriand. Vous vous souvenez que Victor Hugo adorait Chateaubriand, quand il était jeune, il disait « être Chateaubriand ou rien ! ». Et puis Chateaubriand meurt en 1848 [fin de la monarchie de Juillet, 2e République, Chateaubriand était un royaliste]. […] [Hugo écrit] : « Peu de temps avant sa mort, mes amis et moi sommes allés voir M. de Chateaubriand. M. de Chateaubriand ne disait rien de la République, si ce n'est « vous fera-t-elle plus heureux ? » ». […] Ça, c'est l'expression la plus exacte du sentiment qu'on peut avoir, d'étrangeté, de familiarité, à l'égard de la vie extérieure, la vie politique, par exemple, telle que nous la voyons.
François Sureau nous présente "S'en aller" :
[…]
‒ Comment votre regard sur la France a-t-il évolué ?
‒ […] En fait, je ne fais pas partie des gens qui pensent que c'était mieux avant. Mais pas du tout. Je me souviens… Cette France de mon enfance [années 60-70], j'y suis attaché parce que c'était le territoire de mes rêves, dans mon enfance, mais la France réelle de mon enfance, celle qui, précisément, me faisait m'évader dans le rêve, cette France-là n'était pas extraordinaire du tout, elle était dure, aux femmes, aux Bretons, aux Arabes, aux esprits libres de manière générale, les barrières de classe étaient beaucoup plus solides que maintenant, et énormément de choses, même sur le plan intellectuel, enfin, quand je faisais mes études, 30 % des électeurs étaient en réalité adeptes de l'URSS de Staline, quand Simon Leys publiait, il se faisait étriller comme agent de la CIA en une du Monde, les gens adoraient le génocide cambodgien et vantaient les charmes de Pol Pot, et si vous étiez d'un avis un peu différent, vous étiez un fasciste, tout de suite, donc moi j'ai l'impression d'avoir vécu mon enfance et ma jeunesse [années 60-70] dans un pays effarant et plombé. Ceux qu'étaient pas effarants et plombés, c'était les ministres pompidoliens dont on se demandait s'ils ne touchaient pas tous plus ou moins sur la construction de l'auditorium Tartemolle ou des nouvelles halles de Paris, vous voyez ? Donc l'idée, maintenant, que je vois se répandre chez les gens qu'ont l'âge d'être mes enfants qu'il existait un âge d'or quand j'étais jeune est juste surprenante. […] On souffre d'abord de son propre pays […] avant de souffrir d'autres choses, et je pense qu'un esprit sensible souffre de son pays à toutes les époques, et souffre de son temps à toutes les époques.
[…]
Ça me rappelle ceux qui, a juste titre, rapportent que les années 80 étaient loin d'être les glamours années fric que l'on présente aujourd'hui. Comme d'hab, ça dépendait de ta position dans la société.
En janvier 2024, mon profil utilisateur Thunderbird avait plus de 10 ans. Forcément, ça s'encrasse : des paramètres disparaissent, etc. Le format de stockage Maildir, ou, plus précisément, un dérivé, est disponible dans les paramètres depuis 2019 pour les nouveaux comptes, donc j'avais envie d'essayer. Mes pratiques ont évolué : j'envoyais des emails au format texte (alors que le format HTML a ses avantages avec les Moldus et/ou des messages structurés), j'avais limité la largeur des lignes de texte à 80 colonnes (comme sur les vieux terminaux…), y compris en émission, etc. J'avais un bug : quand je déplaçais un email, surtout s'il était chiffré, le sujet du dernier email du dossier de destination était remplacé, en dur, dans le mbox, par celui de l'email qui précédait l'email déplacé dans le dossier source (il fallait alors aller dans les propriétés du dossier contenant l'email et utiliser l'outil de réparation… qui ne fait rien de plus que tout détruire et re-télécharger tous les emails). Un profil vierge (et Maildir) ne fait pas disparaître ce bug. :( Dans le temps, Thunderbird me perdait des emails… Depuis la version 115, si l'espace de stockage est plein, Thunderbird corrompt ses fichiers (ce n'était pas le cas avant). Je trouvais aussi que le dossier ImapMail occupait bien trop d'espace de stockage comparé à l'occupation des emails sur mon serveur (> 2 Go d'écart). Bien entendu, il y a les index (pour accélérer la recherche), mais je trouvais cet écart déconnant, et je pensais que le compactage ne faisait pas son taff (menu Fichier, Compacter les dossiers = réécrire un fichier mbox pour effacer réellement les emails supprimés, un équivalent du VACUUM de sqlite ou pgSQL, quoi). Un nouveau profil et un passage à Maildir ne changent rien sur ce point.
Vu que j'étais reparti d'un profil Firefox vierge, j'ai décidé d'en faire de même avec Thunderbird.
Pourquoi pas Betterbird ? Je n'en ai pas besoin, Thunderbird me convient environ, rien ne me déplaît foncièrement. Ensuite, je recherche trois choses : pérennité, suivi et facilité de mise à jour. Par définition, un logiciel de messagerie est exposé sur l'extérieur, et des failles de sécurité sont corrigées tous les mois, donc il faut que les mises à jour soient rapides et automatisées via un canal de distribution de confiance (sans suivi, mutualisé avec d'autres logiciels, comme les dépôts d'un système Debian, par ex.). Bref, je fuis les logiciels qui ne sont pas empaquetés dans Debian, c'est toujours la galère pour les mettre à jour. J'attends de voir combien de temps Betterbird sera maintenu.
La configuration consignée ci-dessous est destinée à des utilisateurs avancés de Thunderbird. Je n'appliquerai pas les mêmes paramétrages chez un utilisateur lambda.
Contrairement à Firefox, il n'est pas possible de renommer un ancien profil. Enfin, si, mais si l'on s'en sert, Thunderbird re-télécharge alors l'ensemble des emails depuis le serveur, à cause de chemins codés en dur dans le profil (notamment dans folderCache.json)…
Étape 1 : installer le dictionnaire français (sinon de nombreux mots sont marqués, à tort, comme des erreurs par le correcteur, déjà qu'avec le dico il peine à proposer les bonnes corrections de mots accentués…).
Étape 2 : retrouver la barre de menus (clic droit, barre de menus).
Étape 3 : modifier les paramètres accessibles depuis le menu (édition, paramètres) :
Général
Rédaction
Étape 4 : modifier les paramètres avancés (Paramètres, Général, Éditeur de configuration… tout en bas)
Étape 5 : ajouter les comptes emails.
Dans les paramètres des comptes (menu Édition) :
Dans les propriétés de chaque dossier d'une boîte dont on veut que TB vérifie avec assiduité et promptitude les nouveaux emails, cocher « Lors de la réception de nouveaux messages pour ce compte, toujours vérifier ce dosier » dans l'onglet « Informations générales ».
Envoyer un email pour aussi faire mémoriser le mot de passe du serveur SMTP.
Comme depuis 2021, galérer à faire accepter un certificat autosigné pour les serveurs IMAP et SMTP.
Si l'on a plusieurs comptes, définir celui par défaut (= qui sera utilisé quand on cliquera sur Écrire sans être dans un compte, quand on répondra à un email adressé à une identité pas configurée, etc.) : paramètres des comptes, sélectionner le compte qui doit être celui par défaut, bouton Gestion des comptes, Compte par défaut.
Étape 6 : OpenPGP. Rien à signaler. Importer sa paire de clés dans le gestionnaire ad-hoc, ajouter un mot de passe au gestionnaire de mots de passe afin de protéger sa clé privée (Paramètres, Vie privée et sécurité, Mots de passe, Utiliser un mot de passe principal). Importer la clé publique de ses destinataires. Associer une clé publique à un domaine / une liste de destinataires, à une adresse email qui n'est pas l'une des identités de la clé (exemple : adresse email avec un délimiteur) / une étiquette / un tag.
Étape 7 : ajouter toutes les identités (adresses emails, nom ou absence de nom, etc.) pour un compte emails, notamment si l'on utilise des alias ou des adresses emails avec un délimiteur) / une étiquette / un tag. Pour ce faire : paramètres des comptes, choisir un compte, bouton Gérer les identités tout en bas.
Étape 8 : changer l'apparence. À partir de la version 115, l'interface change pour devenir kikoo-moderne, faire comme tout le monde, sans ergonomie. J'en avais entendu du mal (ici et là), j'en avais été préservé (un paramètre était automatiquement placé dans le profil lors d'une mise à jour), mais on peut obtenir, sans trop d'efforts, une interface semblable aux versions antérieures et fonctionnelle (contrairement à Gajim).
Sans rapport avec la nouvelle interface :
En janvier 2024, je rencontrais quelques désagréments avec Firefox, notamment sur YouTube. De plus, j'ai fait évoluer quelques-unes de mes pratiques, notamment mon filtrage des traceurs, transferts de données à caractère personnel et des autres merdes qui composent le web aujourd'hui (je suis passé d'une politique « bloquer tout ce qui est tierce partie » à « bloquer les ressources web bien connues pour apparaître partout et qui ne sont pas pris en charge par une liste de filtrage uBlock Origin »). Enfin, les ajouts et retraits successifs, car les paramètres de Firefox changent, rendent mon dernier article sur le sujet difficile à lire (d'autant qu'il date d'avant le formatage Markdown dans Shaarli).
Évacuons la question toute de suite : pourquoi pas un clone de Firefox spécialisé dans la vie privée, comme Waterfox, Librefox, Librewolf, Floorp, etc. ? D'abord, car aucun n'a, par défaut, les paramètres que je veux. Ensuite, je recherche trois choses : pérennité, suivi et facilité de mise à jour. Par définition, un navigateur web est exposé sur l'extérieur, et des failles de sécurité sont corrigées tous les mois, donc il faut que les mises à jour soient rapides et automatisées via un canal de distribution de confiance (sans suivi, mutualisé avec d'autres logiciels, comme les dépôts d'un système Debian, par ex.). Bref, je fuis les logiciels qui ne sont pas empaquetés dans Debian, c'est toujours la galère pour les mettre à jour (on parle du dépôt Debian de Librewolf qui a changé d'adresse ?). Un paquet de clones de Firefox n'ont pas survécus, donc j'évite de me précipiter sur le dernier venu. À titre subsidiaire : Floorp et Waterfox sont derrière Cloudflare. Librewolf derrière Amazon. Respectueux de la vie privée, disions-nous ? (Oui, je sais, Mozilla, Debian, OpenStreetMap, le RIPE, et tant d'autres, sont aussi derrière ces géants, ce qui me désole au plus haut point).
La configuration consignée ci-dessous est destinée à des utilisateurs avancés de Firefox. Je n'appliquerai pas les mêmes paramétrages chez un utilisateur lambda.
Étape 1 : installer le dictionnaire français (sinon de nombreux mots sont marqués, à tort, comme des erreurs par le correcteur).
Étape 2 : retrouver la barre de menus (clic droit, barre de menus) et la barre de titre (clic droit, personnaliser la barre d'outils, cocher « barre de titre » tout en bas à gauche). Personnaliser la barre d'outils (ajouter l'outil de capture d'écran, supprimer les icônes Pocket et compte / synchronisation).
Étape 3 : modifier les paramètres accessibles depuis le menu (édition, paramètres) :
Général
Polices, avancé, décocher Autoriser les pages web à utiliser leurs propres polices
Fichiers et applications
Navigation
Accueil
Recherche
Vie privée et sécurité
Décocher Compléter le champ des cartes bancaires automatiquement
Historique
Permissions :
Étape 4 : on installe et configure des extensions
D'abord, les indispensables :
uBlock Origin
Paramètres : cocher Je suis un utilisateur/une utilisatrice avancé(e)
Listes de filtres :
# Merdes chez Microsoft Azure
blob.core.windows.net
# Tout script nommé ads.js
/ads.js
# # Sentry via un sous-domaine
://sentry.
# Polices de caractères en tierce partie
*$font,third-party
* addtoany.com * block
* adobedtm.com * block
* ajax.googleapis.com * block
* akamai.net * block
* akamaiedge.net * block
* algolia.net * block
* algolianet.com * block
* amazon.com * block
* amazonaws.com * block
* appconsent.io * block
* aticdn.net * block
* bootstrapcdn.com * block
* cachefly.net * block
* cdn-apple.com * block
* cdnfonts.com * block
* cdninstagram.com * block
* chartbeat.com * block
* cdnjs.cloudflare.com * block
* cloudflare.net * block
* cloudfront.net * block
* cookielaw.org * block
* coralproject.net * block
* i.creativecommons.org * block
* dailymotion.com * block
* disqus.com * block
* dmcdn.net * block
* donorbox.org * block
* doubleclick.net * block
* edgecastcdn.net * block
* edgio.net * block
* embed.ly * block
* embedly.com * block
* facebook.com * block
* fastly.net * block
* firestore.googleapis.com * block
* fontawesome.com * block
* fonts.googleapis.com * block
* fonts.net * block
* google.com * block
* google.fr * block
* googletagmanager.com * block
* googleusercontent.com * block
* gravatar.com * block
* gstatic.com * block
* hcaptcha.com * block
* herokuapp.com * block
* herokudns.com * block
* hsappstatic.net * block
* hsforms.net * block
* hubspot.com * block
* hubspot.net * block
* imasdk.googleapis.com * block
* impervadns.net * block
* inbenta.io * block
* incapdns.net * block
* instagram.com * block
* code.jquery.com * block
* jsdelivr.map.fastly.net * block
* jsdelivr.net * block
* jwplayer.com * block
* kameleoon.eu * block
* kxcdn.com * block
* mailchimp.com * block
* mailjet.com * block
* mapbox.com * block
* maps.googleapis.com * block
* maze.co * block
* myfeelback.com * block
* paypal.com * block
* piano.io * block
* polyfill-fastly.io * block
* polyfill-fastly.net * block
* polyfill.io * block
* privacy-center.org * block
* privacy-mgmt.com * block
* ravenjs.com * block
* rechargecdn.com * block
* rosselcdn.net * block
* sentry-cdn.com * block
* skeepers.io * block
* smile.io * block
* soundcloud.com * block
* storage.googleapis.com * block
* stripe.com * block
* tagcommander.com * block
* tiktok.com * block
* tiqcdn.com * block
* transcend-cdn.com * block
* twimg.com * block
* twitch.tv * block
* twitter.com * block
* platform.twitter.com * block
* typeform.com * block
* typekit.net * block
* typography.com * block
* ultimedia.com * block
* unpkg.com * block
* usercentrics.eu * block
* metrics.video-dns.com * block
* vercel-dns.com * block
* vimeo.com * block
* wordpress.com * block
* wp.com * block
* youtube-nocookie.com * block
* youtube.com * block
* ytimg.com * block
* zdassets.com * block
* zencdn.net * block
* zendesk.com * block
www.amazon.fr amazon.com * noop
www.amazon.fr amazon.map.fastly.net * noop
www.amazon.fr amazonaws.com * noop
www.dailymotion.com dailymotion.com * noop
www.dailymotion.com dmcdn.net * noop
www.dailymotion.com privacy-mgmt.com * noop
images.google.com google.com * noop
images.google.com gstatic.com * noop
lens.google.com google.com * noop
lens.google.com gstatic.com * noop
news.google.com google.com * noop
news.google.com googleusercontent.com * noop
news.google.com gstatic.com * noop
play.google.com google.com * noop
play.google.com play.google.com * noop
play.google.com googleusercontent.com * noop
play.google.com gstatic.com * noop
support.google.com google.com * noop
translate.google.com google.com * noop
translate.google.com gstatic.com * noop
www.google.com google.com * noop
www.google.com gstatic.com * noop
www.google.fr google.fr * noop
www.google.fr gstatic.com * noop
www.instagram.com cdninstagram.com * noop
www.instagram.com facebook.com * noop
www.instagram.com instagram.com * noop
www.instagram.com www.instagram.com * noop
meteofrance.com * 3p block
meteofrance.com cloudflare.com * noop
meteofrance.com cdnjs.cloudflare.com * noop
meteofrance.com cloudflare.net * noop
meteofrance.com jsdelivr.map.fastly.net * noop
meteofrance.com jsdelivr.net * noop
meteofrance.com unpkg.com * noop
www.openstreetmap.org dualstack.n.sni.global.fastly.net * noop
www.openstreetmap.org jsdelivr.map.fastly.net * noop
www.openstreetmap.org jsdelivr.net * noop
www.openstreetmap.org cdn.jsdelivr.net.cdn.cloudflare.net * noop
twitter.com edgecastcdn.net * noop
twitter.com twimg.com * noop
twitter.com twitter.com * noop
vimeo.com com.cdn.cloudflare.net * noop
vimeo.com api.vimeo.com.cdn.cloudflare.net * noop
vimeo.com vimeo-video.map.fastly.net * noop
vimeo.com vimeo.com * noop
vimeo.com vimeo.map.fastly.net * noop
x.com edgecastcdn.net * noop
x.com twimg.com * noop
x.com twitter.com * noop
x.com twitter.map.fastly.net * noop
www.youtube.com google.com * noop
www.youtube.com googleusercontent.com * noop
www.youtube.com gstatic.com * noop
www.youtube.com youtube.com * noop
www.youtube.com ytimg.com * noop
NoScript (Security Suite)
I still don't care about cookies
Cookie Autodelete
Paramètres des CAD
Ensuite, en fonction des usages et des goûts :
Étape 5 : modifier les paramètres avancés dans about:config.
D'abord, pour mes besoins persos et d'après mes expériences persos :
Ensuite, selon Arkenfox :
Casse des choses sans être utile :
Comme à chaque passage à une nouvelle version de Debian GNU/Linux, voici un résumé de tout ce qui a foiré ou changé quand je suis passé à Bookworm (Debian 12). (Oui, cet article est en retard, mais, finalement, ça ne fait qu'un an que je suis passé à Debian 12, qui avait alors huit mois.)
Pour effectuer la mise à jour, on suit la doc'.
Peu de changements sur les logiciels serveurs que j'utilise.
Les directives de configuration additional-from-auth
et additional-from-cache
n'existent plus.
En permanence, deluge consigne ce qui suit dans ~/.xsession-errors
:
[CRITICAL][twisted :147 ] Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/deluge/ui/gtk3/gtkui.py", line 246, in start
reactor.run()
File "/usr/lib/python3/dist-packages/twisted/internet/_glibbase.py", line 277, in run
self._run()
File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 1689, in main
return _Gtk_main(*args, **kwargs)
File "/usr/lib/python3/dist-packages/twisted/internet/_glibbase.py", line 308, in _simulate
self.runUntilCurrent()
--- <exception caught here\> ---
File "/usr/lib/python3/dist-packages/twisted/internet/base.py", line 991, in runUntilCurrent
call.func(*call.args, **call.kw)
File "/usr/lib/python3/dist-packages/deluge/core/core.py", line 345, in _on_alert_session_stats
self._update_session_cache_hit_ratio()
File "/usr/lib/python3/dist-packages/deluge/core/core.py", line 361, in _update_session_cache_hit_ratio
self.session_status['disk.num_blocks_cache_hits'] / blocks_read
builtins.KeyError: 'disk.num_blocks_cache_hits'
Il faut appliquer le patch suivant au fichier /usr/lib/python3/dist-packages/deluge/core/core.py
.
dhclient
, du paquet isc-dhcp-client
n'est plus maintenu depuis 2022, tout comme le relai DHCP de l'ISC. apt-listchanges
nous expose qu'il sera donc supprimé après la version actuelle (4.4.3), mais il est toujours dans testing, donc bon, ça risque de traîner.
NetworkManager de GNOME / Mate utilise sa propre implémentation (sudo grep dhcp /var/log/syslog
: « dhcp: init: Using DHCP client 'internal' »). (On peut lui faire utiliser dhclient.) J'imagine qu'il en va de même de systemd-networkd
. Du coup, ça ne pose pas de souci, sauf pour un client en ligne de commande dans un environnement restreint (sans systemd, quoi).
apt-listchanges
nous expose qu'il existe un paquet additionnel, cryptsetup-suspend
, qui permet de retirer de la RAM la clé de déchiffrement du support de stockage d'un système intégralement chiffré avant de suspend-to-ram ou suspend-to-disk (deux modes d'hibernation). J'étais hyper sceptique. J'ai lu cet article. J'ai testé (il suffit juste d'installer le paquet précité). Ça fonctionne au poil avec mon suspend-to-ram usuel.
Ça ne démonte pas les supports de stockage externes chiffrés.
L'article sus-pointé expose que systemd-homed
permet de gérer les répertoires personnels des utilisateurs, y compris en les chiffrant, et, qu'alors, il officie comme cryptsetup-suspend
mais uniquement à leur égard.
Je n'ai pas un modèle de menace qui exige l'utilisation de cryptsetup-suspend
(sinon, j'aurais éteint mon ordi toutes ces années au lieu de le mettre en hibernation), donc je l'ai désinstallé après mon essai.
Johndescs m'avait prévenu que la nouvelle interface est kikoo-moderne, reprenant l'apparence (et la non-ergonomie) des applis de messagerie "modernes" pour smartphone (messages groupés, workspace, navigation au clavier dans les onglets imprédictible car le point de départ est la dernière convers active, etc.). Donc, avant de mettre à jour mon système, j'avais gelé les paquets de Gajim ('apt-mark hold`). Néanmoins, l'ancienne version refuse de se lancer sur Debian 12 (« err (org.gajim.Gajim:2828): libsoup-ERROR **: 23:18:06.243: libsoup2 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported. Trappe pour point d'arrêt et de trace »). libsoup, version 2 ou 3, ne peut pas être désinstallée, car MATE et d'autres logiciels dépendent d'elle. Du coup, j'ai dû mettre à jour Gajim.
L'historique de conservation se trouve dans le menu d'une conservation (bouton tout en bas à droite). Le champ permet de rechercher par mots-clés. Pour avoir l'historique pour un jour donné, il faut cliquer sur l'icône calendrier en haut à droite.
Néanmoins, il y a le même bug qu'avec RocketChat : t'es dans l'historique à la ligne X puis pouf, à la ligne X+1 tu reviens sur le jour en cours ou sur le lendemain d'où tu étais… sans que la suite de la conversation archivée ne soit affichée. Bref, tu n'obtiens qu'une partie, aléatoire, de l'historique…
Il est possible d'exporter tout l'historique (et tous les historiques) depuis le menu comptes, modifier le compte, choisir le compte, onglet confidentialité, exporter l'historique de discussion. On obtient un fichier texte par contact. Attention avec grep
: l'heure n'étant plus affichée au début de chaque message (comme dans une appli de messagerie kikoo-moderne qui groupe les messages), un message multilignes sera tronqué lors d'une recherche par date.
Pour copier-coller plusieurs messages depuis une fenêtre de conversation, il ne suffit pas, comme avant, de les surligner à la souris (ça permet d'obtenir un seul message à la fois, appli kikoo-moderne one more time…), il faut passer la souris sur un message, cliquer sur l'icône « … » à droite du message, puis select messages, et de cliquer sur chaque message…
À cause du thème de mon environnement de bureau, indirectement, le champ de saisie est blanc et la couleur du texte… blanche. Bref, c'est inutilisable. J'ai essayé de personnaliser les couleurs dans les paramètres avancés de Gajim, mais rien ne concerne le champ de saisie. Au final, j'ai utilisé un autre thème sombre de MATE et j'ai fini par m'y habituer (d'ailleurs, il y a probablement de la config foireuse ou des paquets manquants à ce niveau-là puisque en fonction du thème choisi, mon environnement de bureau crashe, mais ce n'est pas la faute de Gajim).
Autre bug : parfois, un alt+tab (y compris à la souris) vers Gajim rame à mort, il faut plus de 5 secondes avant de pouvoir écrire en ayant le retour de ce qu'on écrit. On dirait un bug de rafraîchissement de la fenêtre. Il suffit de fermer et de re-ouvrir Gajim pour corriger temporairement ce problème. J'ai trouvé un signalement similaire dans le bugtracker de Gajim. A priori, ça sent le bug GTK ou plus loin. Dans mate-tweak
, onglet fenêtres, j'ai essayé de changer le gestionnaire de fenêtres (avec ou sans composition, etc.), sans succès (sur le moment, ça semble améliorer les choses, mais non, et ce n'est pas reproductible).
Un bug n'est toujours pas corrigé : j'ai configuré Gajim pour ne pas changer d'état (absent, pas dispo) automatiquement et pour ne pas le transmettre à mes interlocuteurs. Je ne change jamais mon état manuellement. Pourtant, mes contacts voit « Guigui est maintenant en ligne » alors que je l'étais déjà, et ça correspond bien à mon inactivité sur l'ordi…
Ce paquet fournit les scripts tlsa, sshfp et openpgpkey.
Comme dans une version de Debian sur deux, soit il n'est pas empaqueté, soit ça déconne (cette fois-ci, c'est le cas de sshfp).
J'ai récupéré les scripts dans le dépôt git du projet et les ai mis dans /usr/local/bin
. Fin de chantier.
Il disparaît des dépôts logiciels officiels de Debian. On avait été informé lors du passage à Debian 11.
Dans mon cas, mate-sensors-applet
utilise udisks2
et ça fonctionne, donc je n'ai pas besoin d'aller plus loin. Sinon, il est possible d'utiliser le module noyau « drivetemps » (il faut le charger soi-même).
Désormais, il comporte un onglet « I/O » qui ne dépend même pas d'iotop
.
Éditeur de la carte géographique OpenStreetMap.
À son lancement, j'ai l'erreur suivante :
Using /usr/lib/jvm/java-17-openjdk-amd64/bin/java to execute josm.
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.web not found
Solution : apt install openjfx
. Simple.
Simplifie l'installation de la libdvdcss qui permet de lire des DVD (avec VLC, par ex.).
Ça télécharge la lib, puis :
libdvd-pkg: Checking orig.tar integrity...
/usr/src/libdvd-pkg/libdvdcss_1.4.3.orig.tar.bz2: Réussi
libdvd-pkg: `apt-get check` failed, you may have broken packages. Aborting...
Sur le moment, puisque je ne mate pas de DVD, je n'avais pas de temps à perdre, donc j'avais apt remove libdvd-pkg
. Basique. Cependant, aujourd'hui, un an plus tard, je constate que apt install libdvd-pkg
fonctionne parfaitement. Il s'agissait donc d'une erreur temporaire côté VLC (qui héberge la libdvdcss).
Permet de lire et supprimer les métadonnées d'une palanquée de types de documents.
Il me crache l'erreur : « no module named libmat2 ».
Solution : apt install --reinstall mat2
. Simple.
The packages nginx-core, nginx-full, nginx-light, nginx-extras are deprecated. Packages no longer distribute the nginx binary and are replaced by a metapackage to keep upgrades smooth.
Please simply install 'nginx' and 'libnginx-mod-...' modules You need instead of these packages.
Un client RDAP pour interroger les bases de données publiques visant les objets d'Internet (adresses IP, noms de domaine, numéros d'AS).
Il m'affiche l'erreur « bash: /usr/local/bin/nicinfo : ne peut exécuter : le fichier requis n'a pas été trouvé ».
/usr/local/bin/nicinfo est un programme Ruby. Il énonce :
# The application 'nicinfo' is installed as part of a gem, and
# this file is here to facilitate running it.
Il serait distribué sous forme de gem (un paquet Ruby, quoi). Or, gem list | grep nicinfo
retourne une liste vide.
Solution : sudo gem install nicinfo
. Basique.
Un nouveau composant (une section) dans les dépôts logiciels officiels qui contient juste les firmwares non-libres (alors que non-free contient en sus des logiciels privateurs).
Après vérification, j'ai toujours besoin de firmware-iwlwifi
pour ma carte Wi-Fi Intel commercialisée en 2013…
La suite de logiciels NTP (ntpd, ntpq, ntpdate, etc.) n'est plus celle de ntp.org, mais du fork ntpsec.org. Source.
Désormais, le fichier de conf' est /etc/ntpsec/ntp.conf
, donc je supprime /etc/ntp.conf
et /etc/cron.daily/ntp
(purge des statistiques que je ne gènère pas). Je stocke désormais le décalage de l'horloge (driftfile) dans /var/lib/ntpsec/
. Pour éviter l'écriture, dans son journal, d'une erreur non bloquante « statistics directory /var/log/ntpsec/ does not exist or is unwriteable, error No such file or directory » alors que je n'utilise pas les stats (je n'ai positionné aucune directive de configuration en ce sens), j'ai ajouté statsdir /var/lib/ntpsec/
dans ma config.
systemctl <action> ntp
continue de fonctionner grâce à un alias fourni par l'unit ntpsec. Le processus se nomme toujours ntpd.
On peut donc effacer /etc/ntp.conf
et /var/lib/ntp
.
D'une part, SSH désactive l'algorithme ssh-rsa, car il utilise SHA-1. C'était déjà le cas dans Ubuntu 22.04 (puisqu'une nouvelle version d'Ubuntu sort plus fréquemment que Debian).
D'autre part, j'utilise des enregistrements DNS de type SSHFP. Sur mes serveurs dont le support de stockage est intégralement chiffré, j'ai deux enregistrement SSHFP : l'un pour le système régulier, l'autre pour l'initramfs qui me permet de déverrouiller mon système chiffré.
Or, depuis sa version 8.7, OpenSSH n'accepte plus qu'un seul SSHFP par machine :
debug3: verify_host_key_dns
debug1: found 2 secure fingerprints in DNS
debug3: verify_host_key_dns: checking SSHFP type 1 fptype 2
debug1: verify_host_key_dns: matched SSHFP type 1 fptype 2
debug3: verify_host_key_dns: checking SSHFP type 1 fptype 2
debug1: verify_host_key_dns: failed SSHFP type 1 fptype 2
debug1: mismatching host key fingerprint found in DNS
À regret, j'utilise la même paire de clés pour mon système et son initrd…
Passage à la version 3. Depuis cette version, le SECLEVEL 1 désactive SHA-1, qui est nécessaire pour utiliser TLS 1.0 et TLS 1.1. Donc, sur les bouses, il faudra diminuer le niveau de sécurité (SECLEVEL 0) dans le fichier de config' d'OpenSSL ou du logiciel… voire le recompiler.
D'une part, OpenVPN est adossé à OpenSSL, qui, comme dit supra, désactive plusieurs vieux algorithmes de condensation et de chiffrement, les clés < 1024 bits, TLS < 1.2, etc. Si la négociation des algos entre serveur et clients n'est pas activée et que l'un des deux utilise des algos abandonnés, le VPN ne sera pas établi.
D'autre part, c'est l'arrivée, dans Debian, du Data Channel Offload (DCO). OpenVPN tourne à la fois dans l'espace noyau (kernel-land) et dans l'espace utilisateur (userland) en fonction de la fonctionnalité (ex. : le réseau, les interfaces de type TUN, relèvent de l'espace noyau, alors qu'OpenVPN lui-même tourne en espace utilisateur). Il y a donc de nombreux transferts, en RAM, entre ces deux espaces. Cela ralentit les performances, et donc le débit, d'un tunnel OpenVPN. DCO est un module pour Linux qui fait remonter l'essentiel des opérations dans le noyau (pas uniquement la cryptographie, contrairement à ce qu'expose apt-listchange
). Notons que le concurrent, Wireguard, tourne essentiellement dans l'espace noyau.
Pour l'instant, DCO repose sur DKMS donc c'est pas optimal (il faut les entêtes de programmation du noyau, compiler le noyau, DKMS = hooks apt, etc.).
Mise en place : sudo apt install linux-headers-$(uname -r) openvpn-dco-dkms
. Puis redémarrer le serveur ou le client.
Dans le journal d'OpenVPN :
Avant : « Note: Kernel support for ovpn-dco missing, disabling data channel offload. »
Après : « DCO version: 0.0+git20231103 »
On voit également DCO dans ip -d l
(dernière ligne) :
7: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/none promiscuity 0 allmulti 0 minmtu 68 maxmtu 65463
ovpn-dco addrgenmode random numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536
Le passage de PHP 7.4 à 8.2 pique…
create_function()
n'existe plus pour créer une fonction anonyme… On peut soit déclarer directement une fonction anonyme (ça devient illisible), soit utiliser une fonction nommée standard. Exemple :
# add_filter('login_errors',create_function('$a', 'return null;'));
$nologinfo = function ($a) {
return null;
};
add_filter('login_errors', $nologinfo);
WordPress crache « PHP Warning: Constant FORCE_SSL_ADMIN already defined » ? Solution ici.
La fonction strftime() est obsolète, donc PHP affiche une notice de dépréciation. Shaarli l'utilise dans les templates, ce qui complique sa substitution…
Une méthode d'une classe qui implémente une interface doit avoir le même type de retour que dans l'interface (logique…). Sinon, une notice de dépréciation est affichée. Il est possible d'ajouter « #[\ReturnTypeWillChange] » avant la méthode en question pour que PHP n'émette pas la notice. Dans shaarli, c'est la classe de stockage des liens (LinkDB), qui est centrale, qui est impactée, ce qui signifie que, tôt ou tard (on évoque PHP 9), ma version de shaarli ne pourra plus fonctionner sur un PHP à jour.
En production, j'aime bien avoir des journaux verbeux afin de détecter les problèmes et les corriger. Mais, en l'état, je ne peux rien corriger, et mon shaarli génère 22 Mo de journal par tranche de 12 h, ce qui n'est pas tenable (je pourrais stocker 1,3 Go par mois, ce n'est pas la question, mais ça noie les autres erreurs).
A priori, il existe une version de shaarli qui, à la fois, n'utilise plus LinkDB, et n'utilise pas encore composer. En attendant d'y réfléchir, dans index.php de Shaarli, je remplace la ligne « error_reporting[…] » par error_reporting(E_ALL^E_DEPRECATED);
afin de tout consigner, sauf les dépréciations.
ERROR Fatal Error 8192: Creation of dynamic property YoutubeBridge::$request is deprecated in bridges/YoutubeBridge.php line 321
Hé oui, il n'est plus possible d'affecter un membre à une classe qui ne le déclare pas (logique, encore)… Solution : utiliser YouTubeCommunityTabBridge à la place de YouTubeBridge.
PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function ttrss_error_handler()
Ben oui, PHP devient un peu exigeant sur l'ordre des paramètres, entre ceux obligatoires ou facultatifs, quitte à utiliser les paramètres nommés.
Je décide de mettre à jour ttrss tout en sachant que, comme d'habitude, ça va être douloureux (l'absurdité de considérer que la branche master d'un dépôt git constitue une version stable d'un logiciel)…
Premier problème : « Exception while creating PDO object:could not find driver ». La syntaxe du fichier config.php a changé. Désormais, il faut utiliser « PUTENV() »…
Deuxième problème : sur l'interface web, j'ai l'erreur « Vous n’avez pas les permissions nécessaires pour exécuter ce script. ». OK, comme d'hab, ça essaye de mettre à jour la base de données alors que je suis connecté, sur l'interface web de ttrss, avec un compte utilisateur standard (!= administrateur de ttrss).
Troisième problème : comme d'hab avec ttrss, le script de mise à jour échoue. Je dois jouer à la main la modification de la BDD de chaque version : mysql -u <nom_utilisateur> -p <nom_BDD> < /chemin/vers/ttrss/sql/mysql/migrations/140.sql
puis 141.sql puis…
Quatrième problème : les fichiers SQL précités, à partir du 143 (jusqu'au dernier, 147), ne met plus à jour, dans la BDD, la version du schéma de la BDD. Donc l'installateur veut toujours effectuer une mise à jour de la BDD (alors qu'elle est bien à la dernière version)… (Tu sens le problème de qualité du code ?) Je n'ai plus qu'à le faire moi-même : echo 'update ttrss_version set schema_version = 147;' | mysql -u <nom_utilisateur> -p <nom_BDD>
.
Cinquième problème : les favicons des sites suivis en RSS sont désormais stockés dans cache/feed-icons (au lieu de feed-icons), ce qui est une bonne chose. Néanmoins, le script qui met à jour les flux (update_daemon2.php
) est lancé, par systemd, avec un utilisateur différent, qui n'a pas la permission d'écrire ici, donc aucune icône n'apparaît dans la liste des flux suivis dans l'interface web de ttrss. Je corrige ça avec un chmod
classique.
Sixième problème : sur certains flux RSS en erreur, le script de mise à jour des flux reçoit une erreur de la BDD : « Exception while updating feed 80: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'last_error' at row 1 ». Forcément, le flux RSS est en erreur HTTP 404, ce qui déclenche une exception dans le script de mise à jour, qui essaye de stocker toute la stacktrace dans un varchar de taille 250… Contournement : dans classes/RSSUtils.php
, j'ai remplacé la ligne « 'last_error' => $error_message, » par « 'last_error' => mb_substr($error_message, 0, 250), ».
J'utilise yt-dlp
pour récupérer des vidéos YouTube ou autres. Comme YouTube change des bricoles tous les quatre matins pour entraver toute rétro-ingénierie, je l'installe et le mets à jour avec pip3
. Bien que je sois le seul utilisateur de mon ordi, je l'installe « system-wide », pour tous les utilisateurs, dans /usr/local/bin
.
Après mon passage à Debian 12, je tente de mettre à jour yt-dlp avec pip3
et… c'est le drame :
$ sudo pip3 install -U yt-dlp
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install.
If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
Ben oui, apt-listchanges nous avait prévenu :
python-pip (23.0+dfsg-2) unstable; urgency=medium
This version of pip introduces PEP 668 support. Debian's python3.11 interpreter will soon (>= 3.11.2-3) declare the installation to be EXTERNALLY-MANAGED, instructing pip to disallow package installation outside virtualenvs.
See: https://peps.python.org/pep-0668/
Practically, this means that you can't use pip to install packages outside a virtualenv, on Debian's Python interpreter by default, any more.
You can override this behaviour by passing --break-system-packages to pip install, but be aware that if you are running pip as root, doing so can break your system.
See /usr/share/doc/python3.11/README.venv for more details.
Version courte : pour éviter les conflits (de bibliothèques de fonctions, etc.), notamment avec apt
, désormais chaque logiciel Python est dans un conteneur (venv) qui lui est dédié.
Rien n'empêche de créer un venv dédié à un logiciel dans /usr/local, avec un lien symbolique dans /usr/local/bin.
Pour se simplifier la vie, /usr/share/doc/python3.11/README.venv
recommande d'utiliser pipx
qui est empaqueté dans les dépôts officiels Debian.
Mais, que l'on soit simple utilisateur ou root, pipx
crée les venvs dans le répertoire personnel de l'utilisateur qui l'appelle… tout en prétendant que le logiciel est disponible globalement (tout en ayant un doute sur le PATH)… :
$ sudo pipx install yt-dlp
⚠️ Note: yt-dlp was already on your PATH at /usr/local/bin/yt-dlp
installed package yt-dlp 2023.12.30, installed using Python 3.11.2
These apps are now globally available
- yt-dlp
⚠️ Note: '/root/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run `pipx ensurepath` to
automatically add it, or manually modify your PATH in your shell's config file (i.e. ~/.bashrc).
done! ✨ 🌟 ✨
Pour rendre un logiciel Python disponible pour tous les utilisateurs (globalement), il existe l'option --global
de pipx
… qui n'est pas dispo avant sa version 1.5, alors que Debian 12 embarque sa version 1.1… Il est possible de passer des variables pour contourner ça.
En résumé, voici ce que j'ai fait pour avoir un yt-dlp
accessible à tous les utilisateurs de ma machine (le bazar est rangé dans /opt/pipx
, un lien symbolique est créé dans /usr/local/bin
qui est dans le PATH, et le manuel est déposé au bon endroit) :
$ sudo mkdir /opt/pipx
$ sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin PIPX_MAN_DIR=/usr/local/share/man pipx install yt-dlp
L'ennui, c'est qu'il faut rappeler ces variables d'environnement lorsque l'on veut mettre à jour yt-dlp : sudo PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin PIPX_MAN_DIR=/usr/local/share/man pipx upgrade yt-dlp
. Vivement le --global
.
Je n'ai plus de son dans VLC, sur PeerTube, etc. VLC met trois plombes à se lancer, il ne lit pas les fichiers multimédias, comme s'il était en IO wait.
PipeWire devient le serveur de son par défaut dans un environnement MATE. J'ai installé le paquet suivant sans trop savoir pourquoi puis j'ai redémarré mon ordi (je n'ai pas trouvé quel service redémarrer, et la réouverture de ma session graphique n'a produit aucun effet) : apt install wireplumber
.
Pour l'instant, j'utilise PipeWire en duo avec PulseAudio (via pipewire-pulse
) sans trop savoir comment ça ils articulent, et avec pavucontrol
pour régler le volume (il faudra que j'étudie comment on fait avec PipeWire).
Permet de diffuser / enregistrer l'écran d'un ordiphone Android sur son ordi et d'interagir avec ledit smartphone depuis un ordi.
Il est pas disponible dans les dépôts officiels de Bookworm. :( Mais il est dans unstable, donc il va peut-être revenir à la prochaine version stable.
Je pensais que la grande transition /{bin,lib,sbin} vers /usr/{bin,lib,sbin} avait eu lieu lors de mon passage à Debian 10, mais a priori, non.
J'ai eu un message d'erreur, uniquement sur mon ordi de travail, pas sur mes serveurs :
Paramétrage de usrmerge (35) ...
FATAL ERROR:
Both /bin/open and /usr/bin/open exist.
You can try correcting the errors reported and running again
/usr/lib/usrmerge/convert-usrmerge until it will complete without errors.
Do not install or update other Debian packages until the program
has been run successfully.
E: usrmerge failed.
dpkg: erreur de traitement du paquet usrmerge (--configure) :
le sous-processus paquet usrmerge script post-installation installé a renvoyé un état de sortie d'erreur 1
Des erreurs ont été rencontrées pendant l'exécution :
usrmerge
E: Sub-process /usr/bin/dpkg returned an error code (1)
Flemme de chercher la cause, donc apt install --fix-broken
. Nouvelle erreur :
Paramétrage de usrmerge (35) ...
FATAL ERROR:
Both /lib/x86_64-linux-gnu/libmnl.so.0 and /usr/lib/x86_64-linux-gnu/libmnl.so.0 exist.
You can try correcting the errors reported and running again
/usr/lib/usrmerge/convert-usrmerge until it will complete without errors.
Do not install or update other Debian packages until the program
has been run successfully.
E: usrmerge failed.
dpkg: erreur de traitement du paquet usrmerge (--configure) :
le sous-processus paquet usrmerge script post-installation installé a renvoyé un état de sortie d'erreur 1
Hum… /lib/x86_64-linux-gnu/libmnl.so.0 est un lien vers /lib/x86_64-linux-gnu/libmnl.so.0.1.0 qui est un lien vers /usr/lib/x86_64-linux-gnu/libmnl.so.0.1.0… Donc c'est plutôt bien… Je supprime /lib/x86_64-linux-gnu/libmnl.so.0.
Paramétrage de usrmerge (35) ...
FATAL ERROR:
Both /lib/x86_64-linux-gnu/libfuse.so.2 and /usr/lib/x86_64-linux-gnu/libfuse.so.2 exist.
You can try correcting the errors reported and running again
/usr/lib/usrmerge/convert-usrmerge until it will complete without errors.
Do not install or update other Debian packages until the program
has been run successfully.
E: usrmerge failed.
dpkg: erreur de traitement du paquet usrmerge (--configure) :
le sous-processus paquet usrmerge script post-installation installé a renvoyé un état de sortie d'erreur 1
Des erreurs ont été rencontrées pendant l'exécution :
usrmerge
E: Sub-process /usr/bin/dpkg returned an error code (1)
Hum… /lib/x86_64-linux-gnu/libfuse.so.2 est un lien vers /lib/x86_64-linux-gnu/libfuse.so.2.9.9, et /usr/lib/x86_64-linux-gnu/libfuse.so.2 est un lien vers /usr/lib/x86_64-linux-gnu/libfuse.so.2.9.7. Attention, il y a une différence de version. Je supprime /usr/lib/x86_64-linux-gnu/libfuse.so.2 et /usr/lib/x86_64-linux-gnu/libfuse.so.2.9.7 (ancienne version).
update-alternatives --config open` + valider l'existant (/usr/bin/run-mailcap)
apt install --fix-broken
apt install --reinstall libmnl0 libfuse2
Fin de chantier.
(Après avoir corrigé le problème PulseAudio / PipeWire rapporté supra.)
Le nombre d'images par seconde semble inférieur à 25, je sens une latence permanente. J'ai une bande noire en bas de certaines vidéos. VLC n'arrive pas à décoder certaines images, je vois une bouillie de pixels, il affiche ce qui suit sur la console et, si je reviens en arrière dans la vidéo, au bout d'un moment, les images ne sont plus de la bouillie.
libvdpau-va-gl: Decoder::Render_h264(): no surfaces left in buffer
libvdpau-va-gl: Decoder::Render_h264(): no surfaces left in buffer
libvdpau-va-gl: Decoder::Render_h264(): no surfaces left in buffer
libvdpau-va-gl: Decoder::Render_h264(): no surfaces left in buffer
libvdpau-va-gl: Decoder::Render_h264(): no surfaces left in buffer
libvdpau-va-gl: Decoder::Render_h264(): no surfaces left in buffer
VDPAU est le machin de NVIDIA pour décoder les vidéos sur le GPU. Je n'ai pas besoin de ça, mon CPU est largement assez puissant. Je le désactive : dans le menu outils de VLC, préférences, entrée/codecs, passer le « décodage matériel » de « automatique » à « désactiver ». Problème résolu.
Sur l'une de mes machines virtuelles distantes, rien ne s'affiche sur le VNC après l'initrd (pas de demande de login, pas de console, rien). Si j'envoie ctrl+alt+F5 ou F3 ou F2, etc., je vois bien, en SSH, des processus agetty apparaître. Évidemment, je pense avoir la même conf' GRUB & co que sur mes autres machines distantes.
Johndescs pense à un sous-système, genre DRM ou KMS, qui fait le malin, qui tente de changer la résolution ou autre paramètre de la carte graphique virtuelle, et se vautre.
Sur la machine en question, lspci -v | grep -i vga
ne renvoie rien… car il ne parvient pas à identifier les périphériques et m'affiche uniquement leur identifiant. La table de correspondance /usr/share/misc/pci.ids
est absente. sudo apt install pci.ids
. La commande précitée affiche désormais « VMware SVGA II Adapter ». Voilà une différence avec mon autre machine virtuelle distante qui, elle, affiche « Cirrus Logic GD 5446 ».
En cherchant « vga » et « vmwgfx » (nom du pilote graphique de VMware) dans kern.log :
kernel: [ 40.962977] vmwgfx 0000:00:02.0: vgaarb: deactivate vga console
kernel: [ 41.040496] vmwgfx 0000:00:02.0: [drm] Running on SVGA version 2.
kernel: [ 41.040678] vmwgfx 0000:00:02.0: [drm] MOB limits: max mob size = 0 kB, max mob pages = 0
kernel: [ 41.040693] vmwgfx 0000:00:02.0: [drm] Maximum display memory size is 16384 kiB
kernel: [ 41.040696] [drm:vmw_probe.cold [vmwgfx]] *ERROR* Hardware has no pitchlock
kernel: [ 41.045327] vmwgfx: probe of 0000:00:02.0 failed with error -38
L'hypothèse de Johndescs se confirme…
J'ai décidé d'empêcher le chargement du pilote vmwgfx en ajoutant ce qui suit dans /etc/modprobe.d/blacklist.conf
:
blacklist vmwgfx
install vmwgfx /bin/true
Fin de chantier.
#Debian 11 à Debian 12
Comme à chaque passage à une nouvelle version de Debian GNU/Linux, voici un résumé de tout ce qui a foiré ou changé quand je suis passé à Bullseye (Debian 11). (Oui, cet article est très en retard.)
Pour effectuer la mise à jour, on suit la doc'.
Par défaut, suppression auto, lors d'un full/dist-upgrade, des anciens noyaux qui ne sont pas en cours d'utilisation.
J'ai constaté que le paquet latex-beamer
a disparu des dépôts officiels. Il s'agissait d'un paquet de transition. J'arrive toujours à créer des présentations LaTeX Beamer à partir de Markdown, donc ça me va.
Ce client BitTorrent est désormais autonome (standalone), on n'a plus besoin d'installer deluged.
Mise à jour majeure. Validation du certificat d'un smarthost sinon échec. On ne fait plus confiance aux valeurs fournies par un tiers (ex. : l'émetteur d'un email) pour décider où ranger l'email (nom du dossier), etc., il faut utiliser une nouvelle syntaxe comprenant un « lookup ».
Accusé de lecture des messages envoyés à autrui (deux coches) : l'envoi d'un accusé de lecture se désactive au cas par cas dans le menu de chaque fenêtre de conversation. Aucune action possible du côté de l'émetteur.
Afficher les accusés de réception de mes messages par autrui (une coche) : cela se désactive dans les préférences générales (menu Gajim), onglet discussions.
L'envoi des accusés de réception par mon client ne se désactive pas.
Désormais livré dans le paquet bsdextrautils
.
La boîte à outils ne contient plus d'icônes, que du texte. Elle prend donc beaucoup plus de place.
Solution : sudo apt install breeze
.
Erreur au lancement d'une VM avec virt-manager
:
Erreur lors du démarrage du réseau « default »: internal error: Failed to apply firewall rules /usr/sbin/iptables -w --table nat --list-rules: # Warning: iptables-legacy tables present, use iptables-legacy to see them
iptables v1.8.7 (nf_tables): table `nat' is incompatible, use 'nft' tool.
La même avec virsh
:
$ sudo virsh net-start default
erreur :Impossible de démarrer le réseau default
erreur :internal error: Failed to apply firewall rules /usr/sbin/iptables -w --table nat --list-rules: # Warning: iptables-legacy tables present, use iptables-legacy to see them
iptables v1.8.7 (nf_tables): table `nat' is incompatible, use 'nft' tool.
Oui, j'utilise nftables
pour placer des règles de filtrage entrantes et sortantes vu que j'utilise un VPN avec une IP publique (ce qui justifie les règles sur le trafic entrant) et que je ne veux pas de trafic hors VPN (ce qui justifie les règles sur le trafic sortant).
Solution temporaire (qui tient tant Debian ne considère pas que la transition d'iptables vers nftables est achevée) :
sudo update-alternatives --config iptables
, choisir « /usr/sbin/iptables-legacy » (par défaut : /usr/sbin/iptables-nft) ;sudo systemctl restart libvirtd.service
(sinon ça continue de foirer).Inconvénient : perte de lisibilité. En IPv4, nft list ruleset
affiche uniquement mes règles (de type inet) alors que iptables -L -n -v
affiche uniquement celle de la libvirt. En IPv6, nft list ruleset
affiche tout.
L'autre méthode, comme indiqué ici est de changer le nom de mes tables et chaînes dans /etc/nftables.conf
, puis de redémarrer nftables et libvirtd. Ainsi, mes règles et celles de libvirt se cumulent dans un bazar incompréhensible (ce qui n'est vraiment pas top). A priori, cela ne permet aucune fuite hors VPN. Au pire, il suffit de redémarrer nftables après l'utilisation de libvirt pour remettre en place uniquement mes règles. L'avantage de cette deuxième méthode, c'est que ce problème persiste avec Debian 12, donc il ne doit pas être prioritaire côté libvirt…
Le processus et l'unit systemd ne contiennent plus le nom « mysql ». Enfin…
/etc/mysql/debian.cnf
est déprécié (auth par socket pour root).
Plus de redémarrage automatique après la mise à jour. Ça fait longtemps que j'attendais ça. \o/
Il n'écoute plus (sur des ports aléatoires) par défaut. Ça fait longtemps que j'attendais ça (pour palier, je masquais, et je masque toujours, rcpbind avec systemd). \o/
Activation du journal persistant dans /var/log/journal
. Attention, donc, si tu dois garder un journal un certain temps bien précis (obligation légale, par ex.), RGPD, tout ça, il y a de la configuration à faire.
L'inclusion des fichiers dans /etc/unbound/unbound.conf.d/
se fait désormais avec la directive include-toplevel
, donc les fragments de conf' doivent avoir la bonne syntaxe, notamment bien énoncer la section de la conf' dans laquelle s'inscrit ce fragment (exemple : on ne peut plus espérer qu'un autre fragment chargé précédemment nous positionnera dans la bonne section genre « server »).
Durant la mise à jour, il demande :
Une entrée non reconnue pour tftp a été rencontrée dans /etc/inetd.conf pendant la tentative d'ajout de l'entrée suivante :
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
L'entrée non reconnue est la suivante :
tftp dgram udp6 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
Faut-il quitter l'entrée existante et continuer sans modifications ?
La question est piège… J'avais répondu non, pour qu'il ne quitte pas sans modifier, c'est-à-dire qu'il modifie. J'ai rencontré l'erreur :
Des erreurs ont été rencontrées pendant l'exécution :
tftpd
E: Sub-process /usr/bin/dpkg returned an error code (1)
Je ne sais plus à quoi me servait ce logiciel, la dernière trace sur ce shaarli date de 2015, donc je l'ai désinstallé sans chercher à comprendre.
Upstream stopped working on xsane some time ago. Now the homepage and the archive are offline, too.
If the situation doesn't change, xsane will be removed before Bullseye is released.
J'avais déjà constaté cela lors de mon passage à Buster (Debian 10). Mais xsane
est toujours présent dans les dépôts officiels Debian 12. :D
#Debian 10 à Debian 11
En cette saison où l'on se souhaite une bonne année, il m'apparaît important de ressortir ce sketch de Bigard.
Également approprié aux temps actuels : le lâcher de salopes.