Planet Asrall

August 11, 2018

Luc Didry

Double merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle de juin… et de juillet. Du retard, toujours du retard et encore plus de retard !

Merci à :

Aparté : j’ar­rête de propo­ser de me soute­nir en bitcoins car le bitcoin est une catas­trophe écolo­gique et je ne souhaite pas caution­ner ça. J’ai donc vidé mon porte­feuille bitcoin. J’ai mis du temps à le faire pour deux raisons : d’abord, je ne pense pas souvent à mon porte­feuille bitcoin, ensui­te… l’ap­pât du gain. Faut pas se mentir, quand on voit comme le bitcoin peut grim­per, ça fait rêver de voir combien on peut gagner. Du coup, je me trans­for­mais en un spécu­la­teur de la pire espèce. Quand je m’en suis rendu compte, j’ai décidé d’ar­rê­ter. À noter que la Ğ1, si c’est une crypto-monnaie repo­sant sur une block­chain comme le bitcoin, ne présente pas les mêmes défauts : de par le divi­dende univer­sel qui est distri­bué à tous et qui augmente avec la toile de confiance, la thésau­ri­sa­tion ne sert pas à grand-chose, et la preuve de travail de la Ğ1 est beau­coup moins consom­ma­trice de ressources que le bitcoin.

Voici mon bilan de juin :

Et mon bilan de juillet :

Vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

Crédits : Photo par Connor Wells sur Unsplash

Parta­ger

by Luc at August 11, 2018 09:20 AM

July 25, 2018

Luc Didry

Retrou­vez mes confé­rences en vidéos sur PeerTube !

Juste un p’tit mot rapide pour dire que j’ai mis les vidéos des confé­rences que j’ai pu donner à droite à gauche sur PeerTube (celles que j’ai retrou­vées sur le net tout du moins).

Ça se passe sur https://aperi.tube/accounts/luc/videos, et pour vous abon­ner à mon compte via Masto­don ou autre service fédéré qui sait le faire, mon compte est @luc@a­peri.tube.

NB : https://aperi.tube n’est pas à moi (même si j’en gère le système), donc pas la peine de me deman­der un compte dessus, désolé :/

Crédits : Photo par Tim Marshal sur Unsplash

Parta­ger

by Luc at July 25, 2018 07:58 PM

July 01, 2018

Romain Dessort

Rando-voyage dans l'ouest du Canada

Je pars aujourd'hui pour un voyage de 4 mois à la découverte de l'ouest canadien, en Colombie-Britanique principalement, un peu d'Alberta et peut-être aussi au Yukon si j'ai le temps et qu'une opportunité se présente.

Je vais essayer de publier mes photos et un récit au fur et à mesure de mon périple, mais je ne promets rien, je n'aurai pas souvent accès à Internet et encore moins à un ordinateur. Ça se passera ici (flux Atom).

July 01, 2018 12:57 PM

June 30, 2018

Luc Didry

Merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle de mai (juste à temps pour pas faire une double page de remer­cie­ments demain) !

Merci à :

Voici mon bilan de mai :

Vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

PS : j’ai aussi une adresse bitcoin si vous souhai­tez me soute­nir par ce biais

Crédits : Photo par Tim Marshal sur Unsplash

Parta­ger

by Luc at June 30, 2018 09:37 PM

June 24, 2018

Florent Peterschmitt

Namasté Népal - #3.2

Plus d’un an après le dernier article sur le sujet… alala ^^'

Et comme d’habitude, un peut de shell pour corriger les images :

for i in $(find . -namae *.jpeg); do
    convert $i -auto-orient /tmp/out.jpeg
    mv /tmp/out.jpeg $i
done

Article précédent

Vadrouille - 17 Avril… 2017, hein :D

L’objectif était de visiter le musée Gurkha la grotte « Mahendra », où je me suis rendu compte après coup avoir été correctement plumé… ah bah on est touriste ou on ne l’est pas ^_^ !

Voici donc les photos prises pendant le trajet.

photo

photo

photo

Bindabasini Temple

Endroit un peu en hauteur, vent frais. Je n’ai pas pris beaucoup de photos car j’ai une vidéo du lieu, trop lourde pour être postée ici malheureusement. J’aurais dû y penser, c’est trop tard maintenant !

photo

photo

photo

Musée Gurkha

Étant très mauvais historien, je préfère encore vous rediriger vers la page wikipedia sur les Gurkhas plutôt que de tout recopier :)

Pour faire simple, les Gurkhas sont des unités armées britanniques, entraînées sur place.

photo

photo

photo

Visite officielle et rumeurs…

photo

photo

Mousquets Martini Henry et India Pattern

photo

photo

Moderne et toujours présent

photo

photo

photo

En allant vers la grotte

photo

À l’intérieur de la grotte, à l’entrée, on trouve une roche ayant l’apparence d’une trompe d’éléphant, rapport à Ganesh, le dieu à tête d’éléphant. Peu de touristes sont présents ici, les personnes se bouscules pour faire une brève prière et s’attirer la bonne fortune.

Ce qui n’empêche pas l’endroit d’être jonché de bouteilles en plastique.

photo

Le guide m’emmène vers le reste de la grotte, où seuls les touristes vont. Il avoue lui-même que les touristes Indiens ne sont pas respectueux des lieus et qu’il ne souhaite pas que cette partie soit publiquement accessible.

Bon par contre, vous remarquerez que j’ai honteusement dérangé ces charmantes chauves-souris…

photo

photo

photo

photo

photo

À la sortie de la grotte, c’est là que le plumage a eu lieu. En grand champion, j’ai confondu, à l’orale, “1000” et “100” en anglais : le guide a annoncé 8000 roupies, j’ai compris 800. Résultat j’y ai laissé 80€ au lieu de 8 pour la visite… évidemment le guide n’allait pas refuser, et il a eu bien raison d’essayer !

En somme, une journée bien physique, crapahuter dans la grotte c’était quand même assez chouette, et puis surtout il y faisait bien frais :D

by Florent Peterschmitt at June 24, 2018 04:00 PM

May 01, 2018

Luc Didry

Merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle d’avril !

Merci à :

Voici mon bilan d’avril :

Sur une note un peu sombre, j’ai coupé l’en­voi d’images sur https://lut.im, l’ins­tance offi­cielle de Lutim. Je m’en suis expliqué sur un (assez) long fil Masto­don : https://frama­piaf.org/@fra­masky/99863305805130122. Ça ne veut pas dire que j’ar­rête de déve­lop­per Lutim, juste que https://lut.im n’ac­cepte plus de nouvelles images (celles qui y sont déjà reste­ront acces­sibles, rassu­rez-vous).

Vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion du mois d’août.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

PS : j’ai aussi une adresse bitcoin si vous souhai­tez me soute­nir par ce biais

Crédits : Photo par Tim Marshal sur Unsplash

Parta­ger

by Luc at May 01, 2018 01:55 PM

April 29, 2018

Luc Didry

Merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle de mars !

En retard, comme d’hab, mais cette fois-ci, ce n’est pas de la flemme : le mois d’avril a été bien rempli, vous verrez sur la prochaine page de remer­cie­ments 😉

Merci à :

Voici mon bilan de mars :

Et vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion du mois d’août.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

PS : j’ai aussi une adresse bitcoin si vous souhai­tez me soute­nir par ce biais

Crédits : Photo par Aaron Burden sur Unsplash

Parta­ger

by Luc at April 29, 2018 11:14 AM

April 21, 2018

Luc Didry

Signer ses commits Git et trans­fé­rer son gpg-agent sur un serveur distant

GPG, c’est bien. C’est encore ce qu’on a trouvé de mieux pour que tout un chacun puisse s’as­su­rer de l’au­then­ti­cité d’un message (non-modi­fi­ca­tion de celui-ci et que son auteur est bien celui annoncé) et chif­frer ses messages.

OK, c’est pas un exemple d’er­go­no­mie, OK, c’est pas ma mère qui va s’en servir sciem­ment tous les jours (sous le manteau, si, puisque les paquets de sa Debian sont signés avec GPG). Mais d’un autre côté, ma mère ne risque pas non plus (et je dirais même encore moins) de se payer un certi­fi­cat X509 pour signer ses mails. Ne parlons pas de mon père, à côté de lui, ma mère fait figure de hax0r.

Bon, d’ac­cord, c’est un bon gros truc de geek. OSEF, c’est cool quand même, c’était pour dire que c’était robuste et que tout le monde peut l’uti­li­ser sans bourse délier.

Que vous le sachiez (dans la colle) ou pas, on peut signer ses commits git avec GPG, histoire d’ajou­ter encore une couche de sécu­rité aux modi­fi­ca­tions qu’on apporte à un logi­ciel. Des forges comme Gitlab permettent d’ajou­ter une clé GPG à son profil permet­tant ainsi de véri­fier les signa­tures des commits d’un projet. Voyez sur ce commit le joli petit bouton « Veri­fied ».

Ceci n’est pas un cours sur GPG, on va donc consi­dé­rer que vous avez déjà une clé GPG.

Signer ses commits Git

Rien de plus simple. Il faut tout d’abord décla­rer à Git quelle clé doit être utili­sée pour signer ses commits (chan­gez l’em­preinte, ça c’est la mienne ) :

git config --global user.signingkey EA868E12D0257E3C

Main­te­nant, soit vous ajou­tez -S quand vous commit­tez :

git commit -S

Soit vous confi­gu­rez Git pour signer tous vos commits :

git config --global commit.gpgsign true

Voilà, c’est bon. Pour véri­fier un commit :

git verify-commit cce09ca

C’est bien beau, mais ça m’ar­rive de déve­lop­per direc­te­ment sur des serveurs, et surtout, je déve­loppe géné­ra­le­ment dans une machine virtuelle sur mon PC. Je ne vais certai­ne­ment pas aller copier ma clé privée sur les-dits serveurs ou dans la machine virtuelle ! C’est là qu’in­ter­vient le trans­fert du gpg-agent sur le serveur distant.

Ceci n’est toujours pas un cours sur GPG, on va donc consi­dé­rer que vous avez déjà un gpg-agent fonc­tion­nel sur votre ordi­na­teur.

Trans­fé­rer son gpg-agent sur un serveur distant

ATTENTION On ne trans­fère son agent gpg que sur une machine dans laquelle on a confiance, et dont on sait que les personnes y ayant accès ne s’amu­se­ront pas à utili­ser votre agent (rien de plus simple si on a un accès root à la machine). Cela vaut aussi pour l’agent ssh !

Premiè­re­ment, on va dire à l’agent de créer un socket supplé­men­taire en mettant dans ~/.gnupg/gpg-agent.conf (rempla­cez <user> par votre login) :

extra-socket /home/<user>/.gnupg/S.gpg-agent.extra

Ce socket a des restric­tions que n’a pas le socket habi­tuel (ne me deman­dez pas lesquelles) mais surtout, le logi­ciel qui vous deman­dera votre mot de passe (pinen­try de son petit nom géné­rique) vous présen­tera la demande de mot de passe diffé­rem­ment d’ha­bi­tude. Moi, il m’a dit en gros « Cette demande provient d’une machine distante », ce qui permet de repé­rer d’où vient la demande (déjà pas de votre machine pour déchif­frer un mail par exemple) et de réflé­chir à si c’est bien vous qui avez fait une action deman­dant la clé GPG.

On redé­marre l’agent pour prendre en compte la nouvelle confi­gu­ra­tion :

gpg-connect-agent /bye

Ensuite, il va falloir modi­fier sa confi­gu­ra­tion SSH. Comme un bon adminSys est fainéant, vous avez bien sûr utilisé concierge pour gérer votre fichier ~/.ssh/config. Il suffit d’ajou­ter dans le bloc de confi­gu­ra­tion du serveur souhaité la ligne (rempla­cez uid par votre uid (id pour le connaître) et <user> par votre login):

RemoteForward /run/user/<uid>/gnupg/S.gpg-agent /home/<user>/.gnupg/S.gpg-agent.extra

Enfin, il faut ajou­ter ceci dans le /etc/ssh/sshd_config du serveur distant (et redé­mar­rer son dæmon ssh après) :

StreamLocalBindUnlink yes

C’est fini ! Vous pouvez main­te­nant utili­ser votre clé GPG sur un serveur distant en vous y connec­tant en SSH, sans copier votre clé sur le serveur

Connec­tez-vous en SSH et testez avec

echo "test" | gpg2 --clearsign

Si, lorsque vous tentez de signer un commit sur votre serveur distant, cela échoue, assu­rez-vous que git utilise bien gpg2 :

git config --global gpg.program gpg2

Merci à Thomas Citha­rel pour avoir mis la signa­ture GPG des commits sur le tapis d’une discus­sion, ce qui m’a poussé à me pencher sur le trans­fert de l’agent GPG.

Crédit image d’en-tête de ce billet : logo de GnuPG, licence GPL, récu­péré sur Wiki­me­dia Commons

Parta­ger

by Luc at April 21, 2018 05:54 AM

April 04, 2018

Luc Didry

Utili­ser les données de Munin dans Grafana

Munin est un super outil de métro­lo­gie. Simple à instal­ler (présent dans toutes les bonnes distri­bu­tions), simple à confi­gu­rer (à un tel point que c’en est risible) et simple à étendre (on peut écrire des plugins pour tout, même pour surveiller une cafe­tière).

Mais on entend souvent « Ouais, mais les graphes RRDtool, c’est moche » (RRDtool est un outil permet­tant de faire plein de choses avec des bases de données RRD (Round Robin Data­base, bases de données tempo­relles), qui donne des graphiques au look vieillot).

Genre des graphes comme ça :

Du coup on n’en­tend plus parler que de Prome­theus, NetData et autres trucs de hips­ter bran­chouilles (mode vieux con assumé).

Ok, vous voulez du joli dash­board ? On va vous en donner.

La réfé­rence du machin qui fait des jolis graphes, c’est Grafana. Donc je suis parti sur ça.

Permettre à Grafana d’avoir accès aux données de Munin

Parce que Grafana ne sait pas taper dans des bases de données RRD, on va instal­ler Grafana RRD Server. Celui-ci va four­nir une API JSON à Grafana pour aller taper dans les bases RRD de Munin.

apt install librrd-dev

Ensuite

cd /tmp
wget https://github.com/doublemarket/grafana-rrd-server/releases/download/v0.0.5/grafana-rrd-server_linux_amd64.gz -O grafana-rrd-server.gz
gunzip grafana-rrd-server.gz
mv grafana-rrd-server /usr/bin/

On le lance ainsi (regar­dez le -h pour le détail des options) :

grafana-rrd-server -r /var/lib/munin/

Il écou­tera par défaut sur toutes les IPs, sur le port 9000. Libre à vous de le mettre derrière un Nginx ou autre, avec ou sans authen­ti­fi­ca­tion.

Pour le service systemd :

[Unit]
Description=Grafana RRD Server
Documentation=https://github.com/doublemarket/grafana-rrd-server
Requires=network.target
After=network.target

[Service]
Type=simple
User=munin
ExecStart=/usr/bin/grafana-rrd-server -r /var/lib/munin/
SyslogIdentifier=grafana-rrd-server

[Install]
WantedBy=multi-user.target

(Je ne l’ai pas testé, je viens de l’écrire à l’os)

systemctl daemon-reload
systemctl start grafana-rrd-server
systemctl status grafana-rrd-server
systemctl enable grafana-rrd-server

Instal­ler Grafana

Grafana four­nit un dépôt APT, ce qui est bien pratique :

apt install -y apt-transport-https
echo "deb https://packagecloud.io/grafana/stable/debian/ stretch main" > /etc/apt/sources.list.d/grafana.list
curl https://packagecloud.io/gpg.key | sudo apt-key add -
apt update
apt install grafana
systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server

Hop, il écoute par défaut sur toutes les inter­faces, sur le port 3000. Encore une fois, à vous de le mettre derrière un Nginx, etc.

Le couple login / mot de passe par défaut est admin et admin.

Faire la liai­son entre les deux

Il faut encore que Grafana soit capable d’in­ter­ro­ger l’API JSON de Grafana RRD Server. Pour ça, on va lui instal­ler le plugin SimpleJ­son :

grafana-cli plugins install grafana-simple-json-datasource

Confi­gu­rer Grafana

Allez sur votre Grafana, allez dans la section « Data sources », cliquez sur « Add data source », choi­sis­sez le type SimpleJ­son, mettez l’adresse de votre Grafana RRD Server et hop, c’est tout bon. Vous n’avez plus qu’à ajou­ter des graphes prove­nant de cette source de données dans vos dash­boards.

Bon pis voilà, ça permet d’avoir un truc comme ça :

Conclu­sion

J’ai fait ça pour le fun, parce que j’en avais marre d’en­tendre des critiques sur Munin et des « Nan mais Prome­theus, c’est vache­ment mieux tu vois ». Non, je ne vois pas. Oui, les nouveaux outils sont jolis. Oui, ils ont une super granu­la­rité. Mais des points qu’on oublie souvent, c’est :

  • Munin est telle­ment simple à instal­ler et confi­gu­rer ;
  • Des jolis graphes, ouais, c’est cool, mais sérieux, qui se touche la nouille sur ses graphes toute la jour­née ? Ok, Munin, c’est assez moche, mais ça fait le job, je suis informé en regar­dant les graphes, et c’est tout ce que je lui demande ;
  • Prome­theus, NetData et compa­gnie, ça surveille telle­ment de trucs en perma­nence que ça ne se fait pas oublier sur le serveur. Si, si, j’ai bien vu ces outils me ralen­tir mes serveurs. Quand le serveur est à la peine, ces deux outils ont empiré les choses, là où Munin ne fait ses checks que toutes les cinq minutes. #TrueS­tory

Donc voilà : on est capable d’avoir de jolis graphes avec Munin, avec un mini­mum de taf. Bon, c’est en place, je vais pas jeter le boulot que j’ai fait, mais à moins qu’on me dise au boulot « C’est méga top, je vais m’en servir tout le temps », je vais le désac­ti­ver.

Bon, y a quand même un truc pas mal avec cette histoire, c’est qu’on peut affi­cher sur le même graphe des données qui ne sont pas agré­gées sur Munin. Genre empi­ler les nombres de mails envoyés par jour par toutes les machines qui envoient du mail, comme sur le graphe en bas à gauche de l’image ci-dessus. C’est pas complè­te­ment dénué d’in­té­rêt.

NB : Prome­theus et NetData ont d’autres quali­tés que les jolis graphes, comme par exemple des alertes intel­li­gentes. Contrai­re­ment à Munin (ou Nagios, ou autre système de moni­to­ring clas­sique) qui alerte quand les valeurs dépassent un certain seuil, ces nouveaux outils vont dire « Atten­tion, si le disque conti­nue à se remplir à ce rythme là, il sera plein dans 4h », même si le disque n’est rempli qu’à 50%. Et c’est bien. Mais pour moi, Munin, c’est de la métro­lo­gie (on enre­gistre, on peut consul­ter le passé et le présent), pas de la super­vi­sion au sens Nagios. Il peut le faire, mais c’est clai­re­ment pas son usage premier. Donc du coup, les nouveaux outils vont se compa­rer à mon instal­la­tion de Shin­ken, pas à mon Munin. Compteur Dolomon

Parta­ger

by Luc at April 04, 2018 05:00 AM

March 10, 2018

Luc Didry

Un vilain double oubli 🙁

Honte à moi ! Ça fait deux fois que j’ou­blie quelqu’un dans mes remer­cie­ments mensuels 🙁

Bah comme ça, il aura droit à un article rien que pour lui ! 😁

Merci donc à Lian­dri pour son colis de victuailles bretonnes : bière, cara­mel au beurre salé, rillettes de St-Jacques, galettes apéro et j’en passe !

Hé oui, y a pas que les tips en numé­raire qui font plai­sir, bien au contraire !

Voilà son commit dédié rien qu’à lui : https://frama­git.org/luc/last/commit/a978f044096116bd6c26c89a6a3211c7582b468e

Encore merci !

Parta­ger

by Luc at March 10, 2018 09:44 AM

Une nouvelle version de Lutim !

Lutim, mon logi­ciel d’hé­ber­ge­ment d’images est sorti en version 0.9 hier soir !

Huit mois après la version 0.8, cette nouvelle version n’ap­porte pas grand chose à l’uti­li­sa­teur, si ce n’est une inter­face par défaut légè­re­ment modi­fiée, moins char­gée (j’es­père) et une gale­rie (norma­le­ment) plus perfor­mante, par contre cette version améliore un certain nombre de choses sous le capot.

Voici la liste des modi­fi­ca­tions :

  • Le thème par défaut a été modi­fié ;
  • Un nouveau moteur de gale­rie, qui me permet, entre autres, de n’af­fi­cher que des minia­tures des images, et de n’ap­pe­ler l’image origi­nelle qu’en la visua­li­sant en diapo­rama : cela devrait accé­lé­rer l’af­fi­chage de la gale­rie ;
  • Utili­sa­tion de Mojo::SQLite à la place de l’ORM ORLite. Ceci permet d’avoir une syntaxe de la couche d’abs­trac­tion SQLite beau­coup plus proche de celle de Post­greSQL, ce qui me faci­li­tera les évolu­tions. De plus, Mojo::SQLite permet de faire des migra­tions de schéma de base de données beau­coup plus simple­ment (c’est juste­ment un chan­ge­ment de schéma qui m’a fait bascu­ler vers Mojo::SQLite) ;
  • La possi­bi­lité de forcer la langue d’af­fi­chage. Précé­dem­ment, le système de traduc­tion se basait sur les en-têtes envoyés par le navi­ga­teur ;
  • Ajout d’une traduc­tion (partielle) en arabe (merci à Butter­flyOfFire) ;
  • Inté­gra­tion de la plate­forme de traduc­tion Zanata ! Plus besoin de bidouiller des fichiers .po pour contri­buer à une langue : créez-vous un compte sur https://trad.frama­soft.org, rejoi­gnez une équipe de langue et allez sur https://trad.frama­soft.org/zanata/project/view/lutim/ pour commen­cer à traduire 🙂 (envoyez-moi un message si votre langue n’est pas dans la liste propo­sée) ;
  • Amélio­ra­tion de la cryp­to­gra­phie avec l’uti­li­sa­tion d’un vecteur d’ini­tia­li­sa­tion aléa­toire ;
  • Les gens d’Infini ont ajouté une option pour person­na­li­ser les délais de réten­tions.
  • Des correc­tions de bugs (dont le collage d’image qui avait sauté lors de la correc­tion d’une faille de sécu­rité il y a peu)

Ça ne fait pas grand chose dit comme ça, mais cela repré­sente mine de rien 74 fichiers modi­fiés, 1030 ajouts et 243 suppres­sions de lignes.

Si seule­ment j’avais plus de temps et moins de logi­ciels à main­te­nir… 😛

Parta­ger

by Luc at March 10, 2018 09:22 AM

Merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle de février !

Merci à :

Voici mon bilan de février :

  • J’ai bossé sur MyPads. Il est diffi­cile de diffé­ren­cier sur la liste des commits la part de mes contri­bu­tions sur mon temps de travail (Frama­soft m’al­loue une jour­née par semaine pour bosser sur MyPads) de celles sur mon temps person­nel, mais je vous assure qu’il y en a !
  • Lufi-cli, le client en ligne de commande pour Lufi, est sorti en version 0.3. Pas de modi­fi­ca­tions de compor­te­ment, mais un simple fix pour forcer l’uti­li­sa­tion d’une certaine version d’une dépen­dance à l’ins­tal­la­tion, version sans laquelle lufi-cli ne fonc­tionne pas.
  • J’ai fixé une vulné­ra­bi­lité sur Lutim

En ce qui concerne les commits dédiés :

Et vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion du mois d’août.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

PS : j’ai aussi une adresse bitcoin si vous souhai­tez me soute­nir par ce biais

Crédits : Photo par Craig White­head sur Unsplash

Parta­ger

by Luc at March 10, 2018 08:58 AM

February 12, 2018

Luc Didry

Chan­ger ses mots de passe rapi­de­ment avec Salt

Préam­bule

Salt est un logi­ciel de gestion de confi­gu­ra­tion comme Puppet ou Ansible.

Je l’uti­lise chez Frama­soft et sur mon infra person­nelle parce que je l’aime bien :

  • rapide ;
  • très bien docu­menté ;
  • syntaxe claire, acces­sible mais néan­moins flexible et puis­sante.

Je change mes mots de passe régu­liè­re­ment (une fois par an envi­ron). C’est toujours galère à faire quand on gère une tripo­tée de serveurs (entre les serveurs physiques et les VMs, on en est à 80 serveurs chez Frama­soft).

Avant, je faisais ça à la main : je lançais mssh sur 4, 6 ou 8 serveurs à la fois, et je modi­fiais mon mot de passe à la main. Mais ça, c’était avant.

Salt à la rescousse

Pour chan­ger le mot de passe de l’uti­li­sa­teur bar sur le serveur foo avec salt, on fait :

salt foo shadow.set_password bar "$6$saltSALT$HASHEDPASSWORD"

$6$saltSALT$HASHEDPASSWORD corres­pond à votre mot de passe salé et hashé. Vous retrou­vez un brol du genre dans votre /etc/shadow (Oh ! Vous avez remarqué ? C’est le nom du module salt qui permet de modi­fier votre mot de passe ! C’est bien fait quand même 😁)

Pour créer un sel (le saltSALT, rien à voir avec le logi­ciel), j’uti­lise mkpasswd.pl, fourni par le paquet Debian libstring-mkpasswd-perl :

mkpasswd.pl -l 8 -s 0

Pour créer l’en­semble $6$saltSALT$HASHEDPASSWORD, vous pouvez utili­ser python :

python -c "import crypt; print crypt.crypt('PASSWORD', '\$6\$saltSALT')"

Bon, on sait comment faire, mais on ne va pas s’amu­ser à taper 80 fois ces commandes !

Salt permet de véri­fier que les minions (les agents Salt) répondent bien avec cette commande :

salt foo test.ping

Ce qui donne :

foo:
    True

On va chan­ger le format de sortie :

salt foo --out text test.ping

Ce qui nous donne :

foo: True

Bien ! On peut pinguer d’un coup tous les minions avec :

salt \* --out text test.ping

On a donc la liste des minions, la commande pour chan­ger le mot de passe… on va mixer tout ça :

salt \* --out text test.ping | \
 sed -e "s@\([^:]*\):.*@echo salt \1 shadow.set_password bar \\\\\"\$(python -c \"import crypt; print crypt.crypt('PASSWORD', '\\\\\$6\\\\$\$(mkpasswd.pl -l 8 -s 0)')\")\\\\\"@"

1ère regex : on dégage les : True, et la deuxième, on enrobe le nom du minion pour que ça nous donne un truc comme :

echo salt foo shadow.set_password bar \"$(python -c "import crypt; print crypt.crypt('PASSWORD', '\$6\$$(mkpasswd.pl -l 8 -s 0)')")\"

Quand on exécute ça, ça donne un truc genre :

salt foo shadow.set_password bar "$6$8qJhzAi6$.O8bOisJaM9fH05aXx7xnKXOVFoI9CRzjORFWDqoPR/TBOiYVZUEJKtUKirNMyaZJvJMYPVUMhnNry9QPJgHK/"

Bien évidem­ment, on va mettre ça dans un fichier qu’on va éditer pour modi­fier le mot de passe (bah oui, on va quand même pas mettre le même mot de passe sur tous les serveurs).

salt \* --out text test.ping | \
 sed -e "s@\([^:]*\):.*@echo salt \1 shadow.set_password bar \\\\\"\$(python -c \"import crypt; print crypt.crypt('PASSWORD', '\\\\\$6\\\\$\$(mkpasswd.pl -l 8 -s 0)')\")\\\\\"@" > /tmp/chpasswd.txt

On édite /tmp/chpasswd.txt pour mettre ses mots de passe bien comme il faut puis :

bash /tmp/chpasswd.txt | bash

Le echo va nous sortir la commande kiva­bien qui sera inter­pré­tée par bash. Le $(mkpasswd.pl -l 8 -s 0)') sera remplacé par un sel diffé­rent à chaque fois et le bout de python trans­for­mera le sel et le mot de passe en hash dans le format kiva­bien pour le fichier /etc/shadow, et la commande salt sera lancée sur chaque minion.

Et voilà 🙂

Crédits : photo par Nikita Andreev

Parta­ger

by Luc at February 12, 2018 07:55 PM

February 10, 2018

Luc Didry

Double merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle de décembre et janvier !

Et oui, j’ai zappé la page de remer­cie­ments de décembre (je rappelle que je les publie au début du mois suivant). Je me suis laissé débordé.

Merci à :

Voici mon bilan de décembre :

  • Patch de MyPads pour fonc­tion­ner avec toutes les versions de NodeJS
  • J’ai fait un script pour faci­li­ter la créa­tion d’images ISO de Debian présee­dées : preseed_crea­tor.sh (présee­dées veut dire qu’on répond à l’avance aux ques­tions de l’ins­tal­leur Debian)
  • Last est passé en version 0.5.0
  • WemaWema est passé en version 26.0

Et pour les commits dédiés :

Passons à janvier :

  • J’ai fait une contri­bu­tion à Gitlab afin de pouvoir écrire un programme qui permet­tra de créer des certi­fi­cats Let’s Encrypt pour tous les domaines person­nels ajou­tés aux Gitlab Pages
  • J’ai écrit un bot Masto­don qui poste des images tirées aléa­toi­re­ment d’Unsplash : Unsplash masto­bot
  • J’ai bossé sur Lutim
    • quelques bugfixs
    • utili­sa­tion de mon plugin StaticCache
    • modi­fi­ca­tion du thème par défaut
    • utili­sa­tion de PhotoS­wipe pour la gale­rie
  • Encore du boulot sur MyPads

Les commits dédiés :


Et vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion du mois d’août.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

PS : j’ai aussi une adresse bitcoin si vous souhai­tez me soute­nir par ce biais

Crédits : Photo par Craig White­head sur Unsplash

Parta­ger

by Luc at February 10, 2018 03:41 PM

December 04, 2017

Luc Didry

Merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle de novembre !

Merci à :

Voici mon bilan de novembre :

  • Quelques modi­fi­ca­tions sur WemaWema : j’ai ajouté quelques polices, amenant le n° de version à 24.4
  • J’ai ajouté une barre de progres­sion sur mon graphe chro­no­lo­gique de la toile de confiance Duni­ter
  • Un peu de boulot sur Lufi : les cookies sont main­te­nant plus propres et on peut défi­nir un domaine fixe pour les URLs des fichiers (ce qui veut dire qu’on peut envoyer des fichiers sur https://example.org et avoir des liens en https://bidule.org — après c’est à l’ad­min de l’ins­tance de se débrouiller pour que l’ins­tance réponde bien sur le domaine fixe)

Ça a été assez calme, mais il faut voir que j’ai repris les cours et que j’ai été faire une confé­rence aux JRES, confé­rence que vous pouvez retrou­vez sur l’ins­tance de test de PeerTube (PeerTube, un logi­ciel qu’il est bien et qui devrait permettre à tout à chacun de gérer sa plate­forme de vidéos sans les soucis de bande passante habi­tuels, soute­nez-le !) : https://peer­tube.cpy.re/videos/watch/b1e5­ba7e-2a8a-44d4–8151-aa8f5f6eafd9.

En ce qui concerne les commits dédiés :

Et vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion du mois d’août.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

PS : j’ai aussi une adresse bitcoin si vous souhai­tez me soute­nir par ce biais

Parta­ger

by Luc at December 04, 2017 07:11 PM

Encore un bug Ganeti

Petite blagou­nette de Ganeti, à cause de la version d’OpenSSH de Debian Stretch.

Adonc, la situa­tion : j’ai récem­ment voulu ajou­ter un nouveau serveur au clus­ter Ganeti de Frama­soft. Et pas moyen pour ganeti de contac­ter le nouveau nœud une fois qu’il y a ajouté sa clé SSH (les commu­ni­ca­tions entre les nœuds passent par SSH).

Tous les serveurs du clus­ter avaient été récem­ment mis à jour vers Debian Stretch, vu que je n’aime pas me traî­ner de vieilles versions des systèmes que je gère, et qu’on profite géné­ra­le­ment de nouvelles règles de sécu­rité.

Et en effet, la version d’OpenSSH de Stretch, la version 7, désac­tive par défaut l’uti­li­sa­tion de clés DSA.

Pour notre malheur, Ganeti utilise des clés DSA pour la commu­ni­ca­tion entre les nœuds du clus­ter. Impos­sible du coup pour Ganeti de se connec­ter au nouveau nœud avec sa clé DSA.

En atten­dant la sortie de Ganeti 2.16 qui devrait permettre de choi­sir le type de clés à employer, on va, pour contour­ner le souci, modi­fier les fichiers /etc/ssh/ssh_config et /etc/ssh/sshd_config pour y ajou­ter :

PubkeyAcceptedKeyTypes=+ssh-dss

Ne me jugez pas, je sais que c’est très sale, mais c’est le seul moyen que j’ai trouvé pour pouvoir conti­nuer à opérer mon clus­ter Ganeti.

EDIT (10 décembre 2017) : La version de Ganeti de Debian 9.3 permet de chan­ger le type des clés SSH de Ganeti ! Vous pouvez, après avoir passé tous les nœuds de votre clus­ter en Debian 9.3, modi­fier le type de clé utilisé avec la commande

gnt-cluster renew-crypto --new-ssh-keys --ssh-key-type=rsa --ssh-key-bits=2048

Allez voir la page de manuel de gnt-cluster, à la section INIT pour voir les options. Vous pouvez utili­ser des clés DSA, RSA et ECDSA.

Crédit : Photo de Santosh Maharjan sur Unsplash

Parta­ger

by Luc at December 04, 2017 06:28 PM

December 03, 2017

Alexandre Bailly

Changer l'extension de plusieurs fichiers en une simple manipulation

Contrairement à MS-DOS, il n'y a pas de méthode simple pour changer juste l'extension sur un grand nombre de fichiers.

Il existe des solutions avec une interface graphique, ou un ensemble de commandes à taper.

J'ai fini par m'écrire un script qui évite de retaper toutes les commandes. Et pour le retrouver facilement, je l'ai appelé mass-rename, et l'ai enregistré sous /usr/local/bin

#!/bin/bash
cd "$1"
for f in *.$2; do 
mv -- "$f" "${f%.$2}.$3"
done

Utilisation :

mass-rename   

Exemple :

mass-rename ~/bureau/webcomics zip cbz

Attention : ce script ne fait absolument aucune vérification. À utiliser à vos risques et périls.

by nah at December 03, 2017 06:14 PM

November 12, 2017

Luc Didry

Merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle d’oc­tobre ! Je crois que je vais arrê­ter de m’ex­cu­ser pour mes retards, vous savez que j’ai du mal à faire la page de remer­cie­ments en temps et en heure 😛

Merci à :

Voici mon bilan d’oc­tobre :

  • Beau­coup, beau­coup de modi­fi­ca­tions sur WemaWema : on était à la version 14 le 9 octobre, la dernière version d’oc­tobre est la 24.2 ! (et depuis, on en est à la 24.4)
  • J’ai beau détes­ter Docker quand on parle de produc­tion, cela n’en reste pas moins un bon outil pour l’in­té­gra­tion conti­nue. J’ai donc publié mes Docker­file qui me servent pour faire des conte­neurs d’in­té­gra­tion conti­nue
  • J’ai revu le template de mes cours pour permettre de télé­char­ger les PDFs direc­te­ment depuis la page du cours en ques­tion
  • Mojo­li­cious::Plugin::StaticCache est passé en version 0.02
  • Lstu a eu un petit bugfix est est passé en version 0.09–2
  • Last est passé en 0.4.0 : on peut main­te­nant choi­sir la time­zone

En ce qui concerne les commits dédiés :

Et vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion du mois d’août.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

PS : j’ai aussi une adresse bitcoin si vous souhai­tez me soute­nir par ce biais

Parta­ger

by Luc at November 12, 2017 06:21 PM

November 04, 2017

Florent Peterschmitt

In the cloud

Ayé, mes mails sont repartis dans le cloud. Après quelques années d’hébergement de ce service, entre autres, sur un serveur OVH, retour arrière.

J’entends déjà les férus d’auto-hébergement avec leur baie à la maison crier au scandale, et pourtant…

Au début

  • Apprendre à configurer un serveur mail
  • Le tester
  • Le tester dans la vraie vie
  • Faire une bourde et se retrouver un relais ouvert
  • Paniquer un peu parce que tout a été monté à l’arrache et qu’on a perdu la conf-ki-marche
  • …du temps passe…
  • Automatiser la configuration avec Puppet
  • Automatiser la configuration avec Ansible parce que Puppet c’est chiant
  • Mettre tout le monde dans des conteneurs LXC
  • Changer de serveurs
  • Rajouter quelques entrées DNS pour SPF
  • En avoir ras le bol du spam et mettre un antispam… et en chier
  • Se rendre compte que ça marche mal parce que T’ES TOUT SEUL sur ton serveur
  • rspamd est sorti, remplacer son antispam
  • Changer de serveur, encore
  • Faire la réputation de son IP auprès de Microsoft, se rendre compte que ça marche pas beaucoup mieux
  • …du temps passe…
  • Mettre de la sauvegarde en place
  • …du temps passe…
  • Mettre en place un webmail
  • Être content de tout ça parce que ça marche quand même bien.

Vers la fin

  • Rajouter un serveur tampon au cas où un truc casse.
  • …du temps passe…
  • Avoir des pépins avec son serveur (corruptions de fichiers bonjour !).
  • Vouloir bosser sa partition de piano.
  • Réfléchir deux secondes… (1… 2…) et se dire que tout compte fait, ça vaut pas le coup.

Ou que en tout cas, ça n’en vaut plus la peine.

Faire son propre serveur mail c’est sympa au début ouais, quand on apprend, mais en fin de compte ça sert pas à grand chose selon moi sinon pouvoir bidouiller ses paramètres et se faire plaisir sur quelques trucs “sympas”, comme les filtres sieve ou alors mettre son webmail favoris avec des leds RGB dessus =D

Pour la vie privée c’est bien aussi.

Après il y a toujours la méthode « utiliser un conteneur Docker/LXC/sketuveux fait par quelqu’un d’autre » mais à ce compte là je préfère carrément me tourner vers des fournisseurs qui me règleront d’autres problèmes, comme la réputation par exemple.

Du coup, mes mails sont partis chez Gandi. Et c’est super simple à faire :

On coupe les services, parce que balek du temps d’indispo, il n’y a que moi que ça va embêter et les serveurs mail réessayent suffisemment longtemps pour pas avoir à y penser ou à devoir faire du relay :

systemctl stop postfix
systemctl disable postfix

Un peu de conf BIND :

@ IN MX 10 spool.mail.gandi.net.
@ IN MX 50 fb.mail.gandi.net.

@ IN TXT "v=spf1 include:_mailcust.gandi.net ?all"
@ IN SPF "v=spf1 include:_mailcust.gandi.net ?all"

Un petit coup d’imapsync :

imapsync --host1 imap.peterschmitt.fr --user1 tusauraspa\@peterschmitt.fr --password1 encoremoins \
         --host2 mail.gandi.net --user2 tusauraspa\@peterschmitt.fr --password2 encoremoins

Et paf ! https://webmail.gandi.net et c’est torché.

Et ta vie privay ?

J’ai pas été trop regardant mais il me semble que Gandi ne fait pas partie des enfoirés style Google ou autres.

ProtonMail semble être une excellente alternative, vu que les mails sont chiffrés, mail il faut payer ~5€/mois pour y brancher son domaine perso. Pas cher mais pour ce que je fais du mail maintenant, franchement bof…

Enfin, mon domaine est déjà enregistré chez Gandi, activer le mail chez eux n’a pris que cinq minutes à tout casser. Ça c’est l’argument de la flemme.

Et si je veux pas t’envoyer de mail parce que t’es plus auto-hébergé ?

Par pigeon voyageur boudiou !

XMPP avec la même adresse mail ;-) Ce service est moins contraignant que le mail à maintenir, n’offre pas les mêmes services, certes, mais du coup il ne fera pas partie de la liste des trucs à me décharger.

Des bisous.

PS : les commentaires sont de retour ;-)

by Florent Peterschmitt at November 04, 2017 05:30 PM

October 19, 2017

Luc Didry

Lut.im : une tragé­die des communs évitée

Savez-vous ce qu’est la tragé­die des communs ? C’est quand une ressource commune est surex­ploi­tée et au final, tout le monde est perdant.

C’est un peu ce qui se passe en ce moment sur l’ins­tance offi­cielle de mon logi­ciel Lutim : https://lut.im.

En effet, depuis déjà quelques jours, ce site est inac­ces­sible en soirée. Trop d’uti­li­sa­teurs qui veulent voir trop d’images en même temps. Lut.im victime de son succès ?

Oui et non : oui car le site commence à être plutôt connu (surtout en Russie, allez savoir pourquoi) ; non car c’est un problème d’abus de la ressource commune qu’est lut.im : en effet, le problème vient de l’uti­li­sa­tion qui est en faite par quelques personnes.

Pour comprendre ce qui se passait, j’ai activé les logs d’ac­cès au service — en prenant soin de ne pas affi­cher les adresses des images deman­dées (voir plus bas) — et j’ai noté quelques adresses de refe­rer suspectes ainsi qu’un nombre incroyable de requêtes deman­dées par des user-agent Kodi et quelques XBMC.

J’ai été voir sur un des refe­rer suspects : un site de strea­ming de chaîne télé… et certains des logos des chaînes étaient héber­gés sur https://lut.im ! Ça m’a mis la puce à l’oreille quant aux user-agent Kodi. Un peu de recherche genre kodi tv channel "https://lut.im" et je tombe sur un truc comme http://www.listaiptv­bra­sil.com.br/paste.php?id=3 (oui, je savais qu’il y avait moyen de voir des chaînes de télé sur Kodi, j’en ai un et j’avais regardé si je pouvais voir des chaînes de télé mais j’avais au final laissé tomber, vu la qualité de ce qu’on peut voir à la télé (pis bon, la pub…)).

J’ai donc bloqué, pour éviter l’in­dis­po­ni­bi­lité fréquente de https://lut.im, les refe­rer de ce genre que j’ai trouvé ainsi que les user-agent Kodi et XBMC :

if ($http_referer ~ (site1|site2) {
    return 429;
}
if ($http_user_agent ~* (Kodi|XBMC)) {
    return 429;
}

Le statut 429 que je renvoie corres­pond à « Too Many Requests ». Disons que c’est le statut que j’ai trouvé le plus proche de la situa­tion. Certes, ce n’est pas le client qui fait trop de requêtes, mais bon.

La soirée d’hier s’est passée sans alerte de la part de la super­vi­sion et chaque fois que j’ai été voir le site, celui-ci était acces­sible ! Mes actions ont donc évité la surex­ploi­ta­tion de la ressource commune 🙂

Et voilà comment j’ai modi­fié le format de mon log d’ac­cès pour ne pas loguer les IPs de mes visi­teurs ni les URLs des images deman­dées :

log_format lutim '$remote_user [$time_local] $status $body_bytes_sent "$http_referer" "$http_user_agent" "$gzip_ratio"';
server {
    …
    access_log /var/log/nginx/lutim.access.log lutim;
    …
}

J’ai après cela remis la confi­gu­ra­tion à access_log off; et supprimé les jour­naux d’ac­cès.

Crédit : Photo de Brad Helmink sur Unsplash

Parta­ger

by Luc at October 19, 2017 06:54 AM

October 17, 2017

Luc Didry

Un bug à l’ex­port de VMs dans Ganeti

Encore un article sur un bug dans Ganeti.

Situa­tion : Debian Jessie, avec Ganeti 2.15.2–1~b­po8+1 prove­nant des back­ports Jessie.

Problème : ça foire quand on veut faire une sauve­garde d’une VM avec gnt-backup export ma_vm. Avec ce genre de message :

Fri Aug 11 12:08:36 2017  - WARNING: import 'import-disk0-2017-08-11_12_08_27-igVAWh' on mynode.mydomain failed: Exited with status 1
Fri Aug 11 12:08:36 2017 snapshot/0 failed to receive data: Exited with status 1 (recent output: socat: E openssl-method="TLSv1": method unknown or not provided by library)

Le bug est déjà connu de Debian et corri­gé… dans la version Stretch ! Pas la version Jessie-back­ports 🙁

Bon, c’est rien de bien méchant. Il suffit d’édi­ter le fichier /etc/ganeti/share/ganeti/impexpd/__init__.py et chan­ger les lignes

SOCAT_OPENSSL_OPTS = ["verify=1", "method=TLSv1",
                      "cipher=%s" % constants.OPENSSL_CIPHERS]

en

SOCAT_OPENSSL_OPTS = ["verify=0", "method=TLS1",
                      "cipher=%s" % constants.OPENSSL_CIPHERS]

Notez la modi­fi­ca­tion de verify et de method.

Et c’est tout bon !

Bien sûr, il vaut mieux passer son serveur en Stretch, mais avec les 70 machines de Frama­soft, j’ai du établir un plan­ning pour tenter de mini­mi­ser le nombre de services à tomber en même temps, du coup je n’y vais à un rythme que de une ou deux machines par jour (ça va, j’en suis à peu près à deux tiers de machines sous Stretch, un tiers sous Jessie et quelques unes encore sous Wheezy (diffi­cile de les upgra­der sans péter les logi­ciels qui sont dessus)).

Parta­ger

by Luc at October 17, 2017 01:26 PM

October 09, 2017

Luc Didry

Monter et démon­ter un partage Samba selon le réseau

J’ai un partage Samba dans mon réseau local afin de pouvoir écou­ter ma musique tranquille­ment depuis mon ordi­na­teur dans le bureau alors que les fichiers sont sur mon serveur dans le salon.

Je peux accé­der à mes fichiers sur le partage avec mon navi­ga­teur de fichier mais cela me pose un problème avec VLC (que j’uti­lise comme lecteur de musique) : il n’ar­rive pas à jouer les fichiers s’ils sont dans un sous-réper­toire du réper­toire que j’ai glissé depuis Dolphin. Si j’ai bien compris, c’est la faute à KIO, la biblio­thèque qui permet à Dolphin d’ac­cé­der au partage Samba. En clair, VLC est capable de lire les fichiers direc­te­ment conte­nus dans Album/, mais pas d’al­ler lire ce qu’il y a dans Artiste/Album/ si je lui glisse le dossier Artiste.

OSEF, faisons un montage à l’an­cienne, en ligne de commande !

sudo mount -t cifs //XXX/anonymous/ /media/XXX -o guest

Oui, ça fonc­tion­ne… sauf quand je ne suis plus sur le réseau (coupure du réseau, j’em­barque mon pc pour aller donner un cours, etc). Et là, c’est le drame : plus moyen d’en­le­ver ce montage. Ça bloque.

Il suffit donc de démon­ter le partage samba avant. Mais je ne peux anti­ci­per les coupures réseau, et je sais que je ne pense­rais pas toujours à ça en débran­chant mon pc.

Je vais donc, en bon adminSys fainéant que je suis, auto­ma­ti­ser tout ça.

Pré-requis : utili­ser NetworkMa­na­ger.

Il faut créer des scripts qui vont monter et démon­ter le partage après la connexion au réseau et avant sa décon­nexion.

Mettez ceci dans /etc/NetworkManager/dispatcher.d/99-mount-samba :

#!/bin/sh
IFACE=$1
ACTION=$2

case $CONNECTION_ID in
    Votre_reseau)
        case ${ACTION} in
            up)
                mount -t cifs //XXX/anonymous/ /media/XXX -o guest
                ;;
        esac
        ;;
esac

Votre_reseau est évidem­ment à modi­fier selon le nom que vous avez donné à votre connexion dans NetworkMa­na­ger. Si vous voulez utili­ser ça pour plusieurs réseaux (comme par exemple votre connexion filaire et votre connexion Wifi, vous pouvez mettre Votre_reseau1|Votre_reseau2).

Mettez ceci dans /etc/NetworkManager/dispatcher.d/pre-down.d/99-umount-samba :

#!/bin/sh
IFACE=$1
ACTION=$2

case $CONNECTION_ID in
    Votre_reseau)
        case ${ACTION} in
            pre-down)
                #lsof -t /media/XXX | xargs kill
                umount -l /media/XXX
                ;;
        esac
        ;;
esac

Vous note­rez le lsof -t /media/XXX | xargs kill avant l’ap­pel d’umount. En effet, vous ne pour­rez pas démon­ter le partage s’il est utilisé.

Faites donc atten­tion ! Autant ce n’est pas grave si mon script coupe VLC (ça empêche même VLC de s’em­bal­ler en crachant un nombre infini d’er­reurs), autant si vous travaillez sur votre partage samba avec, disons, LibreOf­fice, cela risque­rait de vous faire perdre votre travail. Ce n’est donc pas pour tous les usages.

EDIT : plus besoin du lsof -t /media/XXX | xargs kill, Olivier M. vient de porter à ma connais­sance, en commen­taire, l’op­tion -l d’umount :

-l, --lazy
    Démontage  paresseux.  Détacher  maintenant le système de fichiers de la hiérarchie de fichiers et effacer toutes les références vers ce système de fichiers dès qu'il n'estplus occupé (nécessite un noyau 2.4.11 ou ultérieur).

N’ou­blions pas de rendre exécu­table ces scripts :

chmod +x /etc/NetworkManager/dispatcher.d/99-mount-samba \
  /etc/NetworkManager/dispatcher.d/pre-down.d/99-umount-samba

Et voilà ! Un petit systemctl restart NetworkManager et ça devrait tour­ner comme une horloge.

Crédits : Photo par Thomas Kvis­tholt sur Unsplash

Parta­ger

by Luc at October 09, 2017 04:44 PM

Merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle de septembre ! En retard, encore et toujours. Sans excuse cette fois-ci. Juste la flem­me… et un nouveau logi­ciel 😉

Merci à :

Voici mon bilan de septembre :

En ce qui concerne les commits dédiés :

Et vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion du mois d’août.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

PS : j’ai aussi une adresse bitcoin si vous souhai­tez me soute­nir par ce biais

Parta­ger

by Luc at October 09, 2017 04:00 PM

Un nouveau logi­ciel : WemaWema !

Il est des logi­ciels qui partent d’une idée à la con, et qui gran­dissent, gran­dis­sent… WemaWema est de ceux-ci.

L’idée à la con

Tout à commencé par une demande de Genma dans un pouet du 26 septembre :

Y a un « We make » gene­ra­tor en ligne ou pas encore ?

Un peu d’his­toire

Les stickers « We make » sont un mème du Teta­lab, un hackers­pace toulou­sain (même s’ils disent « choco­la­tine », c’est quand même des gens biens 😛) et dont voici l’origine :

L’ar­gu­ment prin­ci­pal utilisé pour la mise en place d’un système de filtrage sur Inter­net est toujours la porno­gra­phie et la pedo-porno­gra­phie.
Mais quand ce systèmes est en place on se rend vite compte que c’est rare­ment le ‘porn’ qui est filtrée.
‘We Make Porn’ rappelle a tout le monde que ses idées, son site inter­net ou son blog peuvent être filtrés.

Depuis, « We make porn » a été décliné de toutes les façons possibles et imagi­nables (voire l’ini­ma­gi­nable « We make Hummus » de Bram).

Bref.

WemaWema

TL;DR: allez jouez avec WemaWema sur https://luc.frama.io/wema­wema.

Le pouet de Genma date du 26 septembre à 15h42. À 19h56, la v1 de WemaWema était publiée ! Et depuis ce jour, ce ne sont pas moins de 14 versions qui sont sorties !

Alors oui, j’au­rais pu faire comme avec mes logi­ciels habi­tuels : commen­cer à la version 0.01 et monter tout douce­ment les versions. Mais là, c’était pour du pur fun, donc OSEF ! Une fonc­tion­na­lité = une nouvelle version ! Et tant pis si je sors plusieurs versions le même jour 😁

La fonc­tion­na­lité de départ est simple : deux lignes de textes, modi­fiables, et ça sort une image avec un fond jaune, les deux lignes de texte et un liséré noir inté­rieur.

Depuis cette première fonc­tion, il est possible :

  • choix de la taille, du posi­tion­ne­ment et de la couleur des textes
  • choix de la couleur du liséré
  • choix du fond : couleur unie, dégradé, direc­tion du dégradé (voire dégradé radiant), drapeau arc-en-ciel en dégradé, image de fond parmi les choix propo­sés, utili­sa­tion d’une image de fond que vous envoyez de votre ordi­na­teur
  • possi­bi­lité d’ajout d’un calque avec des « paillettes »
  • export SVG

Tout est fait côté client avec un canvas et du javas­cript tout tapé avec mes grosses pattes, sauf pour le SVG pour lequel j’uti­lise la biblio­thèque Canvas 2 Svg.

Il y a aussi un service en ligne qui génère auto­ma­tique­ment les images, utili­sable donc comme source d’une balise <img>. Ce service est aussi utili­sable dans les slash commands de Matter­most.

Prenons https://wema.fiat-tux.fr, l’en­droit où j’hé­berge ce service. Créez une slash command poin­tant vers cette URL avec, disons, /wemake comme appel. Quand vous écri­rez /wemake POUETS, le service vous renverra l’adresse de l’image « WE MAKE POUETS » du même service.

Le futur

Au moins deux chan­tiers sont à entre­prendre :

  • une refonte graphique : les para­mètres sont entre­po­sés pêle­mêle et on a déjà comparé ceux-ci au tableau de bord d’un Boeing 747
  • la possi­bi­lité de choi­sir la police des textes

Je pense aussi à ajou­ter la possi­bi­lité de redi­men­sion­ner l’ima­ge… bref, ça risque de deve­nir un géné­ra­teur de mèmes géné­rique 🙂

La license

C’est du AGPLv3.

Parta­ger

by Luc at October 09, 2017 03:30 PM

October 03, 2017

Luc Didry

Mettre à jour un serveur umap vers Debian Stretch

Ayant bien galéré, voici un petit guide pour mettre à jour un serveur Debian Jessie héber­geant umap vers Debian Stretch.

Commen­cez à mettre à jour votre Debian de façon clas­sique et redé­mar­rez. C’est après que tout est cassé.

Mise à jour du virtua­lenv

Vous aviez créé votre virtua­lenv avec virtua­lenv­wrap­per en choi­sis­sant python3, mais malheu­reu­se­ment, c’était la version 3.4 et main­te­nant c’est la 3.5 qui est instal­lée dans Debian. Bah, rien de plus simple : relan­cez la commande de créa­tion de votre virtua­lenv.

mkvirtualenv umap --python=`which python3`

Par contre, umap n’est toujours pas installé pour python 3.5. Hop, on le réins­talle (à exécu­ter dans le virtua­lenv) :

pip install umap-project

C’est tout pour la partie python. Par contre uwsgi plante lamen­ta­ble­ment à coup de

could not access file "$libdir/postgis-2.1": No such file or directory

C’est la faute à la version de l’ex­ten­sion post­gis de Post­greSQL : la mise à jour a provoqué l’ins­tal­la­tion de Post­greSQL 9.6, ce qui a provoqué la mise à jour du paquet postgresql-9.4-postgis-2.1 en postgresql-9.6-postgis-2.3.

Réins­tal­la­tion de post­gis pour Post­greSQL 9.4

Malheu­reu­se­ment, il n’y a pas de paquet postgresql-9.4-postgis-2.3 et vous ne pouvez pas réins­tal­ler postgresql-9.4-postgis-2.1.

La solu­tion est de passer par les paquets four­nis par les dépôts de Post­greSQL :

echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" \
  | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc \
  | sudo apt-key add -
sudo apt update

À ce moment-là, j’ai voulu instal­ler postgresql-9.4-postgis-2.3, mais je me suis retrouvé avec postgresql-9.4-postgis-2.4, donc autant y aller gaie­ment en mettant à jour post­gis pour Post­greSQL 9.6 :

sudo apt install postgresql-9.4-postgis-2.4 postgresql-9.6-postgis-2.4

Connec­tez-vous à votre base de données Post­greSQL :

su postgres
psql umapdb

Véri­fiez la version de post­gis que vous indique Post­greSQL :

umapdb=# SELECT name, default_version, installed_version FROM pg_available_extensions WHERE name = 'postgis';
  name   | default_version | installed_version 
---------+-----------------+-------------------
 postgis | 2.4.0           | 2.4.0
(1 row)

Et mettez à jour l’ex­ten­sion :

umapdb=# ALTER EXTENSION postgis UPDATE TO "2.4.0";

Avec ça, ça devrait rouler. MAIS ! (bah oui, y a un « mais »)

Mais vous savez que vous avez main­te­nant deux versions de Post­greSQL sur votre serveur et qu’il vaudrait mieux passer sur la 9.6. J’y ai d’ailleurs consa­cré un article derniè­re­ment.

EDIT : atten­tion, le problème ci-dessous n’ar­ri­vera que si vous avez ajouté l’in­dex search_idx en suivant la recom­man­da­tion pour une grosse base. Ne modi­fiez pas les fonc­tions unaccent et to_tsvector sur votre nouveau clus­ter si vous n’aviez pas précé­dem­ment créé l’in­dex, cela risque­rait d’avoir des effets de bords indé­si­rables si jamais vous avez d’autres bases de données que celle d’umap sur votre Post­greSQL.

Problème : un index sur la table leaflet_storage_map empêche la migra­tion, et vous vous retrou­ve­rez avec le message

ERROR: functions in index expression must be marked IMMUTABLE

Réso­lu­tion du problème de l’in­dex

Ce n’est pas compliqué : on va suppri­mer l’in­dex sur le clus­ter 9.4 et le recréer une fois la migra­tion vers 9.6 effec­tuée.

umapdb=# DROP INDEX search_idx;

Hop, on fait la migra­tion en suivant mon tuto (ne suppri­mez pas tout de suite le clus­ter 9.4, faut d’abord véri­fier que tout fonc­tionne norma­le­ment).

Recon­nec­tons-nous sur la base d’umap, mais cette fois, ce sera sur le clus­ter 9.6 et tant qu’à faire, véri­fions que nous sommes bien connec­tés sur le bon clus­ter).

umapdb=# SELECT version();

Il est temps de recréer l’in­dex. Mais un bête

umapdb=# CREATE INDEX search_idx ON leaflet_storage_map USING gin(to_tsvector(unaccent(name)), share_status);

échouera avec le même problème que tout à l’heure. Il faut faire :

umapdb=# ALTER FUNCTION unaccent(text) IMMUTABLE;
umapdb=# ALTER FUNCTION to_tsvector(text) IMMUTABLE;
umapdb=# CREATE INDEX search_idx ON leaflet_storage_map USING gin(to_tsvector(unaccent(name)), share_status);

Et là on est bon ! Redé­mar­rez peut-être uwsgi pour qu’il prenne en compte le chan­ge­ment de clus­ter, mais je ne suis pas sûr que ce soit néces­saire.

Testez votre umap et si tout est bon, vous pour­rez virer votre clus­ter 9.4 et les paquets asso­ciés 🙂

Crédits : image d’illus­tra­tion by Himesh Kumar Behera on Unsplash

Parta­ger

by Luc at October 03, 2017 09:28 PM

September 16, 2017

Luc Didry

Cas d’usage de Last

Last est un logi­ciel que j’ai codé il y a peu. Il veut dire « Let’s Aggre­gate Superb Toots » et permet de créer un site à partir d’une liste de pouets (toots en anglais, c’est le terme dési­gnant les mini-articles du réseau social libre et décen­tra­lisé Masto­don).

Le prin­cipe est simple : on clone le projet, on modi­fie le fichier de confi­gu­ra­tion selon ses goûts, on y ajoute les pouets à récu­pé­rer, on committe, on push sur un serveur Gitlab avec les Gitlab pages acti­vées et hop ! Ça fait des choca­pic^W un site repre­nant tous les pouets. La marche à suivre complète est expliquée sur https://luc.frama.io/last­man/fr.html.

Je trouve Last de plus en plus inté­res­sant comme outil. Je m’en sers pour faire un recueil de mes mercre­dis fictions, ainsi que pour regrou­per des pouets-feuille­tons comme BackUp et Dans la vallée (avec l’ai­mable auto­ri­sa­tion de leurs aut·­ric·e·ur).

Mais en plus ça permet de faire des sites par rapport à une théma­tique, un évène­ment, un voya­ge… J’ai un pote qui est en vacances en Indo­né­sie. Il poste pas mal sur Masto­don, avec de superbes photos et annonce sur son blog qu’il va y reprendre ses pouets, parce que ce sont de belles photos.

C’est un cas parfait pour Last ! Pourquoi ? Parce qu’au lieu de reprendre le texte (copier/coller, mettre la date et l’heure) et les photos (clic droit, enre­gis­trer sous) pour écrire un article, il n’y a qu’à copier/coller les adresses des pouets dans last.conf, et hop ! Sachant qu’on peut éditer last.conf direc­te­ment depuis l’in­ter­face de Gitlab, on n’a même pas besoin d’avoir git ! Et ça donne plutôt bien : https://petit.frama.io/indo­ne­sie 🙂

Je trouve que ça permet de retrou­ver le côté « blog » du micro-blogage. En effet, Masto­don, Twit­ter et consorts sont des plate­formes de micro-blog­ging, mais va essayer de relire tous les pouets ou tous les tweets d’une personne, même les plus impor­tants ! Avec Last, l’au­teur (ou tout autre personne) peut sauve­gar­der les articles qu’il souhaite pour les retrou­ver plus faci­le­ment, les mettre en valeur… On retrouve un temps long, contrai­re­ment aux plate­formes en ques­tion où le flux d’ar­ticles ne s’ar­rête jamais.

Last but not least (😛), Last crée un flux RSS pour le site généré et un epub, vous permet­tant de tout lire de façon décon­necté, bien tranquille­ment sur votre liseuse 😉

Bref, je suis plutôt content de mon petit outil 😀

Photo d’illus­tra­tion : Alexandre Cham­bon

Parta­ger

by Luc at September 16, 2017 12:53 PM

September 10, 2017

Luc Didry

Merci à mes tipeurs :-)

Le 14 juillet 2016, j’ai lancé mes pages Tipeee et Libe­ra­pay.

La récom­pense de base est l’ap­pa­ri­tion sur une page mensuelle de remer­cie­ments… voici celle d’août ! En retard, encore et toujours. La rentrée au collège du gamin, les levers plus tôt (parce qu’il part plus tôt), la reprise inten­sive du travail… Je suis naze et je commence à peine à m’adap­ter à ce nouveau rythme.

Merci à :

J’avais annoncé le mois dernier :

le mois d’août risque d’être beau­coup plus calme : je suis rentré de vacances le 7 août et je reprends des vacances pour deux semaines (mais avec le PC cette fois) le 13.

Et c’est bien malheu­reu­se­ment ce qui s’est passé. Je n’ai rien fait 🙁 Peu de temps à cause des vacances, la rentrée du gamin à prépa­rer… Enfin je n’ai presque rien fait : j’ai publié mes micro-fictions du #Mercre­diFic­tion de Masto­don avec un epub spécial Ray’s day… et c’est du libre (licence CC-0). Et ça, grâce à mon logi­ciel Last, qui m’avait prémâ­ché le travail grâce à l’epub généré auto­ma­tique­ment 🙂

Mais promis, je vais me remettre au code !

Et vous pouvez toujours me soute­nir via Duni­ter !

Je remets ici mon expli­ca­tion du mois dernier.

Disclai­mer : je vais peut-être dire des sottises parce que j’ai pas tout compris mais je m’en fous, j’aime bien l’idée

Duni­ter est un projet de crypto-monnaie mais contrai­re­ment au bitcoin où c’est la course à la puis­sance de calcul pour géné­rer la monnaie et deve­nir riche, le but est de créer une monnaie libre (le Ğ1, prononcé comme june en anglais), basée sur une toile de confiance (il faut rece­voir 5 certi­fi­ca­tions pour être membre) et où chacun des membres reçoit tous les jours un divi­dende univer­sel. Je dois dire que je suis assez curieux de ce qu’on peut faire avec un système ressem­blant forte­ment au salaire à vie 🙂

C’est pourquoi j’ai créé mon compte et ait fait ce qu’il fallait pour rece­voir mes certi­fi­ca­tions (rencon­trer des gens, tous­sa…). Ma clé publique est :

 2t6NP6Fvvuok2iRWA188C6pGokWAB5Kpf1S1iGtkN9tg

Et comme un projet n’est utile que si on s’en sert, je vous propose de me soute­nir en Ğ1 tout en béné­fi­ciant des mêmes récom­penses que celles présentes sur ma page Tipeee (j’ai arbi­trai­re­ment choisi une parité euro/Ğ1 car je n’ai pas vrai­ment trouvé de page expliquant comment évaluer le cours du Ğ1 en euros, et au final, est-ce vrai­ment néces­saire ? À nous de choi­sir quelle valeur a cette nouvelle monnaie 🙂. Et puis ça me simpli­fie la vie).

Voici donc les diffé­rentes contre­par­ties et leur prix (chaque contre­par­tie comprend celles de tarif infé­rieur) :

  • 1 Ğ1 : vous appa­raî­trez sur la page mensuelle des remer­cie­ments
  • 2 Ğ1 : vous rece­vrez une photo dédi­ca­cée de mon chat
  • 3 Ğ1 : vous rece­vrez 3 stickers repre­nant les logos de Lstu, Lutim et Lufi. De quoi déco­rer son ordi et se la péter en société 😁
  • 5 Ğ1 : un commit vous sera dédié chaque mois (si je déve­loppe suffi­sam­ment pour le nombre de personnes à ce niveau)
  • 15 Ğ1 : vous pouvez me deman­der de bosser en prio­rité sur un bug ou une demande de fonc­tion­na­lité d’un de mes logi­ciels (dans la mesure du faisable, hein).
  • 100 Ğ1 : quand j’au­rais un nouveau projet, vous pour­rez en choi­sir le nom et le logo

Pour en savoir plus sur Duni­ter et Ğ1, je vous propose d’al­ler voir cet article de cgeek : https://blog.cgeek.fr/de-linte­ret-dune-monnaie-libre.html ainsi que la théo­rie rela­tive de la monnaie pour les enfants.

PS : j’ai aussi une adresse bitcoin si vous souhai­tez me soute­nir par ce biais

Parta­ger

by Luc at September 10, 2017 02:43 PM

September 06, 2017

Romain Dessort

Convert SSH keys from a format to another

An SSH key can be stored in multiple format. ssh-keygen from OpenSSH generates keys in its own format, but other SSH implementations can use other formats. PuTTY for example generates keys in RFC4716 format, which looks like this:

-----BEGIN RSA PUBLIC KEY-----
MIIBCgK349HFUE929fXGEvWmegnBGSuS+rU9soUg2FnODva32D1AqhwdziwHINFa
D1MVlcrYG6XRKfkcIFEO929JFNEJONBSEVCgJjtHAGZIm5GL/KA86KDp/CwDFMSw
luowcXwDwoyinmeOY9eKyh6aY72xJh7noLBBq1N0bWi1e2i+83txOCg4yV2oVXhB
o8pYEJ8LT3el6Smxol3C1oFMVdwPgc0vTl25XucMcG/ALE/KNY6pqC2AQ6R2ERlV
gPiUWOPatVkt7+Bs3h5Ramxh7XjBOXeulmCpGSynXNcpZ/06+vofGi/2MlpQZNhH
Ao8eayMp6FcvNucIpUndo1X8dKMv3Y26ZQIDAQAB
-----END RSA PUBLIC KEY-----

You can't simply copy-paste this in an authorized_keys file. Hopefully you can easily convert the public key from a format to another. This is done by I-do-about-anything-and-everything command, aka ssh-keygen:

$ ssh-keygen -i -m <format> -f input_key.pub > output_key.pub

-m specify the input key format among RFC4716 (the format used by PuTTY, this is the default if -m isn't specified), PKCS8 and PEM.

September 06, 2017 09:46 PM

Get a list of opened Firefox tabs

Since I usually work with 2 Firefox on 2 different computers (a personal one and a professional one), I often need to get back some of my opened tabs from the Firefox instance running on my second computer.

Firefox store all opened tabs and windows and their history in the sessionstore-backups/recovery.js in your profile's directory. So as long as this file is synchronized in some way to a remotely accessible machine (backups), you can parse the file and get the list of all your opened tabs and windows. I wrote a simple Python script to print tab's title and URL of each tabs from the recovery.js file:

#!/usr/bin/env python3

# Print title and URL for each tab of each window of the specified
# Firefox profile.

import json

with open("<path to your Firefox profile's directory>/sessionstore-backups/recovery.js", "r") as f:
    jdata = json.load(f)
    for w in jdata['windows']:
        for t in w['tabs']:
            i = t['index'] - 1
            print("%s (%s)" % (
                t['entries'][i]['title'],
                t['entries'][i]['url']
                ))

You will get a list like this:

$ show-ff-tabs.py
[‌]
GitHub - devimust/easy-bookmark-manager: Easy and simple self-hosted bookmark / snippet management tool. (https://github.com/devimust/easy-bookmark-manager)
GitHub - Kickball/awesome-selfhosted: This is a list of Free Software network services and web applications which can be hosted locally. Selfhosting is the process of locally hosting and managing applications instead of renting from SaaS providers. (https://github.com/Kickball/awesome-selfhosted#personal-dashboards)
GitHub - cdevroe/unmark: An open source to do app for bookmarks. (https://github.com/cdevroe/unmark)

(you can see that I currently looking for a simple self-hosted bookmark manager :-) )

More information for the structure of recovery.js file on the Mozilla wiki.

September 06, 2017 09:20 PM

August 22, 2017

Luc Didry

Ray’s Day 2017

Le Ray’s day, c’est la fête de la lecture, quelle qu’elle soit, quel que soit le support. Ce qui compte, ce sont les histoires, leurs auteurs et les lecteurs. Le Ray’s day a lieu le 22 août, jour de l’an­ni­ver­saire de Ray Brad­bury grand amou­reux des livres disparu en 2012 et qui a inspiré Neil Jomunsi pour créer cette jour­née spéciale :-)

Je vous propose cette année un epub repre­nant mes parti­ci­pa­tions au #Mercre­diFic­tion sur Masto­don : https://rays­day.net/b/titles/51

Enjoy :-)

Parta­ger

by Luc at August 22, 2017 04:23 PM