<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://tourmentine.com/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>la Tourmentine</title>
    <link>https://tourmentine.com/</link>
    <atom:link href="https://tourmentine.com/feed/rss2" rel="self" type="application/rss+xml" />
    <description></description>
    <language></language>
    <pubDate>Fri, 13 Feb 2026 23:01:19 +0100</pubDate>
    <copyright></copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>GoTo++Social (2)</title>
        <link>https://tourmentine.com/post/2026/02/13/GoToSocial-2</link>
        <guid isPermaLink="false">urn:md5:d68eaf25ab3dd778ad9a94d0372cd49b</guid>
        <pubDate>Fri, 13 Feb 2026 21:57:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Petit point d'étape après quelques jours sous &lt;a href=&quot;https://tourmentine.com/post/2026/02/01/GoToSocial&quot;&gt;GoToSocial&lt;/a&gt; : Avec Pleroma c'est le jour et la
nuit. Tout est plus simple, plus léger, plus &amp;quot;GO&amp;quot; quoi &amp;#128521;&lt;/p&gt;
&lt;p&gt;La base SQLite grossit gentiment (175 Mo), on verra au fil du temps. Après
bon, comparé aux ~8 Go de la base PostgreSQL de Pleroma, on a encore de la
marge.&lt;/p&gt;
&lt;p&gt;Côté &lt;em&gt;storage&lt;/em&gt; par contre ça fait mal : 6.3 Go (!) Il va vraiment
falloir que je me penche sur &lt;a href=&quot;https://docs.gotosocial.org/en/latest/admin/media_caching/#cleanup&quot;&gt;les
mécanismes de purge&lt;/a&gt;...&lt;/p&gt;
&lt;p&gt;GoToSocial ne possédant pas d'interface web, après avoir utilisé l'instance
Masto-FE de &lt;a href=&quot;https://masto-fe.superseriousbusiness.org/login.html&quot;&gt;SuperSeriousBusiness&lt;/a&gt;,
j'ai installé la &lt;a href=&quot;https://mfe.tourmentine.com&quot;&gt;mienne&lt;/a&gt; histoire
d'être bien à la maison (même si tout étant client-side, rien de part chez
eux). Comme je n'ai pas trop envie de polluer mon serveur avec cette purge de
NodeJS, j'ai installé une version &lt;a href=&quot;https://git.wolfi.ee/jase/masto-fe&quot;&gt;pré-compilée&lt;/a&gt; qui fait parfaitement le
job. Pas sûr qu'elle soit bien maintenue (un seul et unique commit depuis 6
mois), mais celle de SuperSeriousBusiness proposant une image &lt;a href=&quot;https://hub.docker.com/r/superseriousbusiness/masto-fe-standalone/tags&quot;&gt;Docker&lt;/a&gt;,
je ne m'interdis donc pas de revenir dessus. Attention, pour de sordides
raisons de &lt;a href=&quot;https://en.wikipedia.org/wiki/Content_Security_Policy&quot;&gt;CSP&lt;/a&gt; il est peu
probable que cela fonctionne avec d'autres instances que la mienne (retours
bienvenus)&lt;/p&gt;
&lt;p&gt;Côté Desktop Linux, je continue la valse des softs, après &lt;a href=&quot;https://nicolasconstant.github.io/sengi/&quot;&gt;Senji&lt;/a&gt; qui m'a pété dans les
doigts lors de ma migration, je suis passé à &lt;a href=&quot;https://tuba.geopjr.dev/&quot;&gt;Tuba&lt;/a&gt;. Sur Android, je garde mon fidèle &lt;a href=&quot;https://fedilab.app/&quot;&gt;Fedilab&lt;/a&gt; qui marche toujours aussi bien.&lt;/p&gt;
&lt;p&gt;Et pour finir, coté supervision/métriques (on est là pour le #GraphPorn),
pour l'instant c'est pas la joie, je n'ai pas réussi à tirer grand-chose des
&lt;em&gt;dashboards&lt;/em&gt; Grafana &amp;#128549;&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2026/02/13/GoToSocial-2#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2026/02/13/GoToSocial-2#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/400</wfw:commentRss>
              </item>
          <item>
        <title>GoTo++Social</title>
        <link>https://tourmentine.com/post/2026/02/01/GoToSocial</link>
        <guid isPermaLink="false">urn:md5:39844659d7eb13735d5b9d1f229ca041</guid>
        <pubDate>Sun, 01 Feb 2026 22:59:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Après des années de souffrance et une énième mise à jour catastrophique de
l'ami Pleroma, je me suis mis en quête d'un remplaçant. Sur les bons conseils
d'&lt;a href=&quot;https://social.dk-libre.fr/social/oldsysops&quot;&gt;@oldsysops&lt;/a&gt; et de la
commu, j'ai opté pour &lt;a href=&quot;https://gotosocial.org&quot;&gt;GoToSocial&lt;/a&gt;. Mon
nouveau profil est ici : &lt;a href=&quot;https://gotosocial.tourmentine.com/@n&quot;&gt;@n@gotosocial.tourmentine.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Bon comme il fallait s'y attendre, j'ai perdu mes toots au passage. Il y a
bien des scripts de &lt;a href=&quot;https://codeberg.org/vyr/slurp&quot;&gt;migration&lt;/a&gt; ou
d'&lt;a href=&quot;https://forge.wezm.net/wezm/pleroma-archive&quot;&gt;archivage&lt;/a&gt;, mais je
me suis rapidement rendu compte que même le backup de Pleroma ne contenait pas
plus d'un an d'historique. Tout le reste a dû être balancé à la poubelle... Du
coup je me demande si ça vaut le coup de garder l'archive statique, juste pour
la période 2025-2026..&lt;/p&gt;
&lt;p&gt;Par contre, j'ai été obligé d'arrêter l'instance Pleroma (RIP), qui envoyait
des dizaines de demandes de &lt;em&gt;follows&lt;/em&gt;, ce qui a fait grimper le score de
followers à 3000 (!) Je sais pas trop comment je vais rattraper ça...&lt;/p&gt;
&lt;p&gt;Autre truc un peu chiant : L'import des followers ne prend pas en compte
certains paramètres, au hasard, la désactivation des &lt;em&gt;boosts&lt;/em&gt;...que je
prends bien soin de faire pour chaque compte que je suis. Ça me rappelle quand
j'avais &lt;a href=&quot;https://tourmentine.com/post/2013/10/19/O%C3%B9-est-Shaarli&quot;&gt;importé mes liens de
SemanticScuttle vers Shaarli&lt;/a&gt; et que tous ceux qui étaient privés étaient
passés publics sans crier gare, qu'est-ce que j'avais rigolé (non)&lt;/p&gt;
&lt;p&gt;En tout cas je vais être nettement plus serein pour les prochaines mises à
jour maintenant &amp;#128077;&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2026/02/01/GoToSocial#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2026/02/01/GoToSocial#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/399</wfw:commentRss>
              </item>
          <item>
        <title>Ravalement de façade (4)</title>
        <link>https://tourmentine.com/post/2026/01/11/Ravalement-de-fa%C3%A7ade-%284%29</link>
        <guid isPermaLink="false">urn:md5:ff65ebb4802ccf31f0aca2c1c478b2c9</guid>
        <pubDate>Sun, 11 Jan 2026 15:03:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Encore une mise à jour du thème de la Tourmentine, espérions que ce sera la
dernière. Pour cette fois on garde le vénérable &lt;a href=&quot;https://themes.dotaddict.org/galerie-dc2/details/fallseason&quot;&gt;fallseason&lt;/a&gt;,
vibe-codé à l'arrache pour ajouter le support du dark mode et réparer
l'affichage sur mobile.&lt;/p&gt;
&lt;p&gt;Comme c'est assez cracra et que j'y ai passé beaucoup trop de temps pour un
truc généré par IA, je le met pas à dispo tout de suite. Je ne sais pas encore
si j'en fais un fork ou si je fais une PR vers l'upstream.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; : J'ai fini par créer un &lt;a href=&quot;https://forge.tourmentine.com/n/dotclear-theme-fallseason_darkmobile&quot;&gt;dépôt
git&lt;/a&gt; à peu près propre, si j'ai le temps et la motivation je ferai une Pull
Request. En attendant c'est là, ça peut servir pour &lt;a href=&quot;https://www.youtube.com/watch?v=kIye6C0Yfts&quot;&gt;qui n'en veut&lt;/a&gt;.&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2026/01/11/Ravalement-de-fa%C3%A7ade-%284%29#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2026/01/11/Ravalement-de-fa%C3%A7ade-%284%29#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/398</wfw:commentRss>
              </item>
          <item>
        <title>Bref, j'ai acheté une maison</title>
        <link>https://tourmentine.com/post/2025/12/30/Bref%2C-j-ai-achet%C3%A9-une-maison</link>
        <guid isPermaLink="false">urn:md5:12f483fab754a27779426cf791b30d9e</guid>
        <pubDate>Tue, 30 Dec 2025 18:30:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Après avoir été locataire toute ma vie, &lt;a href=&quot;https://tourmentine.com/post/2025/06/01/L-%C3%A9t%C3%A9-dure-six-mois&quot;&gt;comme prévu&lt;/a&gt;, j'entre dans
le monde mystérieux des &lt;del&gt;capitalistes&lt;/del&gt; propriétaires, ce monde où ça
parle toujours travaux et gros sous. Je quitte également le monde de la vie en
appartement pour celui d'une coquette maisonette à gouttières nantaises&lt;sup id=&quot;fnref:ts1766445207568061.1&quot;&gt;&lt;a href=&quot;https://tourmentine.com/post/2025/12/30/Bref%2C-j-ai-achet%C3%A9-une-maison#fn:ts1766445207568061.1&quot; class=&quot;footnote-ref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, et du confort bourgeois de
sortir sur le perron pour faire mon tri sélectif. Je gagne même un
lave-vaisselle au passage, ce qui va mettre un terme à facile trente ans de
cette corvée quotidienne (qui n'en était pas vraiment une, sinon j'en aurai
acheté un depuis longtemps). C'est donc une nouvelle aire qui s'annonce, même
si dans les faits mon environnement ne va pas beaucoup changer, ma nouvelle
demeure se situant à moins de vingt minutes à pied (!) de mon logement
actuel.&lt;/p&gt;
&lt;p&gt;Par contre, toutes mes (modestes) économies y sont passées. Me voilà donc
condamné à être enchaîné au &lt;a href=&quot;https://fr.wikipedia.org/wiki/Attention_danger_travail&quot; title=&quot;Attention danger travail&quot; hreflang=&quot;fr&quot;&gt;Travail&lt;/a&gt; pour financer les
prochains travaux (vous voyez, moi aussi, je m'y mets déjà...), heureusement
que j'ai bien &lt;a href=&quot;https://tourmentine.com/post/2025/12/01/L-%C3%A9t%C3%A9-dure-six-mois-2&quot;&gt;profité de mes longues
vacances&lt;/a&gt; &amp;#128515;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id=&quot;fn:ts1766445207568061.1&quot;&gt;
&lt;p&gt;Malgré des réparations l'année passée, j'ai déjà repéré une nouvelle fuite.
Je sens que j'ai pas fini de rigoler. &lt;a href=&quot;https://tourmentine.com/post/2025/12/30/Bref%2C-j-ai-achet%C3%A9-une-maison#fnref:ts1766445207568061.1&quot; class=&quot;footnote-backref&quot; title=&quot;Retour au contenu 1&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/12/30/Bref%2C-j-ai-achet%C3%A9-une-maison#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/12/30/Bref%2C-j-ai-achet%C3%A9-une-maison#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/397</wfw:commentRss>
              </item>
          <item>
        <title>Slowly growing deaf (2)</title>
        <link>https://tourmentine.com/post/2025/12/14/Slowly-growing-deaf-2</link>
        <guid isPermaLink="false">urn:md5:19f68e9b92b66530b9970953131a0734</guid>
        <pubDate>Sun, 14 Dec 2025 21:42:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Jadis grand amateur de musique, j'en écoute de moins en moins. Ça reste un
grand plaisir à chaque fois, mais de moins en moins une envie. Après une brève
embellie l'année dernière, celle-ci sera celle où j'en aurai le moins écouté,
et de loin : moins de 2 500 &lt;a href=&quot;https://www.last.fm&quot;&gt;scrobbles&lt;/a&gt; (il
faudrait que j'écoute plus d'un album par jour pour les atteindre d'ici le 31,
ce qui est peu probable).&lt;/p&gt;
&lt;p&gt;J'imagine que c'est aussi dû à l'age. Quand j'étais jeune je ne comprenais
pas pourquoi mon paternel, lui aussi passionné de musique, avait fini par la
troquer pour la télé... en fait, il m'est arrivé un peu la même chose puisque
je passe de plus de temps à regarder &lt;del&gt;la télé&lt;/del&gt; Youtube. Et si je n'en
parle pas souvent (j'en suis directement responsable), je souffre d'acouphènes
permanents depuis de nombreuses années, ce qui ne motive pas vraiment à écouter
de la musique. Et encore moins à haut volume comme avant.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://tourmentine.com/public/2025-12-14_21-41.png&quot; alt=&quot;La chute&quot; class=&quot;media-center&quot; /&gt;&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/12/14/Slowly-growing-deaf-2#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/12/14/Slowly-growing-deaf-2#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/396</wfw:commentRss>
              </item>
          <item>
        <title>L'été dure six mois (2)</title>
        <link>https://tourmentine.com/post/2025/12/01/L-%C3%A9t%C3%A9-dure-six-mois-2</link>
        <guid isPermaLink="false">urn:md5:5c41b1d0aa9076d51880255686b2d592</guid>
        <pubDate>Mon, 01 Dec 2025 00:00:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;C'est donc – déjà – la fin de cette &lt;a href=&quot;https://tourmentine.com/post/2025/06/01/L-%C3%A9t%C3%A9-dure-six-mois&quot;&gt;agréable parenthèse&lt;/a&gt;. À
l'heure où vous lirez ces lignes, j'aurai sans doute retrouvé le monde
merveilleux (!) du travail.&lt;/p&gt;
&lt;p&gt;Un p'tit bilan, calmement ?&lt;/p&gt;
&lt;p&gt;Le programme a été globalement respecté :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Farniente&lt;/em&gt; : plus qu'il n'en fallut \o/ &lt;sup id=&quot;fnref:ts1764198496914257.1&quot;&gt;&lt;a href=&quot;https://tourmentine.com/post/2025/12/01/L-%C3%A9t%C3%A9-dure-six-mois-2#fn:ts1764198496914257.1&quot; class=&quot;footnote-ref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Voyages : pas vraiment ce qui était prévu à la base mais ça a été
satisfaisant également (ça faisait longtemps que j'avais pas vraiment voyagé en
période estivale)&lt;/li&gt;
&lt;li&gt;Achat de vieilles pierres : ça suit son cours, &lt;em&gt;stay tuned&lt;/em&gt; &amp;#128521;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vivement dans &lt;a href=&quot;https://www.service-public.gouv.fr/particuliers/vosdroits/F2381&quot;&gt;six ans&lt;/a&gt;
que je puisse remettre ça !&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id=&quot;fn:ts1764198496914257.1&quot;&gt;
&lt;p&gt;Je me suis même &lt;a href=&quot;https://social.tourmentine.com/@n/posts/AwWjWRVyAtdoGBo9eC&quot;&gt;remis à la
lecture&lt;/a&gt;, ce qui ne m'était pas arrivé depuis mon départ de la région
parisienne, avec &lt;a href=&quot;https://www.babelio.com/monprofil.php?id_user=29878&quot;&gt;entre autres&lt;/a&gt; deux
gros pavés : &lt;a href=&quot;https://fr.wikipedia.org/wiki/Le_Probl%C3%A8me_%C3%A0_trois_corps&quot;&gt;Le Problème
à trois corps&lt;/a&gt; et &lt;a href=&quot;https://fr.wikipedia.org/wiki/Silo_(roman)&quot;&gt;Silo&lt;/a&gt;. Et comme j'avais encore
du temps à tuer, j'ai enchaîné avec leurs (très bonnes) adaptations en série
&amp;#129321; &lt;a href=&quot;https://tourmentine.com/post/2025/12/01/L-%C3%A9t%C3%A9-dure-six-mois-2#fnref:ts1764198496914257.1&quot; class=&quot;footnote-backref&quot; title=&quot;Retour au contenu 1&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/12/01/L-%C3%A9t%C3%A9-dure-six-mois-2#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/12/01/L-%C3%A9t%C3%A9-dure-six-mois-2#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/395</wfw:commentRss>
              </item>
          <item>
        <title>If you're fair-fair-fair, then I'm six-six-six</title>
        <link>https://tourmentine.com/post/2025/11/21/If-you-re-fair-fair-fair%2C-then-I-m-six-six-six</link>
        <guid isPermaLink="false">urn:md5:bf495b876f7ace636d775e9ab03666e0</guid>
        <pubDate>Fri, 21 Nov 2025 10:31:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;figure class=&quot;external-media media-center&quot;&gt;&lt;iframe width=&quot;400&quot; height=&quot;225&quot; src=&quot;https://www.youtube.com/embed/26PRhCJtgPQ?feature=oembed&quot; frameborder=&quot;0&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;allowfullscreen&quot; title=&quot;Slipknot - The Heretic Anthem (Audio)&quot;&gt;&lt;/iframe&gt;
&lt;div style=&quot;text-align:center&quot;&gt;
&lt;figcaption&gt;I'm 666!&lt;/figcaption&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Mon fidèle téléphone, un Samsung Galaxy A5 2017, a enfin pu prendre une
retraite bien méritée après donc, environ 8 ans de bons et loyaux services.
Même si tout fonctionnait encore presque parfaitement (y compris une batterie
toujours verte après toutes ces années, et malgré un port USB fragilisé par les
coups de boutoir d'innombrables câbles de recharge), la perte du bouton ON/OFF
(!) a été un signe qu'il était temps de changer de matériel.&lt;/p&gt;
&lt;p&gt;Utilisateur de longue date de la gamme Samsung Galaxy (S4 puis A5 en perso,
S6 Edge puis A25 en pro), j'ai été assez déçu par leur décision de &lt;a href=&quot;https://goodtech.info/samsung-verrouille-bootloader-one-ui-8/&quot;&gt;verrouiller
complétement leur bootloader&lt;/a&gt;, qui condamne le téléphone à l'obsolescence
programmée à terme. J'ai donc opté pour mon second choix, le téléphone préféré
des écolos-bobos, à savoir le Fairphone en itération &lt;a href=&quot;https://shop.fairphone.com/fr/the-fairphone-gen-6&quot;&gt;6&lt;/a&gt; sortie cet été. Je
n'ai pas pu le commander directement sur leur site ni sur celui de Murena pour
cause de rupture de stock il y a quelques semaines (je le voulais en noir et
avec &lt;a href=&quot;https://tourmentine.com/post/2024/02/22/Google%2C-je-t-aime-moi-non-plus-3&quot;&gt;/e/OS&lt;/a&gt;
malgré les 50€ en plus), je l'ai donc commandé chez Boulanger. Les ruptures de
stock semblent résolues depuis.&lt;/p&gt;
&lt;p&gt;À noter que la garantie par défaut est de 2 ans, il faut remplir un
formulaire sur le site de Fairphone pour bénéficier de l'extension à 5 ans
(c'est gratuit, mais bon, faut le faire quoi)&lt;/p&gt;
&lt;p&gt;Comme d'hab', je n'ai tenu que trois jours avant de lui faire subir les
derniers outrages (déverrouillage du bootloader, installation d'/e/OS donc, et
&lt;a href=&quot;https://github.com/bmax121/APatch&quot;&gt;rootage&lt;/a&gt; pour finir). Si /e/OS
est &lt;a href=&quot;https://forum.fairphone.com/t/missing-features-at-e-vs-stock-fpos-on-fp6/121021&quot;&gt;
un poil en dessous&lt;/a&gt; de FairPhoneOS (pas de déverrouillage par caméra ni par
accéléromètre, &lt;a href=&quot;https://gitlab.e.foundation/e/backlog/-/issues/8861&quot;&gt;pas d'On Screen
Display&lt;/a&gt;), on peut largement faire avec et la non-utilisation d'un compte
Google conjuguée au blocage des trackers compense largement tout cela. Et puis
je goûte de nouveau le bonheur d'un téléphone à jour, le support d'/e/OS
s'étant arrêté &lt;a href=&quot;https://gitlab.e.foundation/e/os/releases/-/releases/v2.2-t&quot;&gt;à la version
2.2&lt;/a&gt; pour le Galaxy A5. Et je me rend compte à l'usage que si tout
fonctionnait sur ce dernier... bah pas mal de trucs ramaient comparés au
nouveau téléphone.&lt;/p&gt;
&lt;p&gt;Espérons que celui-ci me dure au moins 10 ans (ils proposent des &lt;a href=&quot;https://shop.fairphone.com/fr/shop/fairphone-6-usb-c-port-1907&quot;&gt;ports
USB-C&lt;/a&gt; de rechange, mais pas de bouton ON/OFF, dommage)&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/11/21/If-you-re-fair-fair-fair%2C-then-I-m-six-six-six#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/11/21/If-you-re-fair-fair-fair%2C-then-I-m-six-six-six#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/394</wfw:commentRss>
              </item>
          <item>
        <title>VG</title>
        <link>https://tourmentine.com/post/2025/09/16/VG</link>
        <guid isPermaLink="false">urn:md5:aa4260973e0d38bb9bfd4681c387d5ce</guid>
        <pubDate>Tue, 16 Sep 2025 21:13:00 +0200</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Ça commence à être une habitude de faire un post pour chaque anniversaire,
on ne va donc pas faire d'exception ; il y a &lt;strong&gt;10&lt;/strong&gt; ans donc (bon
c'était au mois d'octobre mais on va pas chipoter), je tentais le &lt;a href=&quot;https://web.archive.org/web/20150917170159/https://www.madmoizelle.com/defi-veggie-climat-428305&quot;&gt;
Defi Veggie&lt;/a&gt;, qui consistait à manger végétarien pendant une semaine.
C'était à l'époque dans l'air du temps, de plus en plus de restaurants
mettaient des plats végétariens à leur carte à Paris. Je pouvais donc profiter
sereinement de cette dynamique.&lt;/p&gt;
&lt;p&gt;Défi que je n'ai pas terminé... puisqu'il se prolonge encore jusqu'à
aujourd'hui &amp;#128521;&lt;/p&gt;
&lt;p&gt;J'ai mis fin presque du jour au lendemain à la culpabilité due à cette
fameuse &lt;a href=&quot;https://fr.wikipedia.org/wiki/Dissonance_cognitive&quot;&gt;dissonance
cognitive&lt;/a&gt; qui me poursuivait depuis plus de vingt ans (enfin, légère la
culpabilité, comme tous les omnivores hein)&lt;/p&gt;
&lt;p&gt;Je suis aussi passé, sans vraiment l'avoir voulu, du jour au lendemain dans
une &amp;quot;minorité&amp;quot; (je dois dire que je l'avais même carrément pas vu venir), pour
laquelle se nourrir n'est pas forcément &lt;a href=&quot;https://forums.madmoizelle.com/sujets/commentaires-sur-jai-arrete-le-veganisme-a-cause-de-la-vegephobie.177281/#post-12306419&quot;&gt;
facile tous les jours&lt;/a&gt;. La France reste un pays de viandards, et trouver un
plat sans viande ni poisson reste quasi impossible dans certains endroits,
restaurants en bord de mer, ou ma chère &lt;a href=&quot;https://www.youtube.com/watch?v=ruDkjOkS4jM&quot;&gt;Bourgogne&lt;/a&gt; pour ne citer que
quelques exemples récents.&lt;/p&gt;
&lt;p&gt;Et encore, je ne suis toujours pas devenu complétement végan : possible mais
compliqué à la maison, à cause de mon amour pour les pizzas au fromage (celui
en version &amp;quot;végétale&amp;quot; est extrêmement difficile à trouver dans ma ville) et le
chocolat au lait (idem), presque impossible à l'extérieur sans passer pour le
relou de service, ce qui n'est pas non plus le but.&lt;/p&gt;
&lt;p&gt;Et pour le reste...je reste végan jusqu'au bout des &lt;a href=&quot;https://www.drmartens.com/fr/fr/boots-1460-vegan-%C3%A0-lacets-noir/p/14045001&quot;&gt;
chaussures&lt;/a&gt; !&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/09/16/VG#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/09/16/VG#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/393</wfw:commentRss>
              </item>
          <item>
        <title>Gandi, c'est fini (2)</title>
        <link>https://tourmentine.com/post/2025/06/25/Gandi%2C-c-est-fini-2</link>
        <guid isPermaLink="false">urn:md5:010e8e70d32966e6f96910fa94f23755</guid>
        <pubDate>Wed, 25 Jun 2025 12:26:00 +0200</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Après pas mal d'appréhension et de procrastination, j'ai fini par extrader
mes domaines du &lt;a href=&quot;https://fr.wikipedia.org/wiki/Au_pays_de_Candy&quot;&gt;pays
de Gandi&lt;/a&gt;, où, comme dans tous les pays, on s'amuse, on pleure, on rit, il y
a des méchants et des gentils...mais &lt;a href=&quot;https://tourmentine.com/post/2025/01/21/Gandi%2C-c-est-fini&quot;&gt;surtout des gros requins&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour l'appréhension, n'ayant jamais fait ce genre de chose, je me suis basé
sur cet &lt;a href=&quot;http://shaarli.guiguishow.info/?hCft1w&quot;&gt;excellent retour
d'expérience&lt;/a&gt; signalé par le non moins excellent &lt;a href=&quot;https://mastodon.gougere.fr/@bortzmeyer&quot;&gt;Stéphane Bortzmeyer&lt;/a&gt;. J'ai
commencé par un domaine de test, ça ne s'est pas &lt;a href=&quot;https://social.tourmentine.com/@n/posts/AvFxrdAe7eEYhP5lFQ&quot;&gt;trop mal
passé&lt;/a&gt;, même si, incapable de faire fonctionner le DNS secondaire de
BookMyName, j'ai fini par &lt;a href=&quot;https://social.tourmentine.com/@n/posts/AvIw91EiHcvDpH2OY4&quot;&gt;en monter un en
local&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Passé les sueurs froides liées à DNSSEC (comme souvent, ça a mis un peu de
temps pour se remettre en place mais &lt;a href=&quot;https://dnsviz.net/d/tourmentine.com/dnssec/&quot;&gt;tout est OK&lt;/a&gt;), j'ai ensuite
migré les domaines restants.&lt;/p&gt;
&lt;p&gt;Me voici donc enfin libéré (délivré) de Gandi, une page se tourne (le
domaine &lt;a href=&quot;https://who.is/whois/tourmentine.com&quot;&gt;tourmentine.com&lt;/a&gt; a
été créé chez eux le 27 février 2002, ça commence à dater)&lt;/p&gt;
&lt;p&gt;Pour info le transfert du domaine dont le renouvellement m'a couté 38,38 €
chez Gandi m'a coûté... 14,78 € chez BookMyName, comme quoi on se mouche pas du
pied chez Strikwerda Investments. Et pour info toujours, le transfert des
&lt;strong&gt;trois&lt;/strong&gt; domaines m'a couté au total &lt;strong&gt;36,74 €&lt;/strong&gt;,
soit moins que le renouvellement d'un seul &lt;em&gt;dot com&lt;/em&gt; chez Gandi.
L'effort pour bouger va donc être rapidement amorti !&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/06/25/Gandi%2C-c-est-fini-2#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/06/25/Gandi%2C-c-est-fini-2#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/392</wfw:commentRss>
              </item>
          <item>
        <title>Ouaf !</title>
        <link>https://tourmentine.com/post/2025/06/04/Ouaf</link>
        <guid isPermaLink="false">urn:md5:0885a24c0731913e6bdedf79fde68b96</guid>
        <pubDate>Wed, 04 Jun 2025 20:30:00 +0200</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;L'intelligence Artificielle générative, depuis qu'elle a fait irruption dans
l'espace public, déchaine les passions. Pour ma part je n'ai rien contre, je
m'en sert peu mais je vois ça comme un super-&lt;em&gt;Stack Overflow&lt;/em&gt; sous
stéroïdes, avec les fausses/mauvaises réponses que ce dernier peut proposer et
dont il faut toujours se méfier (mais sans les votes et les vérifications
humaines qui s'imposent malheureusement…)&lt;/p&gt;
&lt;p&gt;Au départ, j'étais donc tout à fait ouvert à ce que les agents se servent de
&lt;a href=&quot;https://forge.tourmentine.com&quot;&gt;mes petites productions&lt;/a&gt; pour
s'alimenter, c'est le jeu du partage libre et de l'open-source. Sauf que
certains bots se montrent particulièrement pénibles (kikoo &lt;a href=&quot;https://social.tourmentine.com/@n/posts/AufKlmYghTK77ESngm&quot;&gt;Amazonbot/0.1&lt;/a&gt;,
va bien te faire cuire le &lt;a href=&quot;https://aws.amazon.com/fr/q/&quot;&gt;Q&lt;/a&gt;) en
n'étant pas du tout discrets lors de leur passage : ils visitent chaque recoin
des sites et provoquent ainsi une charge massive sur les appli pas trop prévues
pour ça (kikoo &lt;a href=&quot;https://forgejo.org/&quot;&gt;Forgejo&lt;/a&gt;). J'ai commencé par
mettre &lt;a href=&quot;https://forums.freebsd.org/threads/how-to-ban-a-block-of-ips-with-route-add.26741/#post-149525&quot;&gt;
quelques adresses en trou noir&lt;/a&gt; mais il y en avait vraiment trop et
changeaient chaque jour, j'ai dû trouver rapidement une autre solution
(&lt;a href=&quot;https://anubis.techaro.lol/&quot;&gt;Anubis&lt;/a&gt; n'en est pas une pour moi au
sens où celui-ci nécessite JavaScript), me restait donc la possibilité de
mettre des &lt;a href=&quot;https://blog.nginx.org/blog/rate-limiting-nginx&quot;&gt;limitations de débit&lt;/a&gt;,
toujours un peu casse gueule, installer un truc à base de &lt;a href=&quot;https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker&quot;&gt;liste
blanches mises à jour régulièrement&lt;/a&gt;, ou déployer carrément un &lt;a href=&quot;https://fr.wikipedia.org/wiki/Web_application_firewall&quot;&gt;WAF&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Finalement j'ai opté pour un WAF, plus précisemment le célèbre &lt;a href=&quot;https://modsecurity.org/&quot;&gt;OWASP Modsecurity&lt;/a&gt; et son fidèle &lt;a href=&quot;https://coreruleset.org/&quot;&gt;Core RuleSet&lt;/a&gt;, projets pourtant anciens et un peu
malmenés, mais qui ont l'avantage de s'interfacer parfaitement avec nginx
(&lt;a href=&quot;https://connect.ed-diamond.com/GNU-Linux-Magazine/glmf-152/naxsi-un-waf-open-source-pour-nginx&quot;&gt;NAXSI&lt;/a&gt;
est également supporté, le projet semble toujours actif malgré un &lt;a href=&quot;https://github.com/nbs-system/naxsi?tab=readme-ov-file#project-status&quot;&gt;déménagement
récent&lt;/a&gt;). Comme pas mal de produits de sécu (kikoo SELinux), la syntaxe est
à vomir, les logs sont illisibles mais bon, ça fait le job à condition
d'&lt;a href=&quot;https://coreruleset.org/docs/2-how-crs-works/2-3-false-positives-and-tuning/&quot;&gt;éliminer
les faux positifs&lt;/a&gt;. Du côté des interfaces de gestion c'est la misère avec
un &lt;a href=&quot;https://github.com/ITSec-Chile/Waf2Py?tab=readme-ov-file#images&quot;&gt;seul
projet&lt;/a&gt; qui pourrait faire le taf mais qui a l'air d'être une tannée à
installer (sans compter qu'il a l'air en sommeil depuis des années)&lt;/p&gt;
&lt;p&gt;Je n'ai plus eu qu'à ajouter une règle supplémentaire pour &lt;a href=&quot;https://stackoverflow.com/questions/72234921/how-do-i-create-a-rule-to-block-all-user-agents-with-modsecurity-v3&quot;&gt;
bloquer les bots relou&lt;/a&gt; à base de gros 403 dans leur tronche (il parait
qu'il ne faut pas être &lt;a href=&quot;https://www.theregister.com/2025/04/21/users_being_polite_to_chatgpt/&quot;&gt;poli
avec les IA&lt;/a&gt; de toute façon), je touche du bois parce que ça ne fait pas
longtemps que c'est en place mais depuis c'est le calme plat au niveau de la
charge de mes serveurs, ce qui est plutôt cool.&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/06/04/Ouaf#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/06/04/Ouaf#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/391</wfw:commentRss>
              </item>
          <item>
        <title>L'été dure six mois</title>
        <link>https://tourmentine.com/post/2025/06/01/L-%C3%A9t%C3%A9-dure-six-mois</link>
        <guid isPermaLink="false">urn:md5:98e0de6d8445c9110cdb4567ec04518e</guid>
        <pubDate>Sun, 01 Jun 2025 00:00:00 +0200</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;div align=&quot;center&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=v8LcV7VojBk&quot;&gt;&lt;img src=&quot;https://img.youtube.com/vi/v8LcV7VojBk/0.jpg&quot; alt=&quot;Les Négresses Vertes - Voilà l'été&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;C'est le début des grandes vacances : aujourd'hui commence mon &lt;a href=&quot;https://www.service-public.fr/particuliers/vosdroits/F2381&quot;&gt;congé
sabbatique&lt;/a&gt;, pour une durée de six mois. Au programme : &lt;em&gt;farniente&lt;/em&gt;,
voyages, et achat de vieilles pierres.&lt;/p&gt;
&lt;p&gt;On ne va pas se mentir, ces derniers mois ont été très compliqués au taf,
&lt;a href=&quot;http://george-abitbol.fr/v/8db476fd&quot;&gt;limite nervous breakdown&lt;/a&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=5VvVK5DuvGQ&quot;&gt;comme on dit de nos
jours&lt;/a&gt;, et cette pause va me faire le plus grand bien. L'occasion de se
recentrer, de faire le point, et de préparer l'avenir (spoiler : il est peu
probable que se soit à Nantes). Encore des envies d'ailleurs... à croire que je
cherche à fuir quelque chose &amp;#128521;&lt;/p&gt;
&lt;p&gt;Pour la petite histoire, je ne crois pas en avoir parlé ici, mais il s'est
passé presque la même chose il y a une douzaine d'années (burnout, bon...), à
ce moment-là, j'avais carrément lâché mon taf et je m'étais mis au vert
également pendant six mois, me permettant de soigner mes plaies et de &lt;a href=&quot;https://www.youtube.com/watch?v=anp6pnlNFvI&quot;&gt;revenir au grand air&lt;/a&gt; en
pleine forme. Cette fois-ci c'est de manière plus confortable, avec un retour à
l'emploi garanti dès début décembre, j'ai hâte (non)&lt;/p&gt;
&lt;p&gt;Cependant, vacances prolongées ne riment pas avec abandon du blog, au rythme
ô combien soutenu de publication (!) j'ai encore le temps de publier un ou deux
billets avant leur fin (ne vous attendez pas à un &lt;a href=&quot;https://social.tourmentine.com/@n&quot;&gt;live-toot&lt;/a&gt; soutenu non plus hein)&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/06/01/L-%C3%A9t%C3%A9-dure-six-mois#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/06/01/L-%C3%A9t%C3%A9-dure-six-mois#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/389</wfw:commentRss>
              </item>
          <item>
        <title>20.fm</title>
        <link>https://tourmentine.com/post/2025/05/29/20.fm</link>
        <guid isPermaLink="false">urn:md5:a98fa266b2e7583c6213ab5b95137ec0</guid>
        <pubDate>Thu, 29 May 2025 21:01:00 +0200</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Je viens de me rendre compte que j'ai manqué de deux mois tout ronds le
vingtième anniversaire de mon compte &lt;a href=&quot;https://last.fm/user/audiolover&quot;&gt;last.fm&lt;/a&gt;. En effet, le 29 mars 2005
j'envoyais mon écoute du moment, une reprise de &lt;a href=&quot;https://www.youtube.com/watch?v=E2HeDHkL9kg&quot;&gt;Big In Japan&lt;/a&gt; par le groupe
&lt;a href=&quot;https://www.youtube.com/watch?v=Q9jJufz9RNE&quot;&gt;Guano Apes&lt;/a&gt; (ouais,
j'étais jeune et fou à l'époque)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;img src=&quot;https://tourmentine.com/public/2025-05-29_21-02.png&quot; alt=&quot;The early years&quot; class=&quot;media-center&quot; /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Au fil des années et des &lt;a href=&quot;https://tourmentine.com/post/2015/08/25/Il-est-libre%2C-FM&quot;&gt;déceptions&lt;/a&gt;, j'ai tenté bien sûr de
m'échapper de ma prison dorée, ça a duré quelques temps, sans jamais quitter le
service originel, jusqu'au débranchement de mon instance libre.fm pour cause
d'impossibilité de la faire tourner sous PHP 8.0.&lt;/p&gt;
&lt;p&gt;J'ai donc remplacé avantageusement l'ancêtre par un &lt;a href=&quot;https://tourmentine.com/post/2024/07/07/Il-est-libre%2C-FM-2&quot;&gt;Maloja hébergé sur mon NAS&lt;/a&gt;, en
gardant un œil sur le projet de l'&lt;a href=&quot;https://github.com/foocorp/hacienda/&quot;&gt;Hacienda&lt;/a&gt; en construction. Cela
semblait prometteur, mais malheureusement le projet semble avoir été &lt;a href=&quot;https://github.com/foocorp/hacienda/discussions/117&quot;&gt;abandonné&lt;/a&gt; il y a
quelques jours. Force et encouragements à son auteur, dont je partage le
pessimisme : le &lt;em&gt;scrobbling&lt;/em&gt; n'a jamais été très répandu, et l'est
encore moins avec les recommandations intégrées aux services de streaming (même
si les deux ne sont pas incompatibles, j'ai branché mon compte Deezer dessus
par exemple). Les recommandations qui étaient, ô ironie, le principal intérêt
de last.fm à ces débuts : pouvoir découvrir d'autres artistes en fonction de
ceux que l'on écoutait déjà.&lt;/p&gt;
&lt;p&gt;En attendant mieux, je garde mon compte last.fm et le conteneur Maloja
(alimenté par last.fm, par l'intermédiaire de &lt;a href=&quot;https://github.com/FoxxMD/multi-scrobbler&quot;&gt;Multi Scrobbler&lt;/a&gt;). Ça fait le
taf, même si j'ai perdu un joujou : la possibilité d'interroger la base
PostgeSQL de (feu) libre.fm pour faire un joli dashboard Grafana &amp;#128542;&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/05/29/20.fm#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/05/29/20.fm#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/390</wfw:commentRss>
              </item>
          <item>
        <title>Pouf, pouf</title>
        <link>https://tourmentine.com/post/2025/04/04/Pouf%2C-pouf</link>
        <guid isPermaLink="false">urn:md5:75e4dfd97fb1693221c8e8dfa5322e8e</guid>
        <pubDate>Fri, 04 Apr 2025 23:25:00 +0200</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;...où comment la Tourmentine a survécu à deux pannes de serveurs
consécutives, alors que son infra repose sur...deux serveurs.&lt;/p&gt;
&lt;p&gt;Le 4 mars 2025, le serveur secondaire ne répond plus, un reboot ou un
passage en &lt;em&gt;rescue&lt;/em&gt; ne change rien, le KVM est muet. Ticket au support
Scaleway.&lt;/p&gt;
&lt;p&gt;Réponse redoutée mais malheureusement inévitable (c'est déjà arrivé) : le
serveur est mort, les données sont perdues, ils peuvent me le remplacer par un
serveur de la même gamme. J'accepte.&lt;/p&gt;
&lt;p&gt;Malgré la gestion par Infra-as-Code le rétablissement a pris plus de temps
que prévu, un peu moins de trois semaines, la faute au manque d'expérience (la
dernière &lt;em&gt;reinstall from scratch&lt;/em&gt; datant de plusieurs années), et aux
petites bizarreries liées à l'infra Scaleway (RPN bonjour).&lt;/p&gt;
&lt;p&gt;Le 23 mars, je finissais de serrer les derniers boulons, j'étais
content.&lt;/p&gt;
&lt;p&gt;Le 24 mars en fin de journée, le serveur &lt;strong&gt;primaire&lt;/strong&gt; tombe en
pleine mise à jour. Reboot, &lt;em&gt;rescue&lt;/em&gt;, ticket support, serveur mort
(&lt;em&gt;bis, repetita&lt;/em&gt;). Là, c'est un peu plus gênant, mais une bascule de
l'IP &lt;em&gt;failover&lt;/em&gt; sur le serveur secondaire tout neuf et un redémarrage du
replica PostgreSQL en lecture/écriture sur celui-ci a permis de rétablir tous
les services rapidement.&lt;/p&gt;
&lt;p&gt;L'expérience et les corrections apportées dans l'IaC m'ont permis cette fois
de reconstruire le serveur primaire en entier en à peine plus d'une semaine
(peut toujours mieux faire, mais bon). Le retour de l'IP &lt;em&gt;failover&lt;/em&gt; sur
le serveur primaire c'est fait assez simplement et rapidement, grâce en
particulier aux &lt;a href=&quot;https://forge.tourmentine.com/n/scripts/src/branch/main/zfsync.sh&quot;&gt;snapshots
ZFS&lt;/a&gt; et à la &lt;a href=&quot;https://www.enterprisedb.com/postgres-tutorials/how-does-postgresql-master-replica-failover-work#section-3&quot;&gt;
réplication logique de PostgreSQL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La Tourmentine sort presque sans encombres de cette double catastrophe, avec
pour seuls dégâts la base InfluxDB que je n'ai pas pu restaurer (testez vos
backups les gens). Ça fait mine de rien plusieurs années de métrologie de
perdues, et ça fait mal au cul.&lt;/p&gt;
&lt;p&gt;Conclusions de cette belle aventure (non), l'infra n'est pas encore
totalement résiliente : Valkey n'est pour l'instant pas &lt;a href=&quot;https://valkey.io/topics/cluster-tutorial/&quot;&gt;répliqué&lt;/a&gt;, j'ai failli perdre
ma base de filtres bayésiens au passage ; et Zabbix n'étant pas en &lt;a href=&quot;https://www.zabbix.com/documentation/7.0/en/manual/concepts/server/ha&quot;&gt;mode
cluster&lt;/a&gt; et tournant sur le serveur primaire, je n'avais pas de supervision
durant la reconstruction de celui-ci &amp;#128543;&lt;/p&gt;
&lt;p&gt;Bref encore deux-trois petits trucs encore à régler avant l'arrivée tant
repoussée d&amp;quot;une solution *cloud-native&amp;quot; à base de &lt;a href=&quot;https://honeyguide.eu/posts/ansible-pot-foundation/&quot;&gt;MinIO, Nomad et
Consul&lt;/a&gt;. Ça va être bien. D'ailleurs au passage un système de paquets un peu
plus propre m'a enfin permis d'installer &lt;a href=&quot;https://freebsdfoundation.org/blog/advancing-cloud-native-containers-on-freebsd-podman-testing-highlights/&quot;&gt;
Podman&lt;/a&gt;.&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/04/04/Pouf%2C-pouf#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/04/04/Pouf%2C-pouf#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/388</wfw:commentRss>
              </item>
          <item>
        <title>Veni, vidi, vici</title>
        <link>https://tourmentine.com/post/2025/02/25/Veni%2C-vidi%2C-vici</link>
        <guid isPermaLink="false">urn:md5:d865bfb5fcd05f933c94f38c2498bbe8</guid>
        <pubDate>Tue, 25 Feb 2025 22:44:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Comme je le relatais précédemment, il y a un peu plus d'un an j'ai remplacé
mon tunnel IPSec vieillissant par une solution toute brillante à base de
&lt;a href=&quot;https://tourmentine.com/post/2023/12/17/C-est-qui-le-plus-fort-le-raton-laveur-ou-le-cygne&quot;&gt;Cygne
fort&lt;/a&gt;. Enfin quand je dis toute brillante il restait un petit défaut :
devant la masse d'exemples sous ce format (en fait, la quasi-totalité) et après
quelques galères, je m'étais résolu à utiliser le plugin &amp;quot;stroke&amp;quot;.
Malheureusement ce plugin, qui avait l'avantage de rester compatible avec la
limpide configuration IPSec, est devenu de plus en plus legacy, strongSwan
utilisant par défault le plugin &amp;quot;vici&amp;quot;. La dernière version 6.0.0 sortie il y a
quelques jours dans les ports FreeBSD vient enfoncer le clou et retire les
démons utilisés par le plugin stroke pour démarrer. Il est temps de migrer
!&lt;/p&gt;
&lt;p&gt;Heureusement les gens de chez strongSwan sont sympas et proposent un
&lt;a href=&quot;https://wiki.strongswan.org/projects/strongswan/wiki/Fromipsecconf&quot;&gt;joli
howto&lt;/a&gt;, où ils indiquent un fort pratique &lt;a href=&quot;https://gitlab.com/Thermi/ipsec2swanctl/-/blob/master/ipsec2swanctl.py&quot;&gt;script
Python&lt;/a&gt; pour générer un fichier avec la nouvelle syntaxe \o/&lt;/p&gt;
&lt;p&gt;Après deux petites bizarreries (un &lt;a href=&quot;https://github.com/openwrt/packages/issues/22245&quot;&gt;cipher incorrect&lt;/a&gt; généré
par le script indiqué plus haut, et un petit problème de pid qui empêchait le
nouveau plugin de démarrer), tout fonctionne parfaitement.&lt;/p&gt;
&lt;p&gt;Reste à voir si la sonde Zabbix va continuer de fonctionner, en effet pour
l'instant je fais un peu le kéké mais je n'ai pas encore déployé sur ma prod,
ce sera fait dans les prochains jours.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit 27/02&lt;/strong&gt; : Les mainteneurs FreeBSD se sont rendu compte
que ça avait été un peu violent et ont remis les fichiers manquants dans la
version du port, avec cependant comme message :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note that strongSwan has deprecated the stroke management interface for
years, and it is recommended to migrate the configuration to vici before it is
removed.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Heureusement de mon côté la moitié du boulot a été fait, reste plus qu'à
inspirer un grand coup et passer en prod &amp;#128521;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit 28/02&lt;/strong&gt; : C'est en prod. Ça n'a pas été superfluide, si
vous rencontrez comme moi l'erreur suivante :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;connecting to 'unix:///var/run/charon.ctl' failed: Connection refused                                                        
Error: connecting to 'unix:///var/run/charon.ctl' URI failed: Connection refused
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Il faut stopper strongSwan, tuer le process charon avec un petit &lt;code&gt;pkill
charon&lt;/code&gt;, supprimer tous les fichiers &lt;code&gt;/var/run/charon.*&lt;/code&gt;, puis
relancer le service. C'est un peu sale mais ça marche. &amp;quot;Vici&amp;quot; comme disait
&lt;a href=&quot;https://fr.wikipedia.org/wiki/Jules_C%C3%A9sar&quot;&gt;Jules&lt;/a&gt; !&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/02/25/Veni%2C-vidi%2C-vici#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/02/25/Veni%2C-vidi%2C-vici#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/387</wfw:commentRss>
              </item>
          <item>
        <title>Tu peux pas test</title>
        <link>https://tourmentine.com/post/2025/02/01/Tu-peux-pas-test</link>
        <guid isPermaLink="false">urn:md5:d6ab4e7d00041113046cfbea5be3264b</guid>
        <pubDate>Sat, 01 Feb 2025 14:26:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;div align=&quot;center&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=DZZpbmAc-0A&quot;&gt;&lt;img src=&quot;https://img.youtube.com/vi/DZZpbmAc-0A/0.jpg&quot; alt=&quot;007 tu peux pas test ® Mozinor 2006&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Déçu par le manque de paquets à jour sur ma distribution Manjaro (un comble
pour une &lt;em&gt;rolling-release&lt;/em&gt;), j'ai décidé de passer de
&lt;code&gt;stable&lt;/code&gt; en &lt;code&gt;testing&lt;/code&gt;. J'ai changé de laptop il y a
environ 6 mois et il est possible que l'ancien PC était déjà en
&lt;code&gt;testing&lt;/code&gt; (je ne me rappelle plus), ce qui explique ma surprise
quant au peu de mise à jour.&lt;/p&gt;
&lt;p&gt;J'ai donc commencé par &lt;a href=&quot;https://gist.github.com/rumansaleem/083187292632f5a7cbb4beee82fa5031&quot;&gt;nettoyer
mon disque&lt;/a&gt; histoire de ne pas le saturer durant la mise à jour (au total, 8
Go de paquets, tout de même), puis j'ai procédé au &lt;a href=&quot;https://wiki.manjaro.org/index.php/Switching_Branches&quot;&gt;changement de canal et
à la mise à jour proprement dite&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Malheureusement j'ai dû louper un truc car peu de paquets ont été mis à jour
(seulement 80), et je me suis retrouvé avec des paquets manquants (dont une
dépendance pour &lt;code&gt;pacman-mirrors&lt;/code&gt;, utilisé pour revenir en
arrière...) et des miroirs pétés, que j'ai pu finalement réparer pour continuer
la mise à jour en mettant la base Pacman à jour (commande trouvée sur &lt;a href=&quot;https://bbs.archlinux.org/viewtopic.php?id=221237&quot;&gt;cette page&lt;/a&gt;) avec :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;sudo pacman -Syyu
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Reste l'étape toujours un peu flippante du reboot avant d'enfin pouvoir se
retrouver sous XFCE 4.20 sorti il y a déjà un mois et demi, je commençait à
m'impatienter &amp;#128521;&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/02/01/Tu-peux-pas-test#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/02/01/Tu-peux-pas-test#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/386</wfw:commentRss>
              </item>
          <item>
        <title>Gandi, c'est fini</title>
        <link>https://tourmentine.com/post/2025/01/21/Gandi%2C-c-est-fini</link>
        <guid isPermaLink="false">urn:md5:4106b4297e6f35af15a13d3c788b3ef3</guid>
        <pubDate>Tue, 21 Jan 2025 22:26:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;J'avais vaguement suivi les &lt;a href=&quot;https://linuxfr.org/users/psychofox/journaux/rip-gandi-net&quot;&gt;protestations&lt;/a&gt;
de 2023 à propos du rachat de &lt;a href=&quot;https://www.gandi.net/&quot;&gt;Gandi.net&lt;/a&gt;,
en me disant à l'époque que oui ça allait être plus cher, mais je n'avais pas
de boites mail chez eux donc je n'étais pas trop concerné. Que les domaines,
c'était un peu comme la farine, il pouvait y avoir des gros écarts de prix,
mais au final, ça restait globalement un truc pas super cher. Puis vint l'heure
du renouvellement.&lt;/p&gt;
&lt;p&gt;Et donc, là où un &lt;code&gt;.com&lt;/code&gt; plafonne à &lt;a href=&quot;https://www.dot.bs/&quot;&gt;10-15 €&lt;/a&gt;, Gandi me le facture... &lt;strong&gt;38,38
€&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Pour un an.&lt;/p&gt;
&lt;p&gt;Ça fait un peu mal au cul.&lt;/p&gt;
&lt;p&gt;J'avais l'habitude de les renouveler pour cinq ans. Ça allait me coûter plus
de 150 €. Par domaine.&lt;/p&gt;
&lt;p&gt;Après avoir reçu l'avis de renouvellement j'ai pas mal procrastiné...étudié
la possibilité de changer de registrar... le temps a tourné et par peur j'ai
renouvelé. En effet la procédure pouvant s'étaler sur plusieurs jours voir
plusieurs semaines, j'ai préféré jouer la sécurité (et aussi, j'avais pas que
ça à foutre non plus)&lt;/p&gt;
&lt;p&gt;Mais c'est la dernière fois. J'ai deux autres domaines à renouveler, cette
fois à la fin de l'année, et je compte bien les bouger avant. Ce qui m'arrange
au final car le domaine &lt;code&gt;tourmentine.com&lt;/code&gt; servant à faire tourner
toute l'infrastructure, je préférais utiliser l'un d'eux, nettement moins
sensible, pour tester le changement de registrar. 2025 sera donc l'année du
changement de registrar, une première dans l'histoire de la Tourmentine pour
ces domaines depuis respectivement 2002, 2003 et 2006, dates de leurs première
réservation.&lt;/p&gt;
&lt;p&gt;Il est fort probable que je file chez &lt;a href=&quot;https://www.bookmyname.com/&quot;&gt;BookMyName&lt;/a&gt;, l'un des moins chers en France,
ce qui ne va pas améliorer ma dépendance aux Freeteries (pour rappel, ma ligne
Internet est chez Free, mon téléphone chez Free Mobile et mes serveurs chez
Scaleway)&lt;/p&gt;
&lt;p&gt;Parce que bon, les &lt;a href=&quot;https://web.archive.org/web/20250908101909/http://www.confessions-voleur.net/&quot;&gt;
histoires de voleurs&lt;/a&gt;, faut que ça reste rigolo hein. Là pour le coup c'est
&lt;strong&gt;vraiment&lt;/strong&gt; du vol.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit 09/03/2025&lt;/strong&gt;: Et quand par miracle j'ai besoin de leur
interface d'admin, elle marche pas ...&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://tourmentine.com/public/2025-03-09_17-01.png&quot; alt=&quot;&quot; class=&quot;media-center&quot; /&gt;&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2025/01/21/Gandi%2C-c-est-fini#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2025/01/21/Gandi%2C-c-est-fini#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/385</wfw:commentRss>
              </item>
          <item>
        <title>Let's do the time warp...again (2)</title>
        <link>https://tourmentine.com/post/2024/11/01/Let-s-do-the-time-warp...again-2</link>
        <guid isPermaLink="false">urn:md5:0c0a7a76d23ff1e5047cbb6a5861f6db</guid>
        <pubDate>Fri, 01 Nov 2024 14:59:00 +0100</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Je ne vais pas parler ni du changement d'heure, ni du &lt;a href=&quot;https://tourmentine.com/post/2010/04/11/Let-s-do-the-time-warp-again&quot;&gt;thème Dotclear&lt;/a&gt; ni du
&lt;a href=&quot;https://fr.wikipedia.org/wiki/The_Rocky_Horror_Picture_Show:_Let%27s_Do_the_Time_Warp_Again&quot;&gt;
Rocky Horror Picture Show&lt;/a&gt;, mais d'un authentique saut dans le temps qui
bien que temporaire a laissé des traces visibles pendant plusieurs
semaines.&lt;/p&gt;
&lt;p&gt;Tout a commencé par un certificat OpenVPN expiré, pour éviter ce genre de
déconvenue (je ne m'en étais pas rendu compte, et j'ai cherché longtemps avant
de trouver qu'il s'agissait d'une expiration), j'ai décidé de mettre des sondes
de supervision sur ces certificats de façon à être prévenu la prochaine
fois.&lt;/p&gt;
&lt;p&gt;Je commence par scripter ça, sur le serveur contenant lesdits certificats,
pour pouvoir travailler avec des exemples. Calcul de dates, classique,
j'utilise la commande &lt;code&gt;date&lt;/code&gt;. Sauf que 1) cette commande n'a pas la
même syntaxe ni le même comportement sous FreeBSD où je fais mes essais que
sous Linux 2) j'ai lu le &lt;code&gt;man&lt;/code&gt; en diagonal.&lt;/p&gt;
&lt;p&gt;Résultat, au lieu de faire un calcul de date, j'ai utilisé la fonction
première de cette commande... qui est de &lt;a href=&quot;https://social.tourmentine.com/@n/posts/AnGrbencuyZHfc4NiS&quot;&gt;mettre une machine
à l'heure&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Comme j'ai fait une boucle sur l'expiration des certificats, le serveur a
voyagé de date en date, aussi loin que 2030, voir 2120 (oui j'utilise parfois
des dates d'expiration particulièrement lointaines, c'est mon côté punk)&lt;/p&gt;
&lt;p&gt;Le pire, c'est que je ne m'en suis pas rendu compte tout de suite (j'ai
tiqué quand le 2FA de mes sites ne fonctionnait plus...).&lt;/p&gt;
&lt;p&gt;La machine n'a pas tant souffert que ça (MariaDB a planté, c'est tout), mais
c'est au niveau de la supervision, ironiquement, que les dégâts ont été les
plus importants, avec des métriques enregistrées aux dates citées plus
haut.&lt;/p&gt;
&lt;p&gt;À ce moment-là, j'ai raboté les tables de la base PostgreSQL utilisées par
Zabbix avec une requête bien sentie, ce fut galère, mais l'affaire était
close.&lt;/p&gt;
&lt;p&gt;... Jusqu'à ce matin où je me suis rendu compte que toute la métrologie sous
Grafana était également en vrac (j'y vais souvent hein), depuis cette fameuse
date. Retour au SQL (cette fois sur InfluxDB...) pour refaire un peu de
nettoyage.&lt;/p&gt;
&lt;p&gt;La morale de cette histoire, c'est que quand on joue avec la commande
&lt;code&gt;date&lt;/code&gt; pour autre chose qu'une mise à l'heure, il est fortement
conseillé de le faire avec un utilisateur non-privilégié (c'est-à-dire, pas en
root), sous peine de souffrir beaucoup par la suite.&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2024/11/01/Let-s-do-the-time-warp...again-2#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2024/11/01/Let-s-do-the-time-warp...again-2#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/384</wfw:commentRss>
              </item>
          <item>
        <title>proso-dis-moi-tout ! (3)</title>
        <link>https://tourmentine.com/post/2024/10/11/proso-dis-moi-tout-%21-3</link>
        <guid isPermaLink="false">urn:md5:31d00244a487242ae6d44cfd1ffb3e2b</guid>
        <pubDate>Fri, 11 Oct 2024 01:30:00 +0200</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;J'ai fini par fermer le service XMPP/Jabber après &lt;a href=&quot;https://tourmentine.com/post/2014/07/31/proso-dis-moi-tout-%21&quot;&gt;un peu plus de dix ans&lt;/a&gt; d'agonie
(je ne l'aurai même pas utilisé, et vu l'état du protocole, il est peu probable
que j'y revienne à l'avenir). De plus cela fait déjà plusieurs années que je
n'ai pas utilisé Pidgin.&lt;/p&gt;
&lt;p&gt;So long Prosody, tu aura été cool (quoique bien inutile dans mon cas)&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2024/10/11/proso-dis-moi-tout-%21-3#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2024/10/11/proso-dis-moi-tout-%21-3#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/383</wfw:commentRss>
              </item>
          <item>
        <title>C'est en forgeant qu'on fait des trucs (3)</title>
        <link>https://tourmentine.com/post/2024/09/13/C-est-en-forgeant-qu-on-fait-des-trucs-3</link>
        <guid isPermaLink="false">urn:md5:fc7ab991dad3e1d9ece175dab2e5445d</guid>
        <pubDate>Fri, 13 Sep 2024 23:47:00 +0200</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Après avoir lu quelques &lt;a href=&quot;https://news.ycombinator.com/item?id=41488929&quot;&gt;nouvelles un peu
flippantes&lt;/a&gt;, puis vu &lt;a href=&quot;https://code.gouv.fr/fr/bluehats/autres-forges/&quot;&gt;ceci&lt;/a&gt; dans mes flux RSS,
et approfondi rapidement avec &lt;a href=&quot;https://forgejo.org/compare-to-gitea/&quot;&gt;cela&lt;/a&gt;, je n'ai pas hésité une
seconde et j'ai migré &lt;del&gt;à l'arrache&lt;/del&gt; en une soirée la &lt;a href=&quot;https://forge.tourmentine.com&quot;&gt;forge&lt;/a&gt; de Gitea vers &lt;a href=&quot;https://forgejo.org/&quot;&gt;Forgejo&lt;/a&gt;. Bien que &lt;a href=&quot;https://forgejo.org/faq/#im-sold-are-migrations-from-gitea-to-forgejo-possible&quot;&gt;
non garantie&lt;/a&gt;, la migration s'est au final très bien passé (pas comme la
&lt;a href=&quot;https://tourmentine.com/post/2018/10/13/Aux-chiottes&quot;&gt;dernière fois&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Bon par contre le thème par défaut c'était pas trop possible, je suis
retourné sur le bleu marin de Gitea, cela restera le thème par défaut (au choix
en &amp;quot;dark&amp;quot; ou en &amp;quot;light&amp;quot;)&lt;/p&gt;
&lt;p&gt;Cela sonne, déjà, la fin de six ans de règne de Gitea. Pas beaucoup de
changements, moins de thé, mais un peu plus de liberté !&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2024/09/13/C-est-en-forgeant-qu-on-fait-des-trucs-3#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2024/09/13/C-est-en-forgeant-qu-on-fait-des-trucs-3#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/382</wfw:commentRss>
              </item>
          <item>
        <title>All your base are belong to us</title>
        <link>https://tourmentine.com/post/2024/08/21/All-your-base-are-belong-to-us</link>
        <guid isPermaLink="false">urn:md5:bdfc8a79b74d5aa6e84e075570dded84</guid>
        <pubDate>Wed, 21 Aug 2024 20:12:00 +0200</pubDate>
        <dc:creator>n</dc:creator>
                        <description>          &lt;p&gt;Ça faisait &lt;a href=&quot;https://social.tourmentine.com/@n/posts/AjWuTS0McGGCUi9mQy&quot;&gt;longtemps&lt;/a&gt; que
j'avais envie d'écrire un article en mode semi-troll sur « pourquoi MariaDB
c'est mieux que PostgreSQL ». Semi-troll parce qu'il faut bien un peu de
mauvaise foi, mais en même temps je trouve qu'on casse un peu trop de sucre sur
MySQL/MariaDB, et qu'on se gargarise un peu trop du côté &amp;quot;sérieux&amp;quot; de
PostgreSQL. Et pour les vrais trolls (voir mensonges purs et simples) sur
MariaDB/MySQL, je laisse ça &lt;a href=&quot;https://sqlpro.developpez.com/tutoriel/dangers-mysql-mariadb/&quot;&gt;à
d'autres&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;C'est parti, sans ordre particulier.&lt;/p&gt;
&lt;h3&gt;Réplication&lt;/h3&gt;
&lt;p&gt;Quand MySQL et MariaDB font du multi-master en réplication asynchrone à
l'aise depuis des années, voir du vrai cluster avec Galera, PostgreSQL n'en est
capable — en théorie — que depuis sa &lt;a href=&quot;https://www.highgo.ca/2023/12/18/new-in-postgresql-16-bi-directional-logical-replication/&quot;&gt;
toute dernière version&lt;/a&gt;. Avant, sans solution externe c'était uniquement du
primaire/secondaire. Avec un secondaire en lecture seule.&lt;/p&gt;
&lt;p&gt;Sous PostgreSQL, la réplication entre deux versions majeures différentes
n'est pas possible. Pire, même une mise à jour vers une version mineure du
secondaire suffit à péter la réplication (ça m'est encore arrivé pas plus tard
que toute à l'heure). Pas de soucis dans le camp d'en face, il est même
possible de se servir de la réplication pour faire une upgrade sans
interruption de service.&lt;/p&gt;
&lt;p&gt;La réplication PostgreSQL est &lt;a href=&quot;https://social.tourmentine.com/@n/posts/AjWuCkK3G6R4NlOsHw&quot;&gt;tellement
fragile&lt;/a&gt; que j'ai fini par faire un script pour la remettre en place. Sous
MariaDB, hormis un &lt;a href=&quot;https://tourmentine.com/post/2021/09/28/Lino-D%C3%A9b%C3%A9-est-corrompu&quot;&gt;sordide problème de
binaires&lt;/a&gt;, mes derniers souvenirs de conflits de clés dupliquées remontent à
de nombreuses années.&lt;/p&gt;
&lt;h3&gt;Mise à jour&lt;/h3&gt;
&lt;p&gt;Il n'est pas possible de conserver sa base de données entre deux versions
majeures de PostgreSQL : il faut soit faire un dump puis restaurer la base de
données entière, soit passer par les commandes d'upgrade qui nécessitent
d'avoir les binaires des deux versions installées (#pratique). Sous FreeBSD,
c'est un &lt;a href=&quot;https://kiwi.tourmentine.com/public/postgresql_upgrade_on_freebsd&quot;&gt;bordel sans
nom&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour MySQL ou MariaDB, il suffit de mettre à jour les paquets, relancer le
service, et éventuellement lancer &lt;code&gt;mysql_upgrade&lt;/code&gt; ou
&lt;code&gt;mariadb-upgrade&lt;/code&gt; (dans le cas de MySQL, depuis la version 8.0.16 ça
ne sert même &lt;a href=&quot;https://dev.mysql.com/doc/refman/8.0/en/mysql-upgrade.html&quot;&gt;plus à
rien&lt;/a&gt;)&lt;/p&gt;
&lt;h3&gt;Clients en ligne de commande&lt;/h3&gt;
&lt;p&gt;Je connais par cœur les commandes SQL de base, je peux sélectionner une
base, vérifier les requêtes ou l'état de la réplication les yeux fermés avec
MariaDB. Sous PostgreSQL, je n'arrive toujours pas retenir les &lt;code&gt;\c&lt;/code&gt;,
&lt;code&gt;\dn&lt;/code&gt; et autres &lt;code&gt;\dt&lt;/code&gt; servant respectivement à se
connecter à une base, à lister les schémas et les tables...&lt;/p&gt;
&lt;h3&gt;Gestion des droits&lt;/h3&gt;
&lt;p&gt;Sous PostgreSQL, il faut jongler entre les utilisateurs, les rôles,
l'héritage, les droits définis par le fichier &lt;code&gt;pg_hba.conf&lt;/code&gt;, et ça
&lt;a href=&quot;https://blog.zedfox.us/configure-pgbouncer-to-authenticate-against-postgresql-and-rely-less-on-userlist-txt/&quot;&gt;
se complique encore plus&lt;/a&gt; si on utilise un &lt;a href=&quot;https://www.pgbouncer.org/&quot;&gt;connection pooler&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sous MariaDB, c'est une entrée avec &lt;code&gt;login:mdp@ip_source&lt;/code&gt; et des
droits sur une ou des bases et une ou des tables. &lt;a href=&quot;https://www.youtube.com/watch?v=2bjk26RwjyU&quot;&gt;Simple, basique&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Backups&lt;/h3&gt;
&lt;p&gt;Rien qu'avec l'outil de backup fourni par PostgreSQL, la restauration dépend
de la façon dont les dumps ont été faits (SQL, custom...) qu'il faut donc
connaître. Avec MariaDB, de base, &lt;a href=&quot;https://forge.tourmentine.com/n/scripts/src/branch/main/dump_mysql.sh&quot;&gt;une
seule manière de faire des dumps&lt;/a&gt;, et une restauration en rejouant les
requêtes. Simple, basique.&lt;/p&gt;
&lt;h3&gt;Merci pour le poisson&lt;/h3&gt;
&lt;p&gt;Voila, sans rancune aucune. Je continue d'utiliser les deux produits, aussi
bien en pro qu'en perso. Tout est loin d'être rose du côté de MariaDB et
&lt;del&gt;Oracle&lt;/del&gt; MySQL non plus, il y aurait aussi beaucoup à en dire.
Juste...ça marche pas si mal que ça. Et c'est souvent beaucoup, beaucoup plus
simple qu'avec Postgres.&lt;/p&gt;</description>
        
                  <comments>https://tourmentine.com/post/2024/08/21/All-your-base-are-belong-to-us#comment-form</comments>
          <wfw:comment>https://tourmentine.com/post/2024/08/21/All-your-base-are-belong-to-us#comment-form</wfw:comment>
          <wfw:commentRss>https://tourmentine.com/feed/atom/comments/381</wfw:commentRss>
              </item>
      </channel>
</rss>
