Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Rapport d'incident : j'ai cassé diaspodon.fr

Rédigé par dada / 08 mars 2022 / Aucun commentaire


Il y a des jours où la confiance vous embarque bêtement.

Fin février, je me lançais dans la mise à niveau de l'intégralité de l'infrastructure qui propulse les différents services que j'ai sous ma responsabilité : des instances Mobilizon, Peertube, Pixelfed et Mastodon. Une mise à niveau, c'est quand on passe d'une version majeure à une autre d'un système d'exploitation. Ce n'est jamais anodin (update != upgrade).

Étape 1 - 27 février 2022 - 15h45

Après avoir testé avec succès ces mises à niveau sur des serveurs de moindre importance, plein de confiance, je finis par couper diaspodon.fr pour m'en occuper. D'abord, un dump de la base de données PostgreSQL 9.6 puis un snapshot complet des volumes et, hop, la mise à niveau.

Étape 2 - 27 février 2022 - 16h30

Une fois la mise à niveau terminée sans problème, je relance le serveur, teste un ou deux trucs et retourne vaquer à mes occupations passionnantes du moment (coucou TWW3).

Étape 3 - 4 mars 2022 environ

Une semaine plus tard, Greenman me signale qu'on ne peut plus correctement le mentionner (le fameux @ + pseudo). Pas grave, me dis-je, c'est le seul avec ce souci. 48h plus tard, après un week-end chargé, je suis réveillé par des SMS des copains qui signalent tous une inactivité bizarre depuis au moins 9h. C'est cassé.

Étape 4 - 7 mars 2022 - 10h ~ 12h

La documentation était pourtant claire : à la fin de la mise à niveau (cf Étape 1), il fallait impérativement mettre à jour les index des bases de données pour éviter le cauchemar absolu : les duplicated entries. Chose que je n'ai pas faite sans sourciller. Devinez quoi ? J'ai du en virer, de ces cochonneries. Merci encore à Luc pour son aide formidable. Une fois corrigé à la main les dizaines de duplicate, je passe à la mise à jour qui fini par passer.
La tant attendue et redoutée mise à niveau de PostgreSQL 9.6 à PostgreSQL 13 est correctement finalisée. Il était temps.

Étape 5 - 7 mars 2022 - 12h ~ 13h

J'ai l'impression de voir le bout du tunnel quand, finalement, non. Sidekiq, outil nécessaire au fonctionnement de Mastodon, refuse de redémarrer.
Il s'avère, chers ami-e-s, que Debian 11 n'est pas complètement compatible avec la configuration officielle de Mastodon. Cette version de Debian n'a plus les bonnes dépendances pour faire tourner jemalloc, bidule connu des admin d'instance Mastodon pour contrôler la consommation en mémoire du logiciel. Quand, le 28 février, j'ai nettoyé les vieux paquets « inutilisés », j'ai cassé une deuxième fois l'instance.

Une fois compris, j'ai réinstallé les dépendances Ruby de Mastodon en virant l'option  RUBY_CONFIGURE_OPTS=--with-jemalloc et l’occurrence dans la configuration du service systemd de sidekiq.

Étape 6 - 7 mars 2022 - 13h15

Une conclusion

Lisez la doc, ou Luc, bordel !

Pinetime : j'ai craqué pour une montre connectée

Rédigé par dada / 06 janvier 2022 / 17 commentaires


Sachez d'abord qu'il y a beaucoup de choses que je déteste avec les objets connectés. Les deux principales étant la collecte massive de données permettant aux entreprises de se faire du pognon sur le dos des utilisateurs et l'espèce d'obsolescence programmée de ces différents bidules qui sont, au choix, abonnés niveau logiciel ou poussés vers la sortie par des nouveaux modèles sans intérêt.

PINE64 a pourtant réussi à me faire croire que leur montre pouvait être chouette.

Note importante : j'ai acheté un Flame (abonné), puis une Aquaris M10 (abandonnée), un Fairphone (volé) et un Turris Mox (bidouillé). On va dire que les trucs plus ou moins surprenants, j'y fonce. Voici donc ma PineTime.

De quoi parle-t-on ?


En simple, on est face à une montre connectée des plus classiques :
  • Elle affiche l'heure.
  • Elle donne une idée du rythme cardiaque.
  • Elle fait compte à rebours et chronomètre.
  • Elle compte les pas.
  • Elle permet de dessiner.
  • Elle permet de jouer au 2048.
  • Elle sert d'extension du smartphone (musique, GPS, notifications, appels, etc)
Chose appréciable : j'ai un tout petit poignet et sa grande diagonale de 45mm n'est absolument pas dérangeante. C'est moins d'un centimètre de plus que ma bonne vieille DWYT. Je déteste les énormes montres.

Quel est son intérêt ?

Elle est bidouillable. Si ça ne tenait qu'à ma fainéantise, ce billet ne ferait que quelques mots : foncez essayer cette montre, c'est comme un PC sous GNU/Linux, on s'amuse à se prendre la tête et c'est super. En plus, elle coûte seulement 30 balles. Mais bon, étayons.


Elle fonctionne à l'aide d'un fork de FreeRTOS qu'on appelle InifiniTime. Le développeur principal - je crois - de ce fork est un francophone qu'on peut saluer sur Mastodon et qui accepte les dons via Liberapay. S'il fallait faire un bingo des trucs qui me font plaisir, il ne manquerait que de cracher à la tronche d'OpenCollective pour être parfait.

Tout ça pour dire qu'on peut suivre publiquement le fonctionnement de la montre et y participer. On peut aussi s'assurer qu'elle ne va pas aller consolider vos données personnelles pour en tirer un quelconque revenu. Impeccable.

Et ça marche ?

Comme toujours : chez moi, ça marche. Mes besoins sont à la fois simples et tordus : je veux pouvoir la mettre à jour via mes PC sous Ubuntu et la brancher à mon honorable OnePlus 5T sous /e/.

Et ça fonctionne sans trop de souci.  Depuis le PC, je passe par Siglo pour mettre à jour le firmware de la bête. Ça demande 3 lignes de codes et du Bluetooth. Simple.
Pour mon téléphone, GadgetBridge (Mastodon, Liberapay, F-droid) fait parfaitement l'affaire. L’application récupère les données générées par la montre afin de les sauvegarder dans des jolies graphiques.



Enfin, bref, ça marche.

C'est de la belle bidouille

À n'en point douter, ça reste de la bidouille. Si ndiswrapper vous parle et que vous avez déjà compilé un kernel pour rigoler, ça va être de la rigolade. Pour les autres, n'ayez pas peur, tout est très bien documenté. Personnellement, la montre était parfaitement utilisable au bout d'une petite heure.
À l'heure où j'écris ces lignes, la montre tourne en 1.7.1. La mienne n'a pas été livrée avec ce Firmware mais une version un peu ancienne et bancale. Je me suis rapidement jeté dans la procédure de mise à jour et tous les soucis ont disparu. Dans les soucis, y'avait l'impossibilité de régler l'heure. Rigolez pas, j'ai un peu flippé !

Notez qu'il n'est pas possible d'exiger des choses pharamineuses d'un objet à 30€. Si vous voulez des trucs crades de compétition, la Fnac propose des machines à 500€.
Pour le moment, la montre fonctionne, fait ce que je lui demande et se glisse très bien dans mon environnement numérique. C'est tout ce que je lui demande. Et, très sérieusement, j'adore recevoir des notifications Github quand un bout de code évolue. #geek.

La montre en image

Je vous laisse avec une vidéo de test de Wekeys, histoire de vous montre la bête en vrai. Bon visionnage !


Je reviendrais sans doute dans un billet d'ici quelques semaines, le temps de tester la chose plus sérieusement. Sincèrement, je ne m'attends à pas grand-chose. Mes besoins sont presque comblés. À la rigueur, des infos sur le sommeil pourraient être chouettes même si je ne garde pas ma montre la nuit. Enfin voilà : ce qui débarquera dans la montre ne sera que bonus à mes yeux !

Le Blog de dada en 2021

Rédigé par dada / 02 janvier 2022 / 2 commentaires


Comme en 2020, je vous propose de faire le tour des statistiques que mon Matomo a récoltées tout au long de l'année. Le système de suivi est configuré en strict accord avec le RGPD, ce qui rend les statistiques, il faut bien le dire, pour le moins vaseuses, mais allons-y.

Comme je n'ai pas vraiment fourni le blog en contenu, je vous ajoute mes instances Peertube et Pixelfed dans la boucle. Je n'ai pas ajouté d'outil de suivi sur l'instance Mobilizon.

Les navigateurs

Le blog

Pixelfed



Peertube



Le déclin de Mozilla Firefox n'est plus a démontrer. Même mon blog, très orienté, n'attire plus une majorité de gens sous un navigateur honorable. Chromium a gagné, Google a gagné. Reste à savoir ce qu'ils vont faire de cette position dominante. Des choses biens, à n'en point douter.

Les systèmes d'exploitation

Le blog


Pixelfed


Peertube



Alors là, si on m'avait dit qu'un jour mon blog serait plus visité par des gens sous Windows que des gens sous GNU/Linux, j'aurais rigolé. Et je rigole, je crois. Tant pis. C'est la même pour Peertube, plus généraliste, qui attire majoritairement des windowsiens. Notez que Pixelfed, quant à lui, est plus utilisé à travers des smartphones. C'est rigolo : c'est comme Instagram.

Les moteurs de recherche

Le blog


Pixelfed


Peertube



J'étais parti pour ne vous mettre que le camembert du blog en me disant que ça allait être Google partout. Et non ! Surprise, pour Pixelfed et pour une raison qui m’échappe complètement, c'est Baidu, le moteur de recherche chinois, qui s'impose.

Les réseaux sociaux

Le blog


Pixelfed


Peertube


Du grand classique. La présence majoritaire de Facebook me surprend un peu. On sait bien que c'est un réseau de vieux et que les vieux sont moins accros aux vidéos virales, donc voilà, mais quand-même. Mastodon pointe le bout de son nez pour Pixelfed uniquement alors que je partage systématiquement les écrits sur ce réseau. Surprenant.

Le top 3 des articles sur l'année

Aucun billet de 2020 dans le top alors même que j'ai fait l'effort de sortir deux nouveaux ADD ! Ralala.

Plus de chiffres

On est à 15 000 visiteurs uniques sur le blog, 3 500 sur Pixelfed et 1 900 sur Peertube. Ces deux derniers gardent un rythme cohérent et le blog s'enfonce dans les méandres en divisant par 10 sa fréquentation.

J'ai pondu 8 articles et vous avez lâché 19 commentaires.

Je vous souhaite à toutes et tous une excellente année 2022. La santé, surtout, la santé.

Classé dans : B2D / Mots clés : aucun

Installer Sublime Music pour Nextcloud

Rédigé par dada / 12 novembre 2021 / Aucun commentaire


Nextcloud, c'est vraiment top. L'outil qui fait, pour moi, de ce bijou un inévitable est l’application Music. J'ai non seulement mon bordel qui part dans mon cloud, mais en plus, quand c'est de la musique, ça part en alternative propre à Deezer ou autre. Impeccable.

Ça fait un moment que je me sers de l’application Android Ultrasonic pour brancher ma musique à mon smartphone sous /e/OS et de l'interface web quand je suis devant un ordinateur.


Comme beaucoup, je suis soumis à l’inflation des onglets en tous genres et même si Firefox s'en sort mieux que Chrome, ça reste un drame en ressources. Bref, quand je peux retrouver un outil dédié, loin des techno web, j'essaie de m'en servir en priorité.

C'est là qu'intervient Sublime Music : c'est un client lourd en python qui support le protocole Subsonic !

Voici les quelques étapes à suivre pour installer les dépendances de la bête si vous êtes sous Ubuntu 20.04.

Installer les dépendances

sudo  apt-get install libcairo2-dev pkg-config libgirepository1.0-dev libmpv1 libmpv-dev

Installer Sublime

pip3 install sublime-music

Et voilà !

La configuration est assez simple mais je rappelle tout de même qu'il faut récupérer :
  • Son nom d'utilisateur
  • Le lien vers l'API Subsonic (dans les paramètres de l'application Music)
  • Un jeton (token unique à générer depuis les paramètres de l'application Music)
Une fois tout ça rentré dans la conf de Sublime, ça devrait rouler tout seul.


On peut filtrer par artistes, par albums ou par listes de lecture. On peut se contenter de streamer où décider d'utiliser le mode hors ligne pour arrêter de télécharger les morceaux déjà écoutés pour épargner la bande passante, etc.

Bref, je vous encourage à tester tout ça : c'est chouette !

PS : n'hésitez pas à passer par menulibre pour ajouter un lanceur à Sublime Music et éviter de passer par un terminal pour le lancer.

Astuces du dimanche #8

Rédigé par dada / 17 octobre 2021 / 2 commentaires


Retrouvez l'intégralité des ADD en cliquant sur le lien qui va bien.

Limiter la place des logs journalctl

Je traînais plus de 2Go de log dans ma partition racine rien que pour journalctl. N'en ayant absolument pas besoin, j'ai limité le massacre en castrant tout ça à 500Mo. Ce qui est déjà pas mal.

On ouvre le fichier de configuration :
root@dada-desktop:~# vim /etc/systemd/journald.conf
On décommente SystemMaxUse et SystemMaxFileSize en ajoutant les valeurs qui vont bien :
[...]
SystemMaxUse=500M
#SystemKeepFree=
SystemMaxFileSize=50M
#SystemMaxFiles=100
[...]
Et voilà comment passer de 2Go à 500Mo de log.

Créer facilement une clé USB de Windows

De temps en temps, je me fais avoir et je dois dépanner un PC sous Microsoft Windows. Drame. La dernière fois que je me suis fait avoir, j'ai souffert pour trouver un outil efficace pour créer une clé USB bootable avec Windows 10 dedans.

J'ai trouvé mon bonheur en utilisant WoeUSB !


Pour le coup, ça marche, c'est libre et ça fait juste ce qu'on lui demande. Notez qu'il est assez lent : patience !

Déjà-dup/duplicity

Pensez à utiliser le couple Déjà-dup/duplicity pour vos sauvegardes ! Franchement, je mettais la problématique des sauvegardes sous le coude avant de tester ce système.


En rapide, c'est un clickodrome tout con qui vous demande un emplacement (disque dur externe, point de montage, sftp, ftp, samba, etc) et une fréquence.

C'est tout !

En plus, ça s’intègre parfaitement à Nautilus : un clique droit vous offre maintenant la possibilité de restaurer un fichier perdu ou de revenir à une version antérieure.

C'est vraiment top !

Classé dans : ADD / Mots clés : aucun