Compare commits

..

23 Commits

Author SHA1 Message Date
raspbeguy 364cc43ceb fix tag 2023-06-16 23:32:31 +02:00
raspbeguy 65fea0f2fa fin de l'article 2023-06-16 23:19:45 +02:00
raspbeguy 3bd734432d début de l'article 2023-06-16 17:07:22 +02:00
raspbeguy 4db8e9499c fix typos 2022-11-09 13:51:03 +01:00
raspbeguy 837431b084 nouvel article 2022-11-09 11:15:09 +01:00
raspbeguy 68f2818d3b add le-templating-dans-les-scripts-shell.md 2021-02-19 10:49:19 +01:00
raspbeguy e4d4e02f6a add haproxy-et-en-tete-host.md 2021-02-18 14:34:27 +01:00
raspbeguy c72130cea6 add script to create posts 2021-02-18 13:24:23 +01:00
raspbeguy ce06a877f7 add liberapay 2021-01-04 11:54:55 +01:00
raspbeguy 4800d0cdbf add comments property 2020-12-21 14:17:57 +01:00
raspbeguy fd34bfc1e1 fix more typos 2020-12-09 09:36:00 +01:00
raspbeguy 901778ac41 fix typos 2020-12-09 09:08:27 +01:00
raspbeguy 41d260c653 fix new space on edito 12 2020-12-08 23:12:29 +01:00
raspbeguy 4f5139c584 edito 12 2020-12-08 23:11:11 +01:00
raspbeguy 6a21ac189d quatrieme et dernier passage 2020-12-03 14:40:51 +01:00
raspbeguy 18a112432b WIP: troixieme passage 2020-12-03 14:40:07 +01:00
raspbeguy 80b6b35817 WIP: deuxieme passage 2020-12-03 14:39:28 +01:00
raspbeguy c7f77eeed4 WIP: premier passage 2020-12-03 14:38:36 +01:00
raspbeguy 411072d5ea Revert "test link"
This reverts commit 36c7ea68d4.
2020-12-03 14:22:38 +01:00
raspbeguy 36c7ea68d4 test link 2020-12-03 14:13:42 +01:00
raspbeguy cbdcbfebcf initiate gemini infrastructure 2020-12-02 18:15:56 +01:00
raspbeguy 9bd6abd985 fix quotes as usual 2020-12-02 16:42:02 +01:00
raspbeguy 626d7ed0e9 add quotes 2020-12-02 16:36:09 +01:00
114 changed files with 784 additions and 173 deletions

View File

@ -33,6 +33,12 @@ Par ailleurs, le nom de fichier d'un post doit correspondre à la version sécur
- sans diacritiques ;
- chaque caractère spécial et espace remplacé par un tiret `-` non redondant, ni au début ni à la fin.
Pour faciliter la création d'un article avec les bons en-têtes, il est possible d'utiliser le script `new_post.sh` présent dans le dossier `scripts` selon cette syntaxe :
```
./new_post.sh "Mon super titre d'article"
```
### Images
Pour placer un média dans un article, utiliser le mot-clé `%assets_url%`.
@ -45,7 +51,7 @@ Par exemple, pour insérer l'image `assets/image.png`, on placera cette ligne da
## Tests
Pour vérifier la cohérence des articles, des scripts sont disponibles dans le dossier `tests` :
Pour vérifier la cohérence des articles, des scripts sont disponibles dans le dossier `scripts` :
- `check_post_filename.sh` : vérifie que les fichiers des posts portent bien le nom correspondant à leurs titres. Le drapeau `-f` permet de corriger automatiquement ce nom de fichier.
- `check_assets.sh` : vérifie que les ressources appelées par les posts existent bien dans le dossier `assets`.

View File

@ -1,9 +1,10 @@
---
title: Actualité XKCD
title: "Actualité XKCD"
date: 2015-12-09
author: raspbeguy
template: post
tags: détente,geek,jeux vidéos,stickman,webcomic,xkcd
comments: true
---
Vous connaissez peut-être [XKCD](http://xkcd.com), ce _web-comic_ par Randall Munroe dès 2006 orienté informatique, maths, et autres geekeries. Il s'agit de dessins très simples, mettant en scène des personnages de type _stickman_, sur des thèmes assez connus par les développeurs, admins sys, étudiants, chercheurs, enfin tout ce qui baigne dans ce milieu. Si vous vous rendez dans un bureau d'informaticien, vous avez de bonnes chances de trouver en guise de décoration quelques impressions d'épisodes XKCD.

View File

@ -1,9 +1,10 @@
---
title: Améliorer l'univers informatique
title: "Améliorer l'univers informatique"
date: 2015-10-12
author: motius
template: post
tags: éducation,état,fsf,infrastructure,logiciel libre,planet libre,rms,social,télécom,tribunes
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Art polyvalent : Nifflas
title: "Art polyvalent : Nifflas"
date: 2015-08-16
author: raspbeguy
template: post
tags: 8 bits,art,art,chiptune,indie game,jeu,jeu independant,jeux vidéos,linux,mac,musique,pixels,windows
comments: true
---
Je vais vous parler un artiste développeur suédois que je suis depuis pas mal de temps.

View File

@ -1,9 +1,10 @@
---
title: Augmentez le niveau avec Red Star OS
title: "Augmentez le niveau avec Red Star OS"
date: 2016-04-01
author: raspbeguy
template: post
tags: 1er avril,april's fool,communisme,dictature,propagande,tests,totalitarisme,tyran
comments: true
---
Bonjour à tous,

View File

@ -1,9 +1,10 @@
---
title: Avantages et inconvénients des dictionnaires ordonnés
title: "Avantages et inconvénients des dictionnaires ordonnés"
date: 2020-06-09
author: motius
template: post
tags: python,dict,hashmap,développement
comments: true
---
Bonjour !

View File

@ -1,9 +1,10 @@
---
title: AVG censure le web
title: "AVG censure le web"
date: 2015-10-24
author: motius
template: post
tags: antivirus,avg,censure,cgu,news,planet libre
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Battle for Wesnoth
title: "Battle for Wesnoth"
date: 2017-02-28
author: motius
template: post
tags: art,battle for wesnoth,jeux vidéos,planet libre
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Bonjour Monde !
title: "Bonjour Monde !"
date: 2015-08-31
author: motius
template: post
tags: non classé
comments: true
---
Bonjour bonsoir à tous,

View File

@ -1,9 +1,10 @@
---
title: Brève sur DuckDuckGo
title: "Brève sur DuckDuckGo"
date: 2016-06-20
author: motius
template: post
tags: duckduckgo,moteur de recherche,non classé,yahoo
comments: true
---
Bonjour à tous !

View File

@ -0,0 +1,58 @@
---
title: Ça sent le fichier par ici...
date: 2022-11-09
author: raspbeguy
template: post
tags: aventure,occasion,materiel,stockage,raid,disque dur,données
---
Hello,
Je tenais à partager une aventure amusante. Cette aventure concerne un serveur Proliant MicroServer N40L, un matériel vénérable d'une autre décennie, ressemblant un peu à une mini chaîne hifi des années 90, contenant une baie de 4 disques SATA 3,5 pouces, qui m'a été vendu par un collègue avec les 4 disques de 4 To. Les disques ont pas mal de bouteille mais les chiffres donnés par l'inspection SMART sont excellents. Du matériel idéal pour un NAS de secours.
Mon premier travail est d'ajouter un petit disque dur supplémentaire à l'emplacement prévu pour le lecteur CD/DVD afin d'y installer le système d'exploitation que je souhaite indépendant du support des données. Il existe pour ça des [adaptateurs](https://www.amazon.fr/gp/product/B000HLZXH2) pour installer votre disque dur de façon stable.
Cela fait je souhaite m'occuper des disques destinés au RAID5 et je décide pour ça de partir sur un partitionnement GPT contenant une unique partition. Je lance donc `fdisk` et je constate qu'il existe déjà un paritionnement GPT, sans aucune partition cependant. Tiens, c'est marrant. Mais je ne pose pas plus de question à ce moment et je crée une première partition. Et là, fdisk m'alerte :
```
Partition #1 contains an ext4 signature.
Do you want to remove the signature? [Y]es/[N]o:
```
Tiens tiens tiens, une partition cachée. Je répond donc `N` et par curiosité je monte la partition sans aucune difficulté. Là je trouve des noyaux Linux et des initramfs, j'ai donc affaire ici à une partition de boot.
Puis je me pose la question : Vais-je trouver les autres partitions qui se cachent sur ces disque ? Vais-je réussir à remonter le RAID qui dort ?
Je me tourne donc vers l'outil `testdisk` précisément conçu pour ce genre de travail. L'analyse de chaque disque révèle les partitions oubliées. Mon attention se porte particulièrement sur les partitions de type "RAID". Sur chacun des disques je sélectionne la partition en question et `testdisk` me propose de les inscrire dans le GPT. Je suis allé trop loin pour refuser une telle proposition. Je me retrouve donc avec 4 disques contenant chacun une partition RAID, parfaitement lisible.
Ma curiosité tourne désormais à l'excitation et j'essaye de monter le RAID à l'aide de `mdadm`.
```
mdadm --assemble --scan
```
Premier essai infructueux, message obscur. Je regarde la sortie de `dmesg` et constate ceci :
```
md: sdc1 does not have a valid v1.2 superblock, not importing!
md: md_import_device returned -22
md: sdd1 does not have a valid v1.2 superblock, not importing!
md: md_import_device returned -22
md: sde1 does not have a valid v1.2 superblock, not importing!
md: md_import_device returned -22
md: sdb1 does not have a valid v1.2 superblock, not importing!
md: md_import_device returned -22
```
Après un peu de recherche, je comprend que quelques métadonnées sont inexploitables (j'ignore la raison) mais peuvent être réparées sans problème, j'exécute donc :
```
mdadm --assemble /dev/md/debian:1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 --force --update=devicesize
```
Et bim ! Le RAID est ressuscité et j'accède à toutes les données. Je dis bien **toutes** : photos personnelles, informations bancaires, résultats médicaux entre autres. Et tout ça sans grande expertise en stockage !
Je n'ai bien entendu pas exploité ces données. J'ai juste prévenu le collègue qu'à l'avenir il ferait mieux de prendre le temps d'effacer ses données plus consciencieusement.
Que faut-il en retenir ? Avec l'inflation et l'augmentation des prix, le marché de l'occasion a tendance à fleurir et c'est une bonne chose ; cependant ce genre de situation est appelé à se reproduire. Il est important que chaque personne cédant du matériel stockant de l'information prenne conscience du risque de fuite de données personnelles, et donc prenne le temps d'apprendre à les effacer efficacement avant de se séparer de ce matériel.

View File

@ -1,9 +1,10 @@
---
title: Ça va devenir RAID dans votre serveur
title: "Ça va devenir RAID dans votre serveur"
date: 2017-08-21
author: raspbeguy
template: post
tags: auto-hébergement,disque dur,extention,intervention,nas,planet libre,raid,serveur,stockage,théorie,tutoriels
comments: true
---
Récemment j'ai du intervenir sur ma tour parce que j'avais plus tellement de place. J'ai du vite acheter un autre disque dur pour y remédier. Ce qui me donne l'occasion de parler de cette belle technologie sur laquelle je m'étais promis de faire un petit tuto un de ces jours.

View File

@ -1,9 +1,10 @@
---
title: Controverse sur un accord entre Wikipédia et l'éditeur Elsevier
title: "Controverse sur un accord entre Wikipédia et l'éditeur Elsevier"
date: 2015-09-17
author: motius
template: post
tags: creative commons,elsevier,news,planet libre,tribunes,wikimédia,wikipédia
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Créer un enum Python dynamiquement
title: "Créer un enum Python dynamiquement"
date: 2020-06-02
author: motius
template: post
tags: python,enum,type,développement
comments: true
---
Bonjour !

View File

@ -1,9 +1,10 @@
---
title: David Revoy
title: "David Revoy"
date: 2016-05-03
author: raspbeguy
template: post
tags: art,bande dessinée,bd,comics,creative common,fantasy,graphique,libre,magie,planet libre,sorcière
comments: true
---
Aujourd'hui un nouveau coup de cœur sur un de ces artistes qui utilisent le libre comme outil de production, y compris dans la licence de leurs œuvres.

View File

@ -1,14 +1,15 @@
---
title: De la décentralisation du net
title: "De la décentralisation du net"
date: 2015-11-09
author: raspbeguy
template: post
tags: autohébergement,décentralisation,pair à pair,planet libre,service,tribunes
comments: true
---
Bonjour les gens,
J'aimerai revenir sur une notion dont on a beaucoup parlé (au moins [ici](/posts/le-droit-la-justice-et-internet/) et [](/posts/ameliorer-lunivers-informatique/)) et dont on parlera beaucoup encore, vu qu'il s'agit d'un pan important de ce pourquoi nous nous battons.
J'aimerai revenir sur une notion dont on a beaucoup parlé (au moins [ici](/posts/le-droit-la-justice-et-internet) et [](/posts/ameliorer-lunivers-informatique)) et dont on parlera beaucoup encore, vu qu'il s'agit d'un pan important de ce pourquoi nous nous battons.
J'aimerais clarifier et élargir toutes les très jolies choses que l'on met derrière ce terme, et éviter qu'il continue de vous faire peur afin que vous puissiez enfin dormir enfin à peu près convenablement.

View File

@ -1,9 +1,10 @@
---
title: Démonter un disque distant après une erreur réseau
title: "Démonter un disque distant après une erreur réseau"
date: 2020-05-30
author: motius
template: post
tags: sshfs,réseau,umount,fusermount
comments: true
---
Bonjour !

View File

@ -1,9 +1,10 @@
---
title: Du dev et du monitoring : YaPLog
title: "Du dev et du monitoring : YaPLog"
date: 2016-08-02
author: motius
template: post
tags: c,développement,développement,flex,log,monitoring,multithread,nfcapd,nfdump,regex,réseau,tests,tutoriels
comments: true
---
Bonjour à tous !

View File

@ -4,6 +4,7 @@ date: 2019-05-03
author: raspbeguy
template: post
tags: édito
comments: true
---
Vous avez déjà été peut-être dans cette situation, celle où vous avez quelque chose à faire depuis si longtemps, mais à chaque fois que vous y pensez, vous n'avez aucune idée de par où commencer et au bout d'un moment, vous commencez à vous dire que vous pouvez vivre sans, et que remuer le truc ne ferait que vous apporter des ennuis et vous espérez secrètement que tout le monde a oublié le fameux truc que vous avez à faire, même si vous vous dites aussi que c'est un truc qu'il faut faire et que ça vous rendrait bien service quand même.

View File

@ -4,6 +4,7 @@ date: 2020-05-11
author: raspbeguy
template: post
tags: édito
comments: true
---
Aujourd'hui, je mets en production le nouveau site, plus simple, plus beau, plus léger. Ça faisait longtemps que j'avais envie de refaire le site.

View File

@ -0,0 +1,85 @@
---
title: "Édito #12 : Lancement de notre capsule Gemini"
date: 2020-12-08
author: raspbeguy
template: post
tags: édito,gemini,nouveauté,web
comments: true
---
Bonjour à tous.
Depuis quelques semaines, on me rabache les oreilles à propos d'un truc qui n'est pas le web. Bien entendu, beaucoup de choses ne sont pas le web. Voici une liste non exhaustives de choses qui ne sont pas le web :
* un gâteau au chocolat
* l'Arc de Triomphe
* des chaussures de sport
* la révolution industrielle
* la COVID-19
On pourrait aller bien plus loin si on voulait.
En fait, c'est l'un des premiers éléments de présentation de Gemini : ce n'est pas le web. Mais alors qu'est-ce que c'est ?
# Ce qui n'est pas le web
Au début des années 90, alors qu'Internet avait été inventé, mais alors utilisé en grande partie par des bandes d'universitaires boutonneux pour faire des trucs d'intellos, plusieurs idées ont germé en parallèle dans le monde pour mettre au point un moyen de consulter des informations sous forme de pages navigables.
L'une de ces idée venant d'Europe est le protocole HTTP, couplé au format HTML, qui forment ce qu'on appelle aujourd'hui le web.
Ce qu'on sait moins, c'est que d'autres protocoles ont vu le jour à peu près en même temps, notamment le protocole Gopher, mis au point aux États-Unis. Ce protocole était vraiment minimaliste (même si HTTP l'était presque autant à l'époque) et se couplait le plus souvent avec du contenu en texte simple.
[Gopher sur Wikipedia](https://fr.wikipedia.org/wiki/Gopher)
Au bout d'un certain temps, le web a fini par l'emporter, notament à cause de l'intégration d'image dans les documents HTML, et le monde Gopher s'est réduit à peau de chagrin et est complètement délaissée par l'industrie.
Certains irréductibles continuent de servir des sites Gopher. L'argument de ces derniers des Mohicans, c'est la légèreté des sites Gopher par rapport aux sites web d'aujourd'hui : un site Gopher n'est que du texte : pas d'image, pas de mise en forme, pas de distractions. Ça fonctionne bien pour présenter de l'information austère.
# La relève
Gemini est une initiative récente pour tenter de relancer cette contre-culture Internet. Il s'agit à la fois d'un protocole au même titre que HTTP et Gopher, et d'un format de mise en forme, au même titre que HTML et le... texte simple. Sur la page du projet (côté Gemini, `gemini://gemini.circumlunar.space/`), il se présente comme "plus lourd que Gopher, plus léger que le web". Le but ici est de prioriser la légereté, mais également la vie privée, en prohibant les mécanismes classiques de traçage utilisés sur le web.
Côté protocole, à l'inverse de HTTP qui compte en moyenne une bonne grosse marmite d'en-têtes (y compris ceux concernant les fameux cookies), Gemini ne s'autorise qu'un seul en-tête, permettant de préciser le type de contenu servi. Une requête Gemini ne contient pas de verbe type `GET`, `POST`, etc. Uniquement l'URL. Et c'est à peu près tout ce qu'on peut en dire. Ah si, le chiffrement TLS des pages est obligatoire, et les certificats sont pour la plupart auto-signés, dans un fonctionnement TOFU (_Trust On First Use_). Un choix pas anodin, on en reparlera.
[TOFU sur Wikipedia (en anglais)](https://en.wikipedia.org/wiki/Trust_on_first_use)
Côté format de contenu, Gemini privilégie le Gemtext, un format mis au point par le projet dérivé de Markdown. Enfin, un Markdown vraiment dépouillé. La différence avec le Markdown est l'interdiction des liens dans un paragraphe en les déplaçant sur leur propre ligne bien isolée (comme les liens dans le présent article) et l'impossibilité d'intégrer des images autrement qu'en mettant des liens normaux. C'est un peu spartiate mais c'est quand même un peu plus beau que du texte brut. Les détails du Gemtext sont à retrouver sur la page Gopher du projet.
# Naviguer sur Gemini
Si on a du contenu navigable, alors il faut un navigateur. Non, vous ne pourrez pas aller sur un site Gemini (les gens du milieu aiment bien les appeler des capsules) avec votre Firefox. Ou alors si, mais en passant par une passerelle qui convertit le contenu Gopher en HTTP/HTML.
Il existe plusieurs navigateurs Gemini. Les deux qui ont retenu mon attention sont :
* Lagrange : c'est un navigateur graphique très esthétique. Je le trouve visuellement très plaisant.
* amfora, en ligne de commande.
[Lagrange](https://gmi.skyjake.fi/lagrange/)
[amfora](https://github.com/makeworld-the-better-one/amfora)
# Ce que je pense de Gemini
Le web a bien des défaut. Il vous traque, il consomme beaucoup de ressources. Et la plupart du temps, lorsque que vous essayez de ne prendre que ce qui vous intéresse en éliminant les ressources inutiles, vous finissez avec une page immonde et vraiment pas agréable.
L'idée d'un web basé sur du markdown et laissant le soin de la mise en page au le client est présente dans ma tête depuis un certain temps. Quand on m'a parlé de Gemini, j'ai été immédiatement intéressé.
Cependant je suis contrarié par plusieurs points.
Pour moi, même si je suis vraiment satisfait de ce minimalisme, je pense qu'il est complètement inutile de créer un nouveau protocole. À mon sens, il aurait été bien plus intéressant de développer le format Gemtext sur HTTP, et de mettre au point des navigateurs (ou en adapter des existants) pour y mettre un mode ou il n'interprète qu'un nombre bien restraints d'en-têtes.
Développer Gemini sur du HTTP, cela aurait permis deux choses :
* Pouvoir utiliser les infrastructures existantes pour relayer du Gemini. Il n'existe pas encore d'équivalent à HAproxy pour Gemini.
* Rendre les navigateurs existants compatibles, quitte à avoir une mise en page un peu dégueu.
Parlons maintenant des certificats. Selon les créateurs de Gemini, le système de validation des certificats par des autorités de certification est dangereux, car il suffit qu'une autorité soit mise à mal pour corrompre l'ensemble des sites qu'elle a certifié.
Oui, le système des autorités de certification n'est pas parfait. Mais pour la navigation sur des serveurs a priori inconnu, cela reste mille fois mieux que le principe TOFU.
Le mode TOFU est celui adopté par SSH : à la première connexion, la signature de la connexion est enregistrée et pour les connexions suivantes, on vérifie que la signature n'a pas changé, et si elle a changé, on affiche un avertissement.
Pour SSH, cela fait sens. On ne se connecte pas à n'importe quel serveur : normallement, on vérifie que la signature de la première connexion est effectivement la bonne car il s'agit de nos propres serveurs ou ceux d'un ami/collègue. En bref, avec SSH, si on fait les choses bien, on n'accepte pas aveuglément un certificat. Pour la navigation, on est susceptible de pouvoir se connecter sur n'importe quel serveur proposant un serveur Gemini, tenu par des gens inconnus. Là il n'est plus question de pouvoir vérifier quoi que ce soit. Il faut juste espérer que la première connexion a été bonne, et croiser les doigts. Je sais pas pour vous, mais moi ça me met très mal à l'aise.
Nous avons quand même franchis le pas et à titre d'expérience, nous vous proposons notre capsule Gemini, pour ce que cela vaut, sur `gemini://hashtagueule.fr`.
Merci de votre attention.

View File

@ -0,0 +1,28 @@
---
title: "Édito #13 : Blog et finances"
date: 2021-01-04
author: raspbeguy
template: post
tags: édito,financement,liberapay,hébergement
comments: true
---
Bonjour à tous et bienvenue en 2021.
Quand nous avons créé le site Hashtagueule, nous voulions éviter de parler d'argent dessus. À titre personnel, je pense qu'on parle bien assez d'argent partout ailleurs et je voulais un petit coin de paradis qui ne soit pas pollué par de basses questions matérielles.
Je vais faire une exception aujourd'hui, car oui, héberger un site coûte de l'argent.
Rassurez-vous, nous ne sommes pas au bord de l'extinction du blog. Cependant, le site est porté par deux personnes, Motius et moi-même, et alors que lorsque nous avons commencé à écrire, nous étions jeunes et insouciants, nous commençons désormais à avoir des vies de familles. Cela veut dire que nous avons plus de choses plus importantes à nos yeux que les finances du blog.
Le serveur hébergeant Hashtagueule est chez OVH et coûte une soixantaine d'euros par mois (mais nous l'utilisons également pour beaucoup d'autres choses). Ces frais pourraient être réduits en rappatriant le site directement à domicile, ce qui sera fait dès lors que la fibre sera installée chez moi...
J'ai donc décidé d'ouvrir une page Liberapay pour permettre aux lecteurs de contribuer financièrement au blog.
Surtout, gardez à l'esprit que nous ne souhaitons pas recevoir d'argent pour écrire des articles. C'est une activité récréative, c'est important pour nous qu'elle reste bénévole. Cet argent est uniquement destiné au maintien de l'infrastructure du site.
Vous trouverez notre page de don dans la barre latérale ou à la fin de cet article.
Je vous remercie et ferme maintenant cette parenthèse "finance".
[Page Liberapay](https://liberapay.com/hashtagueule/donate)

View File

@ -4,6 +4,7 @@ date: 2015-08-23
author: raspbeguy
template: post
tags: édito
comments: true
---
Bien le bonjour à tous les lecteurs (encore très peu pour le moment, mais c'est normal).

View File

@ -4,6 +4,7 @@ date: 2015-09-05
author: raspbeguy
template: post
tags: édito
comments: true
---
Bonjour à tous,

View File

@ -4,6 +4,7 @@ date: 2015-10-31
author: raspbeguy
template: post
tags: édito
comments: true
---
Hello les gens,

View File

@ -4,6 +4,7 @@ date: 2016-02-18
author: raspbeguy
template: post
tags: édito,hébergement,motivation,nouveautés
comments: true
---
Bonjour chère communauté,
@ -14,7 +15,7 @@ Commençons par les choses un peu moins gaies. Vous avez du vous rendre compte d
La seconde explication est tout simplement la baisse de l'enthousiasme de l'équipe, qui n'est pour le moment constituée que de deux personnes. Je ne vais pas rentrer dans les affaires internes, mais disons que nous attendions beaucoup de nos amis pour venir prendre part avec nous à l'aventure, et beaucoup se sont montrés intéressés et n'ont par la suite donné aucune nouvelle. Nous avons également parfois l'impression d'écrire  nos articles dans le vent, nous avons très peu de retour de votre part, vous les lecteurs.
Cependant, nous savons que le site est de temps en temps visité, comme en témoigne lanecdote suivante : Dans mon [tutoriel Let's Encrypt](/posts/securiser-ses-sites-web-avec-lets-encrypt/), j'avais fourni un script qui envoyait automatiquement un mail à l'administrateur du succès de l'opération, et j'avais laissé ma propre adresse. J'ai ainsi reçu avec amusement une série de mails de notifications émanant de serveurs dont les administrateurs avaient oublié de modifier cette adresse. Je n'en veux bien sûr à personne, cela rassure un peu sur la fréquentation du site.
Cependant, nous savons que le site est de temps en temps visité, comme en témoigne lanecdote suivante : Dans mon [tutoriel Let's Encrypt](/posts/securiser-ses-sites-web-avec-lets-encrypt), j'avais fourni un script qui envoyait automatiquement un mail à l'administrateur du succès de l'opération, et j'avais laissé ma propre adresse. J'ai ainsi reçu avec amusement une série de mails de notifications émanant de serveurs dont les administrateurs avaient oublié de modifier cette adresse. Je n'en veux bien sûr à personne, cela rassure un peu sur la fréquentation du site.
Mais pour le reste, dans l'ensemble, nous avons souvent l'impression de nous entêter à nous donner beaucoup de mal pour finalement pas grand chose. Nous nous investissons énormément, intellectuellement et même un peu financièrement, pour essayer de fournir une expérience certes pas parfaite ni professionnelle, mais la meilleure que nous pouvons. Je pense d'ailleurs qu'il s'agit de l'originalité du blog, si tant est qu'elle existe, car même si nous avons une certaine connaissance préliminaire du terrain et avons quelques prédispositions, nous découvrons le monde, aussi dur soit-il, et ses nouveautés, nous nous y adaptons, nous y faisons face et nous apprenons en même temps et au même niveau que vous, chers lecteurs, car nous savons que nous sommes logés à la même enseigne. Nous avons donc beaucoup misé sur l'interaction du site avec ses lecteurs, car nous n'aspirons pas à être meilleurs que vous. Nous savons que des gens beaucoup plus doués que nous sont amenés (avec un peu de chance) à tomber sur ce site. Nous voulons simplement partager notre vécu et que vous partagiez le votre entre vous. C'est en partageant et en nous entraidant que nous parviendrons à changer le monde.

View File

@ -4,6 +4,7 @@ date: 2016-03-16
author: raspbeguy
template: post
tags: adieu,édito,migration,portal,serveur
comments: true
---
Aujourd'hui est un jour important : nous avons officiellement enfin fini la migration de tous nos services vers Marvin. Ce qui veut dire que nous allons dire adieu à GLaDOS.

View File

@ -4,6 +4,7 @@ date: 2016-09-14
author: raspbeguy
template: post
tags: édito,rentrée,vacances
comments: true
---
Aujourd'hui, Hashtagueule fait sa rentrée. On ne vous avait pas annoncé de période de pause, mais c'est ainsi. On aurait peut-être du, cela dit, à vrai dire on avait pas trop prévu de faire un break, mais bon, vous savez ce que c'est, on fait des trucs, on bricole des machins, et finalement on perd un peu le blog de vue. C'est pas dramatique et c'est finalement tout ce qu'il y a de plus normal, et puis de toute façon, maintenant c'est fait.

View File

@ -4,6 +4,7 @@ date: 2017-06-11
author: raspbeguy
template: post
tags: art,édito,événement,graphique,jdll,maintenance,migration,virtualisation,webcomic
comments: true
---
Soufflons un peu la poussière et passons un coup de balayette.
@ -22,7 +23,7 @@ En ce qui me concerne, quelques évènements auxquels j'ai participé ces dernie
Membres présents de l'association [LILA](https://libreart.info/en/index-p2.html) lors des JDLL
- Le 21 mai, je me suis rendu à Toulouse pour rencontrer David Revoy, le créateur du webcomic [Pepper & Carrot](/posts/david-revoy/) dont on vous a déjà parlé, lors d'une [séance de dédicace](https://pod.hashtagueule.fr/posts/85108) dans une petite librairie.
- Le 21 mai, je me suis rendu à Toulouse pour rencontrer David Revoy, le créateur du webcomic [Pepper & Carrot](/posts/david-revoy) dont on vous a déjà parlé, lors d'une [séance de dédicace](https://pod.hashtagueule.fr/posts/85108) dans une petite librairie.
Je ne pourrai malheureusement pas me rendre aux prochaines [RMLL](https://2017.rmll.info/) à Saint-Étienne En fait si, je me suis juste emmêlé les pinceaux au moment de regarder dans mon calendrier, j'y serai donc les 1er et 2 juillet prochains. D'autre part, je vais tout faire pour me rendre aux prochain [Capitole du Libre](https://2017.capitoledulibre.org/) à Toulouse les 18 et 19 novembre prochains (ça semble encore loin certes).

View File

@ -1,9 +1,10 @@
---
title: Edward Snowden collabore pour... de la musique ?
title: "Edward Snowden collabore pour... de la musique ?"
date: 2016-04-15
author: raspbeguy
template: post
tags: electro,jarre,musique,musique,news,snowden
comments: true
---
Oui, on a des nouvelles d'Edward Snowden. Mais franchement, je vous avoue que je ne m'attendais pas à ça.

View File

@ -1,9 +1,10 @@
---
title: Email 2.0
title: "Email 2.0"
date: 2015-09-09
author: motius
template: post
tags: autohébergement,chiffrement,décentralisation,gpg,https,kickstarter,logiciel libre,mail,news,open hardware,open source,pgp,planet libre,tribunes,vie privée
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Empreintes de fichier
title: "Empreintes de fichier"
date: 2015-10-13
author: motius
template: post
tags: empreinte,hashage,news,planet libre,sha,théorie,tutoriels
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Explorer des logs ELK avec JsonPath
title: "Explorer des logs ELK avec JsonPath"
date: 2020-07-04
author: motius
template: post
tags: python,JSON,log,ELK,développement
comments: true
---
Bonjour !

View File

@ -1,9 +1,10 @@
---
title: [Express] Internet en France
title: "[Express] Internet en France"
date: 2017-01-21
author: raspbeguy
template: post
tags: coup de gueule,fillon,news,parti républicain,politique,en passant,présidentielle fr
comments: true
---
Hier, François a vaillamment avoué qu'il avait été à l'origine le l'arrivée d'Internet en France. On l'applaudit bien fort. Franchement, il nous a bien été utile, non ? Sans lui, y aurait pas Hashtagueule par exemple. On s'ennuierait beaucoup plus, c'est moi qui vous le dit.

View File

@ -1,9 +1,10 @@
---
title: Fablab vs. Hackerspace
title: "Fablab vs. Hackerspace"
date: 2016-05-20
author: raspbeguy
template: post
tags: bricolage,diy,do it yourself,fablab,libre,linux,planet libre,tribunes
comments: true
---
Quand on parle de DIY, on ne peut pas louper la grande vague des fablabs, hackerspace, et autres champignons de la même farine. Il s'agit des initiatives destinées à donner au peuple le moyen d'apprendre la technique, de se regrouper, de construire, de réparer, d'améliorer et de recycler à peu près n'importe quoi. Ce que peu de personnes savent, c'est qu'il existent plusieurs philosophies au sein de ce groupe de joyeux bricoleurs, des philosophies qui sont parfois tellement différentes que cela tourne parfois au conflit politique et social.

View File

@ -1,9 +1,10 @@
---
title: [Flash] Nouveaux attentats de Paris
title: "[Flash] Nouveaux attentats de Paris"
date: 2015-11-13
author: raspbeguy
template: post
tags: news
comments: true
---
Une nouvelle encore chaude et pas franchement réjouissante :

View File

@ -1,9 +1,10 @@
---
title: [Flash post] NSA animation
title: "[Flash post] NSA animation"
date: 2015-09-01
author: raspbeguy
template: post
tags: caméra,détente,gif,nsa,pixar,lien,surveillance,usa
comments: true
---
Très bien pensé, rien à rajouter.

View File

@ -1,9 +1,10 @@
---
title: Geek shopping
title: "Geek shopping"
date: 2015-10-12
author: raspbeguy
template: post
tags: achat,boutique,détente,fandom,geek,goodies,news
comments: true
---
Un petit billet rapide (marquant une petite période malheureuse de silence) pour noter la création du site de shopping orienté geek [Manatori](https://www.manatori.com/) que nous avions loupé. On connaissait déjà d'autres sites du genre [ThinkGeek](https://www.thinkgeek.com/) qui est devenu bien réputé et est en quelque sortes devenu une référence dans ce marché, ou bien encore [WeLoveFine](http://www.welovefine.com/), plutôt orientés vestimentaire, comme [RedBubble](http://www.redbubble.com/) qui se revendique en plus une certaine image hipster, sans omettre bien sûr toutes les boutiques spécialisées dans le T-shirt comme [Qwertee](https://www.qwertee.com/), [Yetee](https://theyetee.com/), et tout un tas de trucs qui finissent par "tee".

View File

@ -1,9 +1,10 @@
---
title: Gérer plusieurs parcs informatiques (Partie 0 : Présentation)
title: "Gérer plusieurs parcs informatiques (Partie 0 : Présentation)"
date: 2015-10-19
author: raspbeguy
template: post
tags: conflit,entreprise,ip,namespace,netns,network,openswan,planet libre,réseau,ssh,strongswan,support,tutoriels,vpn
comments: true
---
Salut à tous,
@ -30,7 +31,7 @@ La question qu'il est légitime de se poser à ce niveau, c'est : **Mais Raspbeg
Et ce tutoriel, ma foi, nous ne le commencerons pas aujourd'hui. Non non. Mais bientôt je vous le promet. J'ai réfléchi longuement à ce problème pour le décomposer en sous-parties. Voici mon plan d'attaque :
1. **[La gestion de conflits LAN to LAN](/posts/parcs-informatiques-partie-1-lan-to-lan/)** : résoudre les problèmes de routage induits par les conflits exposés ci dessus.
1. **[La gestion de conflits LAN to LAN](/posts/parcs-informatiques-partie-1-lan-to-lan)** : résoudre les problèmes de routage induits par les conflits exposés ci dessus.
2. **L'uniformisation des accès VPN**, ou comment éviter à l'utilisateur de se prendre la tête avec 50 commandes faisant toutes la longueur de mon bras.
3. **La gestion des droits** : autoriser un groupe de personnes à effectuer des actions précises et uniquement ces actions.

View File

@ -1,9 +1,10 @@
---
title: Git recall
title: "Git recall"
date: 2017-02-08
author: raspbeguy
template: post
tags: code,développement,github,gitlab,outil,planet libre,tests
comments: true
---
Si vous développez, contribuez, travaillez en groupe ou tout simplement suivez l'évolution du développement d'un programme, vous devez sûrement connaître l'outil de versionnage Git. Cet outil développé par Linus Torvalds lui-même est une référence pour la gestion de projet technique, ce que soit pour un projet personnel ou en équipe. Git permet de tracer l'évolution de son code, structurer les fronts de développement et de pouvoir revenir à n'importe quelle version passée.

View File

@ -1,9 +1,10 @@
---
title: Google recrute
title: "Google recrute"
date: 2015-09-01
author: motius
template: post
tags: google,job,news
comments: true
---
Google est au cœur du numérique, qu'on le veuille ou non. Et la société s'arrange pour recruter les ceux dont elle apprécie le profil, avec des méthodes amusantes...

View File

@ -1,9 +1,10 @@
---
title: Groin d'Or #1 : Marco Marsala
title: "Groin d'Or #1 : Marco Marsala"
date: 2016-04-15
author: raspbeguy
template: post
tags: bourde,faillite,groin d'or,hébergement,news,oups,production,tribunes
comments: true
---
**EDIT : _Il s'est révélé que le fait décrit dans cet article est une intox._** _Cependant, nous vous laissons ce contenu, car même si Marco Marsala est un sale menteur qui a voulu "promouvoir" sa boîte, les conclusions que nous en avons tiré restent valable, et il n'est pas inutile de remettre les pendules à l'heure._

View File

@ -0,0 +1,70 @@
---
title: HAProxy et en-tête Host
date: 2021-02-18
author: raspbeguy
template: post
tags: haproxy,http,loadbalancer,header
---
Je suis tombé sur un problème avec le protocole HTTP qui ne m'étais jamais arrivé auparavant.
# Le problème
Comme vous le savez, lorsqu'un navigateur souhaite obtenir une page d'un site internet, il fait ce qu'on appelle une requête HTTP. Cette requête contient entre autres un certain nombre d'en-têtes, dont un qui s'appelle `Host`.
Cet en-tête permet de signaler au serveur web quel est le site internet qui est interrogé, dans le cas où ce serveur web sert plusieurs sites à lui tout seul.
Par exemple, pour consulter Hashtagueule, votre navigateur emet une requête HTTPS sur le port 443 du serveur Hashtagueule avec un `Host` qui ressemble à ça :
```
Host: hashtagueule.fr
```
Le serveur regarde alors la liste des sites qu'il peut servir, il trouve le bon, et il renvoie le contenu demandé par la requête.
Ce que j'ignorais jusqu'alors, c'est que **cet en-tête peut contenir de manière facultative le numéro de port distant**. Pour Hashtagueule, cela donnerait :
```
Host: hashtagueule.fr:9091
```
[RFC correspondante](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23)
Je ne comprends pas très bien pourquoi le numéro de port peut être inclus dans cet en-tête. D'autant plus que dans la pratique, les navigateurs incluent ce numéro de port dans certains cas seulement. D'après mes tests sous Firefox et curl (sans forcer l'en-tête avec l'option `-H`) :
* Si le numéro de port correspond au port standard du protocole (80 pour HTTP, 443 pour HTTPS), alors ce numéro de port est omis de l'en-tête (et même si vous ajoutez ce numéro de port dans votre barre d'URL).
* Si le numéro diffère du port standard, il est inclus dans l'en-tête.
Autrement dit, **pour l'immense majorité des sites internet, ce numéro de port n'est jamais inclus**. Ça explique comment on peut passer à côté de cette réalité.
Certains serveurs web comme nginx vous évitent de vous en soucier et font abstraction de ce numéro de port lorsqu'ils font la correspondence entre requête et site.
Par contre, d'autres comme HAProxy ne le font pas par défaut, et donc si vous n'êtes pas conscient de cela, vous risquez d'avoir des problèmes.
# L'apprentissage par l'échec
J'utilise le programme **Transmission** sur mon serveur à la maison en mode "headless" (c'est à dire sur un serveur distant, avec une interface web). Celui-ci écoute d'habitude sur un port non standard, le port 9091. Cependant je l'ai placé derrière mon preverse proxy qui s'avère être HAProxy, ainsi tous mes sites HTTPS utilisent le port standard 443. Donc pour accéder à l'interface (et à l'API) de Transmission dans mon cas, il faut passer par le port standard 443.
**tremotesf** est une application Android qui se connecte à l'API de votre instance Transmission pour vous permettre de la contrôler, avec une interface sympa.
[Dépôt Github de tremotesf](https://github.com/equeim/tremotesf-android)
C'est en utilisant cette application que j'ai découvert le soucis : toutes les requêtes émises par cette application ont un en-tête `Host` contenant le numéro de port, qu'il soit standard ou non. Dans mon cas, donc, cela donnait ça :
```
Host: transmission.example.com:443
```
N'ayant pas prévu le coup, mon HAProxy était configuré pour mettre en correspondance Transmission avec le `Host` transmission.example.com, mais ne savait que faire avec le `Host` transmission.example.com:443.
# La solution
Elle tient en une seule ligne, à placer dans la section Frontend :
```
http-request replace-header Host ([^:]+) \1
```
Cette directive dit simplement de supprimer les deux points et tout ce qui se trouve après, c'est à dire le numéro de port. On retombe donc bien sur un `Host` sans numéro de port.
Ainsi on ne m'y reprendra plus.

View File

@ -1,9 +1,10 @@
---
title: Hashtagueule a deux ans (et quelques jours...)
title: "Hashtagueule a deux ans (et quelques jours...)"
date: 2017-08-19
author: raspbeguy
template: post
tags: anniversaire,bilan,édito,projets,recrutement
comments: true
---
Ben voilà, j'ai activé le renouvellement automatique du paiement du nom de domaines chez notre registrar, résultat j'ai loupé le deuxième anniversaire du blog. Honteux je vous dis.

View File

@ -1,9 +1,10 @@
---
title: Ian Murdock est mort
title: "Ian Murdock est mort"
date: 2015-12-31
author: raspbeguy
template: post
tags: debian,décès,linux,news,police,twitter
comments: true
---
Hier 30 décembre, l'entreprise [Docker](http://www.docker.com/) a annoncé via son [blog](http://blog.docker.com/2015/12/ian-murdock/) la mort d'Ian Murdock, le fondateur du projet [Debian](https://www.debian.org/), à l'âge de 42 ans, dans des circonstances encore mystérieuses à ce jour. Murdock travaillait chez Docker depuis quelques mois seulement.

View File

@ -1,14 +1,15 @@
---
title: Investiture démocrate
title: "Investiture démocrate"
date: 2015-10-12
author: motius
template: post
tags: lawrence lessig,news,présidentielle us
comments: true
---
Bonjour à tous !
Je vous avais déjà parlé [ici](/posts/presidentielle-us/) des présidentielles US et plus particulièrement de Lawrence Lessig, candidat à l'investiture démocrate. Update et présages...
Je vous avais déjà parlé [ici](/posts/presidentielle-us) des présidentielles US et plus particulièrement de Lawrence Lessig, candidat à l'investiture démocrate. Update et présages...
Petit rappel pour ceux qui ne prendront pas le temps de lire l'article précédent : Lawrence Lessig, avant d'être candidats à la présidentielle états-unienne, est un avocat spécilalisé dans le droit constitutionnel et la propriété intellectuelle, pour laquelle il a beaucoup œuvré sur internet en tant qu'activiste, avant de fonder les Creatives Commmons, essentiel au partage simplifié d'images sur internet.

View File

@ -1,9 +1,10 @@
---
title: L'Inde menace Google d'une amende de 1,4 milliards de dollars
title: "L'Inde menace Google d'une amende de 1,4 milliards de dollars"
date: 2015-09-01
author: motius
template: post
tags: google,inde,moteur de recherche,news,service en ligne,tribunes
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: La fondation Wikimédia bloque des comptes et IPs pour améliorer la neutralité de Wikipédia
title: "La fondation Wikimédia bloque des comptes et IPs pour améliorer la neutralité de Wikipédia"
date: 2015-09-02
author: motius
template: post
tags: bloquage ip,encyclopédie,neutralité,news,planet libre,wikimédia,wikipédia
comments: true
---
Bonjour à tous !

View File

@ -1,55 +0,0 @@
---
title: La guerre des protocoles
date: 2020-11-30
author: raspbeguy
template: post
tags: tribune,protocole,web,xmpp,réseaux sociaux,xmpp,matrix
---
J'ai hésité à appeler cet article "_Oh putain c'qu'il est blèèèème, mon HTML_" mais j'ai eu peur que Renaud vienne m'apprendre un jeu rigolo à grand coup de chaîne de vélo.
Voici un recueil de mes propres opinions qui ont lentement muri face à la mode de la réinvention de la roue. Attention, ce n'est pas un phénomène nouveau. Cependant je pense que la dernière décennie, qui a vu l'âge de la puberté d'Internet (car à mon avis Internet n'est toujours pas à l'âge adulte) a été l'occasion pour beaucoup de personnes de remettre en question des éléments essentiels de cet outil.
# La diversité c'est bien au niveau microscopique...
Qu'on se le dise : la diversité des technologies, c'est plutôt une bonne chose, en général. Cela permet de découper les piles technologiques en segments atomiques (une techno par tâche simple) et ainsi, si on n'est pas satisfait du résultat d'une techno, on la change, ou mieux, on la subdivise encore.
Prenons un exemple pratique : Hastagueule, comme la plupart des sites, est composé de 3 "briques" : un frontal, une application, un dépôt de données.
Il y a très longtemps, Apache2 s'occupait à la fois du frontal HTTP et de l'interpréteur pour l'application (Wordpress, en PHP). La pile était donc la suivante :
- Frontal (+ interpréteur application) : Apache2
- Application : Wordpress
- Dépôt de données : MySQL
Plus tard, j'ai scindé cette tâche : j'ai utilisé nginx pour faire frontal, et php-fpm pour l'interpréteur. Ensuite, j'ai changé de base de donnée en passant de MySQL à MariaDB. Plus récemment, j'ai décidé de me passer de Wordpress et de paccer à [PicoCMS](edito-11-refonte-en-profondeur) et du coup de me débarasser de la base de donnée en passant par des données en fichier texte brut, versionnées par git.
La nouvelle pile est devenue la suivante :
- Frontal : Nginx
- Interpréteur application : php-fpm
- Application : PicoCMS
- Dépôt de données : dossier versionné par git
Les briques ont pu la plupart du temps être changées sans altérer le résultat produit. Bien entendu, le changement d'application, lui, a été disruptif et a impliqué de changer le système de données également, mais cela était justement désiré.
# ... mais peut poser problème au niveau macroscopique !
On parle maintenant au niveau plus global qui est l'usage que l'on fait des piles de technologies.
Internet est un outil de communication. Des gens diffusent des contenus et se parlent entre eux. Comme dans la vie normale donc, il y a des codes, des conventions, des règles, des habitudes.
Pour que les gens gardent le fil de leur vie personnelle, ils ont tendance à adopter un nombre très limité d'outils pour s'informer et communiquer. La diversité sauvage et non coordonnée, à ce niveau, crée donc immanquablement un cloisonnement de groupes d'utilisateurs. À moins que des passerelles simples et attrayantes soient disponibles, les utilisateurs sont donc contraints à multiplier les outils pour leur survie numérique.
Chacun est libre d'utiliser ce qu'il veut, en particulier lorsqu'il est le seul impacté par ses choix. Mais avant de recréer un outil à destination d'utilisateurs finaux, il faut vraiment bien estimer la légitimité et les implications de cette action. En ce qui me concerne, une raison qui rend cette action légitime à coup sûr, c'est l'absence d'autres projets libres remplissant cette fonction.
## Gemini
[Gemini](https://gemini.circumlunar.space/) est l'élément déclencheur qui m'a amené à écrire cet article.
Au début des années 90, alors qu'Internet n'est utilisé que par une minorité d'universitaires boutonneux pour faire des truc d'intello, on voit naître à peu près simultanément au moins deux technologies de récupérer des informations navigables, sous formes d'index et de pages : HTTP en Europe, et Gopher en Amérique. Ces deux technologies vont se développer en parallèle et donner deux facettes de l'Internet navigable, celle d'HTTP sera appelée le Web. Après seulement quelques années, Gopher finit par se faire manger par HTTP pour être réduit à peau de chagrin.
Je ne vais pas taper sur Gopher. Ce protocole a au moins la légitimité d'être né en même temps que le web. Cependant, son déclin est en partie lié à son austérité.
# Navigation

View File

@ -1,16 +1,17 @@
---
title: La guerre du chiffrement 2
title: "La guerre du chiffrement 2"
date: 2016-03-17
author: motius
template: post
tags: chiffrement,eff,planet libre,sécurité,tribunes,vie privée
comments: true
---
Bonjour à tous !
Le titre est assez explicite : on rempile sur d'autres points de vue sur le chiffrement, ce qui a été dit, les argumentaires etc.
Le chiffrement est un thème complexe en général, et avant d'en avoir fait le tour, il est nécessaire d'avoir beaucoup lu, réfléchi, etc. Et encore, notre réflexion ne s'attaque aux algorithmes que superficiellement, histoire d'en connaître leur structure et leur utilité, pas les détails d'implémentation. Vous l'avez compris, on reprend [là où on s'était arrêtés](/posts/la-guerre-du-chiffrement/).
Le chiffrement est un thème complexe en général, et avant d'en avoir fait le tour, il est nécessaire d'avoir beaucoup lu, réfléchi, etc. Et encore, notre réflexion ne s'attaque aux algorithmes que superficiellement, histoire d'en connaître leur structure et leur utilité, pas les détails d'implémentation. Vous l'avez compris, on reprend [là où on s'était arrêtés](/posts/la-guerre-du-chiffrement).
# L'EFF
@ -49,7 +50,7 @@ Je vous encourage à la regarder, puisque c'est fait sur un ton humoristique, et
- À _2:18/6:10_, John Oliver parle de l'iPhone de Syed Farook, et dit que le FBI ne peut pas rentrer dedans, ce qui n'est que la moitié de l'histoire : Apple a fourni la backup iCloud de cet iPhone. De plus la NSA a des accès aux iPhones probablement via des malwares et autres chevaux de troie, cf. [ce qu'en dit Snowden](https://news.vice.com/article/edward-snowden-calls-bullshit-on-fbis-claim-that-it-cant-unlock-iphone), conséquence du fait qu'il n'existe pas de machine de Turing (donc d'ordinateur) absolument sécurisée contre toutes les attaques.
- À _4:26_ : en effet, beaucoup pensent de manière trop simpliste au chiffrement. Pas de sécurité sur internet sans. Et c'est pas parce qu'on veut quelque chose qu'on l'obtient. En l'occurrence, les maths disent le contraire : si je chiffre des données avec un algorithme puissant, il va parfois être nécessaire d'utiliser des centaines de machines pendant des milliers d'heures pour décrypter ce qui a été chiffré. D'où l'utilisation d'une backdoor dans le logiciel comme solution alternative.
- À _8:00_ : 175 iPhones état de NY seul. Cela conforte mon opinion que l'essentiel de cette affaire est le côté légal, cf. les autres arguments de [La guerre sur le chiffrement 1](/posts/la-guerre-du-chiffrement/).
- À _8:00_ : 175 iPhones état de NY seul. Cela conforte mon opinion que l'essentiel de cette affaire est le côté légal, cf. les autres arguments de [La guerre sur le chiffrement 1](/posts/la-guerre-du-chiffrement).
- À _8:39_ : All Writs Act : déjà cité dans l'amicus de l'EFF : selon l'EFF cet argument de type légal ne peut pas aller contre la constitution, cf. p.32 de l'amicus. Le texte de la loi énonce :
> (a) The Supreme Court and all courts established by Act of Congress may issue all writs necessary or appropriate in aid of their respective jurisdictions and agreeable to the usages and principles of law.

View File

@ -1,14 +1,15 @@
---
title: La guerre du chiffrement
title: "La guerre du chiffrement"
date: 2016-02-26
author: motius
template: post
tags: apple,chiffrement,fbi,google,iphone,nsa,planet libre,snowden,tribunes,vie privée
comments: true
---
Bonjour à tous !
Ça va peut-être vous paraître bizarre, mais je pense qu'il est grand temps de reparler de chiffrement, [un](/posts/tor-messenger/) [dada](/posts/lets-encrypt/) [chez](/posts/smssecure-vs-textsecure/) [moi](/posts/email-2-0/) me direz-vous. En effet, ça fait depuis mi-novembre (à cause des attentats du 13, en fait) que les choses ont commencé à s'agiter,
Ça va peut-être vous paraître bizarre, mais je pense qu'il est grand temps de reparler de chiffrement, [un](/posts/tor-messenger) [dada](/posts/lets-encrypt) [chez](/posts/smssecure-vs-textsecure) [moi](/posts/email-2-0) me direz-vous. En effet, ça fait depuis mi-novembre (à cause des attentats du 13, en fait) que les choses ont commencé à s'agiter,
Revenons sur l'actualité récente. Depuis [dix jours](http://www.numerama.com/politique/146161-tim-cook-explique-pourquoi-apple-refuse-daider-le-fbi.html), Apple [s'est relancé](http://www.numerama.com/magazine/30685-ios-8-chiffrement.html) dans la guerre pour le chiffrement, face au FBI et à la NSA. Suivit par le PDG de Whatsapp (et [Mark Zucherberg](http://www.numerama.com/politique/147609-mark-zuckerberg-comprend-la-position-dapple-face-au-fbi.html)) et celui de [Google](http://gizmodo.com/google-ceo-finally-chimes-in-on-fbi-encryption-case-sa-1759769257).

View File

@ -1,9 +1,10 @@
---
title: La publicité sur internet
title: "La publicité sur internet"
date: 2015-10-29
author: motius
template: post
tags: moteur de recherche,planet libre,publicité,site web,tracking,tribunes,vie privée,web
comments: true
---
29Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: La virtu pour les nuls : faire un bridge
title: "La virtu pour les nuls : faire un bridge"
date: 2019-08-11
author: raspbeguy
template: post
tags: non classé
comments: true
---
Je vous avais déjà fait part de ma fascination pour la virtualisation. Et c'est vrai. J'aime la virtualisation. Bon Dieu ce que je l'aime. Aaaaaah. Diantre j'adore ça. Ça me donne envie de sortir dans la rue et de faire des trucs stupides tellement je kiffe ça.

View File

@ -1,9 +1,10 @@
---
title: La virtu pour les nuls : le stockage
title: "La virtu pour les nuls : le stockage"
date: 2020-01-27
author: raspbeguy
template: post
tags: auto-hébergement,cluster,drbd,kiss,libvirt,lvm,san,stockage,tutoriels,virtualisation
comments: true
---
Mise en garde : cet article va être très long, car j'ai pensé qu'il serait intéressant d'exposer ma démarche complète pour la conception de mon infrastructure, et de présenter aussi non seulement ce que j'ai mis en place, mais également ce que je n'ai pas retenu. En plus on va parler de plein de technos différentes donc vous n'êtes pas obligé de tout lire si vous voulez. D'un autre côté vous êtes toujours libre de faire ce que vous voulez donc je sais pas de quoi je me mêle.

View File

@ -1,9 +1,10 @@
---
title: Le chiffrement bout-en-bout pour tous
title: "Le chiffrement bout-en-bout pour tous"
date: 2015-10-15
author: motius
template: post
tags: planet libre,tribunes
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Le droit, la justice et internet.
title: "Le droit, la justice et internet."
date: 2015-09-20
author: motius
template: post
tags: cryptographie,cyphershed,décentralisation,déni-plausible,diffie-hellmann,droit,gpg,internet,mail,open source,otr,pfs,planet libre,tor,tribunes,truecrypt,veracrypt,vie privée,xmpp
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Le jour ou la réalité dépasse le cinéma
title: "Le jour ou la réalité dépasse le cinéma"
date: 2015-10-21
author: raspbeguy
template: post
tags: cinéma,delorean,fandom,invention,news,retours vers le futur,savant,science-fiction,tribunes,voyage dans le temps
comments: true
---
Ça y est, nous y sommes enfin, nous ne pouvions pas ne pas en parler sur Hashtagueule quand même.
@ -26,7 +27,7 @@ Je rappelle que je ne fais que donner mon avis. Vous êtes libres de sortir dans
Donc aujourd'hui, disais-je, mon impression est que le progrès a été nettement plus centralisé. On a focalisé nos efforts sur une technologie particulière (quoique vaste) qui est l'informatique et ses sous domaines, comme le big-data ou l'interface homme-machine, et on en a mis partout. Quand je dis partout, je veux dire partout. La liste des objets qui ne disposent pas d'un système d'exploitation standardisé se réduit à une peau de chagrin de nos jours, et c'est donc le règne de la micro et macro-informatique.
Ce qui découle aussi d'un phénomène plus global : au lieu d'inventer de nouvelles technologies, on a surtout perfectionné les technologies existantes : les voitures ne volent pas et roulent toujours au pétrole, mais elle sont plus sures et moins gourmandes (sauf [exceptions](/posts/volkswagen/)).
Ce qui découle aussi d'un phénomène plus global : au lieu d'inventer de nouvelles technologies, on a surtout perfectionné les technologies existantes : les voitures ne volent pas et roulent toujours au pétrole, mais elle sont plus sures et moins gourmandes (sauf [exceptions](/posts/volkswagen)).
Ce qui donne au final une image très différente de l'année 2015.

View File

@ -1,9 +1,10 @@
---
title: Le mot de passe...
title: "Le mot de passe..."
date: 2015-09-10
author: motius
template: post
tags: mot de passe,planet libre,théorie,tutoriels
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Le nouveau logo de Google n'est pas du goût de Qwant
title: "Le nouveau logo de Google n'est pas du goût de Qwant"
date: 2015-09-03
author: motius
template: post
tags: ©,google,logo,moteur de recherche,news,planet libre,qwant
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Le package Jitsi-Meet : la fête du slip
title: "Le package Jitsi-Meet : la fête du slip"
date: 2019-05-23
author: raspbeguy
template: post
tags: auto-hébergement,jitsy,tutoriels,video,xmpp
comments: true
---
Aujourd'hui j'ai du installer un serveur Jitsi Meet pour un client. Je ne l'aurais pas prévu mais ça a été la grosse galère pour des raisons tout à fait singulières.

View File

@ -1,9 +1,10 @@
---
title: Le Petit Prince
title: "Le Petit Prince"
date: 2015-09-21
author: motius
template: post
tags: art,cinéma,détente,news
comments: true
---
Bonjour à tous !

View File

@ -0,0 +1,145 @@
---
title: Le SAN maison pas cher
date: 2023-06-16
author: raspbeguy
template: post
tags: auto-hébergement, stockage, réseau, iscsi
---
Dans [un précédent article](/posts/la-virtu-pour-les-nuls-le-stockage), je parlais de ma solution de stockage pour ma grappe d'hyperviseurs, pour pouvoir faire des migrations à chaud, tout ça. Si vous vous souvenez bien, pour la mise à disposition du stockage par plusieurs machines en même temps, j'avais évoqué plusieurs possibilités, dont DRBD multi-master et iSCSI sur un bon gros SAN bien gras. J'étais parti sur DRBD pour plusieurs raisons, aujourd'hui je vais vous parler de monter votre propre SAN avec _multipath_ sans avoir à manger des pâtes pendant la prochaine décennie.
# Rappel
On part du besoin de pouvoir exécuter des machines virtuelles sur plusieurs hyperviseurs, et de pouvoir interchanger ces hyperviseurs comme bon nous semble, à chaud comme à froid, et de pouvoir parer rapidement à une défaillance de l'un d'eux.
En conséquence, d'un point de vue purement stockage, on a deux choses à gérer :
* Mise à disposition d'un point de stockage bloc unique à toutes les machines
* Partitionnement de ce stockage avec gestion de verrous
Pour le partitionnement, ma solution est de passer par un VG, ou _volume group_ LVM, partagé à l'aide de sanlock. Cela consiste a disposer d'un petit LV (_logical volume_) appelé `lvmlock` dédié au sein de ce VG, dont le rôle est simplement de consigner qui utilise quoi afin que les hyperviseurs se se mettre à plusieurs pour modifier une partition et donc très probablement la corrompre. En effet les systèmes de fichiers traditionnels ne supportent pas les accès concurrentiels.
Au moment de l'activation d'un LV sur un hyperviseur, LVM va dire "**Attends voir, je vais demander à mon démon (`lvmlockd`) si j'ai le droit d'utiliser ce LV**". `lvmlockd` peut supporter plusieurs gestionnaires de verrous, dont `sanlock`, ce qui est notre cas. Il va donc lui demander "**Hello, nous sommes l'hyperviseur numéro X, est-ce qu'on peut monter ce LV s'il te plaît ? J'en ai un besoin exclusif si possible**", et donc le petit `sanlock` prend sa redingote, sa bougie et son lorgnon de clerc, et va consulter le registre des verrous maintenu dans le LV `lvmlock`. Ensuite, deux possibilités :
* Le petit `sanlock` trouve un verrou actif sur le LV demandé, et il répond alors, l'air tout penaud : "**Je suis vraiment navré, mais ce LV est déjà utilisé par une autre machine, je vous invite donc à réessayer plus tard.**". Alors `lvmlockd` se voit contraint, non sans une certaine pointe de dépit, de devoir annuler l'activation du LV. Ce sont des choses qui arrivent.
* `sanlock` ne trouve pas de verrou actif pour ce LV, et il répond tout guilleret : "**C'est avec quand plaisir que je vous confirme que vous pouvez activer localement ce LV dès l'instant. Je vais vous inscrire au registre afin de signaler à mes confrères que cette ressources vous est exclusivement allouée jusqu'à nouvel ordre de votre part**". Ce qu'il s'empresse de faire avec le très agréable sentiment de travail accompli, comme seuls les petits processus peuvent le faire.
Lorsque `lvmlockd` revient voir `sanlock` à la désactivation du LV, c'est avec le même entrain que `sanlock` marque le verrou comme relâché dans son grimoire.
Pour les migrations, au lieu d'un verrou exclusif, il est possible de solliciter un verrou partagé, qui a vocation bien sûr de ne pas durer.
La scène décrite a besoin d'un décor, c'est à dire ici d'un point de stockage bloc. Comme les verrous sont gérés au niveau du partitionnement, ce stockage ne s'encombre pas de contrôler qui peut accéder à quoi.
# DRBD ou iSCSI ?
Les deux ont des avantages indéniables, ceux de DRBD étant de ne pas nécessiter un équipement tiers (donc moins cher) et de permettre la réplication des données sur les différents serveurs. Cependant un gros soucis de DRBD... c'est qu'il n'est pas fait pour faire du multi-master infini. La réplication devient vite très instable et j'ai eu plusieurs séances d'arrachage des derniers cheveux qu'il me reste à devoir réparer un _split-brain_, ce cas où la synchronisation est par terre et les serveurs se mettent à écrire sur le stockage indépendamment, et la réconciliation est très très compliquée. Personnellement je n'ai jamais eu la chance de pouvoir les réconcilier, j'ai du à chaque fois reconstruire la réplication en invalidant l'un de mes serveurs et en lui faisant recopier son copain.
J'en ai eu assez de gérer ça (et les accros de DRBD me diront qu'ils me l'avaient bien dit et que c'est bien fait pour ma tronche). J'ai donc songé à la possibilité de changer de camp et de disposer d'un SAN, et face au coup exorbitant de ces bestioles, m'en faire un moi-même avec les moyens du bord. J'avais en effet un NUC dans un coin et une baie Thunderbolt remplie de disques, le tout représentait mon ancien NAS, avant que j'achète un HP ProLient MicroServer d'occasion pour le remplacer.
# Optimisation réseau
Mon principal frein était la vitesse du réseau. Pour doter mes VMs de disques acceptable, pensais-je, il me faut au moins une connexion 10 Gbps, sinon je me verrais contraint de limiter le nombre de VMs. Ça me rendait un peu triste, mais je gardais le projet dans un coin de ma tête.
## Aggrégation de liens, une fausse bonne idée
Pendant une pause de midi, j'en ai parlé à un collègue de bureau qui a une longue expérience à la fois en stockage industriel et en auto-hébergement. Je lui ai fait part de mes craintes concernant le réseau, à quoi il m'a répondu ces paroles imbibées de sagesse :
> Bah t'as qu'à faire de l'aggrégation de liens 1 Gbps, et même deux liens ça fera bien l'affaire.
J'ai trouvé l'idée très bonne et j'ai tenté le truc. Mon switch de coeur permet justement de faire de l'aggrégation. Mon NUC n'ayant qu'une seule carte réseau, j'ai résolu le problème en achetant deux simples adaptateurs USB-3 vers RJ45. Malheureusement j'ai appris que l'aggrégation de liens ne permet pas de multiplier le débit pour le genre de flux iSCSI. En effet, le principe de l'aggrégation est de répartir les paquets sur les différents liens selon plusieurs stratégies possibles (_round-robin_, équilibrage de charge, hashage...), mais une connexion TCP donnée sera toujours sur le même lien, et c'est précisément le cas d'iSCSI où il n'est question que d'une seule connexion TCP.
Cela dit, l'expérience n'était pas dénuée d'intérêt, et en cherchant j'ai trouvé une idée encore meilleure. Pour augmenter les performances d'un SAN, la meilleure stratégie n'est pas l'aggrégation de liens, mais la multiplication de réseaux de sockage, c'est ce qu'on appelle le _multipath_.
## Le multipath
Faire du SAN multipath consiste à utiliser plusieurs chemins réseaux pour atteindre un point de stockage. Pour cela, le SAN doit disposer de plusieurs interfaces réseaux, chacune connectée à son propre réseau dédié. Dans l'idéal on disposerait de switchs séparés sur chacun desquels chaque hyperviseur aurait un lien. Cela permet à la fois la multiplication effective de la vitesse de tranfert et la résilience à une panne matérielle.
En pratique je n'ai pas de switch dédié. On se passera donc pour l'instant de la résilience matérielle. J'ai donc dédié deux VLANs dédiés auxquels j'ai assigné des ports de mon switch (en mode _access_) ce qui correspond à deux petits switchs isolés logiquement.
Du côté du NUC, j'ai trois interface, celle d'administration `eth0` intégrée au NUC et mes deux adaptateurs USB `eth1` et `eth2` qui seront utilisés pour les deux réseaux de stockage. J'assigne l'adresse 10.20.5.254/24 à `eth1` et 10.20.6.254/24 à `eth2`. Maintenant il me faut exposer le stockage sur ces deux interfaces. Le noyau Linux dispode d'un [module de partage de targets SCSI](https://en.wikipedia.org/wiki/LIO_(SCSI_target)) contrôllable avec un outil de l'espace utilisateur appelé `targetcli`. Le wiki Alpine Linux dispose d'un [très bon guide](https://wiki.alpinelinux.org/wiki/Linux_iSCSI_Target_(TCM)) pour sa mise en place. Dans mon cas, j'ai créé mon backstore sur un montage RAID5 (explications dans [un de mes précédents articles](/posts/ca-va-devenir-raid-dans-votre-serveur)) avec la commande suivante :
```
/backstores/blockio> create block0 /dev/md0
```
J'ai également créé non pas un `portal` mais deux, avec les commandes suivantes :
```
/iscsi/iqn.20.../tpg1/portals> create 10.20.5.254 3260
/iscsi/iqn.20.../tpg1/portals> create 10.20.6.254 3260
```
Ce qui me donne au final un truc comme ça :
```
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 1]
| | o- block0 ........................................................................... [/dev/md0 (8.2TiB) write-thru activated]
| | o- alua ................................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2003-01.org.linux-iscsi.nuc.x8664:sn.a8ff70fddc94 ............................................................. [TPGs: 1]
| o- tpg1 .................................................................................................. [gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 0]
| o- luns .......................................................................................................... [LUNs: 1]
| | o- lun0 ..................................................................... [block/block0 (/dev/md0) (default_tg_pt_gp)]
| o- portals .................................................................................................... [Portals: 2]
| o- 10.20.5.254:3260 ................................................................................................. [OK]
| o- 10.20.6.254:3260 ................................................................................................. [OK]
o- loopback ......................................................................................................... [Targets: 0]
o- vhost ............................................................................................................ [Targets: 0]
o- xen-pvscsi ....................................................................................................... [Targets: 0]
```
Du côté des hyperviseurs, j'ai déjà assez d'interfaces réseau, pas besoin d'adaptateurs.
| | `eth1` | `eth2` |
|-----------|--------------|--------------|
| serveur-1 | 10.20.5.1/24 | 10.20.6.1/24 |
| serveur-2 | 10.20.5.2/24 | 10.20.6.2/24 |
Connectons nous maintenant à chacune des cibles exposées :
```
~# iscsiadm -m discovery -t st -p 10.20.5.254
10.20.5.254:3260,1 iqn.2003-01.org.linux-iscsi.nuc.x8664:sn.a8ff70fddc94
10.20.6.254:3260,1 iqn.2003-01.org.linux-iscsi.nuc.x8664:sn.a8ff70fddc94
~# iscsiadm -m node --targetname "iqn.2003-01.org.linux-iscsi.nuc.x8664:sn.a8ff70fddc94" --portal "10.20.5.254:3260" --login
~# iscsiadm -m node --targetname "iqn.2003-01.org.linux-iscsi.nuc.x8664:sn.a8ff70fddc94" --portal "10.20.6.254:3260" --login
```
Un petit `lsblk` confirme que deux volumes ont été ajoutés.
Maintenant il s'agit de dire à l'OS que ces deux disques sont en fait deux points d'accès au même stockage. Pour cela il faut installer le démon `multipath`. J'ai suivi [cette doc](https://tweenpath.net/install-multipath-debian-server/) qui explique coment l'utiliser sous debian, mais ça doit être valable partout.
Je me retrouve avec ce résultat :
```
~# multipath -l
mpatha (360014053221815080c24cdc938f1f56a) dm-25 LIO-ORG,block0
size=8.2T features='0' hwhandler='1 alua' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
|- 6:0:0:0 sde 8:64 active undef running
`- 7:0:0:0 sdf 8:80 active undef running
~# lsblk
sde 8:64 0 8,2T 0 disk
└─mpatha 253:25 0 8,2T 0 mpath
sdf 8:80 0 8,2T 0 disk
└─mpatha 253:25 0 8,2T 0 mpath
```
Mon volume est alors présenté sur `/dev/mpatha`, libre à moi maintenant d'en faire un support pour LVM. Et la procédure reprend son cours.
# Conclusion
Il n'y a pas besoin d'un réseau de fou pour faire du SAN avec des VMs aux IOs raisonnables. De plus, après quelques tests à base de `dd`, je me suis rendu compte que les performances étaient meilleures sur mon SAN maison que sur ma partition de disque locale en cluster DRBD. En fait, ce n'est ici clairement pas le réseau qui limite, mais la vitesse de mes disques durs mécaniques.
---
J'ai mis en place un [compte sur le Fediverse pour Hashtagueule](https://social.gugod.fr/@hashtagueule), n'hésitez pas à suivre et à commenter là-bas ainsi que sur notre [salon Matrix](https://matrix.to/#/#hashtagueule:gugod.fr).

View File

@ -0,0 +1,81 @@
---
title: Le templating dans les scripts shell
date: 2021-02-19
author: raspbeguy
template: post
tags: shell,script
---
# Les modèles
En programmation, on est souvent amené à produire un résultat ayant une forme prédéfinie, mais du contenu variable. C'est particulièrement vrai pour les sites web et blogs, dont les pages et les articles doivent respecter une mise en page uniforme et des éléments en commun, comme le menu de navigation, la charte graphique, les pieds de pages... C'est aussi vrai pour générer des fichiers de configuration, par exemple grâce à Ansible, dont on est sûr qu'ils respectent tous la même syntaxe, ce qui permet de mettre de côté le facteur humain, connu pour sa nature erratique.
La forme prédéfinie utilisée par ces techniques est appelée un template (ou modèle en français). On utilise alors un moteur de templating à qui on fournit du contenu d'un côté, un template de l'autre, et en sortie on trouvera le résultat mis en forme, notre fameuse page HTML ou fichier de configuration par exemple. On dit alors qu'on fait un rendu d'un template.
Les pythonistes utilisent principalement le moteur Jinja2 (c'est le cas pour Ansible et le moteur par défaut de Django), les PHPistes se tournent plutôt vers twig, qui a commencé en s'inspirant de Jinja2. Tous les deux ont beaucoup de fonctionnalités et disposent d'un méta-langage rappelant les langages de programmation : boucles, conditions, fonctions...
# Utilisation basique
Des fonctionnalités qui sont inutiles dans certains cas d'usages. Parfois, on a uniquement envie de placer le contenu de variables à des endroits donnés, et basta. On a pas besoin de boucler dans des structures complexes ou d'utiliser des conditions. Pour ces usages basiques, vous avez probablement déjà l'outil installé sur votre distribution, il s'agit de l'outil GNU **envsubst**, présent dans les outils gettext (paquet gettext-base sous Debian).
J'ai utilisé envsubst lorsque j'ai développé pour mon entreprise un ensemble de scripts permettant de gérer des accès au VPN Wireguard permettant d'accéder à distance aux ressources nécessaires pour travailler. Ces scripts permettent de mettre à disposition des utilisateurs des fichiers de configuration qu'ils doivent fournir à leur client.
Je ne m'étendrai pas sur le fonctionnement de ces scripts (ni sur les considérations de sécurité nécessaires), ce sera peut-être l'objet d'un autre article. Je parlerai uniquement du templating qui y est opéré pour permettre à l'utilisateur de récupérer sa configuration, lorque la paire de clefs a été générée et l'IP interne attribuée.
À ce stade j'ai besoin de quelques variables :
* `$client_privkey` contenant la clef privée de l'utilisateur.
* `$client_ip` contenant son adresse IP.
* `$server_pubkey` contenant la clef publique du serveur.
* `$server_endpoint` contenant la clef publique du serveur.
* `$allowed_ips` contenant les intervalles d'IP prises en charge par le tunnel.
* `$dns` contenant l'IP du serveur DNS interne.
Mon template envsubst est le suivant (fichier `userconf.tpl`) :
```
[Interface]
PrivateKey = ${client_privkey}
Address = ${client_ip}
DNS = ${dns}
[Peer]
PublicKey = ${server_pubkey}
Endpoint = ${server_endpoint}
AllowedIPs = ${allowed_ips}
PersistentKeepalive = 25
```
Remarquons que seules les variables `$client_privkey` et `$client_ip` varient selon l'utilisateur, et que j'aurais très bien pu directement inscrire la valeur des autres variables directement dans le fichier. Néanmoins ce code n'aurait pas été très propre ni portable.
Dans mon script, pour effectuer le rendu de ce template, j'ai les instructions suivantes :
```shell
export client_privkey client_ip server_pubkey server_endpoint allowed_ips dns
cat template/userconf.tpl | envsubst > generated_conf/${username}.conf
```
Ainsi, si mon nom est raspbeguy, le fichier `raspbeguy.conf` contiendra mon fichier de configuration personnel, il ne me reste plus qu'à le télécharger (et à le supprimer du serveur pour des raisons de sécurité).
# Si ça ne suffit pas
envsubst est vraiment très pratique car il est très simple et permet de ne pas dépendre de tout un tas de bibliothèques lourdes.
Cependant vous pouvez être amené a avoir réellement besoin d'un moteur de templating complet comme Jinja2, ne serait-ce que pour itérer des des listes d'objets par exemple. Il n'y a pas vraiment d'outil intermédiaire qui vaille le coup à ma connaissance.
Il existe un outil, présent dans les dépôts Debian, permettant de faire des rendus de templates Jinja2 directement en ligne de commande.
```
apt install j2cli
```
[Dépôt Github de j2cli](https://github.com/kolypto/j2cli)
Ce paquet fournit un exécutable `j2` qui accepte d'être fourni en variable suivant plusieurs méthodes, notament en piochant directement dans les variables d'environnement (comme envsubst) ou bien via des syntaxes répendues comme les format JSON, INI ou YAML. Notament, si vous voulez passez des listes ou des dictionnaires à cet outil, vous serez obligé de passer par ces syntaxes.
Cet outil vous offre toutes les fonctionnalités du moteur Jinja2.
# Conclusion
Je pense qu'il est toujours préférable de se tourner en priorité vers des outils simples. Un bon projet est un projet qui ne demande pas tout l'univers en dépendances.

View File

@ -1,9 +1,10 @@
---
title: Les CHATONS, nouvelle initiative de Framasoft
title: "Les CHATONS, nouvelle initiative de Framasoft"
date: 2016-02-16
author: raspbeguy
template: post
tags: collectif,framasoft,hébergement,hosting,libre,news,planet libre,service,tribunes
comments: true
---
Après l'avoir officiellement annoncé le 26 janvier dernier, l'association pour la promotion du libre Framasoft a [publié sur son blog](http://framablog.org/2016/02/09/chatons-le-collectif-anti-gafam/) la mise en route de l'organisme CHATONS, pour Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires. Par cette étape, Framasoft ouvre un deuxième âge dans son histoire.

View File

@ -1,9 +1,10 @@
---
title: Less is more, partie 1.5 : Encore une chose
title: "Less is more, partie 1.5 : Encore une chose"
date: 2016-12-22
author: raspbeguy
template: post
tags: configuration,console,dompter sa machine,i3,icones,planet libre,terminal,tui,tutoriels
comments: true
---
Quand vous vous préparez probablement à passer un joyer réveillon de Noël, je suis là à écrire pour votre bon plaisir. Appréciez svp.

View File

@ -1,14 +1,15 @@
---
title: Less is more, partie 1 : la base
title: "Less is more, partie 1 : la base"
date: 2016-11-12
author: raspbeguy
template: post
tags: dompter sa machine,planet libre,tests
comments: true
---
Bonjour à tous
Allez, on va dire que vous n'avez pas remarqué les quelques semaines mois de silence de notre part, je pourrais encore me ressortir des excuses moisies, mais je l'ai déjà fait dans [quelques articles précédents](/posts/edito-8-cest-la-rentree/). J'espère donc que vous ne m'en voudrez pas si je m'épargne cette peine.
Allez, on va dire que vous n'avez pas remarqué les quelques semaines mois de silence de notre part, je pourrais encore me ressortir des excuses moisies, mais je l'ai déjà fait dans [quelques articles précédents](/posts/edito-8-cest-la-rentree). J'espère donc que vous ne m'en voudrez pas si je m'épargne cette peine.
Beaucoup de choses se sont passées dans l'actualité. Entre lavènement du porte moumoute américain et le décret du vilain Cazeneuve sur le fichage de l'ensemble des français, les occasions de faire couler de l'encre n'ont pas manqué. Mais bon, je ne vais pas vous en parler ici. Pas encore, du moins.

View File

@ -1,9 +1,10 @@
---
title: Less is more, partie 2 : les contenus multimédia
title: "Less is more, partie 2 : les contenus multimédia"
date: 2017-09-23
author: raspbeguy
template: post
tags: non classé,planet libre
comments: true
---
Je me relance dans cette série d'articles que j'ai trop souvent tendance à oublier alors qu'au final, j'ai passé (et j'en passe toujours) une énorme partie de mon temps à améliorer mon environnement visuel. Pour rappel, dans cette série d'articles, j'essaye d'expliquer comment se passer le plus possibles d'environnement graphique et les bienfaits de la simplicité pure d'un bon vieux terminal. Ça peut même être joli, faites-moi confiance.
@ -100,7 +101,7 @@ C'est là que le bât blesse. En fait je n'ai pas encore trouvé le lecteur qui
### MPD
Mon rêve c'est de ne pouvoir tourner qu'avec MPD. Je vous en ai déjà parlé sur l'article [Un jukebox à partir d'un Raspberry Pi](/posts/un-jukebox-a-partir-dun-raspberry-pi/) en vous disant que ça déchire, et c'est effectivement le cas. Ça ne consomme quasiment aucune ressource, ça peut lire plein de formats, ça se contrôle avec un protocole simple (même avec MPRIS2, le protocole universel de contrôle de lecteur multimédia sur Linux, grâce à l'outil [mpDris2](https://github.com/eonpatapon/mpDris2)) et ça vous fout la paix. Le problème, c'est que tous les clients MPD en ligne de commande que j'ai trouvé ont à mon sens une interface peu ergonomique. Le meilleur candidat étant ncmpcpp (déjà il à un nom à coucher dehors), l'ergonomie de son interface (pourtant en très joli ncurse, et vous savez à quel point j'aime ncurse) ne m'a pas emballé. Naviguer dans sa bibliothèque est assez douloureux, la répartition des différentes vues du programme sont pour le moins folkloriques, les raccourcis clavier par défaut sont assez déroutant... Dommage.
Mon rêve c'est de ne pouvoir tourner qu'avec MPD. Je vous en ai déjà parlé sur l'article [Un jukebox à partir d'un Raspberry Pi](/posts/un-jukebox-a-partir-dun-raspberry-pi) en vous disant que ça déchire, et c'est effectivement le cas. Ça ne consomme quasiment aucune ressource, ça peut lire plein de formats, ça se contrôle avec un protocole simple (même avec MPRIS2, le protocole universel de contrôle de lecteur multimédia sur Linux, grâce à l'outil [mpDris2](https://github.com/eonpatapon/mpDris2)) et ça vous fout la paix. Le problème, c'est que tous les clients MPD en ligne de commande que j'ai trouvé ont à mon sens une interface peu ergonomique. Le meilleur candidat étant ncmpcpp (déjà il à un nom à coucher dehors), l'ergonomie de son interface (pourtant en très joli ncurse, et vous savez à quel point j'aime ncurse) ne m'a pas emballé. Naviguer dans sa bibliothèque est assez douloureux, la répartition des différentes vues du programme sont pour le moins folkloriques, les raccourcis clavier par défaut sont assez déroutant... Dommage.
### cmus

View File

@ -1,12 +1,13 @@
---
title: Let's Encrypt sur HAProxy (Partie 1)
title: "Let's Encrypt sur HAProxy (Partie 1)"
date: 2017-11-06
author: raspbeguy
template: post
tags: architecture,auto-hébergement,planet libre,serveur,sysadmin,théorie,tutoriels,web
comments: true
---
Vous vous en souvenez peut-être, nous avions effectué [un tutoriel Let's Encrypt](/posts/securiser-ses-sites-web-avec-lets-encrypt/) quelques jours après sa mise en bêta publique. D'ailleurs, il mériterait un petit relooking, vu que quelques détails ont un peu changé, et que d'autres clients ACME ont vu le jour. Par exemple on a honteusement passé sous silence l'excellent [acme.sh](https://github.com/Neilpang/acme.sh) qui a le mérite de ne pas demander une ribambelle de dépendance en temps que simple script Bash. De plus, le client principal (dont le nom est désormais Certbot) a désormais implémenté des extensions Apache et Nginx qui fonctionnent (presque) comme on le souhaite, à savoir modifier tout seul les configurations des sites pour fonctionner avec Let's Encrypt. Cependant je reste plus enclin à utiliser la méthode manuelle.
Vous vous en souvenez peut-être, nous avions effectué [un tutoriel Let's Encrypt](/posts/securiser-ses-sites-web-avec-lets-encrypt) quelques jours après sa mise en bêta publique. D'ailleurs, il mériterait un petit relooking, vu que quelques détails ont un peu changé, et que d'autres clients ACME ont vu le jour. Par exemple on a honteusement passé sous silence l'excellent [acme.sh](https://github.com/Neilpang/acme.sh) qui a le mérite de ne pas demander une ribambelle de dépendance en temps que simple script Bash. De plus, le client principal (dont le nom est désormais Certbot) a désormais implémenté des extensions Apache et Nginx qui fonctionnent (presque) comme on le souhaite, à savoir modifier tout seul les configurations des sites pour fonctionner avec Let's Encrypt. Cependant je reste plus enclin à utiliser la méthode manuelle.
À l'époque, je vous parlais d'une infrastructure simple, à savoir un unique serveur frontal : c'est lui qui interceptait les requêtes et qui les traitait, point barre. L'infra d'un site avec une audience restreinte, car tout doit être traité par une unique machine. Bonjour l'indispo surprise.
@ -25,7 +26,7 @@ On constate que le répartiteur de charge est un potentiel goulot d'étranglemen
Disons maintenant que l'on souhaite apposer un certificat sur cette architecture. Question à dix sesterces : qui parmi ces serveurs doit porter ce certificat ?
Si on choisit de faire porter le certificat par les frontaux, cela signifie qu'il faut que tous les frontaux doivent le porter, et qu'il faudra déployer le certificat sur toutes ces machine à chaque renouvellement. Mais surtout, cela signifie que, le trafic étant chiffré jusqu'aux frontaux, le répartiteur de charge ne pourra pas prendre en compte le contenu de la requête dans sa stratégie de répartition, ce qui est fort pénalisant. En effet, il est coutume de configurer le répartiteur de charge pour distribuer certaines URL sur un pool de frontaux différent du pool normal, par exemple le _back-office_ (la page d'administration et de saisie de contenu du site). Enfin dernier point, si vous vous souvenez du fonctionnement du protocole ACME comme décrit dans [notre tutoriel](/posts/securiser-ses-sites-web-avec-lets-encrypt/), vous saurez que le certificat doit être généré sur la machine qui en fait la demande et qui répondra au challenge ACME. Ceci implique qu'un des frontaux doit être désigné pour la génération des certificat, et donc que le répartiteur de charge doit rediriger toutes les requêtes de type ACME vers ce frontal, ce qui est à la fois moche et justement impossible car notre répartiteur de charge ne peut pas comprendre ce qu'il redirige à cause du chiffrement.
Si on choisit de faire porter le certificat par les frontaux, cela signifie qu'il faut que tous les frontaux doivent le porter, et qu'il faudra déployer le certificat sur toutes ces machine à chaque renouvellement. Mais surtout, cela signifie que, le trafic étant chiffré jusqu'aux frontaux, le répartiteur de charge ne pourra pas prendre en compte le contenu de la requête dans sa stratégie de répartition, ce qui est fort pénalisant. En effet, il est coutume de configurer le répartiteur de charge pour distribuer certaines URL sur un pool de frontaux différent du pool normal, par exemple le _back-office_ (la page d'administration et de saisie de contenu du site). Enfin dernier point, si vous vous souvenez du fonctionnement du protocole ACME comme décrit dans [notre tutoriel](/posts/securiser-ses-sites-web-avec-lets-encrypt), vous saurez que le certificat doit être généré sur la machine qui en fait la demande et qui répondra au challenge ACME. Ceci implique qu'un des frontaux doit être désigné pour la génération des certificat, et donc que le répartiteur de charge doit rediriger toutes les requêtes de type ACME vers ce frontal, ce qui est à la fois moche et justement impossible car notre répartiteur de charge ne peut pas comprendre ce qu'il redirige à cause du chiffrement.
La solution la plus sensée, qui maintient également le plus l'isométrie des frontaux, est de faire porter le certificat par le répartiteur de charge.

View File

@ -1,14 +1,15 @@
---
title: Let's Encrypt sur HAProxy (Partie 2)
title: "Let's Encrypt sur HAProxy (Partie 2)"
date: 2017-11-11
author: raspbeguy
template: post
tags: architecture,auto-hébergement,planet libre,sécurité,ssl,sysadmin,tutoriels,web
comments: true
---
Le fonctionnement de la Terre, avant qu'un certain Galilée y mette son grain de sel, a toujours déchaîné les passions des Hommes et a consommé beaucoup d'encre. Parmi les théories les plus folles, Terry Pratchett nous enseigne dans sa série de livres du _Disque Monde_ que le monde repose sur le dos de quatre gigantesques éléphants, eux-même reposant sur la carapace d'une tortue encore plus gigantesque appelée A'Tuin. Les quatre éléphants (Bérilia, Tubul, Ti-Phon l'Immense et Jérakine) se répartissent la charge que représente le poids du disque terrestre grâce à la rotation quotidienne de ce dernier. Si maintenant vous ne voyez pas le rapport entre une cosmologie impliquant des animaux au moins aussi grands que des continents capable de tenir en apnée pendant des milliards d'années et le sujet d'aujourd'hui, alors je ne sais plus quoi faire.
Nous avons vu [il y a quelques jours](/posts/lets-encrypt-sur-haproxy-partie-1/) les principes de base d'un répartiteur de charge et exposé brièvement les concepts fondamentaux de HAProxy. Nous avons également mené une réflexion sur la manière de gérer un certificat sur une architecture avec répartiteur de charge et la voix du bon sens nous a susurré que le certificat devait être porté par HAProxy. Bon, mettons ça en pratique.
Nous avons vu [il y a quelques jours](/posts/lets-encrypt-sur-haproxy-partie-1) les principes de base d'un répartiteur de charge et exposé brièvement les concepts fondamentaux de HAProxy. Nous avons également mené une réflexion sur la manière de gérer un certificat sur une architecture avec répartiteur de charge et la voix du bon sens nous a susurré que le certificat devait être porté par HAProxy. Bon, mettons ça en pratique.
Rangez vos affaires, sortez une feuille, interro surprise. Rappelez-moi ce qu'est le principe de base du protocole ACME. Et comme vous suivez bien et que vous buvez les paroles de l'instituteur comme un breton boit du cidre, vous saurez donc me répondre que l'agent de certification crée un challenge ACME en générant des fichiers de test auxquels le serveur ACME devra pouvoir accéder via HTTP, ces fichiers étant soit servis par l'agent via un serveur web intégré, soit mis à disposition du serveur de notre choix qui servira ces fichiers en statique. C'est en pratique presque toujours la deuxième solution qui est utilisée, sachant que justement, un serveur web tourne déjà sur les ports web standard (80 et 443). On ne veut pas d'interruption de service, non mais.

View File

@ -1,9 +1,10 @@
---
title: Let's Encrypt
title: "Let's Encrypt"
date: 2015-10-24
author: motius
template: post
tags: autorité de certification,chiffrement,cisco,eff,http,https,internet society,let's encrypt,mozilla,news,planet libre,tribunes,x509
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Lettre ouverte au Président élu de la République française
title: "Lettre ouverte au Président élu de la République française"
date: 2017-05-08
author: raspbeguy
template: post
tags: démocratie,édito,état d'urgence,lettre,macron,planet libre,présidentielle fr,tribunes
comments: true
---
Bonjour M. le Président.

View File

@ -1,9 +1,10 @@
---
title: Liens utiles hashtagueule 1
title: "Liens utiles hashtagueule 1"
date: 2016-02-16
author: motius
template: post
tags: hashtagueule,hosts,latex,lilypond,non classé
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Mauvaises nouvelles en provenance de Malaisie
title: "Mauvaises nouvelles en provenance de Malaisie"
date: 2015-08-31
author: motius
template: post
tags: calomnie,censure,internet,liberté d'expression,malaisie,news,planet libre
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Météo dans la console
title: "Météo dans la console"
date: 2016-02-23
author: raspbeguy
template: post
tags: ascii,console,curl,détente,meteo,planet libre,shell,terminal,utilitaire
comments: true
---
Bonjour les gens,

View File

@ -1,9 +1,10 @@
---
title: Microsoft, la France et données de santé
title: "Microsoft, la France et données de santé"
date: 2020-10-19
author: raspbeguy
template: post
tags: politique,france,sénat,pétition,gafam,souveraineté
comments: true
---
Vous vous souvenez quand le gouvernement maitrisait le sujet du numérique ? Moi non plus.

View File

@ -1,9 +1,10 @@
---
title: Mon nouveau projet d'ampleur
title: "Mon nouveau projet d'ampleur"
date: 2017-09-17
author: raspbeguy
template: post
tags: art,art,artiste,clicst.art,clicstart,développement,django,édito,inspiration,partage,projets,python,recrutement,work in progress
comments: true
---
Une fois n'est pas coutume, je vais exceptionnellement faire mon Korben et je vais faire de la pub à mes propres projets. Parce qu'on est jamais aussi bien servi que par soi-même.
@ -53,7 +54,7 @@ Absolument pas. Ce serait bien évidemment à la fois une tonne de paperasse et
**Tu as assez de place sur tes disques pour héberger tout le contenu artistique des utilisateurs ?**
Ta question est bête, Antoinette, mais le sujet ne l'est pas, Roberta. Bien entendu que quand le site gagnera en popularité, si tout le monde dépose du contenu comme des gros porcs, je vais vite poser la clef sous la porte. Mon plan d'attaque est d'imposer des quotas, genre pas plus de 5 Go par utilisateur dans un premier temps. Il faudra que j'y réfléchisse. Ensuite, si la demande d'espace supplémentaire est forte et/ou y a vraiment plein d'utilisateurs (ce qui est une bonne chose hein), je vais devoir proposer des plans payants. Eh oui, l'espace disque, c'est pas gratuit malheureusement, si vous me croyez pas, allez lire mon [tutoriel sur le RAID](/posts/ca-va-devenir-raid-dans-votre-serveur/). Ça ne m'a jamais dérangé de mettre un peu de ma poche pour héberger des projets, mais là, ça fait un gros paquet de poches à retourner.
Ta question est bête, Antoinette, mais le sujet ne l'est pas, Roberta. Bien entendu que quand le site gagnera en popularité, si tout le monde dépose du contenu comme des gros porcs, je vais vite poser la clef sous la porte. Mon plan d'attaque est d'imposer des quotas, genre pas plus de 5 Go par utilisateur dans un premier temps. Il faudra que j'y réfléchisse. Ensuite, si la demande d'espace supplémentaire est forte et/ou y a vraiment plein d'utilisateurs (ce qui est une bonne chose hein), je vais devoir proposer des plans payants. Eh oui, l'espace disque, c'est pas gratuit malheureusement, si vous me croyez pas, allez lire mon [tutoriel sur le RAID](/posts/ca-va-devenir-raid-dans-votre-serveur). Ça ne m'a jamais dérangé de mettre un peu de ma poche pour héberger des projets, mais là, ça fait un gros paquet de poches à retourner.
**Ce sera francophone ?**

View File

@ -1,9 +1,10 @@
---
title: Padlet
title: "Padlet"
date: 2015-09-08
author: raspbeguy
template: post
tags: collaboration,internet,paperboard,service,start-up,tests,web
comments: true
---
Un billet rapide présentant un service apparemment tout sauf nouveau, enfin nouveau quand même dans ma tête sachant que je n'en avais jamais entendu parler. Il s'agit de [Padlet](https://fr.padlet.com/), un paperboard collaboratif.

View File

@ -1,9 +1,10 @@
---
title: Panopticlick sort en version 2
title: "Panopticlick sort en version 2"
date: 2015-12-29
author: motius
template: post
tags: eff,navigateur web,news,panopticlick,planet libre,tracking,vie privée
comments: true
---
Bonjour à tous !

View File

@ -1,14 +1,15 @@
---
title: Parcs informatiques (Partie 1 : LAN to LAN)
title: "Parcs informatiques (Partie 1 : LAN to LAN)"
date: 2015-10-30
author: raspbeguy
template: post
tags: dompter sa machine,ip,iptables,lan,netns,parre-feu,planet libre,réseau,routage,tutoriels,vpn
comments: true
---
Salut à tous,
Voici la première partie du tutoriel en temps réel que je vous avais [présenté](/posts/gerer-plusieurs-parcs-informatiques-partie-0-presentation/). Ici, on commence à mettre les mains dans le cambouis pour corrompre fertiliser notre machine pour qu'elle puisse router les IP comme une déesse.
Voici la première partie du tutoriel en temps réel que je vous avais [présenté](/posts/gerer-plusieurs-parcs-informatiques-partie-0-presentation). Ici, on commence à mettre les mains dans le cambouis pour corrompre fertiliser notre machine pour qu'elle puisse router les IP comme une déesse.
![Schéma global de l'utilisation de notre passerelle](%assets_url%/2015/10/global.png)

View File

@ -1,9 +1,10 @@
---
title: Paris et son pain
title: "Paris et son pain"
date: 2015-08-31
author: motius
template: post
tags: loi macron,news,non classé,pain,paris,startup
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Personnalisation du prompt
title: "Personnalisation du prompt"
date: 2016-03-10
author: raspbeguy
template: post
tags: bash,console,couleur,détente,personnalisation,planet libre,prompt,shell,terminal
comments: true
---
L'être humain aime adapter son environnement à ses propres envies. Cela s'applique aussi à ses outils, et comme vous le savez, l'ordinateur est un outil. C'est pourquoi la personnalisation de l'interface d'un ordinateur est si importante aujourd'hui.

View File

@ -1,9 +1,10 @@
---
title: Petit cadeau de Noël
title: "Petit cadeau de Noël"
date: 2015-12-23
author: raspbeguy
template: post
tags: détente,vidéo
comments: true
---
En cette période festive, Hashtagueule tient à vous offrir cette petite vidéo en offrande. C'est à peine exagéré de la réalité.

View File

@ -1,9 +1,10 @@
---
title: Petit tuto Lilypond 1
title: "Petit tuto Lilypond 1"
date: 2015-09-02
author: motius
template: post
tags: lilypond,musique,partition,planet libre,tutoriel,tutoriels
comments: true
---
Bonjour à tous !
@ -231,4 +232,4 @@ Faites-moi part de vos commentaires !
_Motius_
PS : la suite, c'est [par ici](/posts/petit-tuto-lilypond-2/) !
PS : la suite, c'est [par ici](/posts/petit-tuto-lilypond-2) !

View File

@ -1,14 +1,15 @@
---
title: Petit tuto Lilypond 2
title: "Petit tuto Lilypond 2"
date: 2015-10-24
author: motius
template: post
tags: lilypond,musique,partition,planet libre,tutoriel,tutoriels
comments: true
---
Bonjour à tous !
Vous avez aimé le [petit tuto Lilypond 1](/posts/petit-tuto-lilypond-1/) ? Eh bien c'est reparti pour un tour.
Vous avez aimé le [petit tuto Lilypond 1](/posts/petit-tuto-lilypond-1) ? Eh bien c'est reparti pour un tour.
# Petit récapitulatif

View File

@ -1,14 +1,15 @@
---
title: Petit tuto Lilypond 3
title: "Petit tuto Lilypond 3"
date: 2016-02-05
author: motius
template: post
tags: lilypond,musique,partition,planet libre,tutoriels,tweaks
comments: true
---
Bonjour à tous !
Je vous propose de continuer la série de tutoriels commencés [ici](/posts/petit-tuto-lilypond-1/) et [](/posts/petit-tuto-lilypond-2/) sur le logiciel de partitions de musique Lilypond.
Je vous propose de continuer la série de tutoriels commencés [ici](/posts/petit-tuto-lilypond-1) et [](/posts/petit-tuto-lilypond-2) sur le logiciel de partitions de musique Lilypond.
Clairement le but sera moins les bases de Lilypond, que je crois avoir pas mal abordé, mais plutôt tous les petits bidouillages que j'ai fait pour améliorer la disposition des notes sur une partition lorsque la configuration par défaut était imparfaite. Ça vous permettra de commencer à faire des recherches sur la documentation et les exemples de Lilypond.

View File

@ -1,9 +1,10 @@
---
title: Premier anniversaire d'Hashtagueule
title: "Premier anniversaire d'Hashtagueule"
date: 2016-08-06
author: raspbeguy
template: post
tags: anniversaire,bilan,communauté,édito,projets,recrutement
comments: true
---
Comme en témoigne notre gentil registrar et son invitation à remettre la main au portefeuille pour renouveler le domaine, Hashtagueule a atteint sa première année d'existence (enfin un an plus un jour, la date étant fixée aux 6 août). Pile un an donc, ou presque, que j'ai fait cet achat compulsif et à priori insensé de ce nom de domaine, comme hélas j'en ai désormais l'habitude...

View File

@ -1,9 +1,10 @@
---
title: Premier édito : C'est parti
title: "Premier édito : C'est parti"
date: 2015-08-14
author: raspbeguy
template: post
tags: édito
comments: true
---
Bonjour à tous et bienvenue sur **Hashtagueule.fr**, le blog des gentils d'internet !

View File

@ -1,9 +1,10 @@
---
title: Présidentielle US
title: "Présidentielle US"
date: 2015-08-31
author: motius
template: post
tags: creative commons,crowd-funding,jimmy wales,lawrence lessig,news,politique,présidentielle us,wikipédia
comments: true
---
Bonjour tout le monde !

View File

@ -1,9 +1,10 @@
---
title: Protégez vos flux : stunnel
title: "Protégez vos flux : stunnel"
date: 2017-03-14
author: raspbeguy
template: post
tags: auto-hébergement,planet libre,tutoriels
comments: true
---
On ne vous le répétera jamais assez, mais il est indispensable de prendre conscience des enjeux des communications électroniques en clair. En effet, vous n'avez sûrement pas envie qu'un malandrin s'approprie vos messages et actions privées, comme votre correspondance avec votre médecin et vos opérations bancaires, données qu'ils pourrait retourner contre vous pour vous faire chanter, vous voler, ou tout bonnement vous faire du mal d'une manière quelconque. Il faut à tout prix préférer les communications chiffrées, et ce pour n'importe quel protocole.
@ -16,7 +17,7 @@ Ici comme dans pas mal d'articles sur Hashtagueule, il y a un déclencheur perso
En réalisant ça, j'étais d'abord outré, et ça a même remis en question mon utilisation du programme. Cependant, j'ai trouvé une solution, qui est par ailleurs proposée par les développeurs. J'ai découvert un outil magique qui s'appelle stunnel, qui permet de transformer n'importe quel flux en clair par un flux chiffré à travers un certificat TLS. Pour ceux qui s'y connaissent un peu en serveur web, il s'agit du même principe qu'un reverse proxy comme le ferait un nginx ou un HAproxy, mais pour n'importe quel flux TCP (même si HAproxy est capable de gérer les flux TCP mais c'est moins marrant).
Du coup, il suffit de posséder un certificat adapté au nom de domaine qui pointe vers votre serveur (chose très facile en utilisant [Let's Encrypt](/posts/securiser-ses-sites-web-avec-lets-encrypt/), pour peu que vous ayez un serveur web qui sert ce nom de domaine) et il vous est possible d'envelopper ce flux dans un tunnel TLS. Voici ce que j'ai ajouté dans ma configuration stunnel :
Du coup, il suffit de posséder un certificat adapté au nom de domaine qui pointe vers votre serveur (chose très facile en utilisant [Let's Encrypt](/posts/securiser-ses-sites-web-avec-lets-encrypt), pour peu que vous ayez un serveur web qui sert ce nom de domaine) et il vous est possible d'envelopper ce flux dans un tunnel TLS. Voici ce que j'ai ajouté dans ma configuration stunnel :
```
[bitlbee]

View File

@ -1,9 +1,10 @@
---
title: Quand Debian me gonfle : Stretch et OpenVPN
title: "Quand Debian me gonfle : Stretch et OpenVPN"
date: 2017-07-02
author: raspbeguy
template: post
tags: debian,openvpn,planet libre,stretch,systemd,tests,tutoriels,update,upgrade,vpn
comments: true
---
Comme vous le savez sûrement, la nouvelle version stable de Debian, nom de code Stretch, est sortie. Je vous conseille à tous de faire la mise à jour les yeux fermés, ça va bien se passer, aucun accrochage à déplorer, un simple apt dist-upgrade et c'est une affaire qui roule.
@ -20,7 +21,7 @@ Ce que je veux dire, c'est qu'en mettant à jour votre distribution, attendez-vo
Donc oui j'aime Debian, mais Debian me gonfle parfois. Notamment ce comportement très fâcheux que je viens de découvrir aujourd'hui même concernant OpenVPN.
OpenVPN, j'en ai [déjà parlé](/posts/parcs-informatiques-partie-1-lan-to-lan/) et je ne m'étendrai pas plus là dessus, est un outil permettant de construire des réseaux virtuels privés (VPN), utiles pour abstraire des réseaux entre des machines géographiquement distantes et/ou pour déporter son point de sortie pour "sembler" se connecter d'ailleurs. Il y a donc une machine qui crée le VPN, dite serveur ou tête de pont, et des machines qui s'y connectent à distance, dites clients.
OpenVPN, j'en ai [déjà parlé](/posts/parcs-informatiques-partie-1-lan-to-lan) et je ne m'étendrai pas plus là dessus, est un outil permettant de construire des réseaux virtuels privés (VPN), utiles pour abstraire des réseaux entre des machines géographiquement distantes et/ou pour déporter son point de sortie pour "sembler" se connecter d'ailleurs. Il y a donc une machine qui crée le VPN, dite serveur ou tête de pont, et des machines qui s'y connectent à distance, dites clients.
J'ai donc une tête de pont que j'ai récemment mis à jour sur Stretch. Tout se passa bien entendu parfaitement en apparence, et tout le monde il était beau. Je me retrouvai avec une jolie Debian Stretch toute mignonne dont le cœur et l'âme n'aurait en aucun cas pu être mis en doute par quiconque. Sauf que sous ses jupons, elle avait dissimulé des trucs moins fun. Et en conséquence, quelques jours après, je me rendis compte que mes clients OpenVPN ne se voyaient plus. Je ne mis pas longtemps à soupçonner la belle Stretch d'avoir des aveux à me faire.

View File

@ -1,9 +1,10 @@
---
title: Quoi de neuf sur Mozilla Firefox ?
title: "Quoi de neuf sur Mozilla Firefox ?"
date: 2015-09-24
author: motius
template: post
tags: clavardage,firefox,mozilla,news,planet libre,vie privée,webrtc
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Raspberry Pi 3
title: "Raspberry Pi 3"
date: 2016-03-04
author: raspbeguy
template: post
tags: diy,fablab,news,nouveautés,planet libre,rpi
comments: true
---
Pour ceux qui ont suivi l'actualité de l'informatique de ces dernières années, le Raspberry Pi (RPi) n'est plus à présenter. Mais on va le faire quand même, sachant qu'on n'en a pas beaucoup parlé sur Hashtagueule, alors qu'il s'agit d'un de mes sujets de prédilection. Pour une raison obscure, ce nouveau modèle ([Raspberry Pi 3](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/)) m'avait complètement échappé, je vais donc combler ce retard.

View File

@ -1,9 +1,10 @@
---
title: Repérage dans les dataclasses Python
title: "Repérage dans les dataclasses Python"
date: 2020-05-12
author: motius
template: post
tags: python,dataclasses,développement
comments: true
---
Bonjour !

View File

@ -1,9 +1,10 @@
---
title: Se débarrasser de Google sur Android
title: "Se débarrasser de Google sur Android"
date: 2016-04-07
author: raspbeguy
template: post
tags: android,auto-hébergement,cyanogenmod,dépôt miroir,f-droid,google,nexus,planet libre,rom,root,tutoriels
comments: true
---
La vie privée sur Internet, c'est important, je crois que vous commencez à vous faire une bonne idée de notre opinion à ce sujet. Quand on vous en parlait sur Hashtagueule, certains auraient été tentés d'y voir uniquement une allusion aux ordinateurs. C'est vrai qu'on ne vous a parlé pour ainsi dire concrètement que de cette plateforme. Ce serait bien entendu avoir une gigantesque poutre dans l'œil que de croire qu'il ne faut se protéger que sur son PC. En effet, la quantité de données personnelles stockées dans les appareils mobiles est foutrement plus importante que sur nos ordinateurs. Imaginez, vous disposez d'un appareil qui ne vous lâche pas d'une semelle, qui sait exactement où vous vous trouvez, qui établit des liens vers d'autres personnes logées à la même enseigne, qui connait vos petits secrets, vos amis, votre famille, vos amours officiels ou secrets, qui est à la limite capable de détecter votre état de santé et vos paramètres biométriques. Couplez à cela le fait que les logiciels libres sont nettement moins répandus sur smartphone que sur ordinateur, ajoutez-y la législation corrompue et la centralisation des services, pour ne pas dire les portes dérobées qui font bonne figure, et vous vous rendez compte que **vous avez un véritable œil de Moscou dans votre poche**.
@ -169,7 +170,7 @@ server {
}
```
Les lignes 1 à 9 concernent la redirection de HTTP vers HTTPS. Vous reconnaîtrez certainement aux lignes 6 à 9 et 29 à 32 les instructions qu'on a introduites pour l'automatisation des renouvellements de certificats Let's Encrypt. Si ça ne vous dit rien, vous pouvez faire une cure de rappel [par ici](/posts/securiser-ses-sites-web-avec-lets-encrypt/), c'est gratuit et ça vous met plein de belles choses dans la tête.
Les lignes 1 à 9 concernent la redirection de HTTP vers HTTPS. Vous reconnaîtrez certainement aux lignes 6 à 9 et 29 à 32 les instructions qu'on a introduites pour l'automatisation des renouvellements de certificats Let's Encrypt. Si ça ne vous dit rien, vous pouvez faire une cure de rappel [par ici](/posts/securiser-ses-sites-web-avec-lets-encrypt), c'est gratuit et ça vous met plein de belles choses dans la tête.
Rechargez Nginx, puis il faut maintenant tester sur votre appareil. Dans F-Droid, dans le menu en haut à droite, rendez vous dans la Gestion des dépôts, puis tapez le "+" pour ajouter un dépôt (duh...). Entrez https://bidule.machin.truc/repo en adresse de dépôt et rien pour l'empreinte (vous êtes le seul utilisateur de votre propre dépôt, vous savez déjà la provenance de ce qu'il y a dessus, de plus comme vous êtes déjà en connexion sécurisée, il n'y a plus beaucoup de risques).

View File

@ -1,12 +1,13 @@
---
title: Sécuriser ses sites web avec Let's Encrypt
title: "Sécuriser ses sites web avec Let's Encrypt"
date: 2016-01-02
author: raspbeguy
template: post
tags: auto-hébergement,http,let's encrypt,nginx,openssl,planet libre,sécurité,serveur,tutoriels,web,www
comments: true
---
Bonjour à tous ! Nous allons débuter l'année avec un tutoriel sur la prise en main de [Let's Encrypt](/posts/lets-encrypt/), l'autorité de certification censée révolutionner l'usage de la technologie SSL par sa facilité d'usage, et qui doit permettre à Madame Michu de sécuriser son petit blog de cuisine traditionnelle en toute simplicité et sans avoir besoin de faire perdre une après-midi à son petit neveux du côté de sa belle-mère, qui se trouve être administrateur système, afin qu'il lui répète une quinzaine de fois les étapes de création et de validation d'un certificat en bonne et due forme. Ah, la famille...
Bonjour à tous ! Nous allons débuter l'année avec un tutoriel sur la prise en main de [Let's Encrypt](/posts/lets-encrypt), l'autorité de certification censée révolutionner l'usage de la technologie SSL par sa facilité d'usage, et qui doit permettre à Madame Michu de sécuriser son petit blog de cuisine traditionnelle en toute simplicité et sans avoir besoin de faire perdre une après-midi à son petit neveux du côté de sa belle-mère, qui se trouve être administrateur système, afin qu'il lui répète une quinzaine de fois les étapes de création et de validation d'un certificat en bonne et due forme. Ah, la famille...
Mais tout dabord, je vous souhaite à tous une bonne année 211 - 25 ! Au niveau personnel, je vous souhaite tout le bonheur que vous méritez, tant sur le plan professionnel/scolaire qu'avec votre famille/amis/béguin divers. Instruisez-vous, soyez curieux, incitez vos proches à la sagesse, et bien sûr, restez vous-même gentils.

View File

@ -1,9 +1,10 @@
---
title: Simone Giertz : L'art du DIY
title: "Simone Giertz : L'art du DIY"
date: 2016-04-07
author: raspbeguy
template: post
tags: arduino,art,détente,diy,do it yourself,video,youtube
comments: true
---
Un article bref, j'ai un tutoriel assez long en préparation, j'espère qu'il vous plaira.

View File

@ -1,9 +1,10 @@
---
title: SMSsecure vs TextSecure
title: "SMSsecure vs TextSecure"
date: 2015-10-18
author: motius
template: post
tags: chiffrement,dompter sa machine,gplv3,planet libre,sms,smssecure,textsecure,tribunes,tutoriels,vie privée
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Sniffer le réseau sous GNU/Linux 1
title: "Sniffer le réseau sous GNU/Linux 1"
date: 2015-11-14
author: motius
template: post
tags: dompter sa machine,internet,linux,planet libre,réseau,tcp/ip,tcpdump,tutoriels,wireshark
comments: true
---
Bonjour à tous !

View File

@ -1,9 +1,10 @@
---
title: Star Wars : des bons vieux films au parc à thème
title: "Star Wars : des bons vieux films au parc à thème"
date: 2015-08-17
author: raspbeguy
template: post
tags: art,cinema,cinéma,disney,film,nanard,news,star wars,vaisseau
comments: true
---
Vous le saviez, vous qui êtes en grande partie fans de la saga _Star Wars_, que la licence avait été cédée par George Lucas à la très lucrative compagnie Disney, et qu'[un nouveau film allait se pointer sous peu](http://www.allocine.fr/film/fichefilm_gen_cfilm=215097.html). Eh bien figurez-vous que Disney a enroulé d'encore un tour ce vieux tube de dentifrice ratatiné qu'est l'univers Star Wars.

View File

@ -1,9 +1,10 @@
---
title: StartCom contre attaque
title: "StartCom contre attaque"
date: 2016-06-15
author: raspbeguy
template: post
tags: autorité de certification,let's encrypt,news,openssl,sécurité
comments: true
---
Depuis l'ouverture de l'autorité de certification [Let's Encrypt](https://hashtagueule.fr/tag/lets-encrypt/) en décembre dernier, que de joie et d'allégresse ont été répandues en célébration de cette facilité nouvelle pour créer ses certificats. Tous les sysadmins amateurs, y compris nous, ont migré vers ce service qui permettait, une fois configuré, de ne plus se soucier d'une corvée que la validation de certificats impose d'habitude.

Some files were not shown because too many files have changed in this diff Show More