To content | To menu | To search


Sunday 30 April 2023

La Caste des Méta-Blogs, tome 1: PIP le Trisaïeul

Les sources de la toute première version de ce blog, basé sur un micro-framework perso codé durant mon passage chez feu l'hébergeur i(France) et utilisées entre 2002 et 2009, ont été archivées sur la forge, pour la postérité.

C'était la dernière tâche qui traînait dans ma todo-list, je suis enfin liiiibre \o/

Wednesday 22 March 2023

Si même les claviers sans fil...

Kenitec keyboard from 1992

Après à peine plus de trente ans, je me suis enfin résigné à changer de clavier. Exit donc mon fidèle clavier <del>102</del> 101 touches (il y en a une qui ne fonctionne plus depuis très longtemps), branché pour la première fois sur un PC dit "AT", c'est dire si ça date (ne cherchez pas les jeunes, c'est un terme qui avait seulement cours au siècle dernier). Mais depuis longtemps l'ancêtre donnait des signes de fatigue (appui démultiplié, touches qui se blo, voir dans certains cas tout le clavier si il y avait un peu de tension sur le hub USB). Ça ne devenait plus trop possible, surtout pour un périphérique utilisé toute la journée. Et la nuit aussi.

Bref la question s'est posé de par quoi le remplacer. On m'a conseillé un TypeMatrix malheureusement peu de modèles, et pas celui que je voulais, n'était dispo sur le grand méchant Amazon (on y reviendra), ce qui ne m'arrangeait pas trop car je comptais payer l'engin avec mon solde de cartes cadeaux. On m'a également conseillé un Logitech MX Keys, marque dont je suis très content pour posséder leurs modèles de souris depuis de nombreuses années. J'ai été tout d'abord dubitatif sur l'utilité d'un clavier sans fil, qui au contraire d'une souris, ne bouge pas, et ne souffre donc pas vraiment d'avoir un fil à la patte (du caméléon). Et puis je me suis renseigné et c'est vrai que le fait de pouvoir l'appairer avec jusqu'à trois périphériques - dont le téléphone - s'annonçait au final plutôt pratique. Par contre les touches "façon laptop" du MX Keys ne me branchaient carrément pas, je souhaitais conserver le toucher confortable d'un vrai clavier mécanique.

Sur le plan des claviers mécaniques donc, deux modèles se détachaient du lot: le Keychron K4, impossible à trouver en AZERTY (ça aussi, on y reviendra) sur Amazon, et... la version mécanique du Logitech MX Keys, le MX Mechanical (notez que les liens ne sont pas affiliés, je suis pas un influenceur lol)

Le choix s'est donc fait naturellement, j'ai opté pour le MX Mechanical. Reçu aujourd'hui, j'en suis super content, il est TRÈS confortable, même si il est cher (principal reproche fait par les testeurs), et que je paye un rétro-éclairage de Jacky que je n'utiliserai sans doute jamais (je suis pas un fan de tuning non plus, re-lol). J'ai aussi gagné pas mal de place sur mon bureau (il doit bien être 25% plus petit que l'ancien)

Acheté sur Amazon avec des cartes cadeau donc, le monstre ne m'a de toute façon rien coûté. Un #petittip au passage, la plupart du temps Amazon vous proposera un abonnement à Prime (voir ne vous laissera pas le choix...) pour avoir des frais de port gratuits, sachez que vous pouvez résilier dans la foulée de votre commande sans attendre: la résiliation n'est pas immédiate mais se produit à la fin de la période d'essai, soit un mois plus tard. Donc il vaut mieux résilier de suite plutôt que d'oublier et de se retrouver avec un abonnement à la con.

J'ai longtemps hésité à en profiter pour changer complètement de disposition de clavier (c'est pour ça que j'ai considéré sérieusement le TypeMatrix), voir de troquer l'AZERTY pour un QWERTY tout de même plus répandu et qui est parait-il plus adapté à la programmation, le BEPO étant de toute façon hors de question (trop disruptif). Au final l'habitude - et la flemme, soyons honnêtes - a parlé, et je suis resté sur du bon vieux AZERTY. De toute façon ça fait belle lurette que je ne regarde plus mon clavier, donc passer en QWERTY ne sera qu'une question de changement logiciel... quand j'aurai vraiment l'envie de m'y mettre.

Saturday 4 March 2023

Bon à Tiret

Je vous ai déjà parlé de mon amour immodéré pour Grafana. Ce matin une alerte de sécu tombe, je met à jour aussitôt, d'abord sur mon serveur secondaire avant de le faire sur le primaire.

Suite à la mise à jour, je relance le service, et là c'est le drame:

root@web  ~  service grafana start
Starting grafana.
root@web  ~  service grafana status
grafana is not running.

L'appli fonctionne pourtant bien, l'interface web répond et il n'y a rien de suspect dans les logs.

Autre chose étrange, la sonde Zabbix m'indique que le process Grafana ne tourne plus.

Bref, c'est l'appli de Schrödinger ce truc.

Et c'est là que je commence à tiquer: là où avant on avait

root@web  ~  ps aufxw | grep grafana
grafana 83067  1,0  1,7 785228  52484  -  SJ   03:17   0:00,25 /usr/local/bin/grafana-server -config=/usr/local/etc/grafana/grafana.ini -homepath=/usr/local/share/grafana
grafana 82291  0,0  0,1  12848   1900  -  SsJ  03:17   0:00,00 daemon: grafana[83067] (daemon)

on a maintenant:

root@web  ~  ps aufxw | grep grafana
grafana 63104  0,0  0,0   12848   1880  -  IsJ  21:40        0:00,00 daemon: grafana[63323] (daemon)
grafana 63323  0,0  0,8  838124 130296  -  IJ   21:40        0:05,98 grafana server -config=/usr/local/etc/grafana/grafana.ini -homepath=/usr/local/share/grafana

Les plus observateurs auront remarqué (à part le chemin qui a sauté, ce qui n'est pas très grave) une différence subtile: le tiret de grafana-server a disparu.

Bien sûr la sonde vérifiait l'existence de l'exécutable nommé grafana-server, alors que maintenant il s'agit de grafana avec server en "paramètre"...

Le changement a semble-t-il été introduit par le commit réparant la faille de sécurité, je n'ai rien vu dans le changelog de Grafana une quelconque allusion à un changement d'exécutable.

J'ai donc légèrement modifié la sonde pour surveiller le nouveau nom du process, et le script d'init pour qu'il retrouve son petit pid:

--- /var/ports/basejail/usr/ports/www/grafana9/work/stage/usr/local/etc/rc.d/grafana      2023-03-04 11:25:12.604480000 +0100
+++ /usr/local/etc/rc.d/grafana 2023-03-04 12:26:53.625385000 +0100
@@ -57,10 +57,10 @@
 pidfile="/var/run/${name}/${name}.pid"
 required_files="${grafana_config}"

-procname="/usr/local/bin/grafana-server"
+procname="/usr/local/bin/grafana"
 command="/usr/sbin/daemon"
 command_args="-f ${grafana_syslog_output_flags} -p ${pidfile} -t ${name} \
-       /usr/bin/env ${grafana_env} ${procname} \
+       /usr/bin/env ${grafana_env} ${procname}-server \
        -config=${grafana_config} \
        -homepath=${grafana_homepath} \
        ${grafana_args}"

Je suppose que la mise à jour est incomplète et que le script sera corrigé prochainement. Si j'ai pas trop la flemme j’essaierai d'ouvrir un ticket.

Saturday 28 January 2023

Vite, hein

Plus d'un an après sa sortie, mise à jour des services de la Tourmentine en PHP 8.1. Cette mise à jour n'a pas été aussi smooth que prévue, avec des petits pièges comme des modules refusant de s'installer, un cache qui traînait, et certaines extensions PECL ne faisant pas partie du port www/php81-extensions (comme graphics/pecl-imagick et databases/pecl-redis) à installer à part. Bref, encore des trucs à ansibiliser....

Passage à la 8.2 dès que Nextcloud (encore lui...) sera compatible !

Note 01/02/2023: Sur le front du "legacy", je garde un vieux PHP 7 pour le dernier truc qui le nécessite, (feu) gnu.fm, que je me tâte à faire sauter. De toute façon la base est complètement pourrie, il faudra que je fasse un réimport complet quand son remplaçant sera prêt...si il l'est un jour.

Saturday 31 December 2022

Mail not dead (2)

Comme promis il y a une paire d'année, voici la liste du nombre d'e-mails reçus annuellement depuis maintenant vingt ans que je possède mes propres domaines et mon propre serveur de mail. Cela représente — tout de même —10192 messages au total, pas mal (peut mieux faire, je suis pas quelqu'un qui socialise beaucoup)

Billets connexes

Friday 30 December 2022

Dans le fédiverse personne ne vous entend crier

Bon, dans un moment d'inconscience il y a quelques jours j'ai fait la mise à jour de Pleroma en 2.5.0, nouvelle version "majeure" depuis longtemps.

J'aurais pas dû.

Le passage à la 2.0.0 s'était terminée en vitrification de mon compte, j'avais dû repartir de zéro. Cette fois mon compte fonctionne toujours, mais je ne reçois plus qu'une part infime des messages des personnes que je suis, les (rares) personnes qui me suivent ne voient plus les miens, et impossible de suivre de nouveaux comptes. Bref, c'est inutilisable.

Ça fait quand même deux belles catastrophes en moins de deux ans, j'ai beau être patient je me demande si je ne vais pas aller voir ailleurs, enfin ailleurs toujours en auto-hébergé entendons-nous bien. Mastodon-le-bien-nommé toujours trop lourd apparemment, j'aurais bien tenté Misskey mais c'est une poubelle en NodeJS. Il y a également un fork de Pleroma mais honnêtement, Elixir commence à me gaver un peu. Reste...GNU Social ? Au moins c'est du bon vieux PHP. L'idéal serait en tout cas de pouvoir, cette fois, récupérer mon compte et ses données...

J'ai ouvert un ticket, mais vu que l'instance est quasi-inutilisable, je me demande si je vais pas commencer par tenter un rollback vers la 2.4.5 (soyons fous...)

Edit 18:33: Après un redémarrage plus ou moins accidentel du service, tout fonctionne de nouveau o_0. Quelle frayeur pendant deux jours, doublée d'un grand moment de solitude (au sens propre...), c'est terrible. Et pas du tout inquiétant pour la suite. Reste à faire mes excuses et fermer le ticket ouvert dans la douleur chez Pleroma.

Billets connexes

Sunday 25 December 2022

Sport de Noël

La version 2.24 de Dotclear a débarqué hier au pied du sapin, dont la mise à jour était qualifiée par l'équipe elle-même de "sportive".

Et c'est le moins qu'on puisse dire, page blanche, mode de secours, vidage des cookies navigation privée, j'ai eu droit à tout, avec quelques suppléments: le thème FallSeason a du également être mis à jour, et re-customisé, et pas mal de plugins ne sont pas encore compatibles (j'ai du me débarrasser des plugins de traduction Posts Translations et Translater, qui ne sont de toute façon pas très utilisés, parce que la flemme de traduire depuis longtemps). Un peu plus gênant, mais pas la mort non plus, le plugin Related entries a du également être désactivé, car il fait planter une partie de l'interface d'admin.

La mise à jour a été du coup beaucoup plus longue que d'habitude, et pas mal de trucs sont sans doute encore cassés (en particulier le menu de droite, principalement à cause des plugins de traduction manquants). Si vous êtes passés à ce moment là la navigation a du être un peu chaotique, car j'ai fait les modifs en live sur la prod (oh ça va hein, j'ai pas fait ça un vendredi non plus...)

Peut être un jour je passerai à quelque chose de plus facile à maintenir, qui sait, si j'ai le temps.

Billets connexes

Wednesday 30 November 2022

Bix Brother is watching you

Après l'avoir longuement pratiqué au grès de mes expériences professionnelles, je me suis enfin décidé à utiliser Zabbix en remplacement d'Icinga pour ma petite infra perso. J'avais déjà fait une tentative il y a une paire d'années mais j'avais abandonné devant le nombre de sondes à migrer.

Mais les bugs à répétition, les contorsions bizarres pour configurer un truc, et surtout le manque de compatibilité avec les versions récentes de PHP m'ont un peu dégoûté d'Icinga Director, et je me vois vraiment pas revenir à la gestion des fichiers de configuration à l'ancienne. L'interface...déroutante d'Icinga2 était également un répulsif, je n'ai jamais pu m'y faire, j'ai d'ailleurs gardé jusqu'ici un vieux frontend Icinga1 (#nagios style) pour l'opérationnel. Bref, go Zabbix !

Concernant les sondes justement, pour me simplifier la vie toutes celles qui n'étaient pas supportées nativement par Zabbix ont été récupérées directement des sondes NRPE (!), grâce à cette astuce. Si la solution n'a rien d’élégante (et tient plus du hack qu'autre chose), elle a l'avantage d'offrir également la supervision des processus car dans mon cas 1) les utilisateurs ne voient pas les processus des autres et 2) il est hors de question de faire tourner l'agent en root.ATTENTION le code de retour des commandes n'est pas renvoyé par l'agent, on doit donc se fier uniquement au message pour les triggers. Avec les éventuels bugs dus, par exemple, à une locale configurée en français et ne renvoyant donc pas la chaîne attendue...(oui, classique mais toujours emmerdant) La solution la plus simple étant de coller un bon vieux LC_ALL=C des familles avant la commande...sale mais ça marche :)

send_nsca a quant à lui été avantageusement remplacé par l'ami zabbix_trapper (à ne pas confondre avec TMX le trappeur...).

Après avoir pas mal procrastiné les 169 sondes ont été migrées en 3 soirées, ce n'était pas si long finalement. Reste maintenant à débrancher agents NRPE et autres serveurs Icinga pour faire respirer les machines.

Côté clients lourds Nagstamon fait toujours parfaitement le taf, par contre sous Android je vais devoir me séparer de mon fidèle aNag et pour Zabbix, c'est la misère: quelques applications mais pas beaucoup d'utilisables, pour l'instant j'ai opté — faute de mieux — pour Moobix 2.0, pas mis à jour depuis 2 ans, qui fait le minimum, qui finit en sommeil et ne déclenche pas d'alerte. Et sans dark mode (aïe mes yeux). Je continue de chercher, si quelqu'un a une suggestion...et si je ne trouve pas ce n'est pas très grave, je peux toujours me fier aux mails d'alerte que je peux consulter en permanence.

Cerise sur le gâteau, je vais pouvoir en profiter pour jeter PHP 8.0 déjà en fin de vie. Ça va trop viiiiite !

Billets connexes

Thursday 22 September 2022

Quand tu pètes un câble

Les câbles USB aussi, ça évolue: j'ai acheté un super hub USB à 50 boules l'année dernière, et j'avais un clavier "qui se blo", ou qui restait "bloquééééé" sur une lettre (pratique...), et que je devais fréquemment brancher et débrancher environ quinze fois avant qu'il ne fonctionne. À coté le dock branché dessus avait également des fréquentes coupures de clavier/souris avec un message m'indiquant que la batterie était en charge (?!)

Tous les autres périphériques fonctionnaient parfaitement.

Passant environ seize heures par jour sur l'ordi, c'était plus possible, il fallait trouver une solution. Avisant un connecteur un peu plus large que d'habitude au cul de l'engin, j'ai alors changé le câble...et branché celui tout neuf fourni avec le hub.

En effet je me traîne une paire de câbles USB depuis des années, que je rebranche à chaque fois parce que "la flemme d'ouvrir le sachet pour sortir le nouveau, et puis j'en ai déjà un hein". Des câbles, évidemment pas USB 3.0 (voir peut être même pas 2...)

Depuis plus aucun problème. Dire que tout cela ne tenait qu'à un fil...

Friday 26 August 2022

Ventoy et sans complexité

Ayant besoin de procéder à quelques installations système, j'ai mis à jour ma fidèle clé USB et j'en ai profité pour virer le vieillissant MultiBootUSB, dont le site web ressemble plus à un parking qu'autre chose.

J'ai opté pour Ventoy comme remplaçant, recommandé par les meilleurs. Et effectivement c'est MultiBootUSB "en mieux":

  • Constamment mis à jour (le code source est sur GitHub et les derniers commits datent d'il y a quelques jours)
  • Doté d'une liste d'images ISO supportées impressionnante
  • Disposant d'une interface graphique (en qt), d'une interface en ligne de commande et même d'une interface web...avec serveur intégré
  • Beaucoup plus simple à mettre à jour que MultiBootUSB: il suffit de copier les images ISO directement sur la clé après l'installation de Ventoy sur celle-ci

Comme indiqué par Adrien de Linuxtricks, il est également possible de créer une partition séparée qu'on peut éventuellement chiffrer pour y stocker des documents. Même si je n'en ai pas vraiment le besoin (l'accès à Internet étant un besoin quasi-vital, j'ai un petit clou pour ça), j'ai réservé 2 Go sur les 16 de la clé au cas où.

- page 2 of 31 -