1
0
Fork 0

Commit initial

This commit is contained in:
Richard Dern 2023-09-05 23:47:36 +02:00
commit 0cc07e48ca
943 changed files with 28659 additions and 0 deletions

11
.gitattributes vendored Normal file
View File

@ -0,0 +1,11 @@
* text=auto eol=lf
*.md diff=markdown
*.webp filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.DS_Store
draft/

65
a-propos.md Normal file
View File

@ -0,0 +1,65 @@
---
title: À propos
appears_in_lists: false
---
Je (Richard Dern) suis l'unique auteur de l'intégralité du contenu de ce site, à l'exception de l'ensemble de la rubrique [Liens intéressants](/liens-interessants/), qui regroupe des liens vers des pages que j'estime intéressantes ; chaque page de cette rubrique peut être accompagnée d'un commentaire de ma part pour expliquer mon intérêt particulier.
## Informations techniques
Mon site :
- est statique : le navigateur se contente d'afficher un squelette de page recouvert de quelques règles d'habillage, rien de plus
- ne dépose aucun cookie
- n'utilise pas javascript
- ne traque pas ses visiteurs de quelque manière que ce soit
- n'utilise aucun [CDN](https://fr.wikipedia.org/wiki/Réseau_de_diffusion_de_contenu)
### Hébergement
Tout ce que vous voyez sur ce site est diffusé depuis mon propre serveur, physiquement situé à mon domicile, sur une ligne fibre [Free](https://portail.free.fr) de 600Mb/s en upload
Ce serveur, comme l'ensemble de mon réseau, dispose d'une alimentation de secours, permettant de maintenir le site en ligne en cas de panne de courant à mon domicile.
Des coupures occasionnelles, plus longues que les 15 minutes que les onduleurs me permettent de tenir en moyenne, peuvent être envisagées (par exemple, en cas de coupure généralisée à plus ou moins grande échelle).
### Logiciel
Le serveur logiciel délivrant les pages de mon site est [Caddy](https://caddyserver.com/).
Il est configuré pour ne produire aucun journal de connexion à mon site.
Je ne génère donc aucune statistique de fréquentation.
Mes visiteurs les plus cultivés en matière de développement web apprécieront sans doute de savoir que l'intégralité des liens pointant vers de sites externes disposent des valeurs `nofollow`, `noreferrer` et `noopener` à l'attribut `rel` afin de limiter le suivi inter-sites.
### Intelligence Artificielle
Aucun contenu que je publie n'a été généré par une Intelligence Artificielle, à l'exception de l'article suivant :
<x-shortcodes.post-card model="/blog/2022/09/21/j-ai-joue-avec-stable-diffusion-sur-mon-mac-mini-m1/" />
L'Intelligence Artificielle ne m'a été d'aucune aide non plus à la conception du générateur de site statique.
De manière générale, je ne cautionne pas les usages actuellement faits de l'Intelligence Artificielle.
## Informations financières
### Revenus
Mon site ne génère **aucun revenu**, de quelque manière que ce soit.
Même dans la rubrique [Liens intéressants](/liens-interessants/), **aucun lien provenant de mon site n'est affilié**.
Je ne perçois aucune commission sur les liens que je propose, même vers des boutiques en ligne.
Je ne reçois aucune aide financière de qui que ce soit.
**Ce site génère 0 euros par an**.
### Dépenses
**Les dépenses liées à ce site proviennent intégralement de mon argent propre.**
L'infrastructure physique nécessaire à l'hébergement de ce site consomme en moyenne 50W/h, ce qui représente une somme d'environ 90 euros par an.
Les domaines `richard-dern.fr` (le blog) et `athaliasoft.com` ([la forge logicielle](https://git.athaliasoft.com), notamment), hébergés chez [OVH](https://www.ovhcloud.com/fr/), me coûtent environ 30 euros par an.
Au total, ce site me coûte environ **120 euros par an**, soit une dizaine d'euros par mois.
Je ne chiffre pas le temps passé à développer ce site, le maintenir, et rédiger les articles.
## Informations juridiques
Je diffuse [le code source du générateur de mon site](https://git.athaliasoft.com/Blog/crounchyblog) sous licence [Expat](https://commons.wikimedia.org/wiki/Template:Expat).

View File

@ -0,0 +1,127 @@
---
title: "Alphabet, une entreprise pas comme les autres"
date: 2016-07-27
tags: [
"Alphabet",
"Google",
"GAFAM",
"YouTube",
"GMail",
"Nest Labs",
"Revolv",
"Calico",
"Verily",
"Jigsaw"
]
people: [
"Larry Page",
"Sergueï Brin",
"Julian Assange",
"Jared Cohen",
"Eric Schmidt"
]
---
Vous ne connaissez probablement pas Alphabet si vous ne vous intéressez pas à l'actualité informatique. Mais vous connaissez sa principale filiale et quelques uns de ses outils. Vous travaillez probablement avec ceux-ci quotidiennement. Je veux parler de Google.
## Bref historique non objectif
Google a été fondée le 4 septembre 1998 par Larry Page et Sergueï Brin. Ce n'est qu'en 2015 qu'Alphabet a été créée, en vue d'une restructuration de l'entreprise. Google devint alors une filiale d'Alphabet, ce qui n'a fondamentalement rien changé dans les activités des entreprises du groupe.
Notons l'égo sans bornes des fondateurs quant au choix du nom de l'entreprise:
> Le nom de la société Alphabet a été choisi car il représente le langage, l'innovation la plus importante de l'humanité qui est au cœur de l'outil de recherche Google
D'aucun me diront qu'ils peuvent se le permettre. Bref.
## Les entreprises du groupe
Au-delà de Google et ses marques associées (YouTube, GMail, etc), Alphabet a d'autres cordes à son arc.
### Nest Labs
Nest Labs vend des "solutions" domotiques. Un rapide coup d'oeil sur le site officiel nous indique qu'en réalité, leur catalogue ne contient qu'une caméra, un détecteur de fumée et un thermostat. Un catalogue pauvre, donc, pour rester poli. En revanche, un certain nombre de partenaires vendent des produits compatibles.
Nest Labs (sous l'égide de Google) [a acquis l'entreprise Revolv en octobre 2014](https://www.numerama.com/magazine/31075-revolv-achat-nest.html). Ces derniers commercialisaient un hub destiné au contrôle de produits domotiques, tels que des ampoules, des portes ou des alarmes. En mai 2015, Google a estimé que ce produit n'était plus digne d'intérêt, et l'a "[délibérément brické](https://www.businessinsider.com/googles-nest-closing-smart-home-company-revolv-bricking-devices-2016-4?utm_source=feedly&utm_medium=referral?r=US&IR=T)". Un produit vendu près de 300 dollars.
Comme ce hub utilisait le cloud pour son fonctionnement, couper son accès au cloud revient à détruire le produit. Et comme il s'agit d'une produit permettant de gérer certains composants de sécurité de la maison, cela revient à négliger la sécurité des utilisateurs.
Si Google a décidé de supprimer ce produit et les services associés, c'est parce qu'il n'était utilisé que par un "nombre limité" de personnes (lien mort). Considérant cela, on peut comprendre la stratégie de l'entreprise. Mais on peut également comprendre [la colère des utilisateurs](https://arlogilbert.com/the-time-that-tony-fadell-sold-me-a-container-of-hummus-cb0941c762c1#.pkjyhfklv), aussi peu nombreux soient-ils, qui ont dépensé 300 dollars pour rien, et ne reverront jamais leur argent. Argent désormais dans les caisses d'Alphabet.
Alphabet a donc un pied dans la maison des particuliers. Malgré la déconvenue du Revolv, l'application Nest a été téléchargée entre 500 000 et 1 000 000 de fois sur Google Play et jouit d'une réputation positive.
Je considère donc qu'au moins 500 000 personnes n'ont pas conscience que leur thermostat, leur ampoule, leur caméra de surveillance, envoie des données à Google, uniquement pour leur permettre de gérer leur matériel personnel, chez eux, depuis un smartphone, et que si un jour, Google décide de clôturer ces services, ils pourront juste pleurer sur leurs jouets devenus inutilisables. Simplement parce qu'ils n'ont pas compris que le service que leur propose Google n'existe que parce que Google le veut bien.
Mais c'est Google, alors c'est forcément bien.
### Calico et Verily
Ces deux entreprises veulent notamment, respectivement, "tuer la mort" et soigner le diabète. Des projets pour le bien de l'humanité ? Oh, vous nous pouvez pas être naïfs à ce point...
Tout le monde le sait, le marché de la santé est on ne peut plus lucratif. Surtout dans un pays dont l'obésité morbide est aussi prépondérante. Et qui dit obésité dit (le plus souvent...) diabète.
Or, quand le groupe français Sanofi annonce son partenariat avec Google, c'est pour profiter des technologies développées par Verily. Et du coup, surveiller en temps réel et à distance la glycémie de ses propriétaires, grâce aux produits issus de Verily et notamment leur bracelet connecté. Et accessoirement, [revenir dans le vert](http://www.frenchweb.fr/sanofi-sallie-a-google-pour-rebooster-sa-division-diabete/204734):
> le chiffre daffaires de sa division diabète affiche un recul de 3,5% au premier semestre 2015 [...] En salliant avec Google, Sanofi poursuit lobjectif daméliorer le controle du diabete, afin de développer les ventes du Lantus [...] le Français pourra ainsi exploiter les milliards de données de Google afin de mieux cibler les populations concernées
Google, un véritable bienfaiteur, évidemment.
Quant à Calico et son ambition démesurée de "tuer la mort", il n'y a qu'un pas à franchir pour dire que moins il y a de morts, plus il y a de clients. Mais on va m'accuser de conspirationnisme.
### Google Fiber
Quand on phagocyte les données de millions (milliards ?) d'internautes, la bande passante revient cher. La solution ? Fournir Internet à une partie des utilisateurs. C'est aussi [ce que fait facebook d'ailleurs](https://www.facebook.com/connectivity/).
Du coup, il n'aurait jamais été aussi rentable d'aspirer la vie privée des gens. Et de leur envoyer des pubs soigneusement ciblées, grâce à...
### ... X
X, anciennement Google X, est l'entreprise notamment responsable d'[AlphaGo](https://fr.wikipedia.org/wiki/AlphaGo) et des "pilotes" des Google Cars. C'est elle qui produit les intelligences artificielles utilisées par Google (pas seulement le moteur de recherche).
X, c'est un peu le centre de Recherche & Développement de Google. C'est ici que les Glass ont été créées. C'est également ici que sont envoyées les données collectées, afin d'améliorer leurs IAs. Enfin, "une partie" des données collectées, pour améliorer la "pertinence de la reconnaissance vocale".
### Google Capital, GV, Jigsaw
Capital et GV sont des business angels. Ces entreprises sont destinées à injecter des fonds dans les capitaux d'autres entreprises.
Si Capital s'intéresse surtout aux compagnies financières, aux assurances et aux laboratoires (pas du tout contradictoire...), GV a investi dans un large panel d'activités différentes.
Ainsi, outre plusieurs entreprises publicitaires, [on découvre](https://www.gv.com/portfolio/) qu'ils ont investi dans Silver Spring Network (fournisseur de services de réseau électrique intelligent), partenaire de... Nest Labs, qui a d'abord été financé par GV avant d'être racheté par Google, et de Toyota pour qui ils ont fourni des bornes de recharge pour la Prius, qui se trouve être justement un des modèles utilisés par les... [Google Cars](https://www.futura-sciences.com/tech/actualites/technologie-google-experimente-voitures-conducteur-25523/), exactement.
On trouve aussi dans la liste le très controversé Uber.
Mais on trouve également un grand nombre d'entreprises IT, évidemment. Periscope, Slack, Pocket (dont l'intégration dans Firefox a été largement condamné), Optimizely, CoreOS, et bien d'autres encore.
En ce qui concerne les services de réseau électrique intelligent, c'est juste de l'optimisation financière. Injecter de l'argent dans une entreprise partenaire d'une filiale, ce n'est rien de bien méchant.
Par contre, injecter des fonds dans des assurances d'un côté, et des laboratoires de l'autre, c'est de l'hypocrisie capitaliste franchement malsaine.
Le cas des entreprises IT sera traité un peu plus loin parce qu'il représente un gros problème, suffisamment insidieux pour qu'il échappe à tout le monde.
Enfin, Jigsaw est officiellement un incubateur technologique, mais... Je vous invite à lire [When Google Met Wikileaks](https://www.amazon.com/When-Google-Wikileaks-Julian-Assange/dp/8189059661?tag=duckduckgo-ffsb-20), le livre de Julian Assange. Il traite notamment de Jared Cohen, de son étonnante carrière, et de son rôle dans Jigsaw.
Personne ne le connaît. Il est pourtant dans le top 100 des personnes les plus influentes du monde selon le Time Magazine.
Bien qu'officiellement il travaille à l'anti-radicalisation, un certain mystère l'entoure, notamment au sujet de ses activités en Afghanistan en 2009, en plein [Cablegate](https://fr.wikipedia.org/wiki/Révélations_de_télégrammes_de_la_diplomatie_américaine_par_WikiLeaks).
Alors pourquoi en faire le président d'un think-tank alors qu'il est carrément issu du milieu politique ? Peut être pour [renverser des régimes politiques](https://web.archive.org/web/20160802103953mp_/http://english.al-akhbar.com/content/stratforleaks-google-ideas-director-involved-regime-change) avec l'aide de la technologie. En fait, avec Jigsaw, Google fait de l'activisme, et veut protéger les lanceurs d'alertes, tels que Julian Assange, en l'occurrence.
Le problème ici est de mélanger technologie, politique et business. Car sous ses airs d'entreprise bienfaitrice, [Jigsaw sert d'autres desseins](https://web.archive.org/web/20160728123008mp_/http://europe.newsweek.com/assange-google-not-what-it-seems-279447?rm=eu) dont on ne connaîtra peut être jamais la teneur réelle, mais probablement financiers, on s'en doute.
## La technologie
Eric Schmidt, président exécutif du groupe, est parfois perçu comme le "ministre des affaires étrangères" de Alphabet. Il est parvenu à créer un réseau politico-commercial suffisamment puissant pour mettre l'entreprise à l'abri des déconvenues (même lorsqu'elle s'expose à des problèmes juridiques embêtant).
Mais le véritable coup de maître de l'entreprise est d'être parvenue à se parer d'une aura à toute épreuve. Car alors que chez les geeks on cherche à se passer de Google, pour la grande majorité du monde, Internet, c'est Google.
Malheureusement, c'est aussi le cas chez les développeurs. Et les experts en sécurité. Et les technologies réseau. Et la virtualisation/containerisation. Bref, dans tous les domaines liés à l'informatique. La capacité financière colossale de Alphabet leur permet d'attirer à eux toutes sortes d'experts, de jeunes passionnés, qui ont de bons projets et d'excellentes capacités pour les concrétiser. Mais c'est avant tout l'argent qui les attire tous. Rares sont ceux réellement motivés par la technologie en elle-même. Travailler pour Google, ou avec Google, ou se faire racheter par Google, est un accomplissement. Ne pas utiliser les outils de Google est mal perçu, conduit à l'ostracisation, et peut réduire les possibilités d'embauche.
Et comme Google est omniprésent, omniscient, omnipotent, il est pratiquement inévitable sur Internet. Sans parler du moteur de recherche, ni de GMail, ni de YouTube. Personnellement, je n'utilise rien de tout ça. Je parle du navigateur Chrome, des tablettes et smartphones Android (que je n'utilise pas non plus), de la publicité et des liens sponsorisés, des outils de développeurs et de techniciens, comme Angular, SPDY intégré dans HTTP/2, mais aussi dans nos systèmes d'exploitations et notamment GNU-Linux, etc.
La multiplication de toutes ces technologies Alphabet, partout dans les PC et périphériques mobiles, tisse une toile bientôt inextricable. Mais malgré les années passées à rabâcher qu'il faut se détourner de Google et exploiter les alternatives, on continue de scier la branche sur laquelle on est assis, en étant persuadés de faire le bon choix. Or, pour toutes les raisons évoquées dans cet article, pour toutes les raisons déjà évoquées maintes et maintes fois, ici et ailleurs, ce choix est le mauvais. Il l'a été dès le début, il l'est toujours, et le sera encore demain.
## Conclusion
Si Microsoft était détesté dans les années 90 (et l'est toujours), Google/Alphabet est incontestablement l'entreprise la plus détestable à ce jour. Il aura fallut une dizaine d'années à Microsoft pour se faire détester pour ses manquement à la vie privée. Google la piétine constamment et est toujours acclamé pour ça, presque vingt ans après sa création. Une véritable prouesse ! Même [Apple a tenu tête au FBI](https://web.archive.org/web/20160417095930mp_/http://www.france24.com/fr/20160218-apple-fbi-chine-iphone-securite-san-bernardino-censure-pekin-cook-posture), alors qu'on ne les a jamais vraiment encensé pour protéger la vie privée de ses utilisateurs...
Les concurrents de Alphabet sont peu nombreux sur certains marchés clé, comme la téléphonie mobile où la perte de Microsoft n'est pas catastrophique mais où celle d'Apple le serait, ou les navigateurs Web, où Mozilla peine à maintenir Firefox. Il est capital que ces alternatives existent, et que d'autres voient le jour, faute de quoi Internet ne sera plus réduit qu'à pas grand chose: beaucoup de publicités, et au milieu, ce que Google veut bien vous laisser voir en fonction de qui vous êtes. Il n'y aura plus la place pour la découverte et la nouveauté. Juste une zone de texte pour votre empreinte de carte bancaire et un bouton vert "Acheter". C'est vraiment ça que vous voulez ?

View File

@ -0,0 +1,58 @@
---
title: "Protection de la vie privée et conspirationnisme"
date: 2016-08-02
tags: [
"Chiffrement",
"VPN",
"Vie privée",
"Données personnelles",
"Internet",
"Réseau"
]
---
Non, chiffrer ses données et avoir un peu de jugeote sur Internet ne fait pas de vous un conspirationniste...
Il y a une phrase à la con (et ses variations), typique, que j'entends ou lis régulièrement, en référence à la protection de sa vie privée sur Internet:
> Ça va, c'est bon, la NSA s'en fout de ma gueule
Malheureusement, il n'y a pas que la NSA qui s'intéresse à vous. Je ne vais pas revenir encore une fois sur le cas de Google, parce que j'écris abondamment et régulièrement sur le sujet.
Ce que je déplore avec une attitude pareille, c'est que ça fait passer les utilisateurs consciencieux pour des conspirationnistes, et les décrédibilise. Cela prouve l'inconscience des auteurs de cette phrase et un manque total de respect pour les autres, ni plus ni moins. C'est aussi une preuve irréfutable d'incompétence quand prononcée dans le milieu professionnel.
Quand une donnée est transmise en réseau, il y a trois informations confidentielles qui sont émises:
- la source (adresse IP, adresse MAC, éventuellement d'autres (meta)données pouvant inclure l'heure, les coordonnées GPS, le type d'information qui transite, sa taille)
- la destination (là aussi, adresse IP, adresse MAC, etc.)
- l'information en elle-même
Il est extrêmement facile d'intercepter ces informations. En particulier quand on utilise un réseau sans-fil, pour tout un tas de raisons que je ne vais pas détailler ici. L'interception, généralement via une attaque de type man-in-the-middle, permet à une personne tierce d'intercaler sa machine entre l'expéditeur et le destinataire de l'information, en se faisant passer respectivement pour l'un puis par l'autre en fonction de la direction dans laquelle l'information est émise. C'est totalement transparent et indétectable pour le commun des mortels qui utilise son smartphone à la terrasse d'un café par exemple. Ou au boulot.
Quand on prend la - bonne - décision de chiffrer ses transmissions (par exemple en allant sur un site en HTTPS, ou en utilisant une messagerie instantanée sécurisée, seule l'information est chiffrée. La source et la destination reste visibles en clair sur le flux du réseau. C'est normal, et c'est même capital, faute de quoi la source ne peut évidemment pas contacter la destination.
Ce type de chiffrement rend l'attaque de type [man-in-the-middle](https://fr.wikipedia.org/wiki/Attaque_de_l%27homme_du_milieu) presqu'inutile pour récupérer l'information émise, puisqu'elle est chiffrée. En revanche, la source, la destination et certaines méta-données restent accessibles en clair, ce qui peut être suffisant pour pousser l'attaque un peu plus loin.
En analysant davantage le flux réseau, l'attaquant peut générer des statistiques, et ainsi avoir une meilleure idée du contenu des messages échangés. C'est ce que font les gouvernements (entre autres) pour détecter du téléchargement illégal par exemple. Ou des activités terroristes. Et c'est ce qu'on appelle l'[heuristique](https://fr.wikipedia.org/wiki/Heuristique).
La solution du VPN, dont on entend beaucoup parler ces dernières années, permet d'augmenter encore la sécurité du message. Une fois qu'un client VPN est connecté à un serveur VPN, on réduit encore davantage les risques d'interception. Le VPN offre bien d'autres avantages encore que nous ne verrons pas ici, à l'exception du contournement de la censure.
La métaphore habituelle pour casser la croyance que le chiffrement a pour seul objectif d'empêcher la NSA de mettre son nez dans les photos de vacances de mamie est celle de la Poste et de l'enveloppe. Sur l'enveloppe figurent les méta-données (expéditeur et destinataire), et dans l'enveloppe se trouve l'information. Admettez-le: que vous ayez quelque chose à cacher ou non, vous n'aimeriez pas que la Poste (au centre de tri, ou même le facteur) ouvre l'enveloppe, lise son contenu, et referme l'enveloppe avant de l'expédier à son vrai destinataire.
C'est là que le chiffrement intervient. La Poste peut toujours lire le courrier, récupérer les méta-données sur l'enveloppe, mais ne comprendra pas grande chose à son contenu.
Le VPN empêche aussi la Poste de lire ce qui est écrit sur l'enveloppe, qui pourrait tout aussi bien être envoyée depuis le Luxembourg que l'Italie, ou depuis chez vous. Elle est obligée de transférer l'enveloppe à une poste compétente (un serveur VPN) pour que le message arrive à son vrai destinataire.
Mettre en place un client et un serveur VPN est relativement simple (les box des fournisseurs d'accès à Internet le permettent, par exemple chez free) et offre aujourd'hui une protection suffisante pour échanger des mails, des mots de passe, des codes de carte bancaire. Et donc tout type d'information confidentielle. Y compris des informations permettant de coordonner une attaque terroriste.
Dès lors, les auteurs de la phrase d'introduction ne voient plus la différence entre un terroriste, et une personne soucieuse de sa vie privée et de la confidentialité de ses échanges avec d'autres personnes sur Internet.
Or, au-delà de conversations privées qui ne regardent personnes, il y a au moins un autre cas où il est prudent de chiffrer et/ou d'utiliser un VPN: lorsqu'on transfère des informations professionnelles. Tout simplement pour éviter "l'espionnage industriel", ou le vol de données personnelles si des CVs sont transférés d'un serveur à un autre, ou le vol de mots de passe, permettant d'accéder au système de gestion de l'entreprise, ou à ses coordonnées bancaires. Le pire qui me vienne à l'esprit ? Les backups non chiffrées dans le cloud. En effet, la NSA ne s'inquiète pas vraiment de ces informations-là, mais cela ne veut pas dire que personne ne s'y intéresse.
Par ailleurs, sécuriser ses échanges est aussi une façon de sécuriser les échanges des autres. Par exemple, dans le cas où vous n'êtes qu'un intermédiaire dans la transmission d'une information. Vous avez donc une responsabilité morale d'utiliser tous les moyens de sécurisation à votre disposition pour garantir l'intégrité du message dont vous avez été l'intermédiaire. Ne pas mettre en place ces moyens vous expose à la perte de confiance des expéditeurs et destinataires originaux de l'information qui a transité par vous.
Quand les réfugiés sont arrivés en Europe, et que les premiers problèmes ont commencé, la communauté musulmane a appelé les peuples à ne pas commettre d'amalgame entre musulman et islamiste. Alors, nous, les geeks, appelons le monde à ne pas commettre l'amalgame entre personne soucieuse de sa vie privée et illuminé conspirationniste.
Un amalgame qui a été fait il y a quelques jours, par... l'Arabie Saoudite, qui a déclaré les VPNs comme étant illégaux, VPNs qui servaient surtout à contourner toutes les autres censures commises par l'État.
Alors, n'utilisez plus cette excuse bidon pour justifier votre désintérêt pour le chiffrement. Arrêtez d'être aussi oisifs, prenez cinq minutes pour configurer votre VPN. Parce que si vous ne le faites pas, vous aurez bien l'air con quand vous verrez vos comptes fondre comme neige au soleil.

View File

@ -0,0 +1,40 @@
---
title: "De l'inutilité et de l'hypocrisie d'AdBlock Plus"
date: 2016-08-10
tags: [
"AdBlock Plus",
"Publicité",
"Vie privée",
"Google",
"DNS",
"facebook"
]
---
> Numerama annonce que facebook contourne les bloqueurs de publicité. Vous en utilisez un ? Dommage !
Je le dis et le répète depuis des années à qui veut l'entendre, c'est-à-dire peu de monde: les solutions de type AdBlock sont parfaitement inutiles. Et pourtant, ces solutions sont toujours aussi populaires.
Et pourtant, ce n'est pas faute d'avoir parlé de méthodes alternatives pour bloquer les publicités. J'en ai même développé une, que, certes, je ne maintiens plus, car j'ai trouvé depuis d'autres outils tout aussi adaptés dont je parlerai plus bas.
Encore une fois, parmi toutes les solutions de blocage de pubs, **celle du plugin pour navigateur est définitivement la moins efficace, la moins utile et la moins sûre**. Et cela vaut pour AdBlock Plus, mais aussi les "concurrents", même libres, qui peuvent ne plus être maintenus.
Quand, dans [l'article de numerama](https://web.archive.org/web/20160811133128mp_/http://www.numerama.com/tech/188630-facebook-contourne-les-bloqueurs-de-publicite-pour-afficher-ses-pubs.html), je lis des choses comme ça:
> Lescalade entre pro- et anti-bloqueurs de publicité risque datteindre de nouveaux sommets dans les semaines et les mois à venir
Cela me donne l'impression que **personne n'a compris l'inutilité des bloqueurs de publicité, ni qu'il existe des méthodes alternatives bien plus efficaces**. Et notamment le blocage DNS, utilisé depuis des lustres par les gouvernements et les outils anti-spam, très simple à mettre en place, et qui peut même permettre de tromper l'ennemi[^1].
Par extension, cette "escalade" est la preuve fondamentale de l'ineptie de la publicité sur Internet. Car **l'internaute est libre**. Libre des outils qu'il utilise, du système d'exploitation au navigateur web, en passant par la façon dont il récupère les informations issues de serveurs distants. Il y aura toujours une solution pour contrecarrer les plans démoniaques des régies publicitaires. **Toujours**. Et tout l'argent que ces régies injectent dans les développeurs qui conçoivent des dispositifs de contournement du blocage de leurs pubs devrait plutôt être injecté dans **du contenu de qualité**.
Bref. Il faut utiliser des solutions de blocage par DNS et **arrêter définitivement avec cette ineptie des bloqueurs de pubs**. Si on n'a pas la chance d'avoir un routeur sous pfSense, ou de pouvoir héberger un serveur DNS à la maison, on peut utiliser un Raspberry Pi avec PiHole. Si on n'a pas de Raspberry Pi et qu'on n'a pas envie de dépenser une petite trentaine d'euros pour être tranquille, il y a toujours une solution 100% gratuite et simple à mettre en œuvre: la modification de son fichier hosts. Il y a toute une flopée de tutoriels en français pour le faire.
Pourquoi c'est mieux que AdBlock Plus ? Parce qu'il est [connu](https://web.archive.org/web/20160811065905mp_/http://www.numerama.com/magazine/32094-google-microsoft-et-amazon-payent-adblock-plus-pour-un-laisser-passer.html) et [reconnu](https://web.archive.org/web/20160811065905mp_/https://fr.wikipedia.org/wiki/Adblock_Plus#Une_liste_de_filtres_blanche_activ.C3.A9e_par_d.C3.A9faut_depuis_2011) que cet outil se fait en partie financer par les régies publicitaires, qui finissent par ne plus être dans les listes de blocage moyennant une contribution financière. Et parmi elle, [Google qui a annoncé avoir atteint des bénéfices records grâce... aux publicités](https://web.archive.org/web/20160811065905mp_/http://www.nextinpact.com/news/100831-les-revenus-damazon-et-google-grimpent-notamment-grace-au-cloud.htm).
Arrêtez de croire au Père-Noël et de vous voiler la face. Si vous ne faites pas vous-même le boulot en dégageant AdBlock Plus et en faisant du blocage par DNS, ne vous plaignez pas de voir facebook mettre en place des contre-mesures, ou [certains éditeurs](https://web.archive.org/web/20160811065905mp_/http://www.numerama.com/business/153796-adblockers-culpabiliser-linternaute-ne-sert-strictement-a-rien.html) bloquer l'accès à leur contenu merdique.
Il n'y a qu'un seul cas où le blocage par DNS ne sert à rien: si l'éditeur du site place ses outils publicitaires sur le même domaine que du contenu légitime. Dans ce cas, point de salut avec le blocage par DNS évidemment. Mais d'un autre côté, un site qui organise son contenu de cette façon ne mérite pas d'être visité. Donc en sus du blocage par DNS, nettoyez votre liste de favoris...
Pour en revenir à facebook, rappelons-leur simplement que [l'article 20 de la Loi pour la confiance dans l'économie numérique](https://web.archive.org/web/20160811065905mp_/https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000000801164#LEGIARTI000018048180) impose en France une distinction claire entre contenu promotionnel et contenu réel. Bien qu'elle ne soit pas toujours respectée, cette loi existe, et est faite pour protéger les internautes, et doit donc être connue et appliquée. Même si en face on a facebook et ses milliards (de [dollars](https://web.archive.org/web/20160811065905mp_/http://uk.businessinsider.com/facebook-q1-2016-earnings-2016-4?r=US&IR=T), d'[utilisateurs](https://web.archive.org/web/20160811065905mp_/http://www.journaldunet.com/ebusiness/le-net/1125265-nombre-d-utilisateurs-de-facebook-dans-le-monde/), de [publicités](https://web.archive.org/web/20160811065905mp_/http://www.numerama.com/business/185911-la-publicite-sur-les-fils-facebook-est-arrivee-a-saturation.html)).
[^1]: La méthode classique consiste typiquement à associer le nom de domaine à bloquer à l'adresse 0.0.0.0. Au lieu d'utiliser cette adresse, on utilise l'IP d'un serveur Web sous notre contrôle, ce qui permet d'envoyer toutes sortes de choses. Dans mon cas, je l'utilise pour renvoyer un en-tête HTTP 410, ce qui me permet de distinguer facilement les éléments bloqués dans les outils de développement de mon navigateur. Mais il est possible d'aller beaucoup plus loin. Une méthode commune pour détecter la mise en oeuvre d'un système de blocage de pub est d'attendre qu'un script publicitaire renvoi une certaine variable. S'il ne le fait pas, on vous affiche un message vous demandant de désactiver votre bloqueur de pub. Il suffit de faire une liste de ces variables, et de les renvoyer pour tromper l'ennemi. C'est de la théorie, et il ne fait aucun doute que ces faux geeks déchus finiront par trouver comment contourner cela. Si tant est que tout le monde abandonne AdBlock Plus et passe au blocage DNS. Mais comme toujours, nous trouverons aussi une parade.

View File

@ -0,0 +1,195 @@
---
title: "Introduction"
date: 2021-01-01T21:39:56+01:00
tags: [
"Handicap",
"Neuro-atypisme",
"Blog",
"Douance",
"Internet"
]
---
Nouvelle année, nouveau blog. Ce n'est pas mon premier, et je ne peux pas
garantir que ce sera le dernier. Mais ma résolution pour 2021: le garder au
moins un an...
<!--more-->
Effectivement, au fil des ans, depuis 1998, j'enchaîne la publication de sites
divers et variés, souvent des blogs, et puis, ne cherchant pas particulièrement
à les faire connaitre, je les supprime au gré de mes humeurs. Sans sauvegarde.
Je suis comme ça: quand quelque chose ne m'intéresse plus, je n'y consacre plus
de temps. Je redémarre à zéro.
L'effet pervers de ce système est que du coup, vous trouverez assez peu de
choses sur moi sur Internet, autres que ce qui est mis en lien en haut à droite
de ce site, et ce d'autant que _Richard Dern_ n'est que mon nom de plume.
Je me réjouis de commencer un nouveau site le jour même d'une nouvelle année.
C'est probablement mon côté psycho-rigide, mais j'éprouve une certaine
satisfaction à mettre en ligne quelque chose de nouveau au premier de l'an.
## À propos de moi ##
### Mon handicap ###
Tout d'abord, il me semble important de vous dire quelle est ma caractéristique
principale, ce qui me définit, ce qui fait de moi ce que je suis. Vous verrez
après en quoi c'est important, mais avant, sachez que je le considère comme un
**handicap**, pas comme un don.
Je suis **neuro-atypique**, plus vulgairement (et faussement) appelé
**surdoué**.
C'est cette caractéristique qui vous fera m'apprécier ou me détester, selon
votre point de vue sur la question, parce qu'il est inévitable que vous en ayez
un.
Cela a de multiples conséquences: j'ai un QI élevé (142), et un système de
pensées en arborescence (là où les neuro-typiques ont une pensée linéaire),
constamment actif, très rapide, rarement mis en défaut.
C'est un handicap en particulier sur le plan social. J'ai écris plusieurs fois
à ce sujet (par exemple, sur
[reddit](https://www.reddit.com/r/self/comments/f525iz/being_smarter_than_98_of_people_could_be_a/)),
mais la douance ne semble toujours pas être globalement acceptée, en
tout cas pas en France. Les "surdoués" sont vus comme des personnes imbues
d'elles-mêmes, se vantant de leur intelligence, et rabaissant les autres. Un
ressenti particulièrement important (et injuste) compte tenu de mon
inextinguible soif de connaissances, source de mon intérêt pour toute chose,
cause du fait que j'ai un avis (souvent éclairé et toujours sourcé) sur de
nombreux sujets. Je le ressent comme injuste (et comme un handicap), parce que,
fondamentalement, si j'ai accès à ces connaissances, tout le monde aussi. Il ne
tient qu'aux gens de s'instruire. Me détester pour ça est un **choix**
profondément injuste.
La douance m'empêche de me faire comprendre clairement et succinctement. À cause
de mon système de pensées en arborescence, dans le cadre d'une discussion
simple, je passe mon temps à piocher des idées en relation avec cette
conversation, plus ou moins éloignées de l'idée initiale mais toujours en
rapport. Cela engendre un manque de comprehension chez l'autre, qui n'avance pas
au même rythme que moi et se sent perdu. Ceci constitue l'autre raison pour
laquelle je considère ma douance comme un handicap.
Je vais m'arrêter là pour l'instant en ce qui concerne ma douance, j'aurai le
temps et l'occasion d'y revenir plus tard, au gré de mes articles sur ce nouveau
site.
### Mon parcours ###
#### Personnel ####
J'ai commencé l'informatique à l'âge de cinq ans sur un Amstrad CPC 464, où j'ai
découvert la programmation en BASIC fin des années 1980. J'ai pu ensuite accéder
aux PC, puis à Internet en 1998, d'abord en fréquentant les premiers cyber-cafés
puis avec ma propre connection 512K par câble.
À cette époque, j'étais très actif sur MSN Chat et MSN Communities, ancêtres de
WhatsApp et facebook (en schématisant). J'avais même reçu une certification de
Microsoft pour la qualité de mes communautés d'aide en informatique.
Et puis j'ai commencé à développer en PHP. D'abord des modules pour le forum
libre [phpBB](https://www.phpbb.com/), puis mes propres applications. J'ai
ensuite laissé tomber PHP quelques temps (entre la version 3 et la version 5)
pour travailler sur le framework .Net de Microsoft, en particulier en C#, et
c'est ainsi que, vers 2005, j'ai commencé à travailler sur Cyca en tant que
"laboratoire de développement".
J'ai fait plusieurs tentatives pour m'intégrer à diverses communautés sur
Internet, incluant facebook, twitter, ActivityPub, mais aussi des sites comme
[LinuxFr.org](https://linuxfr.org/). J'ai tenu plusieurs blogs successifs,
traitant toujours d'informatique, mais aussi d'autres sujets qui me sont chers.
J'ai réalisé quelques applications que j'ai voulu publié, mais je n'ai jamais eu
le "succès" que j'attendais. J'ignore toujours si c'est parce que ce que je
faisais n'intéressait personne, si c'est parce que je ne savais pas comment
interagir avec les autres humains, ou si c'est parce que je ne savais pas
comment gérer la haine de certains de mes détracteurs. Quoiqu'il en soit, tout
ou presque est désormais perdu, oublié.
Ce qui me ramène à mon handicap. Malgré ma présence sur Internet depuis ses
débuts en France (je me souviens qu'à cette époque, je notais dans un carnet
toutes les adresses web que je voyais dans les journaux et magazines, en
prévision de les consulter quand j'aurais Internet, mais j'ai vite lâché prise
face à la quantité), je n'ai pas de réseau. Je ne connais personne, et personne
ne me connait, contrairement à d'autres "vieux de la vieille", dont certains
sont apparus après moi sur Internet, mais qui sont toujours présents et
populaires. Et cela a des conséquences aussi sur ma vie professionnelle.
#### Professionnel ####
Je n'ai pas très envie de m'étendre sur le sujet. Je n'ai connu que des
déceptions professionnelles, parfois graves. La dernière en date, celle qui a
causé mon chômage actuel, s'est terminée en burn-out. Ce chômage m'a permi de
travailler sur Cyca, mais je n'ai pas eu le temps d'en faire un projet
financièrement viable. Par manque de réseau, de compétences sociales, et peut
être aussi parce que personne n'en a l'intérêt, finalement.
En bref, mon parcours professionnel est un désastre, mais je garde espoir de
trouver un employeur qui saura utiliser mes compétences (et mon handicap) à bon
escient.
<x-shortcodes.update title="Mise à jour du 28 août 2021">
A priori, [j'ai trouvé](/blog/2021/08/28/de-retour/#au-chômage-et-nouveau-travail) :smile:
</x-shortcodes.update>
## Ce que j'attends de ce site ##
J'ai beaucoup de choses à dire, sur beaucoup de sujets différents. J'ai besoin
de les extérioriser. Mais jusqu'à présent, je n'avais peut-être pas la bonne
approche.
Ce blog est sous-titré:
> Opinions impopulaires d'un robot parmi les humains
J'essaye de convoyer plusieurs choses dans ce sous-titre, lisible sur toutes les
pages du site:
- Je m'exprime, en mon nom, sur mon site, mon propre point de vue, sur les
sujets de mon choix. Cela fait beaucoup de possessifs, mais il me semble
important de mettre en exergue que mes pensées m'appartiennent, et que je suis
libre de les diffuser comme je l'entends, sans crainte de la censure
- Ces idées sont impopulaires: mon point de vue est généralement différent des
autres, sauf sur des sujets bien spécifiques où un élément extérieur vient
corroborer une idée parfaitement inébranlable. De plus, elles concernent parfois
des sujets disruptifs, clivants, quand je crois en l'inéluctable. Ma vision du
monde est binaire ([booléenne](https://fr.wikipedia.org/wiki/Booléen) serait
plus appropriée), en contradiction avec la vision populaire nuancée
- Le terme "robot" fait référence à cette vision booléenne du monde, mais aussi
à ma capacité à me focaliser sur un sujet précis sans en démordre. Mes sujets
sont sourcés, vérifiables. Mais même quand, parfois, je m'aventure dans des
domaines où les idées sont encore indécises, je maintiens mes positions. Ça ne
veut pas dire que je suis fermé à toute discussion, mais cela signifie que si
vous souhaitez me faire changer d'avis, il vous en coûtera (émotionnellement)
- Enfin, "parmi les humains", parce que je ne me sens pas à ma place dans la
société humaine, capitaliste, et... sociale
J'ai bien conscience que présenté de cette façon, je n'incite pas le dialogue.
Pourtant, les rares personnes qui ont des rapports sociaux avec moi ont l'air
d'en être plutôt satisfaits. Je suis en couple depuis quinze ans 😊.
De toutes façons, le but de ce site, pour moi, est surtout de communiquer sur ce
qui m'intéresse. Si cela provoque une discussion intéressante et constructive,
c'est un gros bonus, évidemment. Mais je ne tolère plus les _haters_, en
particulier sur un site que j'héberge moi-même.
Au-delà de ça, j'espère conserver ce site en ligne plus longtemps que les
précédents. C'est la raison pour laquelle j'ai choisi d'utiliser
[Hugo](https://gohugo.io/) plutôt qu'un moteur de blog comme
[WordPress](https://wordpress.com), [dotClear](https://fr.dotclear.org)
(que je connais depuis longtemps) ou hébergé par un tiers. Hugo est moins facile
à "casser" à cause d'un plugin, plus personnel. De plus, un site "statique"
correspond à mes valeurs (peu ou pas du tout de javascript), et à l'usage d'un
blog. Là encore,
[j'aurai l'occasion de revenir sur ce sujet](/blog/2021/09/12/deployer-hugo-via-gitea-et-drone-ci/).
## Le mot de la fin, "Peinture fraîche" ##
Si vous avez tenu le coup jusqu'ici, merci ! Mais attendez-vous à des articles
encore plus longs à l'avenir. Comme je l'ai dit, j'ai beaucoup de choses à dire,
et je ne suis sûrement pas doué pour être concis.
Comme dit précédemment, j'utilise Hugo pour publier ce site. J'ai donc toute
latitude pour en faire ce que je veux, mais pour l'instant, c'est encore un peu
vide. Patience: il y a plein de choses que j'aimerais faire ici...

View File

@ -0,0 +1,282 @@
---
title: "Presentation de Cyca"
date: 2021-01-03T02:03:36+01:00
tags: ["Auto-hébergement", "Cyca", "PHP", "Laravel", "Application","Favoris","Flux"]
---
> ⚠️ Cyca est en cours de réécriture, le dépôt git est toujours disponible mais
> pas le site officiel.
Je vous présente aujourd'hui mon principal projet: Cyca, un gestionnaire de
favoris et de flux.
- [Dépôt git](https://git.athaliasoft.com/richard/cyca)
<!--more-->
<!-- Capture de Cyca -->
## (Bref) Historique du projet ##
L'histoire de Cyca démarre il y bien longtemps. Au début, c'était une
application de bureau écrite en C#, et disponible pour Windows uniquement. Par
la suite, devenant de plus en plus à l'aise en PHP, j'en ai fait une application
web. Mais que ce soit en C# ou en PHP, Cyca a toujours été mon projet
"laboratoire": chaque fois que je voulais tester une technique, un framework,
une bibliothèque, je le faisais sur Cyca. Aujourd'hui, évidemment, les process
de développement ont bien changé (parfois en bien), et ce n'est plus un projet
laboratoire victime du syndrome de Frankenstein mais bien une application
fonctionnelle depuis **septembre 2020** et l'apparition de son dépôt sur GitHub.
## Introduction ##
Cyca est un gestionnaire de favoris et de flux:
- Libre (publié sous licence [GNU GPL](http://www.gnu.org/licenses/gpl-3.0.html))
- basé sur le web (écrit en PHP)
- multi-utilisateurs
- _desktop-centric_ (pensé pour le bureau avant le mobile)
- non-intrusif (pas de notifications surgissantes ou visuellement agressives)
- respectueux de la vie privée (via différents moyens, mais en particulier par
l'**absence de système de télémétrie**)
- aussi **simple** à utiliser que possible (peu de formulaires)
- destiné à récolter autant d'informations que possible à propos de vos favoris
et de vos flux
### Technique ###
La _stack_ de Cyca repose sur:
- [Laravel](https://laravel.com)
- [Vue](https://vuejs.org/)
- [TailwindCSS](https://tailwindcss.com/)
Puisque Cyca fait appel au framework Laravel, l'application supporte:
- une base de données MySQL/MariaDB, PostgreSQL, SQLServer ou SQLite (non
recommandé pour des raisons de performance dans le cas d'une utilisation
intensive)
- Redis pour le cache, les sessions, les files d'attente
D'autres outils peuvent également être utilisés, tels que BeanStalkd, memcached,
Amazon SQS, etc. De plus, le système de stockage de Cyca permet l'usage de
systèmes de fichiers tels que FTP, Amazon S3 en plus du stockage local. En
effet, Cyca est amené à stocker un certain nombre d'informations additionnelles
et offre donc le choix de leur emplacement.
## Fonctionnalités ##
### Arborescence ###
Cyca permet la gestion de favoris (ou _documents_) au sein d'une arboresence de
dossiers (par opposition à un système de _tags_, qu'il sera toujours possible
d'implémenter ultérieurement s'il y a une demande). Cette arborescence constitue
le premier panneau de l'interface, occupant le côté gauche de l'écran.
En outre, chaque utilisateur peut créer ou rejoindre un ou plusieurs groupes.
Un groupe permet de partager avec plusieurs utilisateurs la même arborescence de
dossiers, de documents et de flux, avec des permissions attribuables par
utilisateur et par dossier, par le créateur du groupe.
<!-- Capture de Cyca -->
Chaque nouvel utilisateur se voit attribuer son propre groupe, par défaut
inaccessible aux autres ("Seulement sur invitation").
Un groupe peut être directement rejoint par un utilisateur, ou seulement sur
invitation. Une fonctionnalité prévue dans la _roadmap_ impliquera un système
de fédération, où il sera possible d'accéder à un groupe hébergé sur une autre
instance de Cyca.
Il existe actuellement trois types de dossiers, chaque type ayant certaines
caractéristiques:
- Le dossier _Éléments non-lus_ permet de lister tous les documents possédant
des éléments de flux non-lus
- Le dossier _Racine_, où seront stockés les autres dossiers et les documents
- Les dossiers créés par l'utilisateur
Chaque groupe possède sa propre arborescence de dossiers, incluant un dossier
_Éléments non-lus_ et un dossier _Racine_ qui lui sont spécifiques.
L'utilisateur a la possibilité de basculer d'un groupe à l'autre très facilement
grâce aux liens situés au-dessus de la liste des dossiers.
<!-- Capture de Cyca -->
Sur cette capture, vous pouvez voir le groupe en haut (avec le nombre total
d'éléments non-lus dans ce groupe), puis, en dessous, l'arborescence appartenant
à ce groupe.
Un formulaire simple permet de créer ou renommer chaque dossier (à l'exception
des dossiers _Éléments non-lus_ et _Racine_). Le _drag'n'drop_ permet de
déplacer dossiers et documents.
Chaque dossier peut être déployé ou réduit (_expanded_ ou _collapsed_), comme
dans toute arborescence digne de ce nom, avec toutefois une subtilité: il est
possible de déployer ou réduire un dossier **et** ses sous-dossiers en
maintenant un clic long sur l'icône en forme de triangle à gauche du dossier.
Pratique pour cacher ou voir un sous-ensemble des dossiers en quelques instants.
<!-- Capture de Cyca -->
### Documents ###
Un dossier peut contenir un nombre illimité de documents. Cette liste occupe la
partie médianne de l'écran. Elle peut afficher des listes différentes en
fonction du dossier sélectionné: soit les documents effectivement liés au
dossier en cours, mais aussi les documents contenant des éléments non-lus si le
dossier éponyme est sélectionné.
Là encore, le formulaire pour ajouter un document est extrêmement simple: il
suffit de renseigner l'URL du document (ou du flux) qui nous intéresse dans le
panneau des détails (occupant la partie inférieure droite de l'écran).
Si vous renseignez l'URL vers un flux (RSS ou Atom), Cyca analysera ce flux à la
recherche du document parent. Cyca ajoutera alors à vos favoris ce document à la
place du flux RSS, qui, lui, sera associé au document.
Vous avez ensuite la possibilité de découvrir les informations collectées par
Cyca à propos de l'URL qui vous lui avez soumise en sélectionnant le document,
ce qui provoquera la modification du panneau de détails en bas à droite de
l'écran:
<!-- Capture de Cyca -->
Vous constaterez sur la capture ci-dessus la présence d'un flux RSS qu'il est
possible d'ignorer. Cyca l'a automatiquement découvert, et me proposera donc
l'actualité de ce site dès qu'elle sera disponible.
Vous remarquerez en outre la coloration de certains éléments des adresses
affichées dans Cyca, dans le but d'améliorer leur lisibilité, et éviter certains
problèmes de sécurité les conçernant, malheureusement pas en évitant ces
problèmes (Cyca ne peut pas deviner si le site que vous avez ajouté à vos
favoris soit bien celui qu'il prétend être, en tout cas pas à ce stade), mais en
vous présentant l'URL que vous venez d'ajouter d'une façon plus claire, plus
lisible, en vous permettant de différencier rapidement les caractères disposant
d'une graphie similaire (ce qu'on appelle les
[homoglyphes](https://fr.wikipedia.org/wiki/Homoglyphe)).
Enfin, vous noterez en bas de cette capture un groupe "Réponse HTTP" dépliable
qui contient toutes les informations récoltées lors de la requête HTTP au
serveur.
Ces informations ont un but informatif. Ce n'est pas un outil de sécurité, qui
ne cherche ni à récolter des données auxquelles il n'a pas accès, ni à faire
usage de ces données à des fins malencontreuses. Les données récoltées par Cyca
sont des données publiques, accessibles à tous, telles que la version du
protocole, les en-têtes de la réponse, le type MIME, etc. Par ailleurs, aucune
donnée personnelle n'est envoyée au serveur distant, pour qui c'est Cyca le
client.
Pour les connaisseurs, c'est la librairie [Guzzle](https://docs.guzzlephp.org/en/stable/overview.html)
qui est mise en oeuvre ici.
### Flux ###
Dès qu'un document est créé dans Cyca, l'application va automatiquement
découvrir les flux associés de deux façons différentes:
- la méthode classique, consistant à analyser les balises ```<link>``` à la
recherche de flux **déclarés**
- la méthode brute, consistant à tester certaines URLs connues (par exemple,
_/feed_, _/rss_, etc.)
Grâce à ce fonctionnement, et c'est le but de Cyca, même si vous ignorez que
certains sites déclarent un flux, ou même si vous ignorez ce qu'est un flux,
vous aurez accès à l'actualité de vos favoris, même si vous n'êtes pas encore
consommateur de flux. Autrement dit: Cyca a été conçu pour vous engager sur la
voie de la consommation des flux RSS et/ou Atom.
### Éléments de flux ###
Les éléments de flux sont affichés dans le panneau situé en haut à droite, et
se présente sous la forme d'une liste, mêlant éléments lus et éléments non-lus
dans tous les dossiers, à l'exception du dossier _Éléments non-lus_ qui ne
listera que les éléments... non-lus.
<!-- Capture de Cyca -->
Vous pouvez voir ici que Cyca liste les éléments lus en gris clair, tandis que
les éléments non-lus sont affichés en blanc. On dispose par ailleurs du titre
du flux dans lequel chaque élément a été publié, ainsi que la date de
publication.
Enfin, on aperçoit une fonctionnalité intéressante de Cyca: la mise en
surbrillance, qui vous permet de mettre en exergue certaines expressions qui
vous intéressent en particulier (ici, "Apple").
Cyca respecte la décision des éditeurs de flux de ne pas inclure la totalité du
texte dans leur flux. Certains, particulièrement les geeks, les revues
scientifiques ou les systèmes d'alerte incluent le texte complet de leur
publication, parfois même avec des pièces jointes (que Cyca ne supporte pas
encore), mais d'autres se contentent d'un résumé, voire d'un simple lien.
Cyca n'a pas et n'aura jamais la volonté d'aller plus loin. Il existe des outils
spécifiques à cet usage, mais ils ne respectent pas l'éthique que je veux pour
Cyca.
### Mises en surbrillance ###
<!-- Capture de Cyca -->
Cyca vous permet de définir des mises en surbrillance, qui vous vous permettre
d'isoler, dans la liste des éléments de flux, ceux qui vous intéressent
particulièrement.
Il vous suffit pour cela de définir une expression et une couleur associée.
Cette expression peut être un simple mot, ou une
[expression régulière](https://fr.wikipedia.org/wiki/Expression_régulière).
### Autres fonctionnalités ###
- Cyca supporte un thème sombre et un thème clair, soit forcé soit adapté
automatiquement en fonction du système d'exploitation
- Cyca est actuellement capable de lire les méta-données d'une image et d'un
fichier PDF
## Fonctionnalités à venir ##
- J'aimerais intégrer un système de fédération permettant, comme dit plus haut,
de rejoindre un groupe hébergé sur une autre instance de Cyca
- J'ai commencé à travailler sur une [librairie](https://github.com/RichardDern/php-gemini)
pour le protocole [gemini](https://gemini.circumlunar.space/), qui permettra
d'ajouter des liens sur ce réseau à Cyca...
- ...puis, en créant une abstraction des protocoles, permettre à Cyca de gérer
des favoris sur n'importe quel réseau (FTP, Gopher, etc.)
- J'aimerais introduire un moteur de recherche local, permettant de retrouver
facilement documents et éléments de flux (en cours lors de la publication de
cette présentation)
- J'aimerais ajouter la possibilité de trier les documents et les flux selon
les préférences de l'utilisateur
## De quoi Cyca a besoin ? ##
- D'argent: j'arrive en fin de droits au chômage, ce qui signifie que je ne
pourrais plus travailler sur Cyca à temps plein. Mon objectif était de monétiser
Cyca par la mise en place d'un service hébergé, mais je n'ai plus le temps
d'atteindre cet objectif. Les dons me permettraient de financer l'électricité,
le matériel, et le travail que je fournis sur Cyca, en attendant d'atteindre
l'indépendance financière.
- De traducteurs: Cyca n'est pour l'instant disponible qu'en anglais et en
français.
- De "colporteurs": si vous avez lu mon premier post sur ce blog, vous savez
déjà qu'il me manque un réseau social, de personnes en mesure de tester Cyca,
en parler autour d'eux, et me remonter problèmes et suggestions.
## Conclusion ##
J'ai développé Cyca parce que j'estime que c'est une application qui répond à
deux besoins que j'ai en tant qu'Internaute: gérer des favoris (en grande
quantité) et des flux (de même). Il me semblait logique de faire les deux au
même endroi.
C'est, pour moi, pour mon usage quotidien, une application essentielle, qui
répond à ces besoins de la meilleure manière possible, selon mes critères.
Mais je souhaite qu'elle puisse répondre aux vôtres aussi, afin qu'elle figure
dans le rang des outils "essentiels", au même titre qu'un gestionnaire de mots
de passe, ou d'un éditeur de texte.
Merci d'avoir lu cette présentation. J'espère qu'elle vous donnera envie de
donner sa chance à Cyca, et d'en parler à vos contacts.

View File

@ -0,0 +1,277 @@
---
title: "Installer Gitea sur un NAS Synology"
date: 2021-01-04T11:16:36+01:00
tags: ["SysAdmin", "Synology", "Git", "Gitea", "NAS", "SSH"]
---
Je vous propose un tutoriel sur l'installation de la forge Libre Gitea sur un
NAS Synology avec une petite nuance par rapport à ce qu'on trouve habituellement
sur le sujet: on n'utilisera pas Docker...
<!--more-->
En effet, j'ai à ma disposition un
[DS216play](https://global.download.synology.com/download/Document/Hardware/DataSheet/DiskStation/16-year/DS216play/enu/Synology_DS216play_Data_Sheet_enu.pdf), basé sur un processeur STM Monaco
[STiH412](https://www.st.com/resource/en/data_brief/stih412.pdf), processeur ARM
à double-coeur à 1.5GHz (plus quatre coeurs dédiés à la vidéo). Un bon NAS pour
un usage courant, mais qui ne supporte malheureusement pas Docker, ce qui aurait
considérablement simplifié l'installation et la maintenance de logiciels tiers,
en particulier celui qui nous intéresse aujourd'hui:
[Gitea](https://gitea.io/en-us/).
La méthode que je vais décrire ici pourrait également être appliquée avec un NAS
où l'on pourrait (techniquement) utiliser Docker, mais sans le vouloir. Je pars
du principe que votre NAS est à jour (version 6.2.3 au moment d'écrire ce
tutoriel), mais il est probable que cela fonctionne pour des versions
antérieures.
## Installation de paquets supplémentaires ##
Notre procédure exige l'installation de paquets Synology supplémentaires. Allez
dans le _Centre de paquets_, et installez:
- Git Server
- MariaDB 10
- phpMyAdmin
Tous trois se trouvent dans les paquets _Tierce partie_.
Notez le mot de passe que vous allez saisir dans MariaDB, vous en aurez besoin
plus tard.
Ouvrez ensuite MariaDB via le lien présent dans le menu principal, afin de
cocher la case "Activer la connexion TCP/IP", sur le port 3307.
## Activer SSH sur le NAS ##
Connectez-vous à l'interface d'administration de votre NAS, puis allez dans le
_Panneau de configuration_. Activez le _Mode avancé_ en cliquant sur le lien en
haut à droite, puis ouvrez _Terminal & SNMP_. Activez _SSH_, et laissez-le sur
le port 22 pour le moment. Cliquez sur _Appliquer_.
## Créez un dossier dédié à Gitea ##
Allez maintenant dans _Dossier partagé_, et créez un partage _Gitea_.
- [x] Cacher ce dossier partagé dans "Mes emplacements réseaux".
- [x] Masquer les sous-dossiers et les fichiers des utilisateurs sans autorisations.
- [ ] Activer la corbeille.
Ne donnez aucun accès à personne pour le moment (c'est-à-dire, laissez tous les
autres paramètres à leurs valeurs par défaut).
## Créer un utilisateur pour Gitea ##
Toujours dans le _Panneau de configuration_, ouvrez la page _Utilisateur_, et
créez-en un nouveau, appelé comme vous le souhaitez, mais partons pour _gitea_.
Affectez-lui un mot de passe dont vous vous souviendrez.
Laissez-le dans le groupe _users_. Par contre, donnez-lui les accès en lecture
et en écriture dans le dossier partagé _gitea_ que vous venez de créer.
Vous pouvez éventuellement attribuer des quotas, mais laissez tout le reste aux
valeurs par défaut.
## Se connecter en SSH au NAS ##
Depuis votre terminal préféré, initiez une connection SSH vers votre NAS, avec
l'utilisateur _admin_.
```bash {linenos=false,class=not-prose}
ssh admin@nas
```
Une fois votre mot de passe saisi, vous devriez être connecté.
## Télécharger Gitea ##
On va stocker Gitea dans son propre répertoire, dans le dossier partagé créé
précédemment.
```bash {linenos=false,class=not-prose}
cd /volume1/gitea/
mkdir bin
cd bin/
wget https://dl.gitea.io/gitea/1.13.1/gitea-1.13.1-linux-arm-6
ln -s gitea-1.13.1-linux-arm-6 gitea
ls -alh
```
Vous devriez voir la sortie suivante, qui vous montre la création d'un lien
symbolique _gitea_ vers le binaire téléchargé _gitea-1.13.1-linux-arm-6_, ce qui
simplifiera les commandes futures.
```plaintext {linenos=false,class=not-prose}
lrwxrwxrwx+ 1 gitea users 24 Jan 4 00:12 gitea -> gitea-1.13.1-linux-arm-6
-rwxrwxrwx+ 1 gitea users 96M Dec 28 19:50 gitea-1.13.1-linux-arm-6
```
## Tester ##
```bash {linenos=false,class=not-prose}
chmod +x gitea
export GITEA_ROOT="/volume1/gitea"
./gitea --port 13000 --custom-path $GITEA_ROOT/custom --config $GITEA_ROOT/custom/conf/app.ini
```
Le port 3000 étant déjà utilisé, on demande à Gitea de démarrer sur le port
13000, et on lui indique où stocker ses données.
La dernière ligne de la sortie provoquée par cette commande devrait ressembler à
ça:
```plaintext {linenos=false,class=not-prose}
2021/01/04 00:19:43 ...s/graceful/server.go:55:NewServer() [I] Starting new server: tcp:0.0.0.0:13000 on PID: 26230
```
Confirmez en ouvrant votre navigateur, puis en allant à l'adresse de votre NAS,
sur le port 13000:
> http://nas:13000/
En théorie, vous devriez voir la page d'accueil de votre instance Gitea.
N'y faites rien pour l'instant, on ne l'a pas démarré avec le bon utilisateur:
c'était juste une _proof-of-concept_, il est maintenant temps de lancer Gitea
avec son utilisateur attitré.
Retournez dans votre terminal, puis stoppez le processus avec
<kbd>CTRL</kbd>+<kbd>C</kbd>.
## Démarrage de Gitea ##
Allez dans le _Panneau de configuration_, puis dans le _Planificateur de
tâches_. Créez une nouvelle _Tâche déclenchée_. Nommez-la "Gitea", affectez
l'utilisateur _gitea_, à l'évènement "Démarrage". Allez ensuite dans l'onglet
"Paramètres de tâche". Le temps des tests, je vous recommande de cocher la
case permettant d'envoyer les détails d'exécution par email. Une fois qu'on se
sera assuré que tout fonctionne, on pourra aussi cocher la case "Envoyer les
détails d'exécution uniquement lorsque le script se termine de manière
anormale".
Dans la zone de texte du bas, "Script défini par l'utilisateur", copiez-collez
ceci:
```bash {linenos=false,class=not-prose}
export HOME="/volume1/homes/gitea"
export GITEA_ROOT="/volume1/gitea"
$GITEA_ROOT/bin/gitea --port 13000 --custom-path $GITEA_ROOT/custom --config $GITEA_ROOT/custom/conf/app.ini
```
Enregistrez, puis faites un clic droit sur la tâche et _Exécuter_.
Si vous pouvez accéder à l'interface web de Gitea, comme pendant le test
précédent, et qu'aucun mail ne vous est envoyé avec une sortie de programme,
c'est qu'on peut passer à la configuration...
## Base de données ##
Dans le menu principal de DSM, ouvrez _phpMyAdmin_. Connectez-vous au compte
_root_, avec le mot de passe spécifié pendant l'installation du paquet MariaDB.
Dans la barre en haut, cliquez sur _Comptes utilisateurs_, puis _Ajouter un
compte d'utilisateur_.
Donnez-lui un nom (par exemple, _gitea_), un mot de passe, puis cochez les cases:
- [x] Créer une base portant son nom et donner à cet utilisateur tous les privilèges sur cette base.
- [x] Accorder tous les privilèges à un nom passe-partout (utilisateur\_%).
Puis cliquez sur le bouton _Exécuter_ tout en bas à droite.
## Configuration de Gitea ##
De retour dans l'interface de Gitea, on peut remplir les champs liés à la base
de données.
Le serveur MariaDB sur le NAS écoute sur le port 3307, au lieu du 3306 habituel.
Le nom d'utilisateur et le nom de la base de données devraient être _gitea_ si
vous avez suivi mes indications, et le mot de passe est celui que vous venez de
donner à l'utilisateur _gitea_ dans MariaDB.
Il est important maintenant de définir les chemins d'accès aux fichiers:
- Emplacement racine des dépôts: /volume1/gitea/gitea-repositories
- Répertoire racine Git LFS: /volume1/gitea/bin/data/lfs
- Chemin des fichiers log: /volume1/gitea/log
Vous devez aussi vous assurer que les noms de domaines mentionnés correspondent
à celui utilisé pour accéder à votre NAS.
Placez le port d'écoute SSH sur le port 10022, puis continuez la configuration
avec les paramètres facultatifs.
## Tester ##
Allez dans la configuration de Gitea, une fois que vous y serez connecté, puis
dans "Clés SSH/GPG".
Récupérez votre clé publique depuis une autre machine:
```bash {linenos=false,class=not-prose}
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub
```
La clé aura cette forme:
```plaintext {linenos=false,class=not-prose}
ssh-rsa <série de caractères> <utilisateur>@<ordinateur>
```
Dans Gitea, faites un copier-coller de cette clé publique dans "Ajouter une
clé".
Créez maintenant un dépôt de test qui sera supprimé ensuite. Gitea vous donne
même la marche à suivre:
```bash {linenos=false,class=not-prose}
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin ssh://gitea@<domaine>:13000/<utilisateur>/test.git
git push -u origin master
```
Arrivé là, il est fort à parier qu'un nom d'utilisateur et un mot de passe vous
sera demandé, à la place de l'identification à clé publique. C'est tout
simplement parce que les permissions du dossier _.ssh_ de l'utilisateur _gitea_
ne sont pas les bonnes, et parce que Gitea n'a pas lancé son propre serveur SSH.
Dans votre terminal, toujours en tant qu'_admin_, exécutez les commandes
suivantes:
```bash {linenos=false,class=not-prose}
sudo su
cd /volume1/homes/gitea
chmod 0711 ./
chmod 0711 ./.ssh/
chmod 0600 ./.ssh/authorized_keys
```
Vous devez également ajouter un paramètre à la configuration de Gitea, située
dans le fichier _/volume1/gitea/custom/conf/app.ini_.
Dans la section `[server]`, rajoutez:
```ini {linenos=false,class=not-prose}
START_SSH_SERVER = true
```
Arrêtez Gitea en faisant:
```bash {linenos=false,class=not-prose}
killall gitea
```
Et relancez la tâche planifiée créée plus tôt. Gitea doit démarrer et un _push_
ou un _pull_ vers votre dépôt de test devrait fonctionner.
## Mise à jour de Gitea ##
À chaque nouvelle version, il vous suffit de télécharger le fichier binaire, et
de changer le lien symbolique vers lui, comme on l'a fait avant. Vous stoppez
ensuite Gitea, sauvegardez les données comme vous le faites d'habitude avec DSM,
et relancer la tâche planifiée.

View File

@ -0,0 +1,47 @@
---
title: "Un Livre en approche"
date: 2021-01-26T21:18:11+01:00
tags: ["Livres", "L'humain, cette espèce primitive", "Réflexions"]
---
Après la publication de deux billets sous une bannière commune, "L'Humain, cette
espèce primitive", j'ai voulu aller plus loin dans la réflexion, et en écrivant
un troisième "chapitre", je me suis dit: "Pourquoi pas ?". Pourquoi n'en
ferais-je pas un "vrai" livre, plutôt qu'une simple série de billets de blog ?
<!--more-->
Une vingtaine de jours plus tard, j'apporte les dernières touches à ce qui va
devenir mon premier livre publié. Je suis actuellement en phase de relecture.
C'est un moment très stressant: est-ce que j'en ai trop dit ? pas assez ? est-ce
que ça va plaire ? vais-je déchainer les _haters_ contre moi ? y aura-t'il
quelqu'un pour me lire ? Les questionnements se bousculent dans ma tête,
générant une peur tenace. Mais je finis toujours par me dire: j'ai _envie_ de le
faire. J'ai écrit ce dont j'avais _envie_, et c'est sûrement ça, le plus
important (même si savoir que ce qu'on a écrit est lu est quand même très
agréable !).
On m'a souvent reproché d'être "aggressif" dans mes écrits antérieurs. C'est
d'ailleurs probablement la raison pour laquelle je n'ai jamais voulu publier
sous une autre forme que le blog. Mais, l'âge aidant probablement, je me suis
assagi, posé. Et je suis _un peu_ fier d'y être parvenu: contrôler mes émotions
est parfois difficile en tant que neuro-atypique, mais je crois que, dans ce
livre, et malgré le titre que certains jugeront sûrement provocateur, je m'en
sors plutôt bien. Les quelques personnes qui ont accepté leur rôle de
relecteurs, connaissant mes anciens écrits, m'ont tous jugé sur cet aspect
spécifique: je ne suis plus aussi "condescendant" ou "moralisateur". Ils avaient
envie de lire, et ont trouvé ça intéressant. Je sais que ça n'a pas vraiment de
valeur pour mes futurs lecteurs, mais ça m'encourage. J'ai - enfin ! - ce
sentiment d'avoir progressé.
À tel point que j'ai déjà un second livre dans les cartons, mais dans un tout
autre registre...
Une fois la relecture terminée et après quelques derniers fignolages, je rendrai
le livre public. Comme j'ai besoin de me nourrir, me loger, et surtout d'avoir
Internet (notez les priorités), le livre ne sera pas gratuit, mais il sera
**libre**, publié sous la licence
[CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.fr). Je
mettrai évidemment à disposition (gratuitement) les sources du livre dans un
dépôt git qu'il me reste à définir (auto-hébergé ou sur GitHub).

View File

@ -0,0 +1,74 @@
---
title: "Rant : Raspberry Pi 4"
date: 2021-02-28T23:11:30+01:00
tags: ["Raspberry Pi", "Rant", "ODROID", "Banana Pi", "Orange Pi", "Linux", "BSD"]
---
Je suis un utilisateur de Raspberry Pi depuis longtemps. Je possède au moins un exemplaire de chaque itération "grand public", à l'exception du 2. Chaque itération apporte son lot de nouveautés, d'espérences, et de déceptions. Voici un tour d'horizon de ce qui me frustre avec ces petites machines.
<!--more-->
## Le système d'exploitation
<x-shortcodes.update title="Mise à jour du 4 février 2022">
Ça y est, le système d'exploitation Raspberry Pi OS 64 bits est [officialisé](https://www.raspberrypi.com/news/raspberry-pi-os-64-bit/).
</x-shortcodes.update>
Pour commencer, il n'existe pas de version 64bits stable du système d'exploitation "officiel", Raspberry Pi OS. Une version "bêta" est en développement depuis au moins le 28 mai 2020. Je trouve ça plutôt embêtant parce que :
- Le Raspberry Pi 3 dispose d'un processeur 64bits [depuis 2016](https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/)
L'architecture ARM 64bits existe [depuis 2011](https://en.wikipedia.org/wiki/ARM_architecture#64/32-bit_architecture). Toutefois, l'absence de système 64bits officiellement supporté par la fondation Raspberry Pi à l'heure actuelle n'est pas entièrement de sa faute : l'architecture ARMv8 n'est disponible "que" [depuis 2019](https://www.debian.org/releases/buster/) sous Debian (distribution sur laquelle repose Raspberry Pi OS).
- De nombreuses distributions tierces offrent une version 64bits pour le Raspberry Pi 3
C'est le cas de nombreuses distributions GNU-Linux, telles que [Ubuntu](https://ubuntu.com/download/raspberry-pi), [Alpine Linux](https://alpinelinux.org/downloads/), mais aussi [FreeBSD](https://www.freebsd.org/where/). Dès lors, on se demande pourquoi Raspberry Pi OS ne dispose pas déjà d'une version 64bits.
Je regrette toutefois que la plupart des systèmes d'exploitation "tiers" ne supportent pas officiellement le Raspberry Pi 4. Le problème, c'est que tout le monde annonce un support à 100% du Pi 3 _aujourd'hui_. Quand ils annonceront un support à 100% du Pi 4, je m'attends à ce qu'un hypothétique Pi 5 sorte sur le marché. Il y a un décalage assez désagréable entre la vente du matériel et la mise à disposition du logiciel.
Ce décalage est d'autant plus problématique qu'il est sans doute la source des problèmes assez graves qui ont miné les débuts du Pi 4, notamment en ce qui concerne l'[USB-C](https://bgr.com/2019/07/10/raspberry-pi-4-usb-c-charging-issue-how-to-fix-the-power-problem/), et d'autres manquements, en particulier du boot sur USB.
- Le Raspberry Pi 4 offre jusqu'à 8Go de mémoire vive, dont ne peuvent pleinement bénéficier que des applications 64bits
- Il y a un [gain de performance](https://matteocroce.medium.com/why-you-should-run-a-64-bit-os-on-your-raspberry-pi4-bd5290d48947) significatif à passer sur un système 64bits, même sans disposer de 8Go de mémoire
Pour une utilisation "desktop", le gain est appréciable notamment dans la navigation web. Pour une utilisation "serveur", c'est le réseau et la gestion mémoire qui bénéficient du passage à 64bits. Je crois d'ailleurs me souvenir (sans pouvoir retrouver la source, malheureusement), que la fondation Raspberry Pi avait freiné le développement de la version 64bits, prétextant que le gain de performance n'était pas justifié, ce qui n'avait pas manqué de me rappeler [la légende](https://www.wired.com/1997/01/did-gates-really-say-640k-is-enough-for-anyone/) selon laquelle Bill Gates aurait affirmé que "640Ko était une quantité de mémoire suffisante"...
- Les choix logiciels tendancieux
Dernière critique en date : l'inclusion par défaut - et sans prévenir les utilisateurs - d'un dépôt Microsoft pour VSCode, surgie de nulle part. Problème éthique, problème de télémétrie, même partielle, et puis problème de confiance : comment faire encore confiance à Raspberry Pi OS ? Comment ne pas voir un rapprochement de Microsoft qui a déjà officialisé il y a longtemps un système de son cru pour cette plateforme ? Comment ne pas envisager que Microsoft ait des vues sur cette petite carte, et qu'il va finir par l'avaler ?
## Le matériel
- Supports de stockage
Le support de stockage de prédilection du Raspberry Pi est la carte micro-SD, qui n'est pas réputé être le plus fiable, notamment à cause de la durée de vie des cellules mémoire, mais aussi à cause de la fragilité et de la sensibilité du support. Je n'espère plus faire tourner un serveur 24h/24 sur un Raspberry Pi 4 et carte SD plus d'un an (et je n'achète que du SanDisk).
Bien que j'apprécie la possibilité de démarrer depuis le réseau, je trouve que c'est très complexe à mettre en oeuvre, et peu pratique à l'usage. C'est un plus indéniable dans une utilisation "industrielle" du Pi, mais dans un cadre privé, c'est trop incommode. Notez que cette remarque n'est pas spécifique au Raspberry Pi mais au _network boot_ en général.
Enfin, il est possible de démarrer depuis un périphérique USB. Par contre, c'est une fonctionnalité que j'estime avoir attendu trop longtemps (elle était disponible sur les versions précédentes du Pi, mais les changements matériels apportés au Pi 4 ont imposé des changements au niveau logiciel de la procédure de démarrage), et n'est toujours pas universelle, en particulier en ce qui concerne les SSD externes. Certains boitiers sont reconnus et permettent le boot par USB, d'autres non, et cela dépend parfois du système d'exploitation : Raspberry Pi OS peut démarrer depuis un boitier spécifique, mais FreeBSD ou même [Home Assistant OS](https://www.home-assistant.io/installation/raspberrypi) ne le peut pas. Et je ne parle pas du support de [TRIM](https://en.wikipedia.org/wiki/Trim_(computing)) qui nécessite parfois [une configuration spécifique](https://lemariva.com/blog/2020/08/raspberry-pi-4-ssd-booting-enabled-trim).
- Wifi
J'ai voulu tester le Raspberry Pi 4 en tant que point d'accès sans-fil pour un réseau hétérogène. À vrai dire, c'est pour cette raison précise que je les avais acheté initialement. Le but était de remplacer mes deux [Synology RT1900ac](https://global.download.synology.com/download/Document/Hardware/DataSheet/Router/16-year/RT1900ac/fre/Synology_RT1900ac_Data_Sheet_fre.pdf). Idéalement, je voulais faire du mesh, mais je me serai contenté de l'auto-sélection 2.4/5GHz, c'est-à-dire pouvoir configurer un SSID unique accessible sur les deux bandes de fréquence, mais aussi en 802.11g/n/ac, comme c'est le cas sur mes actuels [MR2200ac](https://www.synology.com/en-us/products/MR2200ac).
Malheureusement, je n'ai pas réussi à le faire, ni via [OpenWRT](https://openwrt.org), ni sur Raspberry Pi OS. Je ne sais pas si c'est une limitation matérielle ou logicielle, et je ne me suis pas posé la question depuis que j'ai opté pour les MR2200ac.
- Coût de possession
On vante le bas prix du Raspberry Pi, mais je trouve le coût total de possession très élevé comparativement à ses performances. Un rapport qui tend à diminuer avec la puissance offerte par le Pi 4, encore que son _form-factor_ ne permet pas de réutiliser les anciens boitiers, jusque là compatibles avec toutes les versions B de la carte. En plus, au-delà du _form-factor_, il faut aussi s'accomoder d'une hausse de température en fonctionnement, et donc opter pour un boitier adéquat, plus cher à cause de la présence d'un radiateur, voire d'un ventilateur. En comptant alors le Pi, le boitier, la carte SD, l'alimentation USB-C officielle pour éviter les problèmes de compatibilité, et un câble micro-HDMI (spécificité du Pi 4, les versions antérieures utilisaient un connecteur HDMI classique), on arrive facilement aux 80 euros pour une carte donnée à moins de 30 euros. Le geek excité par la découverte puis la possession de l'objet fait alors les comptes, et réalise trop tard que ce n'est pas si intéressant au final...
- Pilotes non-libres
Broadcom n'offre pas de pilotes ou de firmware libres pour ses composants matériels, en particulier le GPU et le réseau. J'avoue que depuis mon premier Pi 1B, j'espère voir arriver une version qui puisse tourner avec 100% de Logiciels Libres...
## La concurrence
J'ai conscience des difficultés que peut représenter le développement d'une telle machine, et son support logiciel. Ce qui m'embête, c'est qu'il existe une concurrence, qui dispose parfois de très nets avantages au niveau matériel. C'est notamment le cas de [ODROID](https://www.hardkernel.com), qui fait de **très** bons produits dans une gamme variée, y compris à base de CPU x86. Et je ne parle pas de la quantité impressionnante de clones, tels que le [Banana Pi](http://www.banana-pi.org), l'[Orange Pi](http://www.orangepi.org), etc.
De mon point de vue, ces solutions ne disposent pas de la même force "marketing" que la fondation Raspberry Pi, soit que ce soit pour des raisons financières ou culturelles. En effet, la plupart des concurrents du Raspberry Pi sont d'origine asiatique, tandis que le Pi est d'origine européenne (britannique pour être précis). Et c'est heureux pour son fabriquant, parce que je n'ai pas l'impression que le Pi dispose d'arguments suffisants pour être plus apprécié que ses concurrents.
## Relativisons...
En soi, ce n'est pas une mauvaise machine, loin de là. Le CPU est très bon, la quantité de mémoire disponible est appréciable, et en outre, le Pi 4 a fait un formidable bond en avant en ce qui concerne le réseau. Il y a des points à améliorer, c'est certain, et cela signifie que d'autres versions devraient voir le jour. Mais il faudrait que chaque nouvelle version matérielle s'accompagne d'un meilleur support logiciel au même moment, au moins en ce qui concerne le système d'exploitation officiel, et certains choix techniques devraient être reconsidérés : je préfèrerai par exemple un maximum de 4Go de mémoire vive, ce qui me semble amplement suffisant sur une telle machine, et utiliser l'espace physique ainsi gagné sur la carte pour y placer au moins 8Go de mémoire flash, avec des performances et une fiabilité accrue. J'aimerais aussi avoir le choix dans les sorties vidéo : deux prises micro-HDMI ne me semble être qu'une démonstration technique plutôt que le témoin d'un besoin réel. On pourrait très bien imaginer une version avec ces deux prises pour un usage desktop, voire une unique prise Display Port, et une version avec une seule prise HDMI au format classique pour un usage plus occasionel de la sortie vidéo (comme sur un serveur par exemple).
Bref, je _rant_ contre le Pi, mais je continue de l'utiliser, et j'achèterai surement la prochaine itération...

View File

@ -0,0 +1,25 @@
---
title: "Plaidoyer en faveur de l'intelligence"
date: 2021-03-05T21:53:34+01:00
tags: ["Réflexions", "Intelligence", "HQI", "Neuro-atypisme", "Société"]
---
Je ne supporte plus l'acceptation sociale de la ségrégation de l'intelligence. Comment peut-on considérer comme acceptable la maltraitance dont sont victimes les gens intelligents, de leur plus jeune âge jusqu'au moment de leur isolement social total ? Comment peut-on voir des oeuvres culturelles tourner en dérision l'enfermement d'un « intello » dans un vestiaire, moquer ses passions et centres d'intérêts, mépriser ses choix de vie sans éprouver au moins de la gêne ?
À une époque où les mouvements sociaux se font de plus en plus fréquents et intenses, où chaque groupe revendique à raison le droit d'exister, les gens intelligents font toujours l'objet d'exclusion sociale. Le regard qu'on porte sur eux est toujours imprégné de dégoût, de répulsion, de mépris. On les croit égocentriques, on les croit bizarres, on les croit mégalomanes. On leur prête de mauvaises intentions, on se persuade qu'ils vont manipuler les autres pour arriver « à leurs fins », sans même savoir ce qu'elles sont.
Même le milieu médical n'a aucune considération pour l'intelligence des patients. Pourquoi les médecins pressent-ils tout le monde à faire du sport, alors qu'ils ne pressent personne pour entretenir leur activité intellectuelle, alors même que l'on sait à quel point cette activité est essentielle pour ralentir la dégénérescence du système nerveux et permet donc de se maintenir en bonne santé ? Comment accepter qu'un psychiatre traite un patient de nazi parce qu'il souhaite intégrer une association comme Mensa, sous prétexte que c'est de la « discrimination intellectuelle », alors que c'est exactement ce que fait le monde du travail en exigeant des quantités invraisemblables de diplômes et de compétences, ces mêmes diplômes qui ont permi à ces mêmes médecins d'accéder à leurs fonctions ?
Pourquoi l'intelligence fait-elle si peur ? Personne ne se sent menacé par un sportif de haut niveau, et pourtant, tout le monde se sent menacé par les gens intelligents. Comment peut-on dire que c'est « fatiguant de réfléchir », ou au contraire, que les métiers intellectuels sont réservés aux oisifs ? De quel droit peut-on placer les gens intelligents à de telles extrêmités sur le spectre de la perception individuelle ? C'est réducteur, désobligeant, en plus d'être faux.
Ce n'est pas le football qui produit des téléphones portables. Ce n'est pas le rugby qui envoie des satellites dans l'espace. Ce n'est pas la chasse qui informe le monde. Ce ne sont pas les activités physiques qui permettent l'évolution de la société et de la technologie, la communication d'un bout à l'autre du monde, la guérison des maladies, ou l'intégration sociale. Et pourtant, ce n'est pas l'intelligence qui est récompensée, reconnue. L'intelligence ne déplace pas des dizaines de milliers de personnes dans des stades. L'intelligence n'est pas suivie par plus de deux milliards de personnes à la télévision.
Je dénonce l'attitude scandaleuse de la société à l'égard des personnes intelligentes. Même le terme « intelligent » indigne, offusque, comme si l'on s'adressait à un dictateur qui méprise son peuple ; un terme dont on a fait une insulte, crachant le venin du mépris à la face de « ceux qui savent ». Comme si « savoir » était l'affaire d'une élite dénigrée par le bas-peuple qui ne cherche pas à comprendre quoi que ce soit, haïssant juste pour haïr.
Je suis intelligent, et je ne veux plus avoir peur de le dire. Je veux que toutes les personnes intelligentes puissent se sentir comme des athlètes qui gonflent leurs muscles pour montrer ce qu'ils valent et suscitent l'admiration. Je veux que toute personne intelligente soit appréciée, intégrée à la société, valorisée, comme le sont les sportifs. Je veux qu'on suive avec autant de passion la remise des Prix Nobels que la Coupe du Monde de football. Je veux qu'on puisse dire : « Je suis intelligent », et que cela soit aussi anodin que dire : « Je suis fort ». Je veux que l'intelligence soit banale, commune, appréciée de tous, et non plus moquée, dévalorisée, ou méprisée. Je ne veux plus que les gens intelligents aient à subir de harcèlement, comme c'est actuellement le cas dans l'indifférence générale.
Le temps est venu désormais pour apprécier l'intelligence, car il ne serait rien de ce que la société possède aujourd'hui sans elle. On ne peut continuer à l'exploiter de la sorte sans un juste retour de bâton. Il n'existe aucune raison pour que cette situation perdure, pas même celle de ne pas offusquer les moins intelligents. Seriez-vous capable de tenir ne serait-ce qu'un semi-marathon ? Est-ce pour autant que vous dénigrez ceux qui y parviennent ? Alors pourquoi dénigrez-vous ceux qui connaissent les mathématiques ou la physique, ou qui ont de la culture générale ?
Haussons-donc le ton, face à ces petits chefs méprisants, face à ces brutes pour qui l'école est ennuyante, et face à toutes ces personnes étrangères à l'instruction. Révoltons-nous contre le diktat du bien-être physique, et contre l'élitisme nauséabond de la culture d'entreprise qui exige des compétences qu'elle ne valorise jamais. Ne tolérons plus aucune forme de harcèlement et rappelons à tous que l'intelligence n'est pas la bénédiction ou le don qu'ils croient ou qu'ils jalousent.
#HQItoo

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3408459ba936845015121fb86db5271ffab00cb20295b3e62d209ab2e40a6f0a
size 62114

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cfd2cec6f648d7059824a01dc9a718bebf790b47b336cbde6a7557221a10ae5c
size 65733

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:47374562fcc676257b2cfc67bec8bf08e96b5106b3f799e43fa85374eec47d97
size 67156

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7d6938da7c0242288a6902fa290470778b0dabe16e0927fe02ee1e56a0e0f3f
size 56015

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4aea4646632d71d3e4c80ff905b5e26e62d384b9d9ec35ad25b379c416000076
size 121879

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:228fe8b820ccb6521c90e40892340d2db14d9c7b97ecc64a573d2c320ca4495b
size 48196

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1c2a2a6f6e78743dc0e26df456df3e10b8de243e95dc7bb841927e3414befa88
size 31051

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:89a058825befa05f155ba47d2898998bcdab6af0de3335d88de4076b84f6d181
size 30529

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e746be6898791ce16f6a1fccd0000eb068c1f675e7acb095716cb8825925d9a
size 48820

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ea1f3ea85bb799957b8b2f6e2093cae140f39dce1a6c57eabd3d7057e89e6f59
size 468463

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed8339203bc5892c03f3dd426e12fd2e45a03ae56538816219acd4bde70d0f63
size 72810

View File

@ -0,0 +1,164 @@
---
title: "Mon réseau"
date: 2021-03-09T02:04:16+01:00
tags: ["SysAdmin", "Réseau", "Hardware", "Linux", "Debian", "Raspberry Pi", "Cockpit", "OPNsense", "free", "IPv6", "OVH", "Wifi", "TP-Link", "Synology", "NAS","Routeur", "Serveur", "DNS", "Reverse-proxy", "Caddy", "HomeAssistant", "Domotique", "ESP8266", "Station météo", "Thermostat", "LEDs", "Tablette", "Auto-hébergement", "Apple"]
---
J'avais envie d'honorer une vieille tradition geek : présenter mon réseau, son architecture, son contenu, etc. Deux objectifs sont poursuivis : un objectif de mémoire - un jour, je relirai cet article avec nostalgie... - et un objectif d'échange - si vous trouvez des infos intéressantes ici, ou si vous avez des idées d'amélioration.
<!--more-->
- **Il n'y a aucun lien d'affiliation dans mes articles, et celui-ci ne fait pas exception.**
- L'historique de cet article est consultable depuis [ma forge logicielle](https://git.athaliasoft.com/Blog/blog/commits/branch/main/content/blog/2021/03/09/mon-reseau/index.md)
## Généralités
Je suis client [free](https://portail.free.fr) depuis 2004, et j'ai la fibre depuis mars 2023.
## Infrastructure
### Freebox
Ma Freebox est une [Pop](https://www.free.fr/freebox/freebox-pop/) configurée en bridge. Je dispose d'une adresse IPv4 « full-stack », demandée dès que l'option était disponible, et de l'IPv6 natif.
### Routeur
<x-shortcodes.imgproc url="images/ak34.jpg" />
Mon routeur est un [AWOW AK34](https://awowtech.com/products/awow-mini-pc-ak34). Il dispose d'un Celeron N3450, 6Go de DDR4, un SSD de 128Go et surtout, deux ports gigabit. Il est installé sous [OpnSense](https://opnsense.org/).
L'un des ports est relié à la Freebox ; du point de vue de OpnSense, c'est l'interface _WAN_. L'autre port est relié au switch ; c'est l'interface _LAN_.
La freebox Pop permet d'atteindre en théorie un maximum de 5GB/s en téléchargement et 700Mb/s en envoi.
En pratique, les 5Gb/s sont répartis entre les deux ports filaires 1Gb/s et le port 2.5GB/s, et le wifi.
Par conséquent, mon architecture bride d'office l'ensemble de mon réseau à 1GB/s en téléchargement.
Je pourrais passer à 2.5Gb/s en changeant de routeur, mais je ne dépasserai pas ce débit avec la Pop.
Il faut cependant relativiser tout cela : je me suis satisfait d'une connexion ADSL à 16Mb/s en téléchargement et 1Mb/s en envoi pendant très, très longtemps.
En outre, en tant qu'auto-hébergeur, c'est surtout le débit en envoi qui m'intéresse, et ce débit n'est pas bridé par mon architecture.
Je note que le passage à de tels débits n'est pas sans conséquences sur les performances de mon routeur.
Je ne peux saturer la connexion 1Gb/s qu'en désactivant Suricata.
Avec la protection activée, le débit plafonne à environ 250Mb/s, tout en sollicitant fortement le CPU.
### Switch
<x-shortcodes.imgproc url="images/TL-SG1016.jpg" />
Je dispose d'un switch [TP-Link TL-SG1016](https://www.tp-link.com/fr/business-networking/unmanaged-switch/tl-sg1016/) de 16 ports.
### Wifi
<x-shortcodes.imgproc url="images/mr2200ac.jpg" />
J'ai deux [Synology MR2200ac](https://www.synology.com/fr-fr/products/MR2200ac) configurés en mesh. Cela confère un certain nombre d'avantages :
- toute la configuration de mon réseau sans-fil se fait depuis une seule interface (ce n'est pas spécifique à Synology)
- je n'ai à configurer qu'un seul SSID sur toutes mes machines, qu'elles utilisent la bande de 5GHz, 2.4GHz, en wifi g, n ou ac
- la connexion est stable, même en basculant d'un point d'accès à l'autre
### Serveur domotique
<x-shortcodes.imgproc url="images/gn41.jpeg" />
Le serveur domotique est un Kodlix GN41, doté d'un Celeron N4100, de 8Go de mémoire vive et d'un SSD Samsung 850 EVO de 120Go.
J'ai intégralement conçu et manufacturé toute la domotique de mon logement. J'ai dessiné les circuits imprimés, et je les ai réalisés grâce à la bonne vieille méthode du bain au perchlorure de fer, apprise plus de vingt ans plus tôt en cours de technologie...
Ma domotique est donc constituée des éléments suivants, tous construits autour d'[ESP8266](https://www.espressif.com/en/products/socs/esp8266) :
- 1 station météo
Elle fait ma fierté, parce que j'ai passé beaucoup de temps à la concevoir et qu'elle fonctionne parfaitement bien et sans interruption depuis près de deux ans.
<x-shortcodes.imgproc url="images/station-meteo.jpg" />
Elle dispose de son propre système de régulation de température et d'humidité, basé sur un contrôleur de ventilateurs PWM (et de deux ventilateurs Noctua, de 8cm en aspiration sur le dessous et 12cm en extraction sur le dessus), d'une [résistance PTC de 80℃](https://www.amazon.fr/gp/product/B07FJZQLMK/) (disposée sur un vieux radiateur de processeur afin de répartir la chaleur dans le boitier) et d'un capteur [SHT31-D](https://www.sensirion.com/en/environmental-sensors/humidity-sensors/digital-humidity-sensors-for-various-applications/), afin de s'assurer que l'alimentation et l'électronique soient maintenues à des températures et humidité relative acceptables (c'est-à-dire, selon les normes de fonctionnement préconisées par les constructeurs des différents éléments constitutifs de l'électronique de la station). Le contrôleur de ventilateurs et la résistance sont pilotés par des MOSFET IRLZ34N (placés chacun sur un circuit imprimé, en haut à gauche de l'image ci-dessus)
Elle dispose d'un capteur de luminance [TSL2561](https://ams.com/TSL2561), d'un capteur de température, humidité relative et pression atmosphérique [BME280](https://www.bosch-sensortec.com/products/environmental-sensors/humidity-sensors-bme280/), et d'un capteur d'orage [MOD-1016](http://www.embeddedadventures.com/as3935_lightning_sensor_module_mod-1016.html).
Une alimentation de 12V 5A fourni le courant à l'ensemble des composants. J'ai choisi cette puissance pour tenir compte de la résistance chauffante et des ventilateurs. De plus, une alimentation capable de délivrer plus que ce dont elle a besoin signifie souvent qu'elle chauffe moins. À l'exception du BME280 et du MOD-1016, tous les composants de la station météo prennent place dans un boitier spécifique planqué sous la véranda. Le BME280 et le MOD-1016 sont placés dans un boitier de ma conception, basé sur des tuyaux de 10cm de diamètre : une section droite centrale contient un circuit imprimé sur lequel les capteurs sont enfichés, et une section coudée à 90 degrés de chaque côté, ouverture vers le bas. Ainsi, les capteurs sont à l'air libre, mais protégés des intempéries. Ils sont reliés à la station principale par un câble ethernet blindé, qui fait transiter le signal I2C et l'alimentation.
- 5 thermostats
Ils disposent de deux modes, « Présent » et « Absent ». Les plages horaires de chaque mode sont définies dans un calendrier spécifique à chaque thermostat. L'ESP8266 présent dans chaque boitier mural contrôle simplement un relais, et capte la température et l'humidité de la pièce via un SHT31-D.
- 7 lumières, dont 6 bandeaux de LEDs et une prise Sonoff S20
J'ai défini deux entrées dans Home Assistant, respectivement pour l'extinction et l'allumage « inconditionnel » de l'éclairage. Ainsi, quoiqu'il arrive, les lumières automatisées (certaines ne le sont pas parce que ce n'est pas nécessaire) ne s'allumeront jamais dans cette plage horaire (typiquement entre 2h30 et 5h45, soit entre l'heure à laquelle je me couche et celle à laquelle mon épouse se lève).
En outre, les lumières automatisées ne s'allument que si la luminance extérieure fournie par la station météo est en dessous d'un certain seuil que je peux définir pour chacune d'entre elles. Enfin, le calendrier me permet de définir les plages horaires pendant lesquelles elles doivent présenter une scène particulière. J'ai défini quatre types d'ambiance : heures de passage (pour un éclairage à pleine puissance), éclairage normal, éclairage tamisé, et éteint.
Un bandeau de LEDs est contrôlé par un capteur de mouvement de type PIR, dont la seule dépendance est la luminance extérieure : même en présence de mouvement, il ne s'allumera pas s'il fait encore jour. Un autre bandeau est uniquement contrôlé par un bouton poussoir. Un dernier ne peut être contrôlé que par Home Assistant.
Au niveau électronique, chaque contrôleur pilote simplement trois MOSFETs (également des IRLZ34n), et dispose de deux entrées (pour un bouton ou un capteur de mouvement). C'est mon premier projet électronique à usage réel.
- 2 horloges
J'aime bien avoir l'heure partout où je suis. Si j'ai la date complète, et la température extérieure, c'est encore mieux... Alors j'ai conçu deux horloges dotées d'un écran LCD 16x2 piloté en I2C par un ESP8266. Rien de compliqué, rien qui nécessite un circuit imprimé, juste quelques câbles.
- 1 bouton d'appel
Utilisé pour que mon épouse puisse me signifier sans hurler à travers toute la maison qu'elle va faire dodo quand je suis enfermé dans mon bureau... Quand elle appuie sur son bouton d'appel, j'ai une alerte sur mon tableau de bord. Un appui de ma part sur le tableau de bord éteint sa LED pour lui signifier que j'arrive.
- 1 bouton « Linge »
Pour que mon épouse puisse m'indiquer s'il y a du linge à étendre ou à passer au lave-linge, je lui ai créé un petit boitier logé près de la machine à laver, dérivé du bouton d'appel, et doté de deux boutons et deux LEDs. Cela provoque l'affichage d'un avertissement sur mon tableau de bord.
Tous ces périphériques tournent sur des ESP8266. En conséquence, j'ai installé [ESPHome](https://esphome.io/) qui gère tout ça via de simples fichiers de configuration yaml, et connecte le tout à Home Assistant. Ça rend tout le processus très agréable et facile à utiliser et maintenir au quotidien.
J'ai également installé une caméra sous [motionEyeOS](https://github.com/ccrisan/motioneye/) sur un Raspberry Pi 0W.
### Serveur principal
<x-shortcodes.imgproc url="images/u820.webp" />
Mon serveur préféré (chut, ne le dites pas aux autres), c'est aussi celui qui m'a coûté le plus cher, mais c'est le plus polyvalent. C'est un [miniforum U820](https://store.minisforum.com/products/minisforum-u820-u850-mini-pc). Son Core i5 8259U (4c/8t @2.30GHz) est accompagné de 16Go de DDR4.
Il dispose de l'USB-C, plein de ports USB 3.0, deux ports ethernet (dont un 2.5Gbit/s), de HDMI et de Display-Port, ce qui me donnerait presqu'envie de le reconvertir en machine desktop plutôt que serveur si j'en avais l'utilité. Mais surtout, il offre deux baies pour SSD 2.5in, ce qui en fait le meilleur candidat au poste de serveur de stockage. Je lui ai donc collé mes deux Samsung 860 EVO de 500Go. Il tourne sous NixOS.
Sa puissance m'est très profitable, puisque j'y fais tourner :
- Caddy (en reverse-proxy ou serveur web direct pour mes applications disponibles depuis l'extérieur de mon réseau local)
- un runner pour Drone-CI
- Gitea (ma fameuse forge logicielle)
- PostgreSQL (stockage de toutes mes bases de données utilisées par les autres applications)
- Redis
- plus quelques autres services natifs et containers
### Tableau de bord
Le tableau de bord que je mentionne depuis avant est un iPad Pro de récup.
### Station de travail
Ma station de travail est un Mac mini M1. Là encore, vous allez sûrement me critiquer vertement. C'est Apple, c'est pas Libre, etc. Et je vous répondrai ceci.
Je suis passionné d'informatique depuis que j'ai cinq ans (j'en ai presque 40). J'ai touché à tout ou presque (grand bien m'en fasse, je n'ai jamais vu un AS400 de ma vie). J'ai passé un gros tiers de ma vie informatique à bidouiller des machines sous Windows, toutes versions depuis 3.1 jusqu'à Windows 10, en passant par Windows 2000, Server 2003, Home Server, etc. À la grande époque des versions pirates, j'ai touché à tout l'écosystème Microsoft, y compris ISA, Exchange, etc.
Suite à ça, je me suis laissé tenter par GNU-Linux. Pendant un deuxième gros tiers de ma vie informatique, j'ai bidouillé des Mandrake, des Knoppix, des RedHat, des Suse, pour finir par adopter définitivement debian. Je passais des heures à essayer de faire fonctionner un modem USB, à essayer et échouer à compiler le noyau, à désespérer devant mon incapacité à faire fonctionner correctement une carte graphique ou une carte son un peu exotique. Et bien que j'ai fini par pouvoir travailler confortablement avec debian et KDE, je ne pouvais me résoudre à supprimer purement et simplement Windows pour jouer (ce que je n'ai réussi à faire que récemment).
Tout ça, jusqu'au jour où j'ai acheté un iPhone à mon épouse. Puis son iPad. Puis _mon_ iPad. Puis l'AppleTV 4. Puis mon MacBook Pro 13" Retina 2015. Puis une AppleTV 4K. Puis mon Mac mini M1. Mon amour pour cet écosystème n'a fait que grandir. Parce qu'enfin, après les deux premiers tiers de ma vie à _bidouiller_ l'informatique, je pouvais enfin _utiliser_ l'informatique. Tout fonctionne. Pas de hack, pas de configuration étrange, pas de bizarrerie que je dois exécuter sans comprendre. Pardonnez-moi l'expression, mais : « ça juste marche ». Le moment où je n'avais plus envie de bidouiller mais simplement utiliser est venu.
Et quand j'ai vu la conférence d'Apple annonçant sa première puce maison depuis... je ne sais pas combien d'années puisqu'avant l'iPhone de mon épouse, je n'avais cure d'Apple que je détestais presqu'encore plus que Microsoft, j'ai su qu'il me fallait le Mac mini M1, surtout considérant son prix. Si cette machine tenait ses promesses et qu'elle coûtait bien ce qu'ils annonçaient, ça allait être énorme.
Et le fait est que _c'est_ énorme. Cette puce est monstrueuse en termes de performances, comparativement à sa consommation électrique. C'est réellement la révolution qu'ils promettaient. Ce Mac mini M1 est probablement le meilleur investissement de toute ma vie, et vous pouvez me croire, j'en ai eu des ordinateurs (et j'en ai encore, bien plus que listé ici...).
Et même via la couche de compatibilité Rosetta 2, même avec plein d'applications lancées en même temps, tout va plus vite. Tout est _quasi_ instantané. C'est magique. Ça fonctionne, c'est simple, intuitif, esthétique (même si c'est personnel). Mon double-écran fonctionne sans problème (un Alienware 25 pouces FHD 240Hz en HDMI et un Huawei MateView GT34 en 165Hz en USB-C), ma souris [SteelSeries Aerox 3 Wireless](/blog/2022/06/30/test-steelseries-aerox-3-wireless/) et mon clavier [Akko](/blog/2022/03/11/a-la-recherche-du-clavier-parfait-etape-10/) fonctionnent sans soucis (même si c'était déjà le cas avec le MacBook Pro). J'ai enfin du _plaisir_ à utiliser mon ordinateur. Contextuellement, ma station de travail doit m'aider, pas se mettre sur mon chemin. Un serveur, oui, ça se configure aux petits oignons, je prends mon temps pour l'installer et le paramétrer. Mais ma machine de travail doit fonctionner, tout de suite, et ne doit pas nécessiter mon attention toutes les deux secondes pour autre chose.
<x-read-more :models="[
'/blog/2022/06/30/test-steelseries-aerox-3-wireless/',
'/blog/2022/03/11/a-la-recherche-du-clavier-parfait-etape-10/'
]" />
### Station de jeu
<x-read-more :models="[
'/blog/2022/04/15/mon-nouveau-pc-de-jeu-est-arrive/'
]" />
## Consommation électrique
Je dispose d'un onduleur Eaton Ellipse 1200 Pro qui présente la caractéristique intéressante de me fournir la consommation réelle de ce qui est branché dessus. Ainsi, je peux dire que l'ensemble de mon réseau consomment au total moins de 40W en moyenne. Je trouve que c'est très satisfaisant. L'onduleur pourrait ainsi fonctionner pendant deux heures sur batterie si une coupure de courant devait survenir. Largement de quoi voir venir...

View File

@ -0,0 +1,84 @@
---
title: "E-commerce et auto-hébergement"
date: 2021-03-14T02:25:43+01:00
tags: ["SysAdmin", "eCommerce", "Auto-hébergement", "PrestaShop", "Magento", "OpenCart", "PHP", "L'humain, cette espèce primitive"]
---
Un état des lieux non exhaustif des Logiciels Libres d'e-commerce disponibles en auto-hébergement. _Spoiler alert_ : c'est affligeant.
<!--more-->
## Contexte
Suite à une discussion privée avec [@Shinra](https://mastodon.social/@Shinra) sur mon (ancien) microblog, je prends conscience que tout le monde n'a pas nécessairement envie d'acheter mon premier livre, [_L'Humain, cette espèce primitive_](/tags/lhumain-cette-espece-primitive/) sur Amazon. Comme j'ai d'autres projets de livres dans les cartons, je me suis dit que ça serait bien d'offrir une petite boutique en ligne où mes lecteurs pourraient acheter directement mes écrits, via PayPal, ApplePay, ou même, soyons fous, par carte bancaire.
Mon cahier des charges est le suivant :
- Logiciel Libre
- Sécurisé
- Léger, rapide
- Facile à installer
- Prévu pour des produits dématérialisés (intégré ou en plugin, je m'en fout)
## Disclaimer
Je suis développeur web depuis plus de quinze ans, j'en ai vu du code moisi, j'en ai aussi vu du très bon. Mais, d'expérience, le très bon code n'est pas _mainstream_, contrairement au code de merde. Je préfère vous prévenir, je ne vais pas faire du politiquement correct dans cet article.
## Solutions testées
### PrestaShop
- [Site officiel](https://www.prestashop.com/fr)
- [Dépôt de code](https://github.com/PrestaShop/PrestaShop)
PrestaShop est au e-commerce ce que WordPress est au blog : un vieux monstre, immonde, effroyable, terrifiant, encore en vie sans qu'on sache comment c'est possible. C'est mal pensé, mal exécuté, buggué comme pas possible, et pas du tout orienté auto-hébergement tel que je l'entends (_« read our guide on installing PrestaShop for development »_, sous-entendu que si tu veux l'installer à ta sauce, c'est que pour du dev...)
[Pas de support officiel](https://devdocs.prestashop.com/1.7/basics/installation/system-requirements/) d'autre chose que MySQL 5.7 (exit donc PostgreSQL) et php7.4 (pas de php8). [La documentation du container docker](https://hub.docker.com/u/prestashop/#!) est spartiate et ne dit pas comment persister les données. En gros, il faut créer un volume vers ```/var/www/html```. C'est tout sauf propre. Vu les pré-requis, je ne tiens pas à casser mon serveur, je n'ai donc pas essayé autre chose que le container.
Une fois installé, c'est lent, inacceptablement lent. Il y a des requêtes vers Google et l'api de PrestaShop dans tous les sens. Des dizaines, voire des centaines de requêtes vers l'extérieur de mon serveur alors que je n'ai encore rien fait. C'est blindé ras-la-gueule de tutos vidéos et d'assets chargées depuis des URLs distantes. C'est crade, c'est franchement la gerbe. En plus, comme je bloque au niveau DNS les requêtes vers certains domaines de Google, l'interface est pétée. C'est immonde. Je n'ai rien fait d'autre que charger la page d'admin, j'ai arrêté le massacre très très vite.
### Magento
- [Site officiel](https://magento.com)
- [Dépôt de code](https://github.com/magento/magento2)
Un peu moins pourri au niveau du code que PrestaShop. Pas difficile, en même temps. Par contre, c'est toujours aussi lourd. Je ne parle même pas du temps de rendu ou de la charge serveur. Le code en lui-même est propre, bien écrit et documenté, mais fouiller là-dedans est un calvaire.
Toujours [pas de support officiel](https://devdocs.magento.com/guides/v2.4/install-gde/prereq/prereq-overview.html) d'autre chose que MySQL et MariaDB, et toujours pas de php8. Par contre, Elasticsearch est requis, et donc, Java... Bonjour la légèreté.
### OpenCart
- [Site officiel](https://www.opencart.com)
- [Dépôt de code](https://github.com/opencart/opencart)
**OpenCart est visiblement en train de subir pas mal de mises à jour importantes dont certaines visent à corriger les problèmes que je vais évoquer ici.**
Là non plus, pas de support officiel de PostgreSQL. La documentation n'est pas à jour, et le processus d'installation est buggué, même en respectant les pré-requis. Par exemple, la documentation annonce le support de php7.4, mais l'installateur ne veut rien d'autre que php8. Une fois installé, impossible de faire quoique ce soit à cause de bugs bloquants.
Le code est mal structuré, le dossier _vendor_ complet est versionné (heu... [oui](https://github.com/opencart/opencart/tree/master/upload/system/storage/vendor)...), le code n'est pas documenté, et pas prêt pour le passage à php8 alors que l'appli l'exige.
J'espérais beaucoup de OpenCart : il me semblait bien correspondre à mon cahier des charges, mais absolument pas utilisable en production à l'heure actuelle.
## Solutions non-testées
- Thirty bees : Fork de PrestaShop 1.6. Hérite donc de tous ses défauts. Le code est toujours aussi dégueulasse et pas documenté.
- WooCommerce : Plugin de WordPress. Heu, non merci...
- osCommerce : [Une version 4 serait à venir cette année](https://www.oscommerce.com/Us&News=177). La version précédente [semble dater de 2016](https://github.com/osCommerce) (notez l'organisation étrange des dépôts). Je n'ai pas spécialement envie d'utiliser une version obsolète, et de faire une grosse mise à jour à une date indeterminée.
## À propos des licences
Les deux poids lourds du "marché" que sont PrestaShop et Magento ont opté pour une licence [OSL](https://opensource.org/licenses/OSL-3.0). Ils ont adopté cette fâcheuse tendance à planquer au fond de sous-menus obscurs les liens vers leurs dépôts de code source. Je n'aime pas cette pratique parce qu'elle relègue de façon à peine voilée l'accès au code source aux contributeurs exclusivement. J'ai envie de voir le code source pour voir ce que l'application fait (au titre de la confiance que je vais - ou non - lui accorder, une confiance que mes propres visiteurs devront m'accorder aussi), pas forcément pour y contribuer.
OpenCart est sous licence [GNU GPL](http://gnugpl.org). En ce qui me concerne, ça me met déjà plus en confiance.
## Bilan
Je déplore la qualité médiocre, au mieux, des applications que j'ai testé, ou dont je me suis limité à la lecture de la documentation. On a l'impression que ça a été bricolé à la va-vite par un pseudo geek des années 2000, et que ça a évolué en lui greffant des tas d'immondices pour faire genre, exactement comme WordPress (en fait, c'est littéralement ce qui s'est passé). Le code de PrestaShop mériterait bien d'être cramé au lance-flamme et de repartir sur des bases saines. Magento s'en sort mieux sur ce point, mais trop lourd pour ce que je veux en faire. Le reste, malheureusement, est mort, mourrant, ou en attente de résurrection.
Rien d'utilisable en fait.
Alors, vous me direz : « T'es développeur, t'as une grande gueule, t'as qu'à faire/contribuer ».
1. D'une, je suis aussi écrivain, et c'est pas parce que vous savez écrire que vous allez contribuer à mes livres sous licence Libre.
2. De deux, il est hors de question que je contribue à une merde comme PrestaShop (j'ai déjà donné à titre professionnel) ou à un truc supporté par Adobe comme Magento, parce qu'ils ont assez de moyens financiers pour ne pas s'offrir mes services gratuitement.
3. De trois, c'est peut être exactement ce que je vais faire...

View File

@ -0,0 +1,35 @@
---
title: "Les GAFAM"
date: 2021-03-19T14:47:20+01:00
tags: ["Informatique", "Google", "Amazon", "Facebook", "Apple", "Microsoft", "Baidu", "Orange", "Rant", "Alapage", "Huawei", "Samsung", "Xiaomi", "Tencent", "Yandex"]
---
Ça fait depuis longtemps que je veux m'exprimer sur la question. Mes sources d'information ont relativement abandonné cet acronyme, ne titillant plus mon exaspération. Mais mon arrivée sur ActivityPub a quelque peu changé la donne.
<!--more-->
GAFAM. Google, Amazon, Facebook, Apple, Microsoft. On utilise cet acronyme pour désigner - certains - des géants du net. Je déteste cet acronyme à plus d'un titre. Voici pourquoi.
Ces cinq entreprises sont américaines. Et s'il y a une chose que j'ai bien constaté en France, c'est notre racisme envers les américains. Je ne sais pas d'où il vient, quelle rancune peut justifier une telle haine pour un peuple issu en partie de la France, dont nous avons aidé l'établissement face à l'empire britannique, qui nous a sauvé pendant la Seconde Guerre Mondiale, qui nous apporte tant, et qui nous a longtemps aimé plus que nous ne l'aimions (ce n'est plus le cas, et ça se comprend).
On dénigre ces cinq entreprises américaines rien qu'avec cet acronyme, en écartant toute entreprise chinoise ou Russe. Pourquoi contribuer à marginaliser la domination de Samsung, Baidu, Huawei, Xiaomi, Tencent, Yandex, en continuant d'utiliser un acronyme ne désignant que des entreprises américaines ?
Notre rancoeur vient sans doute du fait que nous disposions, un jour, d'un solide concurrent à Amazon : [alapage](https://fr.wikipedia.org/wiki/Alapage), que nous avons démembré. Peut-être le regrettons-nous, et déversons notre haine vers Amazon pour cette raison.
En outre, nous n'avons pas de "géant du net" français. Nous essayons, bien sûr, mais c'est un simple fait : nous n'avons pas développé ou nous avons tué la concurrence internationale à Google, Amazon, Facebook, Apple, ou Microsoft. Et je crois que c'est dû à notre légendaire prétention nationale. À force de prôner qu'une entreprise est française, comme si c'était un argument commercial valable à l'étranger, il n'y a bien que des français pour en être client.
J'ai l'impression que le message diffusé contre l'utilisation des "GAFAM", c'est surtout de ne pas envoyer les ressources françaises à l'étranger (argent, données, personnelles ou non), et plus précisément, aux États-Unis. Alors que le discours devrait réellement être plus philosophique et nuancé.
Aurons-nous la même haine contre une entreprise française qui se sera hissée dans les mêmes niveaux de capitalisation boursière ? Je parie que non, et qu'au contraire, on en serait fiers. Ou alors, on le passera sous silence. Avez-vous une bonne opinion d'Orange ? Moi non plus. Pourtant, c'est une entreprise française, présente à l'international, dont la capitalisation boursière est de plus de [28 milliards d'euros](https://fr.finance.yahoo.com/quote/ORA.PA). Et si, pour être un "GAFAM", il faut un mélange de monopole et de pratiques _borderline_, Orange mérite sûrement sa place dans l'acronyme.
Parce que finalement, c'est sûrement comme ça que le terme _GAFAM_ se définit dans l'imaginaire collectif : un ensemble d'entreprises qu'il faut détester. Ils sont leaders dans leurs domaines respectifs, parfois même plusieurs d'entre eux, ce sont donc des cibles à abattre. C'est très réducteur, et ne peut aboutir à aucune solution viable. S'il y a un leader, c'est qu'il y a une hiérarchie, et que le leader sera remplacé par le second. Si on parle de capitalisation boursière, il y a une foule qui attend avec avidité de prendre la place d'un _GAFAM_. Super. Une fois érigée à ce rang, la société concernée sera haïe. Simplement parce qu'elle réussi.
En fin de compte, nous ne haïssons pas les _GAFAM_, nous haïssons leur réussite, et c'est une preuve de jalousie. Cibler spécifiquement des entreprises américaines est en plus une preuve de racisme. Est-ce vraiment ainsi que vous voulez définir un mouvement intellectuel ? Personnellement, ça ne m'intéresse pas.
Lutter pour la protection de nos données personnelles, empêcher leur centralisation, notre tracking publicitaire. Empêcher ces entreprises de relier des points qu'elles ne sont pas censées relier (géopolitique - santé - publicité comme Google, éducation - systèmes d'exploitation - hébergement de données comme Microsoft, commerce - hébergement de données - exploration spaciale comme Amazon, etc.). Les empêcher de détruire des écosystèmes. Oui, là, ça m'intéresse.
Mais ça ne se limite pas aux _GAFAM_. Et ce n'est pas parce que ce sont des sociétés américaines. **Les idées contre lesquelles nous nous opposons sont mises en oeuvre aussi par des sociétés françaises, et le fait qu'elles stockent leurs données en France, ou paient leur impôts en France ne justifie en rien qu'elles le fassent.**
Je rappellerai enfin qu'on a vertement critiqué les États-Unis dans leur opposition à Huawei, qu'on accueilli à bras ouverts en France, avant de se rendre compte de leur méfaits.
Arrêtez de parler de _GAFAM_. Ça ne veut rien dire. Et ce que ça exprime est faux, en plus de donner une mauvaise image de nous.

View File

@ -0,0 +1,46 @@
---
title: "Covid-19 : Vous avez tous tort"
date: 2021-04-01T17:57:23+02:00
tags: ["Politique", "Santé", "Covid-19", "Rant"]
---
Vous n'êtes pas obligés de lire cet article si vous n'avez pas envie de vous sentir insultés. Mais je vous préviens : tout le monde va en prendre pour son grade.
<!--more-->
## Disclaimer
Quelques éléments pour comprendre d'où vient cet article.
J'ai le respect des individus, pas du peuple.
Et ça commence par notre Chef d'État. Il l'a éloquemment rappelé en temps voulu : c'est Monsieur le Président ou Monsieur Macron, pas "Manu", ni "Macron", ni aucun autre sustantif irrévérencieux. Posez-vous la question : si le Chef d'État s'adressait directement à vous, par votre prénom ou même un surnom, comment le prendriez-vous ?
Exactement.
Et vous n'êtes pas à la tête d'une nation.
Le Chef d'État, que ce soit Monsieur Macron, Madame Michu ou Tartempion, c'est pas votre pote de beuverie, c'est le taulier. Dans une gentille dictature, il vous mettrait à la porte. Dans une dictature telle que vous la fantasmez, eh bien, demandez des nouvelles à Alexeï Navalny.
Pour rappel, il n'y a pas si longtemps que ça, tout le monde se fouttait de la gueule des Chinois parce qu'ils portaient un masque en permanence. Qu'est-ce que ça dit de nous, aujourd'hui ? Et notez par ailleurs que ça n'a pas empêché la pandémie - tirez-en les conclusions que vous voulez.
La "guerre" contre le virus est avant-tout une guerre psychologique, et le peuple la perd. Pas aujourd'hui : depuis le début. On est peu nombreux à bien supporter la situation, et c'est symptomatique de l'état psychologique de la société dans son ensemble.
##
Vous faites partie de ceux qui râlent contre l'instauration du troisième confinement ? Alors pour rappel, là encore :
- on vous a prévenu, depuis un an en fait, que ça allait arriver (les scientifiques et même les politiciens)
- non, **on ne vous prive pas de vos libertés**, on fait respecter celle de tout citoyen français au droit de vivre : ne pas respecter cette règle, c'est **bafouer un droit élémentaire**, celui des autres - réfléchissez-y
- vous ne haïssez pas Monsieur Macron, vous haïssez le Chef d'État, peu importe son nom, ça ne changerait rien à votre comportement réactionnaire
- c'est bien fait pour vos tronches : vous aviez la possibilité de faire preuve de bon sens, vous avez choisi l'égoïsme - maintenant, assumez
Je rappelle aussi que chaque pays a fait ses propres choix concernant la "stratégie" à adopter face au virus, ce qui, en soit, est la pire des stratégies. On le dit depuis le début : seule une réponse globale et unanime peut être efficace contre une pandémie. Le virus n'a pas de frontières et s'en tape de nos considérations humaines, qu'elles soient sociales, familiales, ou économiques. Le virus s'en tape que vous voulez larguer vos enfants à l'école pour que vous puissiez vous rendre à votre travail en présentiel pour avoir un semblant de vie sociale. Le virus s'en tape que votre restaurant n'a plus de client, ou que votre cinéma est à l'arrêt. En faisant le choix de l'ignorer, vous contribuez directement à sa propagation, et aux conséquences politiques qui s'ensuivent, du genre couvre-feu ou confinement.
Il y a un code de la route. Il est destiné à protéger l'ensemble des conducteurs contre une minorité qui exerce leur liberté de façon égoïste, risquant la vie des autres. Des règles qu'on pourrait juger liberticides. Elles sauvent pourtant des vies. Pourtant, chaque année, on déplore au moins 3 500 victimes des accidents de la route.
Le Covid-19 a tué, en un an, 95 640 personnes en France. Avant le Covid-19, on estimait que 10 000 morts par an "seulement" était imputables à la grippe. C'est simple, ce sont les chiffres officiels, il n'y a pas lieu de tergiverser sur la façon de présenter les "chiffres". Ils sont juste là, sous nos yeux. Le Covid-19 a fait neuf fois plus de morts que la grippe sur la même période. Et on savait que ça allait arriver. Et c'est encore pire si l'on considère le modèle de l'Inserm, pour qui il n'y aurait que 431 décès par an directement imputables à la grippe.
Alors : non, le Covid-19 n'est pas une petite grippe, et oui, il justifie des mesures exceptionnelles, et exceptionnellement contraignantes.
D'autant plus que vous attendez que le gouvernement vous tienne la bite pour pisser. Où avez-vous planqué votre bon-sens, votre citoyenneté, votre solidarité, votre humanité, pour après gueuler quand le gouvernement vous le rappelle ?

View File

@ -0,0 +1,150 @@
---
title: "De retour"
date: 2021-08-28T01:57:23+02:00
tags: ["Santé", "L'Humain, cette espèce primitive", "Sapiens", "Hernie", "Travail", "Cyca", "Animaux", "Lecture", "Philosophie", "Films", "Séries","Octobre"]
people: [
"Yuval Noah Harari"
]
---
## Au chômage... et nouveau travail
En février, mon chômage s'arrêtait. J'ai obtenu un sursis grâce à la crise
sanitaire. Je comptais alors sur la vente de mon livre, [_L'humain, cette espèce primitive_](/tags/lhumain-cette-espece-primitive/) et sur l'hypothétique intérêt
pour [Cyca](/blog/2021/01/03/presentation-de-cyca/) pour gagner de quoi vivre,
mais comme toujours, les choses ne se passent pas comme on l'espère...
Dans ce cas précis, ce n'est pas plus mal. Certes, je n'ai pas vendu assez de
livres pour en obtenir un équivalent de salaire. Certes, je ne suis pas parvenu
à attirer assez d'utilisateurs de Cyca. Par contre, en avril, j'ai trouvé une
entreprise formidable.
La hiérarchie et le management sont parfaits. Ils sont à l'écoute, curieux de
connaitre mon avis sur les questions de développement, ont confiance en moi, et
ne cherchent pas à abuser. Ce sont tous (ou presque) des geeks, ou des gens
connaissant le milieu du développement. De fait, leur perception du métier est
réaliste, et ils n'imposent jamais l'impossible.
Quant à mes collègues, ils sont tous plus intéressants les uns que les autres.
Ils ont tous un background spécifique, des compétences particulières, qui
viennent complèter celles des autres avec une grande fluidité. Une nouvelle
amitié est même née pendant un pair-programming.
## Un temps de pause
Du coup, depuis avril, je suis à fond dans ce travail, et j'ai délaissé mes
projets personnels, dont le blog. Par conséquent, j'ai aussi manqué à ma
résolution pour 2021 qui consistait à publier et maintenir en ligne mon site
pendant au moins un an. Au moins, je ne l'ai pas fait pour de bonnes raisons !
Mais maintenant que je suis en poste depuis avril, je me suis de plus en plus à
l'aise. Moins sur la défensive, ou la paranoïa. Je sens que je suis accepté, et
que je peux rester un certain temps dans cette entreprise. Je n'ai pas peur de
faire un faux-pas. Je suis d'ailleurs aussi à l'aise avec les projets qu'avec
les gens, c'est assez rare pour être souligné.
Et donc, cette tranquilité m'offre du temps pour moi, et j'ai envie de consacrer
ce temps à beaucoup de choses.
## La paternité
Les "vrais" papas vont me trouver ridicule mais je m'en fous. J'ai 11 enfants :
six poules, deux meunons (des boucs nains castrés), un chien et deux chats, le
plus vieux étant malheureusement décédé il y a quelques semaines. Je veux
désormais à nouveau m'occuper d'eux comme il se doit. Comme d'autres choses,
j'ai sacrifié du temps avec les membres de ma famille au profit du nouveau
travail, mais la situation me permet désormais de rectifier ce délaissement.
## Mon dos
J'ai besoin de repos physique. J'ai rentré deux tonnes de bois pour cet hiver,
réparties en 132 sacs et 15Kg. Mon hernie discale s'est rappelée à mon bon
souvenir. La douleur n'était pas intense (comme j'ai connu en 2018, ce qui
m'avait conduit à l'hôpital pour... rien), mais elle est persistante. Cette
année, elle m'a coûté une canne de marche, et un bureau électrique assis/debout
qui a coûté près de 500 euros. Mais au final, c'est un excellent investissement
qui se traduit par un soulagement de mon dos. Toutefois, le repos reste le
meilleur remède. Mais, comme j'ai rentré ce bois au mois de juillet, cela fait
depuis deux mois complets que je souffre, et que je n'ai pas pu m'occuper
convenablement ni de ma maison, ni de mon épouse, ni de mes enfants, ni même de
moi-même en dehors de gérer la douleur.
## Mon blog
Octobre est une période importante pour moi : c'est mon anniversaire le 24,
Halloween le 31, et c'est un mois que j'aime consacré au visionnage de films ou
séries appropriées.
Je voulais profiter de cette occasion pour mettre en route une fonctionnalité
que je prévoyais déjà en janvier : la publication de critiques de films ou de
séries. Je vais mettre en place la partie technique qui va me permettre de le
faire, même si, en réalité, j'ai déjà bien avancé sur ce sujet, de sorte que
chaque jour du mois d'octobre, je regarderai un film ou une série, et j'en
publierai ma critique.
J'aimerai le faire pour chaque période de l'année, parce que j'associe certains
films et certaines séries à certains moments particuliers. Par exemple, LOST se
regarde en été selon moi.
## Mes autres activités
J'ai toujours voulu m'abonner à un magazine. Recevoir la surprise, chaque mois,
dans ma boîte aux lettres physique, d'un emballage plastique léger recouvrant
la une de mon magazine préféré. J'ai jeté mon dévolu sur l'abonnement au
magazine [La Recherche](https://www.larecherche.fr/), qui comprend également
l'envoi de [Sciences et Avenir](https://www.sciencesetavenir.fr).
Parallèlement, je vais régulièrement chez un marchand de journaux pour me
procurer la collection
[Apprendre à philosopher](https://www.apprendreaphilosopher.fr), qui me
plait beaucoup pour l'instant dans la mesure où le premier livre paru traite de
Platon, et j'y ai découvert des choses très intéressantes, des similitudes
avec mes propres écrits. Alors j'espère que le prochain volet, consacré à
Nietzsche, sera aussi intéressant.
Je continue de prendre une heure le soir avant de me coucher pour lire l'un des
meilleurs livres que j'ai lu sur la question :
[Sapiens, a brief history of Humankind](/livres/sapiens-a-brief-history-of-humankind/)
de Yuval Noah Harari. qui m'incite vraiment à continuer à lire ses deux suites.
## Et le reste
En plus de tout cela, j'ai l'intention de travailler sur Cyca, ce que je fais
déjà depuis quelques jours, avec pour but de sortir une nouvelle version stable
et au top. J'ai divisé le projet en de plus petites unités, ~~librement
accessibles depuis ma forge~~ (temporairement inaccessible, jusqu'à ce que je me remette dessus). L'étape
suivante concerne le _core_, qui assemble tout ça et orchestre la gestion des
favoris et des flux.
J'aimerais reprendre un peu l'écriture. Peut-être pas dans le but de produire un
livre, mais en tout cas consigner mes pensées, mes réflexions, en plus de celles
que j'écris manuellement dans des carnets de cuir. Le ton n'y est pas le même,
le contexte non plus. Mes futurs écrits qui seront publiés
[dans ma forge](https://git.athaliasoft.com/Livres) auront une valeur
philosophique, tandis que mes écris de plume et d'encre ont plus une valeur
historique, tel un journal de ma vie dans ce monde.
## Bientôt 40 ans
Ainsi, à l'aube de mes 40 ans, je suis heureux. J'ai une épouse parfaite, des
enfants qui m'aiment et que j'aime, une bonne maison, du matériel pour bricoler,
du matériel pour jouer, du matériel pour réfléchir, écrire, me cultiver, et un
métier pour payer pour tout cela. Mes relations familiales sont itérativement
moins dysfonctionnelles, et mes relations sociales s'améliorent. Il y a, certes,
mon dos et mes dents qui me font souffrir, mais le bilan reste largement
positif. Je me réjouis de presque tout : des 38℃ de l'été dernier, qui m'a
montré que c'était ma température idéale, du froid glaçant à venir parce qu'il
m'évoque les soirées jeux de société avec mon épouse, bien emballés dans des
plaids polaires et des pyjamas bien chauds, entourés de nos enfants, buvant des
tisanes et des chocolats chauds, mangeant des biscuits et autres pâtisseries
préparées par mon épouse (qui est diplômée en la matière), dans la petite pièce
qu'on a dédié à cet usage, et à laquelle on a appliqué une ambiance comfy-cozy
digne de nous recevoir, nous, les chats et le chien pour un moment en famille,
à sourire, profiter, être heureux, ensemble.
## Le mot de la fin
Mon intention est donc de ranimer ce blog, ajouter plein de choses, en
particulier des critiques de films et de séries. Et continuer de partager un peu
de ma vie, en tout cas les meilleurs moments.
Merci de me lire.

View File

@ -0,0 +1,286 @@
---
title: Déployer Hugo via Gitea et Drone-CI
date: 2021-09-12
tags: [
"Gitea",
"Hugo",
"Drone-CI",
"SysAdmin",
"Docker",
"Auto-hébergement",
"Git"
]
---
## Pourquoi faire simple quand on peut faire compliqué ?
De prime-abord, on pourrait se dire : "si je veux un blog, je lance un WordPress
comme la moitié du web et je commence à publier en deux minutes". Mais quand on
est un vieux routard du web, on a des aspirations et des principes un peu plus
élitistes :
- WordPress ne génère pas de sites statiques (nativement)
- Le fait qu'il soit utilisé [par la moitié d'Internet](https://w3techs.com/technologies/overview/content_management) me révèle que c'est une cible facile pour des personnes ou des robots mal-intentionnés
- PHP est indispensable pour faire fonctionner WordPress, même si WordPress est configuré pour générer des pages pseudo-statiques
- WordPress est une usine à gaz, qui sort du HTML, du CSS et du Javascript pas optimisés
- Le code de WordPress est abominablement dégueulasse, impossible de faire quoique ce soit de propre, ni même de léger
- WordPress est impersonnel, ce que je trouve embêtant pour un blog (et encore plus pour un site corporate d'ailleurs) : il doit être le reflet de son auteur ; s'il ressemble à tous les autres, quel intérêt ? (et je vous le dis : ce n'est pas simplement parce que vous customisez un thème qu'on ne voit pas que vous utilisez WordPress...)
- WordPress a besoin d'une base de données
- L'écrasante majorité des extensions tierces un tant soit peu intéressantes sont payantes ou sur l'immonde modèle du premium
Un générateur de sites statiques comme Hugo me permet de :
- Séparer l'apparence, le contenu, et l'outil qui construit le site final (je peux utiliser autre chose qu'Hugo si j'en ai envie, moyennant quelques ajustement mineurs). Impossible de faire ça avec WordPress
- Publier un site 100% sécurisé : sans PHP, sans formulaires, sans Javascript, le maillon faible de la sécurité de mon site n'est pas mon site
- Avoir un suivi de mes modifications (grâce à Git)
- Simplifier les processus de sauvegarde et de restauration (en gros, avoir un plan de relance en béton armé en cas de défaillance technique - je peux même faire héberger temporairement mon site ailleurs sans avoir besoin d'aucune autre dépendance qu'un serveur web, impossible de faire ça avec WordPress en un minimum de temps)
- Être réellement libre du point de vue logiciel
L'utilisation de git dans ce processus est totalement facultative : il est tout
à fait possible de construire son site avec Hugo sans tout ce que je vais
présenter dans cet article. Néanmoins, cette procédure qui semble fastidieuse
de prime-abord est en réalité très puissante et très confortable au quotidien :
- Je créé ou modifie mes articles sous la forme de fichiers [Markdown](https://gohugo.io/content-management/formats/) - pratiquement du texte brut
- Je les publie sur [ma forge Gitea](https://git.athaliasoft.com/)
- Drone-CI fait le reste : construire le site en lançant l'exécutable Hugo et envoyer les fichiers HTML et CSS au serveur de production
Pour peu qu'on choisisse un thème existant plutôt qu'en créer un, on peut
**réellement** ne se préoccuper que du contenu de son site.
## Composant logiciels
Tout passe par des containers (docker, évidemment, mais l'utilisation de podman
est possible). Je présume donc que docker est installé et fonctionnel.
### Gitea
[Gitea](https://gitea.io/en-us/) est une _forge logicielle_ qui s'appuie sur le
système de gestion de code [Git](https://git-scm.com). J'ai choisi Gitea pour sa
sobriété, sa légèreté et sa simplicité, mais il existe d'autres forges
logicielles : [GitHub](https://github.com) qui appartient à Microsoft et qu'il
n'est pas possible d'auto-héberger, ou [Gitlab](https://about.gitlab.com) pour
ne citer que ces deux-là.
_docker-compose.yml_ :
```yaml {class=not-prose}
version: "3"
services:
gitea:
image: gitea/gitea:latest
restart: always
ports:
- "${HTTP_PORT}:3000"
- "${SSH_PORT}:22"
volumes:
- ${DATA_DIR}:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
```
Remplacez les variables en fonction de vos besoins :
- `HTTP_PORT` : le port sur lequel les requêtes HTTP arrivent sur votre serveur (pas le port HTTP du container)
- `SSH_PORT` : le port du serveur SSH du serveur (pas le port SSH du container)
- `DATA_DIR` : le chemin complet du dossier dans lequel stocker les données de Gitea, ou le volume si vous préférez utiliser un volume
### Hugo
[Hugo](https://gohugo.io) est un générateur de sites statiques. C'est ce que
j'utilise pour créer et maintenir mon blog. Il en existe d'autres, tels que
[Jekyll](https://jekyllrb.com). J'ai choisi Hugo pour sa légèreté.
L'essentiel du travail avec Hugo se fait sur votre machine locale. Il n'y a rien
à installer côté serveur. La construction du site se fera via Drone-CI, dans
lequel on va configurer un
[_pipeline_](https://docs.drone.io/pipeline/overview/) pour compiler les
ressources CSS (et éventuellement Javascript), et créer l'ensemble du site
statique dans un container docker. Tous ces fichiers seront ensuite envoyé au
serveur web via rsync, scp, ou ce que vous voulez.
Pour faire tout cela, il "suffit" d'ajouter un fichier _.drone.yml_ à la racine
de votre projet Hugo avec le contenu suivant :
```yaml {class=not-prose}
kind: pipeline
type: docker
name: default
steps:
- name: submodules
image: alpine/git
commands:
- git submodule update --init --recursive
- name: build
image: klakegg/hugo:ext-ci
commands:
- cd themes/blog_theme && npm i && cd -
- hugo --gc --minify --environment production
- name: deploy
image: appleboy/drone-scp
settings:
host: "10.0.2.1"
target: /mnt/volume1/shares/www/richard-dern.fr/www/
source: public/*
username:
from_secret: ssh_user
password:
from_secret: ssh_password
trigger:
branch:
- master
```
L'étape _submodules_ (entre les lignes 7 et 10) n'est nécessaire que si le thème
que vous utilisez est dans un _submodule_ git dans le répertoire _theme_ de
votre projet Hugo. Si le thème est directement dans l'arborescence de votre
projet, vous pouvez supprimer les lignes concernées.
Le thème que j'ai créé utilise
le framework [Tailwind CSS](https://tailwindcss.com), j'ai donc besoin de
compiler les ressources via `npm`, ce que je fais à la ligne 15, juste avant de
construire toutes les pages du site. Jusqu'à présent, c'est plutôt simple, non ?
Ensuite, l'étape la plus compliquée (_deploy_). Il faut créer des _secrets_ dans
Drone-CI (ici, `ssh_user` et `ssh_password`), mais nous verrons cela un peu plus
bas. Pensez simplement à modifier les valeurs de _host_ et _target_ : l'adresse
IP du serveur qui va héberge Hugo et le chemin où les fichiers générés par Hugo
seront envoyés.
Ceci dit, ici j'utilise `scp`, mais d'autres services sont disponibles.
Consultez la [liste des plugins Drone-CI](http://plugins.drone.io) pour utiliser
celui qui convient à votre hébergement.
Enfin, on a ajouté la directive
[_trigger_](https://docs.drone.io/pipeline/triggers/) pour que tout ce processus
de publication ne soit déclenché **que** lorsque la branche git _master_ est
modifiée, l'idée étant de protéger la branche _master_ en écriture, modifier le
contenu dans une nouvelle branche, fusionner avec _master_ une fois terminé,
mais là on part dans des considérations philosophiques devops :smile:
### Drone-CI
[Drone-CI](https://www.drone.io) est une application d'intégration continue :
c'est le genre d'applications qui s'intercalent entre la forge logicielle et les
serveurs de mise en production, une position privilégiée qui confère à ces
outils beaucoup de puissance et un intérêt considérable. Tests unitaires,
construction de ressources, publication automatique, les cas d'usage sont
nombreux.
La documentation de Drone-CI préconise de l'installer sur une machine physique
différente du serveur Gitea afin d'éviter les problèmes et de simplifier la
configuration. C'est l'option que j'ai choisi, mais en pratique, si vous savez
ce que vous faites, vous ne devriez pas avoir de soucis.
Il faut toutefois prendre en considération les ressources du (des) serveurs. Si
vous utilisez des Raspberry Pi par exemple, il vaut peut-être mieux lancer
Drone-CI sur un Pi dédié à cet usage.
Pour que Drone-CI puisse communiquer avec Gitea, il faut aller dans Gitea,
votre profil, puis dans l'onglet _Applications_. Là, créez une application
_OAuth_. Mettez ce que vous voulez comme nom ("drone", par exemple), et l'URL
de redirection, qui correspond à l'URL complète à laquelle vous accèderez à
Drone-CI, suffixée par _/login_. Dans mon cas, l'URL de redirection est :
> https://ci.athaliasoft.com/login
Validez, et Gitea vous communiquera un certain nombre d'informations à
renseigner dans le fichier _docker-compose.yml_ pour Drone-CI, notamment un
_Client ID_ et un _Client Secret_, à remplacer ci-dessous.
_docker-compose.yml_ :
```yaml {class=not-prose}
version: "3"
services:
drone:
image: drone/drone
restart: always
ports:
- "${PORT}:80"
environment:
- DRONE_GITEA_SERVER=${DRONE_GITEA_SERVER}
- DRONE_GITEA_CLIENT_ID=${DRONE_GITEA_CLIENT_ID}
- DRONE_GITEA_CLIENT_SECRET=${DRONE_GITEA_CLIENT_SECRET}
- DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
- DRONE_SERVER_HOST=${DRONE_SERVER_HOST}
- DRONE_SERVER_PROTO=https
volumes:
- ${VOLUME_ROOT}:/data
```
- `DRONE_GITEA_SERVER` correspond à l'URL de votre serveur Gitea
- `DRONE_RPC_SECRET` est une clé à générer via la commande `openssl rand -hex 16` (par exemple)
- `DRONE_SERVER_HOST` est le nom d'hôte correspondant à l'URL de redirection (donc, dans mon cas spécifique, _drone.git.athaliasoft.com_)
- `VOLUME_ROOT`, un volume docker ou un répertoire dans lequel seront stockées les données de Drone-CI
### Runners
En plus de Drone-CI, il faut configurer des
[_runners_](https://docs.drone.io/runner/overview/), c'est-à-dire un ou
plusieurs services qui vont exécuter les pipelines configurés. Comme je dispose
de plusieurs serveurs, j'ai installé un runner par serveur, ce qui permet
d'améliorer les performances générales de Drone-CI, mais il est tout à fait
possible (et viable) d'avoir un seul runner installé sur la même machine que
Drone-CI.
_docker-compose.yml_ :
```yaml {class=not-prose}
version: "3"
services:
runner:
image: drone/drone-runner-docker
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "3000:3000"
environment:
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=drone
- DRONE_RPC_SECRET=${DRONE_RPC_SECRET}
- DRONE_RUNNER_CAPACITY=${DRONE_RUNNER_CAPACITY}
- DRONE_RUNNER_NAME=${DRONE_RUNNER_NAME}
```
Pensez à modifier les variables suivantes pour convenir à votre environnement :
- `DRONE_RPC_SECRET`, la même clé que celle définie plus haut pour Drone-CI
- `DRONE_RUNNER_CAPACITY`, le nombre de pipelines que le runner peut exécuter en même temps (1 est suffisant pour des environnements modestes, 2 ou plus pour des environnements plus musclés)
- `DRONE_RUNNER_NAME`, un nom à attribuer au runner pour savoir quel runner a exécuté quoi et quand
## Performances
En voyant tout ça, on pourrait se dire que c'est consommateur de ressources. En
réalité, tout cela est très, très léger, et très performant. Il faut moins de 30
secondes pour déployer en production un nouvel article ; une durée qui serait
beaucoup - beaucoup - plus courte s'il n'y avait pas l'étape de compilation CSS
avec `npm`.
La possibilité de tirer partie d'un nombre indéterminé de runners est un gage de
scalabilité, même si les performances sont déjà élevées avec un seul serveur,
grâce à la sobriété des applications mises en oeuvre.
J'aime ce qui est rapide et performant, même si cela nécessite un peu de temps
pour être mis en oeuvre. Le processus expliqué ici respecte mon cahier des
charges.
## Conclusion
J'ai présenté ici le déploiement automatisé d'un site statique créé avec Hugo,
puisant dans un serveur Gitea, en construisant le site via Drone-CI avant de
copier les fichiers sur le serveur de production. C'est **un** cas d'usage parmi
d'autres : je me sers également de cette configuration pour créer
automatiquement des releases pour certaines de mes librairies, par exemple.
Le simple fait de parcourir [la liste des plugins](http://plugins.drone.io/) de
Drone-CI donne un aperçu de ce qu'il est possible de faire _out-of-the-box_,
mais en réalité, il n'y a pas vraiment de limite dans la mesure où on peut
facilement créer ses propres plugins, puisque ce ne sont que des containers
docker !

View File

@ -0,0 +1,212 @@
---
title: "L'éco-responsabilité en informatique"
date: 2021-09-25
tags: [
"SysAdmin",
"Développement",
"Réflexions",
"Énergie",
"Cloud",
"Auto-hébergement",
"Écologie"
]
---
Derrière le terme très politique de "éco-responsabilité" se cachent de
nombreuses ramifications, et je vais m'intéresser aujourd'hui à celles qui
concernent spécifiquement l'informatique, et en particulier du point de vue
applicatif.
## Le coût énergétique du code
Le code informatique a un coût énergétique. On a tendance à l'oublier. Le
matériel le plus récent tend vers une efficacité énergétique accrue : un
processeur moderne, comparé à un processeur plus ancien doté du même nombre de
coeurs et d'une même fréquence, exécutera les instructions qu'on lui donne plus
rapidement, mais aussi de façon plus efficiente, en consommant moins d'énergie.
Quand on achète du matériel moderne, on fait un geste éco-responsable[^1], mais
on peut mieux faire. C'est facile de faire des économies d'énergie en achetant
du matériel récent, mais il est possible d'aller beaucoup plus loin avec des
_logiciels_ et des _comportements_ éco-responsables. Cela prend tout son sens
lorsque l'on est soi-même développeur.
[^1]: À charge logicielle équivalente. En réalité, il faut tenir compte d'autres facteurs pour que ce geste soit réellement éco-responsable, comme l'âge du matériel remplacé, les matériaux employés (recyclables ou non), etc.
Il est possible de chiffrer ce coût énergétique. Ce n'est peut-être pas à la
portée de tout le monde, mais avec
[le matériel adéquat](https://duckduckgo.com/?q=prise+wattmetre&t=osx&iar=shopping&iax=shopping&ia=shopping),
on peut facilement l'évaluer. Il suffit de mesurer la consommation de la machine
sur laquelle on fait le test, avec et sans l'application qu'on veut tester, et
faire la différence. C'est ainsi que j'ai appris que MariaDB consomme plus
d'énergie que PostgreSQL, que nginx consomme plus que Caddy, etc.
Du coup, puisqu'il existe une différence substantielle et mesurable, entre
différentes applications qui effectuent le même type de tâches, on peut pousser
l'idée un peu plus loin en tant que développeur, et se demander : "Combien
d'énergie consomme le code que je produis ?"
On peut avoir des surprises, et pas que des bonnes... surtout que cette
consommation dépend de facteurs divers.
## Le coût énergétique du réseau
Car, pour peu que l'application considérée effectue des opérations sur le
réseau, la consommation indirecte de cette application peut rapidement grimper
en flèche. Une consommation qui ne se verra pas en consultant la consommation
immédiate de la machine sur laquelle tourne l'application, puisqu'il faut aussi
prendre en considération l'activité du point d'accès sans-fil, du switch, du
routeur, du modem, bref, de _toute_ l'infrastructure réseau, non seulement du
point de vue du client (qui initie la connexion) mais aussi du point de vue du
serveur (qui reçoit la requête).
C'est un exemple très personnel et peut-être pas représentatif de la majorité
des cas d'usage, mais lors d'accès réseaux intensifs, la consommation électrique
de mon réseau informatique dans sa globalité peut facilement passer du simple au
double. C'est notamment le cas pendant les mises à jour des images docker
employées sur mes serveurs : je passe d'une consommation globale de 36W en
moyenne à parfois près de 80W[^2].
[^2]: Dans ces 36 à 80W, je compte la consommation de mes trois serveurs, d'un point d'accès sans-fil, et d'un switch 16 ports en rack. La Freebox Revolution n'est pas comptée dans cette mesure, mais je sais qu'elle consomme à elle-seule près de 40W, notamment à cause de son disque dur mécanique.
## Développer éco-responsable
Si vous êtes développeur et que :
- vous vous souciez de l'optimisation extrême de votre code,
- vous n'implémentez que les fonctionnalités nécessaires et évitez de réinventer la roue,
- vous vous assurez de suivre les bonnes pratiques de réutilisation du code, sa simplification, sa compartimentation,
- vous surveillez régulièrement les ressources systèmes consommées par votre application,
vous êtes déjà éco-responsable ! Dans le cas contraire, il va falloir reprendre
les bases. Dans tous les cas, il y a quelques pistes à explorer, quelques
situations à prévoir.
Par exemple, il est possible qu'à l'avenir, les applications se voient
catégorisées par une
[étiquette-énergie](https://fr.wikipedia.org/wiki/Étiquette-énergie), exactement
comme tout matériel électrique actuellement vendu en Europe. Être capable de
développer des applications efficientes devrait déjà être un critère de choix
pour les entreprises, si elles veulent être prêtes le jour où cela arrivera :
dans une société dont la demande énergétique est en constante hausse et où la
production peine à suivre à cause de la raréfaction du nucléaire, se présenter
comme une entreprise dont les logiciels sont efficients sera aussi important
pour les clients et prospects que d'annoncer vendre des produits issus de
matériaux recyclables.
<x-shortcodes.update title="Mise à jour du 24 décembre 2021">
Un pas vers une telle catégorisation a été fait hier :
* [Mesurer le CO2 selon les gigaoctets consommés : lidée qui consterne le secteur du numérique](https://www.numerama.com/tech/803201-mesurer-le-co2-selon-les-gigaoctets-consommes-lidee-qui-consterne-le-secteur-du-numerique.html)
Je ne m'exprimerai par sur la forme, apparemment les geeks ont l'air de dire que
c'est mal branlé, personnellement j'estime que c'est un pas en avant, une étape
avant l'imposition de cette information par application, plus compliquée à
mettre en place sur le plan juridique.
</x-shortcodes.update>
Dans l'absolu, on a amélioré les technologies pour pouvoir faire plus de choses.
Le débit des connexions Internet a explosé grâce à la fibre optique et la 4/5G,
les processeurs sont de plus en plus puissants tout en étant plus économes en
énergie, le cloud permet de déplacer l'exécution de code à l'extérieur du
réseau, etc. En somme, on a amélioré la qualité de vie des faignants et des
producteurs de spam. Tant de technologies déployés pour afficher des publicités
plus vite qu'avant ? Pour être pistés plus rapidement qu'avant ?
L'éco-responsabilité passera forcément par l'abandon de ces pratiques, dont le
coût énergétique n'est jamais pris en charge par leur producteur et toujours par
le client. Une pratique commerciale abominable du début à la fin, à laquelle de
nombreux développeurs ont participé. Une pratique qui doit cesser. Si on dispose
de meilleures technologies, il faut aussi en faire un meilleur usage.
## Des usages éco-irresponsables
Malheureusement, les applications les plus populaires sont loin d'être des
références en matière de consommation énergétique. Pas forcément parce qu'elles
sont mal conçues, ou parce qu'elles intègrent des algorithmes complexes pour
déterminer quelles publicités vous afficher à vous spécifiquement (...), mais
aussi parce qu'elles n'optimisent pas ce qu'elles font. Je pense en particulier
aux applications de vidéo-conférence, propulsées sur le devant de la scène par
la série de confinements connue entre 2019 et 2021. Le coût énergétique de la
vidéo-conférence est [prohibitif](https://www.forbes.com/sites/petersuciu/2021/04/16/do-we-need-to-worry-that-zoom-calls-use-too-much-energy/),
et totalement inconnu ou ignoré des participants qui n'ont qu'un seul objectif :
communiquer. Il y a pourtant de nombreux paramètres à prendre en compte :
- l'équipement informatique requis pour faire de la vidéo-conférence : ordinateurs, écrans, webcams, micros, et bien sûr, l'infrastructure réseau entre les différentes machines
- les logiciels employés et leur paramétrage, y compris le système d'exploitation (un mode sombre consomme moins d'énergie qu'un mode clair), les réglages du matériel (baisser la luminosité des écrans permet de gagner quelques watts)
- la distance entre les différents ordinateurs
- etc.
Le matériel est de plus en plus efficient en énergie. Mais ce n'est pas encore
le cas des applications où il reste beaucoup de travail à faire. Et ce n'est pas
encore suffisant : comme certains gestes ont dû être appris au cours de ces
dernières décennies, comme le tri sélectif, éteindre le robinet pendant qu'on se
brosse les dents, etc., il faudra apprendre à mieux utiliser son informatique.
Est-ce qu'une vidéo-conférence est réellement nécessaire ? Cette réunion ne
peut-elle pas être réalisée uniquement en audio ? Et du point de vue du
développeur : est-ce que j'ai réellement besoin d'un accès réseau pour effectuer
telle ou telle opération ?
## Les travers du cloud
Le cloud, comme dirait la [FSF](https://www.fsf.org/), c'est stocker ses données sur un ordinateur qui
ne nous appartient pas. Quand vous installez une application sur votre téléphone
portable, posez-vous la question : est-ce que cette application m'apporte une
plus-value par rapport à visiter directement le site depuis mon navigateur ? En
général, la réponse est soit "non", soit une mauvais réponse, telle que : "oui
parce que c'est mieux intégré à mon téléphone". En réalité, cela dépend de ce
que fait l'application par rapport au site, et surtout _comment_ elle le fait.
Si l'essentiel du travail est effectué sur votre téléphone, tant mieux, mais si
de multiples échanges avec le serveur sont nécessaires, c'est là que la
consommation explose.
Comment le vérifier ? Par aucun moyen simple à l'heure actuelle. Soit
l'application est sous licence libre, auquel cas vous pouvez consulter le code
source pour voir si l'application est bien écrite, soit elle est sous licence
propriétaire et il faut utiliser des outils appropriés pour évaluer la quantité
et la qualité de ses accès réseau. Une tâche impossible pour le commun des
mortels, et fastidieuse à réaliser quand on maitrise le sujet, considérant la
quantité d'applications à tester. J'aimerais bien voir, sur mon téléphone, en
plus de la consommation en "_data_" d'une application donnée, sa consommation
électrique estimée. On aurait sans doute des informations intéressantes, et cela
inciterait sûrement à la production d'applications de meilleure qualité...
En outre, stocker ses documents dans le cloud est très consommateur d'énergie,
puisqu'on parle souvent de fichiers de plusieurs méga-octets. Une photo de bonne
résolution, prise avec votre téléphone portable, pèse en moyenne 5Mo à 10Mo. Mes
photos prises avec mon APN en RAW peuvent peser 50Mo. Les fonds d'écrans,
sonneries, pièces jointes d'email, musiques, vidéos, etc. vont transiter sur le
réseau, et utiliser de l'énergie. L'énergie de votre téléphone, de l'antenne du
réseau mobile, du datacenter où seront stockées ces données, etc.
Auto-héberger tout cela **est éco-responsable**, en limitant cette consommation
d'énergie à votre propre infrastructure. Si vous êtes une entreprise, et du seul
point de vue de l'énergie, cela vous reviendra moins cher que payer un
intermédiaire qui répercutera ces coûts sur votre facture, avec une marge.
Avec le cloud, on multiplie le coût énergétique de chaque opération réseau.
Donc, en tant que développeur, demandez-vous, à chaque ligne de code créée qui
envoie une requête à un serveur distant, si cette ligne est parfaitement
optimisée et ne surchargera pas le serveur en question. Exemple tout bête :
arrêtez de faire des pages HTML où vous déclarez 50 fichiers javascript et 50
feuilles de styles : concaténez. Ce n'est pas parce que HTTP/2 permet de faire
des requêtes en parallèle qu'il faut en abuser...
## Les bénéfices de l'éco-responsabilité
Évidemment, il y a le gain environnemental. Moins de consommation d'énergie
signifie moins d'émissions de CO2. Il y a également le coût financier :
l'énergie est chère, et le sera de plus en plus si on continue à scier la
branche sur laquelle on est assis en "sortant du nucléaire".
Mais de façon plus pragmatique, être éco-responsable en informatique signifie
aussi augmenter le délais entre deux charges de batterie de téléphone ou
d'ordinateur portable, réduire la charge système et donc disposer d'un
périphérique plus agréable à utiliser, peut-être au point de devoir le remplacer
moins souvent, d'où encore plus d'économies et... une meilleure
éco-responsabilité.
Les gains côté développeur ne sont pas moins intéressants : être éco-responsable
signifie moins de code à maintenir, un code plus efficace, plus facile à
analyser, à relire, donc plus de temps pour créer de nouvelles fonctionnalités
et moins de temps à débugguer, donc moins de bugs et plus vite corrigés, donc
clients satisfaits, employeur satisfait, meilleure qualité de vie au travail,
licornes et arcs-en-ciel.

View File

@ -0,0 +1,108 @@
---
title: Stocker ses fichiers dans des dépôts git
date: 2021-10-09
tags: [
SysAdmin,
Auto-hébergement,
git,
Gitea,
Drone-CI,
git-lfs
]
---
> En résumé : j'utilise [_git-lfs_](https://git-lfs.github.com) pour stocker
> tous mes documents personnels, administratifs, photos, musiques, vidéos, et
> ça convient bien **à mon usage**.
## Contexte
J'aimerais bien me passer de [Syncthing](https://syncthing.net/), et depuis que
j'ai abandonné mon NAS Synology, je ne trouve aucune solution de synchronisation
de fichiers équivalente à [Synology Drive](https://www.synology.com/en-us/dsm/feature/drive).
- [Nextcloud](https://nextcloud.com/) : franchement, je ne sais pas comment ce truc tourne. Encore une monstruosité PHP que [je range aux côtés de Wordpress et Prestashop](/blog/2021/03/14/ecommerce-et-auto-hebergement/). Ça me désespère en tant que développeur PHP... La synchronisation des fichiers est lente (Webdav...) et foireuse (il n'aime pas les fichiers préfixés par un point, trop longs, etc.), sans parler de la lourdeur du truc côté serveur (autant niveau base de données qu'espace disque), les mises à jour où il faut faire une offrande aux dieux pour qu'elles passent (et que les plugins suivent). Le client est probablement le pire que j'ai testé.
- [Seafile](https://www.seafile.com/en/home/) : je suis à peu près certain que c'est ce qui sert de base à Synology Drive, donc théoriquement ça aurait pu me convenir, mais le système de stockage en backend n'est pas portable ; il faut passer à la version "Pro" pour stocker les fichiers dans un backend S3, et le montage de volumes via _fuse_ semble compliqué/lourd. En plus, j'ai trouvé que les performances de synchronisation n'étaient pas folichonnes (mais pas catastrophiques non plus).
- Syncthing : options par défaut qui ne me conviennent pas, re-synchro chiante à cause des ID de machine qui changent dès qu'on fait un pet de travers, essaye un peu trop de communiquer avec l'extérieur à mon goût. Synchro relativement rapide par contre.
À l'exception de mes projets de dev, qui sont de toute façon dans des dépôts
git, mes autres documents ne changent pas fréquemment. Donc finalement, je
réalise qu'avoir un outil qui tourne en permanence en tâche de fond ne m'est pas
vraiment indispensable. La synchro m'intéresse pour les images ou la musique,
mais je les modifie tellement rarement qu'une synchro en temps-réel n'est pas
pertinente ; je peux me permettre de faire un `git pull` de temps en temps...
## La solution : git-lfs
Ça fait longtemps que je réfléchi à la question, lu quantité d'articles traitant
du sujet, tant en provenance de partisans que de détracteurs, quoique ces
derniers se font de plus en plus rares. De toute façon, je ne risque pas grand
chose à essayer alors voilà : je vais désormais stocker **tous** mes documents
dans des dépôts git.
En ce qui me concerne, je ne vois que des avantages :
- j'utilise déjà git pour mes projets de dev, j'ai donc déjà toute l'infrastructure sous la main
- même si ce n'était pas le cas, je peux utiliser n'importe quel hébergeur de services git (mais bon, je parle de mes documents personnels que je préfère donc garder dans mon réseau local...)
- je peux garder une trace de l'historique de modification de tous mes fichiers, plus seulement de mes projets dev
- l'extension [_lfs_](https://git-lfs.github.com) est faite pour stocker des gros fichiers (et nativement supportée par [Gitea](https://gitea.io/en-us/)), et me semble donc adéquate pour la musique, les vidéos, les photos RAW
- je me passe d'un processus qui tourne en arrière-plan, autant côté client que côté serveur (dans la mesure où j'ai de toute façon un serveur git qui tourne) - je peux même me passer d'une autre méthode d'accès à mes fichiers, et donc virer samba/NFS/whatever
- si un jour je ressens à nouveau le besoin d'une synchro en temps-réel, je peux me tourner vers [SparkleShare](https://www.sparkleshare.org) **sans rien changer** à mes habitudes
- je trouve que la sauvegarde et la restauration de mes fichiers en cas de pépin est beaucoup plus simple que les procédures habituelles, et c'est dû au fonctionnement-même de git : si j'ai un grave problème sur une des machines clientes, il existe toujours au moins une copie de mes fichiers sur le réseau (sur le serveur et/ou sur les autres clients). Et si le serveur git nécessite une restauration, j'ai les dépôts répartis sur les machines clientes, il n'y a qu'à faire des `git push`.
- Gitea (et les autres forges logicielles) intègre nativement la prévisualisation des PDF ou des images, l'écoute des fichiers audio, la lecture des fichiers vidéos, etc. Pratique pour un accès occasionnel sans cloner tous les documents ! S'il y avait aussi des éditeurs pour les fichiers OpenDocument, je serai comblé !
- en bonus, si j'ai envie de m'amuser, je pourrais utiliser [Drone-CI](https://www.drone.io) et là c'est tout un monde qui s'ouvre à moi : automatisation d'export de mes photos dans un format adapté au web, conversion automatique de fichiers, génération automatique de documents via pandoc, etc. ; ces exemples me concernent directement et me trottent dans la tête depuis longtemps pour mes cas d'usage, mais j'imagine qu'il y en aurait bien d'autres... rien que le fait d'écrire ça fait naitre tout un tas d'idées : tags automatique sur les musiques, suppression de certains en-têtes EXIF sur certaines photos, etc.
Et comme je teste ça depuis quelques jours, je peux déjà constater que ça
fonctionne mieux que ce que j'espérais, en particulier en ce qui concerne la
synchronisation de beaucoup de fichiers de taille réduite (typiquement, de
vieilles photos en jpeg dans des résolutions inférieures à 1920x1080).
Habituellement, c'est ce qui pose le plus de problèmes aux autres solutions de
stockage que j'ai testé, y compris via samba. Le débit s'effondre assez vite
dans un tel cas de figure. git est d'office optimisé pour gérer de nombreux
petits fichiers, et heureusement lfs ne vient pas plomber ces optimisations.
Dans l'exemple d'environ 5000 fichiers de moins de 5Mo, j'ai un débit constant
de 85Mo/s au minimum sur une connexion gigabit (dont le maximum théorique est
donc de 125Mo/s). De fait, la synchro est _très_ rapide, beaucoup plus que via
webdav par exemple... Je peux donc rajouter la **rapidité** à ma liste
d'avantages.
Enfin, dernier avantage et non des moindres, c'est que c'est **très simple** à
mettre en place. Il n'y a qu'à informer lfs des types de fichiers qu'il doit
gérer :
```shell {linenos=false,class=not-prose}
git lfs track "*.pdf" # Pour stocker les PDF dans lfs...
```
Cette commande aura pour effet de créer un fichier _.gitattributes_ (qu'il est
aussi possible de modifier manuellement), et c'est ce fichier que git va
utiliser pour déterminer les fichiers à stocker dans lfs. Tout le reste se fait
via les commandes git classiques.
## Inconvénients
Si ça vous gonfle de faire un `git commit` et `git push` à chaque fois que vous
modifiez un fichier et de faire un `git pull` sur les autres machines sur
lesquelles vous voulez synchroniser vos fichiers, c'est sûr que cette solution
ne vous conviendra pas, mais n'oubliez pas que SparkleShare peut faire tout ça
pour vous.
Je pense que l'utilisation de git pour stocker ses documents personnels
nécessite une bonne organisation pour être optimale. J'ai créé un certain nombre
de dépôts, pour les musiques, pour les vidéos, pour les photos, pour les fonds
d'écran, pour les documents administratifs, pour les documents professionnels,
etc. Si on n'est pas habitué à git, ça peut être intimidant de jongler avec tout
ça. On peut très bien fonctionner avec un seul dépôt ceci-dit, peut être que
j'ai fait de l'[_overengineering_](https://en.wikipedia.org/wiki/Overengineering)...
Une "limitation" de lfs qui ne me concerne pas mais dont il faut être conscient :
> Why doesnt Git LFS handle files larger than 4 GiB on Windows?
>
> Git LFS itself handles these files just fine. However, Git LFS is usually invoked by Git, and Git itself on Windows doesnt handle files using smudge and clean filters (like Git LFS) that are larger than 4 GiB. As soon as Git handles this, Git LFS will work with it automatically.
>
> In the mean time, you can set the environment variable GIT_LFS_SKIP_SMUDGE to 1 and run git lfs pull to pull down the LFS files. This bypasses Gits smudging functionality and therefore avoids its limitations.
De manière générale, lisez la [FAQ](https://github.com/git-lfs/git-lfs/wiki/FAQ)
et le reste du [wiki](https://github.com/git-lfs/git-lfs/wiki) de lfs.

View File

@ -0,0 +1,208 @@
---
title: "Réflexion : Dead-man switch"
date: 2021-10-20
tags: [
"Mort",
"Numérique",
"Plateformes",
"Auto-hébergement",
"Données personnelles",
"Réflexions"
]
---
## Définition
Un _dead-man switch_ est une procédure exécutée à la mort d'une personne. Dans
la culture populaire, il s'agit généralement d'un capteur biométrique : si son
porteur décède, ce capteur déclenche un évènement particulier (généralement,
l'explosion d'une bombe ou l'effacement de données dont le monde dépend...).
Historiquement, il s'agit d'un dispositif utilisé dans le domaine ferroviaire
permettant de s'assurer de l'état de conscience du conducteur du train ou du
métro, puis étendu à d'autres domaines. On trouve un tel dispositif dans les
véhicules modernes.
## Application numérique au "commun des mortels"
La question de l'advenir des données personnelles lors du décès d'un individu a
notamment été posée dans le cadre de l'usage de facebook ou de twitter. Quand le
propriétaire d'un compte de réseau social décède, qui peut réclamer le contenu
publié ? Le sujet est d'autant plus intéressant que de nombreux domaines sont
concernés, pas seulement les données personnelles : comment attester de la
légitimité de la demande d'accès au compte, comment attester du décès réel du
porteur initial, que se passe-t'il si le prétend défunt ne l'est pas, quel est
le motif de la demande d'"héritage", etc. Les problématiques sont nombreuses, et
je pense que les "plateformes" seules ne peuvent pas les résoudre. Je pense
qu'il appartient à chaque individu de prendre ses dispositions s'il souhaite que
ses données lui survive, et pas seulement sur les réseaux sociaux, au même titre
que l'on organise "matériellement" sa fin de vie - lorsque c'est possible.
Malheureusement, organiser sa fin de vie numérique s'oppose à la technicité de
l'outil informatique. Même pour un geek avisé, la tâche est colossale, à cause
de la quantité de choses auxquelles il faut penser. Non pas qu'organiser sa fin
de vie soit facile _IRL_, mais le regroupement de l'ensemble des informations
publiées sur Internet au cours de la vie d'un individu n'est pas aussi facile
qu'on pourrait le penser.
Nous arriverons à plus ou moins courte échéance au moment où Internet verra une
génération complète à la fois commencer et terminer sa vie en ligne. Ce n'est
pas encore le cas, et même si de temps en temps on nous propose une piqûre de
rappel, on est tous encore loins de planifier notre fin de vie numérique.
## Pourquoi planifier sa fin de vie numérique ?
Permettez-moi de vous poser la question autrement : pourquoi planifions-nous
généralement notre fin de vie ? Il n'y a pas qu'une seule réponse, mais on peut
raisonnablement penser que deux raisons au moins parmi d'autres nous y pousse :
- la pérennisation des richesses familiales
- les croyances individuelles
Il y a de nombreux autres cas de figure évidemment, que l'on ait des héritiers
ou non, des richesses ou non, des croyances ou non.
Mon point de vue est que l'on ne pose pas la question aux gens "pourquoi
planifiez-vous votre fin de vie ?" ; on ne s'intéresse qu'aux dispositions
pratiques. On part même du principe que tout le monde, par défaut, veut
organiser sa fin de vie, ultime contrôle sur nos existences. Alors pourquoi
poser la question de la planification de la fin de vie numérique, et ne pas,
tout simplement, partir du principe que toute personne doit pouvoir disposer de
toute donnée numérique qu'elle a pu produire au cours de sa vie ?
## De fortes contraintes techniques
De par la volatilité d'une donnée numérique, il est presqu'impossible d'en
garantir l'existence pour une durée prolongée. J'ai fait mes débuts sur Internet
sur MSN Communities, et MSN Chat. Je suis aussi intervenu sur Caramail, fut un
temps. Un jour, sites parmi les plus visités du monde. Aujourd'hui, complètement
tombés dans l'oubli. Pas que leurs noms : leurs données aussi, y compris celles
que j'y ai mises. Impossible pour moi de prouver que j'ai obtenu une marque de
reconnaissance de la part de Microsoft pour la qualité des communautés que j'ai
créé sur MSN Communities. Impossible de retrouver des informations que j'ai pu y
publier, et même la [Wayback Machine](https://archive.org/web/) n'y peut rien, à
plus forte raison lorsque le contenu a été publié dans un espace qui demande une
authentification.
Malgré tous les efforts que je peux y mettre, (et je me considère techniquement
avancé) il m'est impossible de rassembler tout ce que j'ai produis au cours de
ma vie numérique. Et croyez bien que je le regrette. Et ce n'est pas
nécessairement parce que j'ai consciemment supprimé ces données : disparition du
domaine, voire du site complet, sur lequel les données ont été publiées,
utilisation d'un pseudonyme oublié, commentaire isolé sur un site de niche,
redirections infructueuses, les raisons pour lesquelles on peut ne pas remettre
la main sur ses données sont nombreuses, et souvent indépendantes de notre
volonté.
## _Dead-man switch_ moderne ?
Si la technologie existe pour surveiller l'état de santé d'un individu (via les
bracelets ou montres connectés, les téléphones portables, ou les dispositifs à
destination des personnes âgées), elle se contente de prévenir quelqu'un, qu'il
s'agisse des secours ou d'un proche, mais elle est encore bien incapable de
s'occuper de sa vie numérique.
Comme je le disais plus haut, pour le moment, seul l'individu peut choisir ce
qu'il veut faire de ses données lors de son trépas. Certaines plateformes ont
mis en place diverses actions à ce titre, mais chaque individu doit bien penser
à activer ces options, sachant qu'elles ne peuvent pas toujours être déclenchées
automatiquement.
Il y a tellement de plateformes différentes sur lesquelles on publie du contenu
au cours de sa vie numérique qu'il est impossible de s'en souvenir en
intégralité. De plus, il est impossible de relier avec certitude une donnée
particulière avec un auteur particulier. Des protocoles tels qu'ActivityPub, et
les solutions auto-hébergés restent la meilleure option à l'heure actuelle pour
conserver la main sur ses données, et le sujet a été amplement abordé par mes
pairs. Mais même en mettant en oeuvre de telles solutions, il n'existe pas
d'architecture commune, de protocoles, d'interfaces permettant des actions
universelles en cas de fin de vie numérique. Rien, en tout cas, d'uniformisé,
documenté. Les plus geeks d'entre nous auront bien quelques idées, mais elles
sont loin, très loin d'être accessibles au commun des mortels.
## Que doit faire un _dead-man switch_ ?
Dans l'absolu, un _DMS_ devrait être informé en temps réel de l'intégralité des
données produites par un individu : aussi bien le contenu que les méta-données
et leur emplacement numérique (l'URL pour y accéder), avec un horodatage. Cela
ressemble à s'y méprendre à ce que fait _git_... qui représente justement, selon
moi, le meilleur outil pouvant servir à la réalisation d'un _DMS_.
En admettant que le _DMS_ dispose de ces informations, il doit pouvoir les
stocker de façon fiable pendant au moins la durée de vie de l'individu. Si vous
êtes un geek, vous disposez sûrement de sauvegardes datant de plusieurs années.
Peut-être même, une ou deux dizaines. Si vous n'êtes pas geek, il est peut
probable que la donnée la plus ancienne que vous ayez jamais produite vous soit
encore accessible.
Même si l'on se considère geek, certaines données sont de toute façon perdues à
jamais. Comment pourrais-je transférer sur un ordinateur moderne les programmes
que j'ai écrits en BASIC dans les années 80, stockés sur des disquettes dont le
format n'a jamais été créé pour autre chose qu'un Amstrad CPC 464 ou 6128 ? Je
devrais déployer des trésors d'ingéniérie pour y parvenir, si tant est que je
pouvais remettre la main sur une telle machine en état de marche, et surtout,
sur les disquettes dont il est question...
En outre se pose aussi la question des formats de données : des formats binaires
qui existaient dans les années 80 ne sont probablement plus lisibles
aujourd'hui, sauf, encore une fois, pour les plus opiniâtres des geeks.
Un bon _DMS_ doit stocker ses données dans un format reproductible et pérenne,
et doit donc trouver un compromis entre l'espace nécessaire au stockage de la
donnée et son interopérabilité. On doit pouvoir _lire_ la donnée même si son
format initial n'est plus supporté. Là encore, c'est un sujet que la philosophie
de l'informatique a abordé assez souvent, sans pour autant trouver de réelle
solution. Dans l'absolu, l'intégration d'émulateurs pourrait permettre la
reproduction de données trop anciennes, mais aurait sans doute un coût matériel
prohibitif.
Si l'on dispose des informations de base et d'un moyen de stockage fiable, il
faut décider ensuite quoi faire de ces données. Un _DMS_ doit offrir le moyen
de définir des règles précises, des tâches particulières à effectuer lors du
déclenchement de la procédure de fin de vie. Telles données doivent être rendues
disponibles à telle ou telle personne uniquement, telles données doivent être
rendue publiques à tel endroit, tel message doit être envoyé à telle personne,
etc. Là encore, la complexité de la gestion de ces données pourrait
littéralement occuper une vie entière.
Enfin, il faut disposer d'un moyen de déclencher ces procédures, au moment
"opportun". Les technologies de surveillance individuelle de santé peuvent y
aider, mais la criticité d'une telle procédure recquiert un comportement sans
faille. En outre, il faut que le _DMS_ soit disponible au moment où se produit
le décès, c'est-à-dire que toute la chaîne logicielle soit fonctionnelle. Et ce
n'est pas toujours selon le bon vouloir de l'individu...
## Impossible à réaliser ?
Je récapitule :
- [x] Surveillance de l'état de santé d'un individu
- [ ] Déclenchement sécurisé d'une action auprès du _DMS_
- [ ] Le _DMS_ doit avoir accès à toutes les données de l'individu
- [ ] Le _DMS_ doit lire et appliquer les règles qu'a défini l'individu de son vivant concernant chaque donnée enregistrée
- [ ] Dans l'absolu, le _DMS_ devrait répliquer toutes les données sur un système de stockage spécifique et fournir une interface de navigation pour que les proches du défunt puisse les visualiser d'une façon ou d'une autre
- [ ] Le _DMS_ doit pouvoir stocker ces données pendant une durée indéterminée
- [ ] Il doit fournir les moyens de visualiser n'importe quelle donnée, même trop vieille pour des machines modernes
- [ ] Il doit aussi embarquer des moyens modernes de visualisation de ces données qu'il sera possible d'utiliser avec des ordinateurs construits à moyen ou long terme
Il y a encore de nombreuses problématiques à résoudre, comme la sécurité des
données stockées localement, la sécurité des accès aux données distantes,
acquérir la certitude que le défunt a bien déclenché la procédure et non qu'elle
l'ait été par une action malveillante visant spécifiquement à y accéder, la
notarisation des règles définies par le défunt de son vivant afin de s'assurer
du respect juridique de la transmission des données, il faudra probablement
tenir compte des licences sous lesquelles l'individu a publié, voire appliquer
une licence par défaut, etc.
Je pense que pour l'heure, on ne disposera pas d'un tel système utilisé à grande
échelle avant un moment, et lorsqu'il le sera, il sera aux mains d'une grande
entreprise privée. Probablement facebook, peut-être qu'Apple offrira un service
similaire. Google sans aucun doute, considérant sa volonté de [tuer la mort](https://en.wikipedia.org/wiki/Calico_(company))
et son omnipotence légendaire. Mais, si on est sur toutes ces plateformes, on
va multiplier les _DMS_, rendant la procédure encore plus compliquée.
Alors on verra peut-être naitre des services hybrides, interconnectés, et puis
enfin, quelques années plus tard, des solutions Libres et auto-hébergeables.
On verra bien. J'aimerais bien disposer de tels services Libres et
auto-hébergables dès aujourd'hui, parce que leur prise en main va prendre un
temps considérable.

View File

@ -0,0 +1,81 @@
---
title: "Pour le bien de vos écrans, investissez dans vos câbles"
date: 2021-10-26T17:54:56+01:00
tags: [
"Hardware",
"HDMI",
"USB-C",
"DisplayPort",
"Câbles",
"240Hz",
"4k",
"60Hz",
"Image"
]
---
Très heureux détenteur de deux écrans Alienware AW2518HF et AW2521HF, que j'ai
choisi principalement pour leur fréquence d'affichage de 240Hz, je me retrouvais
frustré quand, passant au Mac mini depuis le laptop du travail ou depuis le PC
dédié au jeu, j'étais dans l'incapacité de monter au-delà de 120/144Hz. Pour
moi, la cause était à chercher soit dans la connectique, dans le sens où "là je
suis en HDMI, c'est le HDMI qui me bride à 120Hz, là je passe par un adaptateur
USB-C, c'est l'adaptateur qui me bride", soit le Mac mini M1 qui était incapable
de piloter les deux écrans en 240Hz. À l'époque où j'ai fait mon installation,
on ne disposait pas encore d'informations précises à ce sujet.
En pratique, ma connectique se présentait de la façon suivante :
- Mac mini :
- HDMI vers HDMI sur le 2518, bridé à 120Hz (câble Amazon Basic estampillé 4K/60Hz)
- USB-C vers HDMI sur le 2521, bridé à 144Hz (câble d'entrée de gamme Choetech 4K/60Hz)
- Laptop du travail :
- HDMI vers HDMI sur le 2518, 240Hz (câble Amazon Basic estampillé 4K/60Hz)
- PC de jeu :
- DisplayPort vers DisplayPort sur le 2518, 240Hz (câble haut de gamme 4K/60Hz)
En outre, sur le Mac mini (et seulement sur le Mac mini), je trouvais que le
2521 était comme délavé, et surtout, de temps en temps, l'image "brûlait"
l'écran, c'est-à-dire que si je changeais d'image, l'image précédente restait
comme "incrustée". Je pensais que c'était un défaut de fabrication, ou que
c'était un bug logiciel ou matériel du Mac mini M1, et comme le soucis n'était
ni fréquent ni permanent, je ne voyais pas de raison de m'inquiéter plus que ça.
Il faut également préciser que j'étais quelque peu "formaté" par tous ces
articles vus sur le web, clamant que finalement, il n'y avait pas de raison de
dépenser des fortunes pour les câbles HDMI ou DisplayPort, que les câbles
d'entrée de gamme étaient tout aussi efficaces.
Mais à l'occasion de mon anniversaire, j'ai souhaité monter en gamme sur la
connectique vidéo du Mac mini. J'ai donc découvert que mes problèmes étaient à
100% dus à la qualité médiocre des câbles que j'utilisais jusqu'alors. Je
n'avais pas vraiment de raisons de douter des câbles Amazon Basics : celui du
laptop, acheté en même temps que celui du Mac mini, ne me bride en aucune façon.
Pas plus que d'autres câbles de la marque que j'utilise ailleurs.
Non seulement j'ai maintenant du 240Hz sur mes deux écrans, peu importe
l'ordinateur sur lequel je me trouve, mais en plus j'ai une meilleure
colorimétrie et je n'ai plus ce problème d'image "brûlée". Ma connectique se
présente désormais ainsi :
- Mac Mini :
- HDMI vers HDMI sur le 2521, 240Hz (câble haut de gamme **8K**/60Hz)
- USB-C vers HDMI sur le 2518, 240Hz (câble haut de gamme 4K/60Hz)
- Laptop du travail :
- HDMI vers HDMI sur le 2518, 240Hz (câble haut de gamme **8K**/60Hz)
- USB-C vers DisplayPort sur le 2521, 240Hz (câble haut de gamme **8K**/60Hz)
- PC de jeu :
- DisplayPort vers DisplayPort sur le 2518, 240Hz (câble haut de gamme 4K/60Hz)
Si le 8K est plus commercial qu'autre chose, au moins je m'assure d'avoir de la
marge. Si un câble est certifié 8K/60Hz, je pourrais envisager plus tard
d'acheter un écran 4K/144Hz, et je suis certain d'avoir du 240Hz en 1920x1080.
Je pense désormais que si j'avais continué à utiliser le câble Choetech, j'aurai
fini par définitivement cramer mon 2521.
En conclusion : n'hésitez pas à prendre le haut du panier en matière de câbles,
vous dépenserez peut-être 20 ou 30 euros de plus que si vous choisissez de
l'entrée de gamme, mais vous éviterez de cramer un écran à 400 euros... sans
compter les autres avantages : pouvoir monter en fréquence, meilleure
colorimétrie, meilleure qualité d'image.

View File

@ -0,0 +1,42 @@
---
title: "Récupération d'articles d'archives"
date: 2021-10-26T02:52:56+01:00
tags: [
"Alphabet",
"Google",
"VPN",
"AdBlock Plus",
"Blacklist DNS",
"MSN"
]
---
En fouillant un peu le net et la [Wayback Machine](https://web.archive.org/),
j'ai pu extraire quelques billets que j'avais écris en 2016. Comme ce sont les
miens, je les ai rapatriés ici-même.
- 27/07/2016 - [Alphabet, une entreprise pas comme les autres](/blog/2016/07/27/alphabet-une-entreprise-pas-comme-les-autres/)
- 02/08/2016 - [Protection de la vie privée et conspirationnisme](/blog/2016/08/02/protection-de-la-vie-privee-et-conspirationnisme/)
- 10/08/2016 - [De l'inutilité et de l'hypocrisie d'AdBlock Plus](/blog/2016/08/10/de-l-inutilite-et-de-l-hypocrisie-d-adblock-plus/)
J'ai également trouvé un vieux site
que j'avais fait en PHP avec la platforme e107, pour présenter quelques outils
que j'avais développé en 2004. Il est intéressant de noter la mention d'une
application appelée "Bookmarks Manager", qui deviendra
"[Cyca](https://git.athaliasoft.com/richard/cyca)" quelques années plus tard...
En remontant le temps encore plus loin, je suis arrivé sur la
[communauté MSN](https://web.archive.org/web/20080405051026/http://groups.msn.com/LeparadisInformatique/chronologieduparadis.msnw)
dont [je vous ai déjà parlé](/blog/2021/10/20/reflexion-dead-man-switch/#de-fortes-contraintes-techniques).
Et là mon coeur s'est emballé au rappel de cette esthétique si particulière,
cette interface, ces gens que j'ai connu, avec qui j'ai vécu des moments forts,
parfois. Et qui ensuite ont disparu sans garder contact, lors de la dissolution
de MSN Communities. Une des meilleures des pays francophones, qui m'a valu un
papillon MSN, marque de reconnaissance sans valeur financière mais tellement
importante quand on est un geek de 19 ans... Le "Paradis Informatique" sur MSN,
c'était moi... J'ai du mal à croire que ce n'était qu'il n'y a que 20 ans !
Si je trouve d'autres de mes vieux articles, je les importerai. Mais comme il
est difficile de trouver le squelette complet d'un dinosaure, il risque d'être
compliqué de retrouver l'intégralité de mes publications faites après
MSN Communities.

View File

@ -0,0 +1,14 @@
---
title: "Aphorisme #1"
date: 2021-10-27
tags: [
"Siri",
"Assistants vocaux",
"Aphorisme",
"Politesse"
]
---
Les assistants vocaux tels que Siri font une aide quotidienne formidable. Ils
présentent néanmoins un grave inconvénient : ils n'attendent pas de politesses,
et répondront toujours, même si on ne leur dit jamais "Merci".

View File

@ -0,0 +1,143 @@
---
title: "Déployer Hugo via Gitea et Drone-CI avec Caddy et MinIO"
date: 2021-10-29
tags: [
"Gitea",
"Hugo",
"Drone-CI",
"SysAdmin",
"Docker",
"Auto-hébergement",
"Git",
"Caddy",
"MinIO",
"S3",
]
---
Si le titre de cet article vous est familié : MERCI ! cela signifie que vous me
lisez 😄 Dans le cas contraire, cet article fait suite à un autre article publié
le mois dernier : [Déployer Hugo via Gitea et Drone-CI](/blog/2021/09/12/deployer-hugo-via-gitea-et-drone-ci/).
Vous aurez donc compris que je vais rendre la procédure encore plus complexe.
<x-shortcodes.post-card model="/blog/2021/09/12/deployer-hugo-via-gitea-et-drone-ci/" />
## Contexte et motivation
Je suis très satisfait de ma stack de publication actuelle : j'écris mes
articles "localement" sur mon Mac mini, quand je suis satisfait je commit mes
modifications sur mon serveur Gitea, Drone-CI se déclenche, compile le site,
et le copie sur le serveur web via SSH. Pour servir le site, j'utilise Caddy,
qui doit alors disposer d'un accès au système de fichiers du serveur.
J'aimerais supprimer cette dépendance, pour m'éviter de monter un volume docker
rien que pour faire ça. Il y a d'autres raisons plus techniques : cela pourrait
me simplifier les sauvegardes, rendre possible la réplication des données, ce
qui pourrait amèner à de la haute-disponibilité. Et puis, je suis très satisfait
des performances de mon serveur MinIO mais qui, pour l'instant, reste
sous-exploité. En outre, je pourrai supprimer le lien SSH entre la CI et le
serveur Web, et l'utilisateur créé à cet unique effet.
Le but est donc que Drone-CI stocke le résultat de la compilation (c'est-à-dire,
l'arborescence complète du site statique) dans MinIO, plutôt que de l'envoyer au
serveur via SSH. Trois choses sont donc à modifier : MinIO pour créer un bucket
destiné à mon site, Caddy pour lui dire comment accèder et servir ces données,
et Drone-CI pour lui dire comment stocker les données dans le bucket.
Tout cela a l'air bien compliqué, je vous l'accorde, mais on peut voir les
choses sous un autre angle :
- Je ne rajoute finalement qu'une application au processus (MinIO)
- C'est une application extrêmement simple, populaire, légère, rapide (en upload, je sature ma liaison gigabit, peu importe la taille des fichiers envoyés, ce qui n'est pas le cas avec SSH par exemple)
- Je supprime un accès SSH et un utilisateur, donc - petit - gain de sécurité
- Je découple Caddy et Drone-CI du stockage disque pour les coupler à un système de stockage distant, distribué et répliqué
Donc au final, ajouter une étape au processus me permet de simplifier la gestion
de toute la stack, de mes serveurs, et de pérenniser mes données. Le tout avec
des outils simples, puissants, légers et performants. Que demander de plus ?
## MinIO
Avec un MinIO déjà opérationnel, il suffit de créer un nouvel utilisateur, un
nouveau bucket (avec l'attribut `public`, sinon Caddy ne pourra pas y accéder),
et donner les permissions `readwrite` au nouvel utilisateur sur ce bucket.
C'est extrêmement simple via l'interface web.
J'ai nommé mon bucket _richard-dern.fr_.
## Drone-CI
Dans Drone-CI, il faut créer deux nouveaux secrets, dans lesquels on va mettre
l'*access_key* du nouvel utilisateur dans MinIO, et la *secret_key*
correspondante. J'ai tout simplement nommé ces secrets respectivement
*s3_access_key* et *s3_secret_key*.
Dans le fichier _.drone.yml_ de mon projet, j'ai remplacé la partie concernant
SCP par le plugin S3 :
```yaml {class=not-prose}
- name: upload
image: plugins/s3
settings:
bucket: richard-dern.fr # Remplacez par le nom de votre propre bucket
source: public/**/*
target: /
strip_prefix: public/ # On supprime public/ sinon c'est chiant
path_style: true # Obligatoire pour MinIO, déprécié chez AWS
access_key:
from_secret: s3_access_key # Le nom de votre nouvel utilisateur MinIO
secret_key:
from_secret: s3_secret_key # La secret_key correspondante
endpoint: http://10.0.2.1:9000 # Remplacez par l'URL de votre MinIO
```
## Caddy
Caddy a nécessité un peu plus de recherche, mais j'ai fini par trouver une façon
de faire, sans avoir recours au moindre plugin. Remplacez, dans les lignes
suivantes (2 à 7), _richard-dern.fr_ par le nom de votre bucket, et la dernière
ligne par l'adresse de votre serveur MinIO.
``` {class=not-prose}
www.richard-dern.fr {
# Site statique, donc on bloque tout ce qui n'est pas GET
# On évite ainsi les requêtes à l'API MinIO
@@method not method GET
error @@method "Method not allowed" 405
@@dirregex {
path_regexp static ^(.*)/$
}
rewrite @@dirregex /richard-dern.fr{re.static.1}/index.html
rewrite * /richard-dern.fr{path}
reverse_proxy http://10.0.2.1:9000
}
```
Le problème avec Caddy dans ce contexte, c'est qu'il ignore `try_files` et
`index`, et que MinIO renvoit la liste des fichiers contenus dans le répertoire
demandé en XML (API oblige). En outre, la directive *reverse_proxy* ne peut pas
contenir de chemin. Pour résoudre ce problème, on utilise les lignes 7 et 8, ce
qui nous permet au moins de ne pas être redirigés vers la page de connexion de
MinIO.
Pour le problème des dossiers, on défini un
[_matcher_](https://caddyserver.com/docs/caddyfile/matchers#syntax) dans le
jargon de Caddy, en l'ocurrence un
[*path_regexp*](https://caddyserver.com/docs/caddyfile/matchers#path-regexp). On
peut ainsi matcher toute URL qui se termine par un `/`. On créé ensuite la règle
de réécriture à la ligne 6, pour ajouter `/index.html` à la fin. De fait, on
peut conserver des URLs courtes, et, normalement, l'accès aux autres ressources
n'est pas cassé...
## Conclusion
Et voilà ! On peut démonter le volume utilisé jusq'à présent, et supprimer les
fichiers du disque : Caddy n'utilisera plus que MinIO pour servir mon site. Le
gain en performances me semble très intéressant, bien qu'il soit difficilement
mesurable pour vous, chers visiteurs, compte tenu de mon upload limité. Mais de
mon point de vue, tout me semble aller beaucoup plus vite, en particulier quand
il y a des images dans un article.
Prochaine étape : haute-disponibilité ?

View File

@ -0,0 +1,53 @@
---
title: "Drone-CI et htmltest pour traquer les liens morts dans Hugo"
date: 2021-10-30
tags: [
"Auto-hébergement",
"SysAdmin",
"Drone-CI",
"Hugo",
"htmltest",
"Docker",
"Gitea",
]
---
Voilà un excellent exemple de ce pourquoi j'ai une stack de publication qui peut
sembler compliquée au premier abord mais qui, au final, permet de faire plein de
choses sympathiques. Si vous voulez en savoir plus, je vous invite à lire les
autres articles que j'ai écrit à ce sujet :
<x-shortcodes.post-card model="/blog/2021/09/12/deployer-hugo-via-gitea-et-drone-ci/" />
<x-shortcodes.post-card model="/blog/2021/10/29/deployer-hugo-via-gitea-et-drone-ci-avec-caddy-et-minio/" />
Rapidement : j'ai Drone-CI qui s'occupe de compiler et publier un site statique
réalisé avec Hugo (le site que vous êtes en train de visiter). Je vais lui
demander d'en faire un peu plus : parcourir le site à la recherche de liens
morts et bloquer la mise en production tant que je ne les ai pas corrigés.
Il suffit de rajouter les quelques lignes suivantes dans le fichier _.drone.yml_
du projet, dans la section _steps_ :
```yaml {class=not-prose}
- name: test_links # Nom de l'étape de la CI
image: wjdp/htmltest # Image docker utilisée
commands:
- htmltest public/ # Dans Drone-CI, le site Hugo compilé se trouve dans public/
```
Vous pouvez voir [comment j'intègre ces lignes dans mon projet](https://git.athaliasoft.com/Blog/blog/src/branch/main/.drone.yml).
En plus de vérifier la disponibilité des URLs, [htmltest](https://github.com/wjdp/htmltest)
peut (et va) effectuer d'autres tests utiles et pertinents. Il est possible de
[configurer l'application](https://github.com/wjdp/htmltest#wrench-configuration)
plus en détails, mais le comportement de base de `htmltest` me convient bien.
Un petit "soucis" à noter : cette étape doit survenir **après** le déploiement
en production, faute de quoi les liens vers une page nouvellement créée mais pas
encore déployée seront considérés comme morts. On n'empêchera donc pas les liens
morts d'arriver en production, mais au moins la CI pourra nous alerter de leur
présence.
Évidemment, ça augmente quelque peu le temps de mise en production (je passe de
35 secondes à 3 minutes), mais au moins, plus de liens morts, en seulement
quatre lignes de conf... Simple, pour une fois !

View File

@ -0,0 +1,18 @@
---
title: "Aphorisme #2"
date: 2021-11-06
tags: [
"Logiciels Libres",
"Logiciels Privateurs",
"Google",
"W3C",
"Microsoft",
"Github",
"Aphorisme"
]
---
L'adage "Il ne faut pas confondre Libre et Éthique" prend désagréablement sens
quand on voit ce que des entreprises manifestement non-éthiques font aux
Logiciels Libres depuis 10-15 ans, et ce sous les applaudissements des Libristes
eux-mêmes.

View File

@ -0,0 +1,142 @@
---
title: "Deux semaines sous NixOS : je divorce de debian"
date: 2021-11-07
tags: [
"Administration",
"NixOS",
"Steam",
"Système d'exploitation",
"Debian",
"Retour d'expérience"
]
---
Voilà deux semaines que je fais tourner ma machine de jeu et le laptop du
travail sous [NixOS](https://nixos.org/). J'en suis tellement satisfait que j'ai
la ferme intention d'en faire mon OS par défaut pour toutes mes machines sous
GNU-Linux, et en particulier mes trois serveurs.
> Attention, cet article n'est pas un guide pour NixOS, juste un retour
> d'expérience.
## Présentation de NixOS
Comme toujours, c'est la [Wikipédia](https://fr.wikipedia.org/wiki/NixOS) qui
vous en parlera le mieux (et, évidemment, le site officiel), alors pour vous
présenter rapidement NixOS : c'est une distribution GNU-Linux qui présente la
caractéristique de disposer d'une configuration dite "déclarative". Grosso-modo,
vous définissez l'état logiciel d'une machine dans des fichiers de configuration
et NixOS s'occupe du reste. Un peu comme ansible ou les _docker-compose_. Pour
être exact, NixOS est une distribution Linux qui repose sur le gestionnaire de
paquets nix.
La première version date de 2003, c'est donc une distro ancienne, mais
activement maintenue.
## Du déclaratif, jusqu'à faire du _stateless_
En ce qui me concerne, l'aspect le plus marquant de NixOS est sa configuration
déclarative, qui permet d'aller très loin dans la configuration du système
jusqu'à permettre de construire un environnement _stateless_, c'est-à-dire
qu'une fois la configuration appliquée, plus rien ne peut changer, à moins
d'appliquer manuellement une nouvelle configuration, un peu comme un commit git.
On bénéficie donc de la reproductibilité logicielle : si un jeu de paramètres
fonctionne chez moi, il fonctionnera aussi ailleurs (hors spécificités
matérielles, évidemment). Et si on s'est bien débrouillé, on peut même arriver à
générer des ISO spécifiques pour une machine dédiée : à nous le PXE sans prise
de tête, le déploiement continu à l'échelle du système d'exploitation, la
reprise d'activité en un instant, le versionning local de l'OS, etc. Les
possibilités sont multiples.
## Une courbe d'apprentissage importante
Avant d'en arriver-là, il faudra toutefois passer par une courbe d'apprentissage
assez prononcée. C'est assez facile de bricoler des trucs une fois qu'on a
compris le principe du fichier _configuration.nix_, mais faire des trucs
**vraiment** sympas prend du temps. À titre informatif, j'en suis à un peu plus
de 150 générations, mais mes fichiers de configuration
ne ressemblent toujours à rien 😄 J'ai réussi à éclater la configuration dans
plusieurs fichiers, mais je ne suis pas certain que l'organisation pour laquelle
j'ai opté est la meilleure, ni que je respecte les bonnes pratiques.
Mais c'est comme ça que j'apprends, que je m'imprègne de la philosophie de
NixOS. Et, même si je ne suis pas encore satisfait de mes fichiers de conf, j'ai
un système fonctionnel, y compris pour jouer.
## Ready for Steam, presque out-of-the-box
Ma machine de jeu est basée sur un Core i7 7700K et une GTX 1070 8G. Je ne joue
qu'à des jeux sur Steam, et si [mes jeux préférés](https://steamcommunity.com/id/richarddern/games/?tab=all&sort=playtime)
ne sont pas exigeants, moi je le suis. Je veux un max de FPS partout, une
fluidité sans faille, sans déroger sur la qualité d'image, surtout que mon
moniteur est en 240Hz.
Peu importe la distribution Linux, les pilotes graphiques sont toujours plus ou
moins compliqués à installer - et surtout, configurer. Sous NixOS, c'est plutôt
facile :
```nix {linenos=false,class=not-prose}
services.xserver.videoDrivers = [ "nvidia" ];
```
Quant à Steam, c'est tout aussi simple :
```nix {linenos=false,class=not-prose}
programs.steam.enable = true;
```
Et avec ces deux lignes (plus quelques autres pour i3, fish, firefox et deux ou
trois options de personnalisation), mon PC fait tourner Steam, proton et tous
mes jeux sans aucun soucis, y compris certains que je ne parvenais pas à faire
tourner la veille de la première installation de NixOS, du genre
_Age of Empires III_.
## Easy-peasy
Vu qu'il ne m'a fallut qu'une journée pour faire tourner mon PC de jeu sous
NixOS et que maintenant c'est juste de l'optimisation/amélioration, je me sens
en totale confiance pour l'installer sur mes serveurs. Je pourrais peut-être
même me passer de docker pour la plupart des applications que j'utilise (oui,
c'est un objectif à plus ou moins long terme : je ne veux plus de docker sur mes
machines).
Un sentiment d'autant plus fort que j'ai aussi installé NixOS sur mon laptop
professionnel, où disposer d'un environnement stable est tout de même très
important. Et ce sentiment de stabilité est très concret : une fois qu'on a fait
un `nixos-rebuild switch`, on a vraiment la sensation d'être aux commandes d'un
système indestructible. Si ça marche une fois, ça marche toujours, à chaque
reboot. On a le sentiment d'avoir un système fraîchement installé _à chaque
redémarrage_. C'est grisant. Et en cas de pépin, même majeur, il suffit de
démarrer la génération précédente via un menu créé automatiquement dans grub
pour reprendre les rênes du système.
## Quelques problèmes quand même
J'ai relevé quelques soucis
mineurs (qui ne sont pas forcément liés à NixOS ceci-dit), dont un qui m'embête
en particulier parce que je suis incapable d'en identifier la cause. Si je
démarre une application réseau en même temps que l'environnement graphique (par
exemple, via une commande `exec` dans la configuration d'i3), ces applications
sont incapables de se connecter au réseau. Je me vois dans l'obligation de
`kill` leurs processus respectifs pour les relancer à la main. Aucun problème,
par contre, quand je temporise leur démarrage de quelques secondes via `sleep`
par exemple. Un problème que j'ai constaté autant sur le PC de jeu que sur le
laptop pro, aussi bien en filaire qu'en Wifi. peu importe la configuration des
DNS (_dnsmasq_ en cache local, mon serveur DNS du réseau ou même un DNS
externe).
Autre problème que je ne parviens pas à résoudre : le rendu des fontes me semble
assez moche par défaut, mais j'ignore encore comment l'améliorer.
Ces deux problèmes sont typiquement côté desktop, et ne m'inquiètent pas du tout
pour l'usage serveur que je prévois de faire de NixOS.
## Ma feuille de route
J'ai donc l'intention de remplacer debian par NixOS sur toutes mes machines : le
serveur DNS, le serveur web, le serveur de stockage, et, éventuellement, si
NixOS me le permet, sur la tablette Asus T100-TA qui me sert de panneau de
contrôle domotique, la principale contrainte de cette tablette étant de disposer
d'un EFI 32bits qui démarre un OS 64bits. debian m'a posé beaucoup de problèmes
avec ça.

View File

@ -0,0 +1,161 @@
---
title: "Test : SteelSeries 3 Wireless"
date: 2021-11-08
tags: [
"Test",
"Hardware",
"Souris",
"Sans-fil",
"SteelSeries",
]
links:
- title: "Site officiel"
lang: "🇫🇷"
url: https://fr.steelseries.com/gaming-mice/-3-wireless
---
## Une 3...
Je déclare que la 3 était la meilleure souris qui soit passée sous mes
mains. Allez-y, traitez-moi d'ignorant, je m'en fout. Je n'ai aimé ni les souris
Microsoft, ni les Logitech, ni les Razer, ni les ROCCAT, ni les Mad Catz, etc.
Les seules souris ayant reçu mes éloges sont toutes des SteelSeries, à commencer
par la Sensei (mais dont la peinture ne tenait pas) et la 3, qui les
surpasse toutes.
Une déclaration étonnante, n'est-ce pas ? Comment est-il possible, pour une
souris à moins de 50 euros, d'être considérée comme la meilleure souris du monde
(et de l'histoire, je ne mâche pas mes mots) ? En vérité, c'est sa simplicité
qui lui vaut mes égards :
- son éclairage est soft, réparti en trois zones (une LED sous la molette, une sous le logo SteelSeries et de part et d'autre du corps)
- elle est légère
- sa molette n'est pas débrayable (je m'en fout et en plus ça réduit [les problèmes mécaniques](https://www.lesnumeriques.com/souris/molettes-instables-resultats-sondage-reponse-logitech-n60523.html))
- elle n'a que deux boutons sous le pouce, les boutons gauche/droite, le clic molette et un bouton de réglage de la sensibilité et aucun autre (je ne **supporte pas** les boutons sur la tranche droite, un reproche que je faisais à la Sensei)
- pas de revêtement anti-dérapant ou de matériaux "respirants" qui accrochent les saletés (mais qui a inventé ces souris avec des coques trouées...)
- le plastique employé est d'excellente qualité, n'a pas de peinture qui s'écaille, est assez texturé pour être confortable mais ne l'est pas trop pour ne pas retenir la poussière
Le seul reproche que j'ai à formuler concerne la piètre qualité du câble : trop
fin, impossible de lui donner une forme, ou plus exactement, de lui faire
oublier ses plis d'origine.
## ...sans-fil
Du coup, si je peux avoir la même souris, mais sans le fil, je suis preneur !
Surtout que je l'ai eu pour 44.90€ avec réduction. C'est clairement une 3,
mais pas tout à fait. Elle est encore mieux...
Pour commencer, elle n'a pas de batterie intégrée : elle fonctionne avec deux
piles ou accus AAA (deux piles - donc non rechargeables - sont fournies). Je ne
suis pas fan des batteries intégrées. Deux accus AAA me semblent être un
excellent choix : le format est universel, elles sont donc facilement
remplaçables en fin de vie, je peux utiliser un chargeur externe de haute
qualité, je peux utiliser une paire d'accus pendant que je charge l'autre, et
l'autonomie est conséquente : 2000mAh avec deux accus de 1000mAh, quand les
batteries intégrées plafonnent à 500mAh...
On pourrait croire que cela aurait pour conséquence de lui faire prendre du
poids, et si elle est en effet plus lourde que la version filaire, elle ne pèse
que 106 grammes une fois équipée de deux accus, quand une G502 approche les 140
grammes. Et si c'est trop lourd pour vous, elle se paye le luxe de pouvoir
fonctionner avec un seul accu.
Pour continuer sur l'autonomie, la souris s'éteint toute seule au bout de
quelques minutes d'inactivité. Il suffit de cliquer pour la réactiver. Je m'y
suis fait, c'est un maigre prix à payer pour ne pas dépenser de l'énergie
inutilement et ne pas la recharger tous les quarts d'heure. D'ailleurs, à titre
informatif, j'utilise la souris de façon intensive depuis une semaine (polling à
1000Hz en 2.4GHz, éclairage molette, 10 à 12 heures d'utilisation quotidienne),
et il me reste 2/3 de l'autonomie initiale. À ce train-là, les 400 heures
d'autonomie promises par SteelSeries seront respectées (à une vache près, je ne
vais pas les accuser de publicité mensongère si elle ne tient que 3 semaines au
lieu de 400/12=33.33 jours...), mais je me dois de dire que j'ai vu plusieurs
reviews qui se plaignent que les 400 heures annoncées ne peuvent être atteintes
qu'en mode "Haute efficacité" à paramétrer dans le logiciel, ce qui a pour
conséquence de forcer le polling à 125Hz et éteindre les LEDs. Mais je le
répète : je n'ai pas activé ce mode, mon polling est à 1000Hz, la LED de la
molette est allumée et sur la couleur #010101, et les piles d'origine devraient
me procurer 3 semaines d'autonomie à raison de 10 à 12 heures d'utilisation par
jour. Je précise quand même qu'à la base, je pensais naïvement que je devrais
recharger les batteries tous les deux ou trois jours, alors même si elles ne
tiennent que deux semaines, je ne vais pas me plaindre...
Ensuite, elle perd deux de ses zones d'éclairage pour se contenter de la LED de
la molette. J'éteignais de toute façon les zones latérales sur la 3, et la
lumière que la souris produit me permet essentiellement de la retrouver dans le
noir. Du coup, le seul éclairage de la molette (réglé sur #010101 pour utiliser
le moins d'énergie possible) me suffit amplement.
Enfin, la liaison sans-fil est assurée par, au choix via un interrupteur sous la
souris, une connexion radio 2.4GHz ou le bluetooth. Pratique pour travailler à
la fois sur PC et sur Mac, ou avec une tablette tactile. Je n'ai pas encore
testé le bluetooth dans ses moindres retranchements, mais la liaison 2.4GHz est
réactive, et ne m'a jamais fait défaut, même entourée de périphériques Wifi et
d'une manette sans-fil.
## Où est l'arnaque ?
SteelSeries a réduit la souris au strict nécessaire, ce qui me convient
**parfaitement**, mais je peux comprendre que certaines fonctionnalités manquent
à certains usages.
Je citerai par exemple l'absence de port USB pour éventuellemment l'utiliser en
filaire. Ça ne faisait absolument pas partie de mon cahier des charges, donc ça
m'est complètement égal. Tout comme la possibilité de monter dans les DPI : 3200
est une valeur confortable pour moi en toutes circonstances, pouvoir pousser
jusqu'à 18000 n'est que gage de confort (si un jour je passe sur des moniteurs
4k ou plus, je pourrais passer à 6400 DPI, mais cela fait depuis des lustres que
les souris les plus basiques supportent une telle résolution de toute façon...).
Les crans de la molette sont assez marqués, plus que sur sa soeur filaire.
Encore une fois, moi, ça me convient bien : j'aime bien les molettes franches
(comment peut-on utiliser une molette débrayable... 😋). Il est certain que la
molette de cette 3 Wireless est techniquement inférieure à des solutions
proposées sur des souris beaucoup plus chères, mais je pense que dans sa
catégorie elle s'en sort bien.
Je ne déplore pas l'absence de support de charge : ça me gonflerait de devoir
penser à poser ma souris sur un socle quand j'ai fini de m'en servir, et de ne
pas pouvoir me servir de la souris pendant qu'elle charge. Sans compter que le
prix d'une souris avec socle de charge grimpe assez vite. Totalement inutile
selon moi.
Véritable regret en revanche sur l'absence d'indicateur de l'état des accus.
J'aurai apprécié un petit bouton sous la souris qui affiche pendant x secondes
le niveau de charge, même approximatif. Une LED verte/jaune/rouge m'aurait
suffit, quitte à payer 5 euros de plus (même si je sais que le coût réel de
l'électronique nécessaire pour le faire n'est que de quelques dizaines de
centimes).
Côté logiciel, elle fonctionne _out-of-the-box_ sous macOS et sous GNU-Linux,
mais l'installation du SteelSeries Engine est nécessaire pour la régler, en
particulier sa sensibilité, beaucoup trop faible sortie d'usine. Un logiciel
compatible uniquement Windows et macOS, donc heureusement que je peux la régler
depuis le mac et que ces réglages sont conservés en passant à GNU-Linux.
J'aurais évidemment préféré un outil beaucoup, beaucoup plus léger (environ
400Mo d'espace occupé sous macOS quand même... le prix à payer pour un logiciel
unifié entre tous les périphériques SteelSeries je suppose), et Libre[^1], mais
même si une solution Libre existe, je ne l'utiliserais que si je peux
l'installer à la fois sur macOS et sur GNU-Linux, et si je ne crains pas de
bricker la souris...
[^1]: J'ai connaissance de [rivalcfg](https://github.com/flozz/rivalcfg), mais la 3 Wireless [ne semble pas encore supportée à 100%](https://github.com/flozz/rivalcfg/issues/146)
## Je confirme : la meilleure souris du monde
Donc au final, pas d'arnaque :
- autonomie exemplaire, conforme aux promesses du constructeur
- un plastique, une électronique et une mécanique de qualité à un prix attractif
- une durabilité et une longévité excellentes
- pas de chichis, pas de fancy : elle est brute de décoffrage et ça me convient parfaitement
Bon, je sais, c'est un peu osé de dire qu'une souris à moins de 50 euros est la
meilleure du monde. Mais je suis un utilisateur exigeant, en quête du mulot
parfait depuis près de 30 ans, et même des modèles filaires à plus de 100 euros
n'ont pas été en mesure de me satisfaire. SteelSeries ne m'a jamais déçu, et
signe une vraie réussite avec la 3 Wireless.
## Quoi de neuf après trois mois ?
Parfaitement satisfait. J'ai eu quelques difficultés à passer sur des accumulateurs rechargeables plutôt que de simples piles, parce que la plupart des accus au format AAA sortent du 1.2V. Jamais compris pourquoi et je n'ai pas envie de savoir. Toujours est-il que j'ai finalement trouvé de vrais accus rechargeables AAA en 1.5V qui tiennent la route (environ trois semaines d'usage normal sur une seule charge) (lien supprimé parce que la page produit n'existe plus sur Amazon).

View File

@ -0,0 +1,175 @@
---
title: "Installer NixOS sur une tablette Asus T100TA"
date: 2021-11-17
tags: [
"Administration",
"NixOS",
"Asus T100TA",
"debian",
"Système d'exploitation",
"Tablette"
]
---
Je dispose d'une honorable tablette
[Asus T100TA](https://www.asus.com/fr/Commercial-Laptops/ASUS_Transformer_Book_T100TA/)
que j'utilise depuis deux ans maintenant comme tableau de bord pour ma domotique
via [Home Assistant](https://www.home-assistant.io/). C'est simplement un
navigateur (en substance, [qutebrowser](https://qutebrowser.org/)) en mode
kiosk, qui tournait jusqu'à présent sous debian. Le remplacement par
[NixOS](https://nixos.org/) fait partie de
mon plan pour divorcer de debian,
mais certaines spécificités de la tablette rendent la tâche plus complexe que ce
qu'il faudrait.
<x-shortcodes.post-card model="/blog/2021/11/07/deux-semaines-sous-nixos-je-divorce-de-debian/" />
Principalement, son EFI est en 32bits alors que le système tourne en 64bits. Je
me suis naïvement dit que, qu'à cela ne tienne, j'installe un système 100%
32bits. Sauf que ce faisant, NixOS ne fournit pas de paquets pré-compilés
32bits. Obligé, donc, de faire des manips, mais franchement, je ne regrette pas.
À moins que compiler l'ensemble des paquets ne vous fasse pas peur, si vous
maitrisez assez NixOS pour faire du cross-compiling, ce qui n'est pas - encore -
mon cas.
## Téléchargements
Il faut commencer par télécharger les versions 32bits et 64bits de NixOS :
- https://channels.nixos.org/nixos-21.05/latest-nixos-minimal-x86_64-linux.iso
- https://channels.nixos.org/nixos-21.05/latest-nixos-minimal-i686-linux.iso
## Système 32bits
Flashez l'ISO 32bits sur une clé USB, et démarrez-la. Procédez à l'installation
du système comme indiqué dans la
[documentation officielle](https://nixos.org/manual/nixos/stable/), en
n'oubliant pas d'activer *wpa_supplicant*. Arrêtez-vous à la modification du
fichier _configuration.nix_.
Par défaut, NixOS utilise _systemd-boot_ à la place de grub, ce qui nous empêche
de modifier la commande de démarrage. Il faut modifier le fichier
_configuration.nix_ pour pouvoir utiliser grub. En outre, cette installation
n'est que temporaire, on ne va donc pas modifier les variables EFI pour le
moment.
```nix
boot.loader = {
systemd-boot.enable = false;
efi = {
canTouchEfiVariables = false;
};
grub = {
enable = true;
efiSupport = true;
efiInstallAsRemovable = true;
device = "nodev";
};
};
```
Enregistrez puis continuez l'installation en suivant à nouveau la documentation
officielle. Après un redémarrage, vous devez disposer d'un système 32bits
minimal mais fonctionnel. Ne modifiez encore rien dans votre configuration, tout
va être remplacé sous peu (pas besoin non plus d'installer quoi que ce soit).
Si tout fonctionne bien (si vous avez pu démarrer et aller jusqu'au prompt),
il est temps de passer au système 64bits.
## Système 64bits
Flashez ensuite la clé USB avec l'ISO 64bits, mais ne démarrez pas dessus : il
faut démarrer le grub qu'on vient d'installer en 32bits. La clé USB doit
toutefois être branchée quand vous démarrez. Une fois sur l'écran de grub,
appuyez sur la touche `c` pour entrer dans le shell de grub.
Lancez la commande suivante :
```
cat (hd0)/isolinux/isolinux.cfg
```
Vous verrez alors les options de démarrage disponibles. Ce qui nous intéresse,
c'est la partie suivante :
```
init=/nix/store/qf8blw6g07xi9248m83ngn6h1rfwkn69-nixos-system-asus-t100ta-21.05.4114.195d5816cdd/init
```
À recopier dans une nouvelle commande à lancer :
```
linux (hd0)/boot/bzImage init=/nix/store/qf8blw6g07xi9248m83ngn6h1rfwkn69-nixos-system-asus-t100ta-21.05.4114.195d5816cdd/init intel_idle.max_cstate=1
```
> Vous ne pouvez pas recopier telle quelle cette commande : vous devez l'ajuster
> en fonction de la sortie de `cat (hd0)/isolinux/isolinux.cfg`. Le chemin
> d'_init_ peut changer. Par contre, vous pouvez/devez rajouter
> `intel_idle.max_cstate=1` à la fin de la ligne : cela désactivera la mise en
> veille du CPU quand il idle, et évitera certain freezes connus sur cette
> plateforme.
Charger ensuite l'initrd :
```
initrd (hd0)/boot/initrd
```
Et démarrer :
```
boot
```
Vous devriez alors pouvoir démarrer sur la version 64bits de NixOS depuis votre
clé USB. Reste encore à procéder à l'installation : là encore suivez la
procédure officielle jusqu'à la modification du fichier _configuration.nix_, où
l'on va préciser qu'on veut forcer le mode 32bits du bootloader :
```nix
boot.loader = {
systemd-boot.enable = false;
efi.canTouchEfiVariables = false;
grub = {
enable = true;
efiSupport = true;
efiInstallAsRemovable = true;
device = "nodev";
forcei686 = true;
};
};
```
On peut enfin terminer l'installation et redémarrer sans clé USB.
## Problèmes
Les dernières mises à jour de debian me permettaient de régler le
rétro-éclairage de l'écran via _sysfs_ (dans _/sys/class/backlight/_).
Malheureusement, je n'ai pas encore trouvé comment procéder sous NixOS. J'ignore
s'il me manque un module noyau. J'ai essayé quelques trucs, sans succès pour le
moment.
Autre soucis déjà rencontré sous debian : le module réseau pour le wifi provoque
quotidiennement la déconnexion de la tablette, sans que quoique ce soit puisse y
remédier, à l'exception d'un reboot complet. Ce n'est pas un problème spécifique
à NixOS, c'est le module noyau _brcmcfm_ qui semble incriminé, et il y a peu de
chances que ce problème soit corrigé un jour...
Mis à part ça, le système tourne très bien, bien mieux que sous debian. La
charge CPU est inférieure à 1, quand elle pouvait atteindre 2 voire 3 dans les
mêmes conditions.
## Conclusion
Pas simple. Pas à cause de NixOS, mais à cause d'Asus, intel, broadcom, et
Microsoft évidemment (la tablette était livrée avec Windows 8). Mais j'ai la
certitude, maintenant que le système est installé, qu'il ne bougera plus, à
moins que je bidouille (et il y a des chances que je le fasse, ne serait-ce que
pour le rétro-éclairage que j'aimerais vraiment corriger). Je la remplacerai
sans doute pour une tablette plus adaptée à GNU-Linux (pour ne plus avoir les
problèmes avec le module wifi), mais pour l'instant, elle me convient bien, et
encore plus depuis que je l'ai passés sous NixOS. Un pas de plus vers le divorce
complet de debian...

View File

@ -0,0 +1,448 @@
---
title: Bonne année 2022 !
date: 2021-12-30
tags: [
"Cyca",
"Tailwind",
"Laravel",
"Covid-19",
"L'Humain, cette espèce primitive",
"Intelligence",
"Neuro-atypisme",
"Dinosaures",
"Philosophie",
"Sciences",
"États-Unis"
]
---
> Attention, article très long !
## Rétrospective de 2021
### Autour du blog, Cyca et mon premier livre
J'ai créé ce blog le 1er janvier 2021. J'avais l'intention de me focaliser sur
mon neuro-atypisme, mais j'ai finalement opté pour un autre "contenu éditorial".
J'ai [publié Cyca](/blog/2021/01/03/presentation-de-cyca/), mon application
"laboratoire", et j'ai surtout publié mon premier livre le 29 janvier :
[_L'humain, cette espèce primitive_](/tags/lhumain-cette-espece-primitive/).
J'ai proposé certains de mes articles au [Journal du Hacker](https://www.journalduhacker.net/),
et certains de ces articles se sont même retrouvés dans la rubrique des "Liens
intéressants", un post qui récapitule les soumissions les plus populaires de la
semaine. J'en fais peut-être grand cas, mais c'est un accomplissement pour moi !
Surtout qu'occasionnellement, j'ai pu échanger un peu avec la communauté - des
échanges positifs pour une fois - et ça fait du bien.
À titre de curiosité (et historique), les quatre articles qui m'ont valus le
plus de votes positifs sont les suivants :
- [Mon réseau](/blog/2021/03/09/mon-reseau/) (publié le 9 mars, avec une note de [7](https://www.journalduhacker.net/s/rsveeh/mon_r_seau))
- [E-commerce et auto-hébergement](/blog/2021/03/14/ecommerce-et-auto-hebergement/) (publié le 14 mars, avec une note de [7](https://www.journalduhacker.net/s/ijrnnq/e_commerce_et_auto_h_bergement))
- [Deux semaines sous NixOS : je divorce de debian](/blog/2021/11/07/deux-semaines-sous-nixos-je-divorce-de-debian/) (publié le 7 novembre, avec une note de [7](https://www.journalduhacker.net/s/cnmgcu/deux_semaines_sous_nixos_je_divorce_de))
- [L'éco-responsabilité en informatique](https://www.richard-dern.fr/blog/2021/09/25/l-eco-responsabilite-en-informatique/) (publié le 25 septembre, avec une note de [6](https://www.journalduhacker.net/s/gvlelh/l_co_responsabilit_en_informatique))
J'ai essentiellement écrit des articles techniques, mais j'ai aussi écrit sur
[le Covid-19](/blog/2021/04/01/covid-19-vous-avez-tous-tort/), et je m'essaye
occasionnellement à l'art de [l'aphorisme](/tags/aphorisme/).
À peu près en même temps que le blog, je me suis mis au [Fediverse](https://fr.wikipedia.org/wiki/Fediverse),
successivement avec [Pleroma](https://pleroma.social/) puis
[MissKey](https://github.com/misskey-dev/misskey). Bien que certains profils
soit réellement intéressants, plusieurs éléments m'ont confirmé ce que je savais
déjà (que les réseaux sociaux ne m'intéressent pas _du tout_) :
- si on y cherche de l'information, c'est redondant avec les flux RSS "directs" ou via les sites de veille
- si on y cherche des gens avec qui parler, c'est mille fois plus agréable de le faire par mail, à l'écart du "bruit"
- il y a eu la vague de migration depuis twitter vers [Mastodon](https://mastodon.social/about), qui a ramené beaucoup de gens inintéressants, causant beaucoup de bruit pour rien
- les discussions tournent un peu en rond, et peu importe le sujet recherché initialement, on finit toujours par se faire noyer dans le bruit
- le "bruit" que je mentionne ici est constitué de :
- contenu à caractère sexuel
- militantisme LGBTQ+
- débats politiques stériles
Considérant que je croyais suivre des profils "techniques" en informatique et
dans les sciences dures, c'est franchement gonflant d'avoir un fil public saturé
de tous ces messages pour lesquels je n'ai aucun intérêt. C'est simplement dû au
fonctionnement du réseau (je suis untel qui suis untel qui a un intérêt pour ces
sujets), et c'est un fonctionnement que je n'apprécie pas, et qui me donne le
sentiment d'être spamé à longueur de journée. J'appelle ça du bruit dans la
mesure où ça ne m'intéresse pas et que ça occupait à peu près 95% du contenu qui
m'était donné à voir.
Au final, j'ai opté pour une solution que je qualifierai d'intermédiaire, entre
l'austérité du vénérable IRC et l'usine à gaz qu'est XMPP :
[Matrix](https://matrix.org/). Je ne suis pas forcément fédéré, c'est du chat
presque "à l'ancienne", même si on peut faire du chat vocal et vidéo, c'est
raisonnable en termes de consommation de ressources. Techniquement, ça me
convient bien depuis quelques mois, même si pour le moment, je m'en sers surtout
pour communiquer avec [Olivier](/tags/webring/) (dont je vous reparle
plus bas).
En ce qui concerne le blog, Cyca et _L'Humain, cette espèce primitive_, je
concluerai en disant qu'en dehors des quelques pics d'audience dûs à la
publication de mes articles techniques sur le _Journal du Hacker_, je n'arrive
toujours pas à décoller. Cyca n'intéresse personne, j'ai vendu quelques livres
jusqu'en avril mais depuis plus rien.
J'explique la faible popularité du livre assez facilement. D'une part, le titre,
volontairement provocateur, freine sans doute la plupart des gens. Ensuite, sa
mise à disposition uniquement via Amazon, qui a justifié que je cherche une
solution pour [auto-héberger ma plateforme de vente](/blog/2021/03/14/ecommerce-et-auto-hebergement/)
sans toutefois trouver un compromis. Il y a aussi la faible popularité de ce
genre d'essais, le fait que ce soit mon premier livre, que je ne sois pas issu
d'un parcours académique, que je n'ai pas fait de campagne de promotion
"professionnelle", etc. J'ai bien conscience de tout ça, et c'est la raison
pour laquelle je ne suis pas plus triste que ça.
Par contre, tout ce qui a été nécessaire pour publier ce livre m'a énormément
appris pour le prochain. Du point de vue rédactionnel pour commencer : j'ai été
très rapide, j'ai parlé d'énormément de choses, sans trop rentrer dans les
détails. Il en a résulté un livre assez court (une grosse centaine de pages). Le
prochain sera beaucoup, beaucoup plus long et détaillé. Ensuite, du point de vue
de la publication : le prochain livre aura son ISBN, ce qui m'ouvrira certaines
portes (en particulier, la publication via de "vraies" plateformes d'édition).
Ces observations me motivent, justifient presque à elles seules l'écriture d'un
second livre. Ça, et la quantité de choses que j'ai à dire de mon vivant...
En ce qui concerne Cyca, je suis un peu déçu de son manque de popularité. Je
l'utilise au quotidien depuis des années, il m'est difficile de croire que ça ne
concerne que moi. Mais au fond, c'est surtout mon projet "laboratoire", celui
grâce auquel j'expérimente des choses, je me tiens à jour pour mon métier de
développeur, et qui m'est utile. Alors je continuerai de l'améliorer et de
proposer de nouvelles fonctionnalités, au moins parce que _moi_ je l'utilise et
c'est tout ce qui compte. Si, un jour, des gens s'y intéressent, c'est du bonus.
Enfin, en ce qui concerne spécifiquement le blog, je ne relève aucune
statistique. Principalement par éthique, et puis parce que ça ne change rien à
mon envie (et besoin) d'écrire. Si, occasionnellement, quand je diffuse un
article un peu plus loin que simplement sur mon blog, et que ça intéresse
quelqu'un, tant mieux. Mais l'essentiel pour moi est de me faire plaisir. Et ce
blog y contribue.
### Dans ma vie personnelle
J'ai toujours été passionné par la paléontologie (certains diront que c'est un
terme masturbatoire pour dire qu'on aime les dinosaures, je dirai que c'est bien
la même chose quand on se dit "fan de sport" et qu'on regarde 22 gus courir
après une baballe à la télé...). Du coup, c'est logique que la plupart de mes
"critiques" de [séries TV](/series/), [films](/films/) et [jeux-vidéo](/jeux-video/)
concernent [_Jurassic Park_](/films/jurassic-park/) et tout ce qui orbite
autour. En particulier les dinosaures. Du coup, j'ai commencé (et déjà bien
entamé) une [collection de figurines Schleich](/collections/figurines-schleich/).
Je me suis abonné à la collection [_Apprendre à philosopher_](https://www.apprendreaphilosopher.fr).
Chaque livre aborde un philosophe en particulier et nous détaille sa vie et son
oeuvre en une centaine de pages. J'ai beaucoup aimé les premiers numéros parce
que les philosophes concernés m'intéressent particulièrement. Mais cet intérêt a
décru à cause de plusieurs facteurs :
- le coût : une quarantaine d'euros toutes les six semaines, considérant que :
- beaucoup de philosophes ne m'intéressent pas du tout
- la qualité, globalement bonne mais occasionnellement assez faible (un des premiers livres semble avoir été écrit à la va-vite et sans relecture, avec des tournures de phrases assez peu convenables pour des livres traitant de philosophie, et bourré de fautes)
J'ai donc les douze premiers numéros, et j'achèterai probablement les numéros ultérieurs dédiés aux philosophes que je valorise réellement.
Il me semble important de préciser que l'abonnement à cette collection s'est
fait bien après la publication de _L'Humain, cette espèce primitive_, et bien
après mon souhait d'entrer en license de philosophie. "Malheureusement", cette
reprise des études ne s'est pas faite, principalement parce que j'ai repris une
activité salariée.
Autre abonnement, dont je suis pleinement satisfait cette fois, au magazine
[_La Recherche_](https://www.sciencesetavenir.fr). Je reçois le mensuel,
les numéros "doubles" et les trimestriels, en papier et numérique. J'apprécie
fortement que les auteurs ne présument pas d'un niveau quelconque : ce n'est pas
de la vulgarisation à proprement parler, et ils n'hésitent pas à employer le
véritable vocabulaire des disciplines abordées. Si on veut en savoir plus, il
faut aller chercher.
Mes lectures de l'année ont toutefois inclus quelques ouvrages de vulgarisation,
mais que j'ai tout de même pris beaucoup de plaisir à lire (tous en anglais - je
me la raconte si vous voulez, mais j'estime que les livres, comme les séries,
films et jeux-vidéos ne méritent d'être lus qu'en version originale ; en plus de
ça, c'est important pour moi de parvenir à le faire).
- [_Until the end of time_](https://books.apple.com/fr/book/until-the-end-of-time/id1478202295) de Brian Greene, (part un peu de travers dans le troisième tiers malheureusement)
- [_Astrophysics for people in a hurry_](https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=1165518487) de Neil deGrasse Tyson, (frustrant, trop court, j'en veux encore !)
- et surtout, [_Sapiens, A Brief History of Mankind_](/livres/sapiens-a-brief-history-of-humankind/),
- [_Homo Deus, A Brief History of Tomorrow_](/livres/homo-deus/),
- et [_21 lessons for the 21th Century_](/livres/21-lessons-for-the-21st-century/) de Yuval Noah Harari, trois livres qui ont confirmé que ma philosophie scientifique et générale allaient dans la bonne direction, même sans bagage académique
Côté jeux-vidéo, cette année j'ai joué à :
- [Factorio](https://steamcommunity.com/app/427520),
- [Jurassic World: Evolution](/jeux-video/jurassic-world-evolution/) et [sa suite](/jeux-video/jurassic-world-evolution-2/)
- [Starbound](https://store.steampowered.com/app/211820)
- Je me suis refait une partie de [Spore](https://store.steampowered.com/app/24720)
- Je me suis payé [Command & Conquer Remastered Collection](https://store.steampowered.com/app/1213210) en tant que grand fan des premières heures de la saga
- La [saga _The Room_](/sagas/the-room/), excellente anthologie de résolution de casse-têtes à ambiance
Comme déjà dit, l'essentiel de l'année a été phagocytée pour mon plus grand
plaisir par tout ce qui est disponible concernant [_Jurassic Park_](/sagas/jurassic-park/).
Je me refait l'intégrale une fois par mois, à peu près... Neuro-atypique, hein.
Attendez quand l'été viendra et que je me referais LOST, vous allez en déguster
de la critique 😇
J'ai aussi beaucoup écrit, et pas que ce que je mentionne dans cet article. Je
tiens aussi un "journal intime", écrit à la plume, que je dédie depuis décembre
2019 à mes prédictions relatives au Covid-19 ainsi que les observations
ultérieures. Ce journal m'a toujours donné raison depuis la crise sanitaire et
me conforte donc à continuer. Un jour, peut-être en sortie de crise, je le
publierai...
### Dans ma vie professionnelle
Au chômage jusqu'en avril, j'ai ensuite trouvé un emploi de développeur Laravel
où je me suis lié d'amitié avec Olivier, neuro-atypique comme moi.
Anecdotiquement, je savais dès les premières réunions d'équipes qu'on allait
bien s'entendre, et l'avenir m'a donné raison ! De quoi donner du grain à moudre
à tous ceux qui me disaient que l'espace professionnel était un terreau fertile
pour les relations sociales, mais je maintiens que ce genre de rencontres,
qu'elles aient lieu au travail ou ailleurs, reste rare.
Cette rencontre m'a d'ailleurs donné l'occasion de voir à quel point on peut me
supporter (ou pas). Je m'amuse quelque peu de voir qu'une fois qu'on a passé un
cap, on accepte plus facilement mon franc-parler, qu'il n'y a plus lieu de se
formaliser. Non pas que mon opiniâtreté s'adoucisse avec le temps (au contraire)
mais elle devient plus tolérable quand on comprend pourquoi elle existe. C'est
moins marrant pour la personne en face, c'est certain... Mais c'est le prix à
payer pour une amitié avec moi. La plupart refuse ce prix ; certains, dont
Olivier, l'acceptent, et de là naît une amitié sincère, mutuelle et durable.
## Mes attentes pour 2022
### Mes résolutions
3440x1440.
Désolé, vieille blague de geek modernisée, je n'ai pas pu m'en empêcher. J'aurai
pu dire "4K" ou toute autre variante, mais 3440x1440 présente l'avantage d'être
ma vraie résolution 😁
### Attentes personnelles
- **Garder mon blog un an de plus**
C'était [ma résolution au 1er janvier 2021](/blog/2021/01/01/introduction/) : je
voulais garder mon blog en vie pendant au moins un an. On y est ! Il y a eu
[une pause](/blog/2021/08/28/de-retour/) due à mon retour à l'emploi depuis
avril, mais mon blog est toujours là, et j'aimerais que ça soit toujours le cas
en 2022, surtout que je viens tout juste d'inaugurer
[mon webring](/tags/webring/) et une nouvelle page pour
[me contacter](/contact/).
- **Publier une nouvelle version de Cyca**
J'ai commencé à y travailler il y a un peu plus d'une semaine, et j'expérimente
un certain nombre de "nouveaux" paradigmes. Étrangement, ces paradigmes
ressemblent à s'y méprendre à ce qu'on je faisais déjà il y a quelques années,
avant que ça tombe en désuétude et qu'on s'y remette en les enrobant de culture
de startups...
Grosso modo, pour ceux que ça intéresse, je travaille avec le framework CSS
[Tailwind](https://tailwindcss.com/). Jusqu'à présent, je mettais mes classes en
dur dans le HTML pour débugger, et une fois satisfait, je crée des classes CSS
qui utilisent le mot-clé `apply`. Sauf qu'en progressant dans la documentation,
je me rends compte que ce n'est pas du tout ce qui est préconisé par les devs.
Il faudrait laisser toutes les classes du framework dans le code HTML et créer
des composants. Un paradigme typique en Javascript, mais auquel je ne suis pas
trop habitué avec Laravel.
J'ai un avis mitigé sur la question. On a toujours dit que les classes CSS dans
le HTML c'est le mal, et qu'il fallait styler les balises HTML plutôt que créer
des ids et des classes dans tous les sens, ce qui permet de garder à la fois un
code HTML propre et un CSS maintenable.
Pour Tailwind, c'est tout le contraire. Il faut mettre les classes CSS "brutes"
(celles fournies par Tailwind) dans le code HTML, et s'il y a répétition, il
faut créer des composants. Du coup, on se retrouve assez rapidement avec des
lignes HTML très longues et difficilement lisibles (en particuliers quand on
utilise les `modifiers` de Tailwind). Franchement, je trouve que c'est pas
propre. Il va falloir que je trouve un consensus.
Coté backend, je suis toujours enthousiasmé par les possibilités de Laravel qui
évoluent constamment, et surtout, qui rendent simples les choses qui me
semblaient auparavent compliquées. De quoi ajouter plein de nouvelles
fonctionnalités à Cyca...
- **Travailler sur mon deuxième livre**
J'ai l'intention d'écrire au moins deux autres livres après
_L'Humain, cette espèce primitive_. La rédaction de chacun de ces livres prendra
sûrement plus d'une année chacun, partant du principe que je ne fais pas ça à
temps plein, que j'ai beaucoup d'autres occupations, et qu'il faut bien payer
les factures. Néanmoins, j'espère avancer un peu sur le deuxième des trois
livres, dont le titre - au moins provisoire - est
_Définition Universelle de l'Intelligence_.
Je dispose "déjà" d'un "genre de structure",
mais l'idée derrière ce nouveau livre est bien plus vaste, et devrait amener à
l'écriture du troisième livre, _La Théorie du Tout_.
La _Définition Universelle de l'Intelligence_ s'intéressera à l'_Intelligence_
sous toutes ses formes et son lien avec la Vie, et comment pourrions-nous
formuler une définition réellemment universelle, englobant _toutes_ les formes
d'_Intelligences_, passées, présentes et à venir, mais aussi celles qu'on ne
connait pas encore. Une question difficile à laquelle nous n'avons pas encore
de réponse, alors qu'il me semble essentiel de disposer d'une telle définition
pour assurer l'avenir de notre espèce et de toutes les autres. Une _DUI_ nous
permettrait de préciser la place occupée par l'humain dans l'univers, d'une
façon beaucoup plus détaillée et spécifique que je ne l'ai fait dans
_L'Humain, cette espèce primitive_.
Le troisième livre, _La Théorie du Tout_, est plus difficile à présenter. J'y
détaillerai ce qui, pour moi, relie _tout_, de l'infiniment grand à l'infiniment
petit, du relatif et de l'absolu, des choses les plus lointaines aux plus
proches, l'existence, le but de la Vie, etc. J'aurai pu, ironiquement,
l'intituler "42"[^1], mais mon approche sera pragmatique, scientifique, et
philosophique. Mais bien que cette théorie soit déjà parfaitement claire dans
mon esprit, la mettre par écrit va constituer mon plus grand défi pour les
années à venir, et la _DUI_ en est un autre à relever en premier. Ainsi, si je
sais que je ne la publierai pas en 2022, j'espère au moins avoir bien avancer
cette année.
[^1]: En référence au [Guide du Voyageur Galactique](https://fr.wikipedia.org/wiki/Le_Guide_du_voyageur_galactique)
- **Pouvoir partir aux États-Unis**
Un projet qui tient particulièrement à coeur à mon épouse, tant elle aime les
États-Unis, leur histoire, leur peuple, certains de leurs dirigeants (et leur
épouse, les Obama pour ne pas les nommer 😛). Et qui _me_ tient aussi
particulièrement à coeur pour au moins trois raisons :
- voyager avec mon épouse, parce qu'on peut le faire parce que j'ai retrouvé une activité salariée
- on y retourne une deuxième fois ; après la Californie en 2016 et un remariage à Vegas, on va visiter le Colorado, fief de la famille de mon autre ami, Christopher
- on va sur les sites de fouilles paléontologiques, et je passerai un après-midi à apprendre des chercheurs eux-même, j'aurai mes outils de fouilles, et je pourrai éventuellement "déterrer un dinosaure" (que je devrais naturellement restituer au parc)
Il va sans dire que l'inquiétude persiste à la vue de la situation sanitaire,
mais le voyage n'est prévu qu'en septembre. Il n'est pas déraisonnable de penser
que ce voyage pourra se faire d'ici-là.
- **Continuer ma collection de dinosaures Schleich**
Il me reste à ce jour à peu près un tiers des figurines à trouver, parmis les
plus rares (en particulier le [_Mosasaurus_](https://www.schleich-s.com/fr/FR/dinosaurs/produits/mosasaurus-15026.html)
et le [_Carnotaurus_](https://www.schleich-s.com/fr/FR/dinosaurs/produits/carnotaurus-14586.html),
respectivement les stars de [_Jurassic World_](/films/jurassic-world/) et de
[_Camp Cretaceous_](/series/jurassic-world-camp-cretaceous/).
Ensuite, j'aimerai me mettre à leur créer des dioramas. Mais j'attends le
printemps pour pouvoir ranger et nettoyer la cave et reconstituer mon atelier.
- **Divers**
J'aimerais une saison 5 à _Camp Cretaceous_ et _Castelvania_, une saison 3 à
_The Witcher_, la mise à disposition de
_Who's the boss?_ et _Step by Step_ sur les plateformes de vidéos à la demande.
Peut-être aussi de nouvelles saisons à _Love Death + Robots_ et _Black Mirror_.
Et plus d'épisodes à _The Movies/Games/Toys that made us_.
J'aimerais quelques addons pour _Jurassic World: Evolution 2_.
J'aimerais que Free se positionne sur la fibre optique dans mon village, si déjà
on a l'infrastructure, parce qu'il est absolument hors de question que je passe
chez Orange ou SFR.
J'ai envie d'assister à une conférence Apple avec Christopher _et_ Olivier (par
messagerie instantanée).
Et, évidemment, si je pouvais voir _Jurassic World: Dominion_ dans une salle
américaine, je serai comblé, mais je me contenterai de la mise à disposition
rapide d'un blu-ray ou d'un coffret collector de ouf réunissant toute la saga.
### Attentes pour le monde
- **Ne plus entendre les gens se plaindre du Covid-19 et de ses conséquences sociales**
Pendant les fêtes, les gens sont déprimés en cette année 2021. Comme ils
l'étaient en 2020, en 2019, en 2018, et chaque année avant cela. La déprime des
fêtes de fin d'année n'a rien à voir avec le Covid, et j'aimerais bien que tout
le monde en prenne conscience. Les fêtes de fin d'année ne prouvent qu'une
chose : que la "magie de Noël", c'était quand on était gosse et pour les films
sentimentaux. C'est de la science fiction dans le monde des adultes. Ce qui se
passe réellement est similaire à la découverte par un enfant que le Père Noël
n'existe pas. La déprime des fêtes, c'est la découverte par les adultes que leur
famille est trop dysfonctionnelle pour passer les réveillons ensemble. En outre,
on persiste à fêter un non-évènement, religieux de surcroit, dans un pays qui se
veut laïque ; c'est à n'y rien comprendre.
Du coup, j'aimerais bien (dans le sens : "ça me ferait plaisir") que les gens
ne dépriment pas pendant les "festivités" en décembre 2022. Tout simplement
parce que ça voudrait dire qu'ils ont enfin compris que "le Père Noël n'existe"
pas, mais aussi que le Covid n'y est pour rien.
Dans un tout autre registre (et je rappelle, à ce titre, que j'ai déjà écrit
[un article sur la question en avril](/blog/2021/04/01/covid-19-vous-avez-tous-tort/))
ça ne sert à rien de pester contre les prises de décision du gouvernement si, de
son côté, le peuple fait de la merde. Si le peuple continue de se rassembler,
d'ignorer les règles d'hygiène les plus élémentaires, sous des prétextes
dangereusement fallacieux du genre "on me prive de mes libertés" ou "la vie
c'est de la merde si on s'amuse pas", il ne faut pas s'étonner que les mesures
légales se renforcent (et surtout, que le virus continue de se répandre).
Internet nous offre des interactions sociales compatibles avec l'existence d'une
menace virale globale, pourquoi ne s'en servir que pour communiquer notre haine
des autres, surtout si on prétend être une espèce sociale et "intelligente" ?
Non, on ne reprendra pas "notre vie d'avant". Il n'y a pas de "vie d'avant", et
la "vie d'avant" n'était pas franchement mieux. Mais il n'y aura pas de "vie
d'après" non plus tant que les gens continueront d'être aussi égoïstes. On est
censés être une espèce qui s'est adpatée à toutes les conditions de vie, nous
avons survécu à d'autres pandémies (et à d'autres catastrophes), on a juste
oublié le prix qui a été payé pour y parvenir.
## Mes prédictions pour 2022
- [ ] 😤 La pénurie de composants électroniques, associée aux taxes sur l'importation du matériel électronique depuis la Chine, va encore m'empêcher de mettre à jour mon PC de jeu
- [ ] 😤 Le Covid-19 et ses variants vont toujours être là, mais de nouveaux médicaments vont permettre de s'affranchir des injections trimestrielles ; les gens vont rester sales et vont toujours vouloir se rassembler, par contre...
- [ ] 🥲 James Webb va nous fournir les meilleures images de l'espace jamais vues jusque là
- [ ] 🤔 Les téléphones pliables vont faire un flop à cause de la fragilité des écrans
- [ ] 🥵 L'été 2022 va être très chaud, l'hiver très froid 🥶 - de nouveaux records de température vont être établis, et les phénomènes météorologiques vont s'intensifier
- [ ] 🤔 Quelqu'un, peut-être Microsoft, va racheter la fondation Raspberry Pi
- [ ] 😓 Encore des fuites de données massives de la part d'entreprises qu'on pense être à l'abri
- [ ] 😻 L'arrivée d'un nouveau chaton dans la famille, et peut-être de nouvelles poulettes 🐓
## Conclusion
Gardez le moral en 2022. Embrassez l'inéluctable. Protégez-vous et protégez les
autres, et si vous êtes trop égoïstes pour ça, protégez au moins vos proches,
ceux que vous aimez. Vous êtes tous des clusters potentiels, et si vous ne
voulez pas que ça dégénère - plus que ce que vous pensez à l'heure actuelle -
gardez ça à l'esprit. Allez sur la Wikipédia, regardez les articles concernant
les anciennes pandémies ([Peste noire](https://fr.wikipedia.org/wiki/Peste_noire),
[Grippe espagnole](https://fr.wikipedia.org/wiki/Grippe_espagnole),
[Grippe asiatique](https://fr.wikipedia.org/wiki/Grippe_asiatique) et
[Grippe de Hong Kong](https://fr.wikipedia.org/wiki/Grippe_de_Hong_Kong), et
en particulier, intéressez-vous aux conditions de vie et aux mesures politiques).
Ça devrait vous aider à relativer vos pertes de liberté, et remettre en
perspective la gravité réelle du Covid avec ces autres pandémies.
Au-delà de ça, prenez les choses en main avec vos familles. Si elles sont
réellement dysfonctionnelles, ce n'est pas un repas de famille à Noël qui va
résoudre le problème. Soit vous acceptez que la famille n'est pas ce qu'il y de
plus important, soit vous faites quelque chose pour y remédier. Personne ne le
fera pour vous. Quand on a un problème, on le résoud.
Attendez-vous à plus de catastrophes naturelles. Plus de chaud, plus de froid,
plus d'humidité, pour les plus chanceux. C'est pas faute d'avoir prévenu depuis
longtemps, encore une fois. Et arrêtez de vous en plaindre, c'est de votre faute,
vous qui utilisez une voiture pour faire 500 mètres, vous qui jetez vos masques
dans la rue, vous qui ne recyclez pas, etc.
C'est déprimant ? La vie ne vaut d'être vécue que si c'est fun ? À vous de voir,
votre vie est bien triste si vous n'êtes capables de rien faire sans risquer
votre vie ou celles des autres. Tout ce qui se passe en ce moment peut être une
opportunité, un foisonnement d'opportunités. Libre à vous de ne considérer tout
cela que comme un accident de parcours, mais ça serait un beau gâchis.
Vous faites partie de l'espèce humaine. Pendant 45 000 ans, nous avons été
l'espèce qui s'est le mieux adapté, qui a colonisé tous les environnements, qui
a envoyé ses membres sur la lune, qui a acquis des connaissances qu'aucun autre
animal ne pourra jamais posséder. Nous sommes aussi l'espèce responsable de la
sixième grande extinction. Mais vous pourriez faire de l'Humain, en 2022,
l'espèce qui a corrigé ses erreurs, qui a recitifé le tir, qui a évité le pire.
2022 peut vous fournir cette opportunité. C'est ça la bonne nouvelle, c'est le
meilleur que je nous souhaite à tous pour cette nouvelle année. Même si ça
aussi, c'est un non-évènement en soi...

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ead0728ef50f825bcce63eadbaab9752b3186a46732424700a73dc0c17bc2620
size 479236

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e817648b0bdec749ef4cf02d03ace040bbbe32a4fb155e3c81866e0b436d027
size 559635

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:134b0a04075ab303ef7db5b18830708776946c51d0e94d9d4f4ecc859cacde77
size 295638

View File

@ -0,0 +1,329 @@
---
title: À la recherche du clavier parfait - Étape 1
sub_title: Introduction
date: 2022-01-08T00:39:56+01:00
tags: [
"Hardware",
"Clavier",
"Matériel",
"Corsair",
"Skyloong",
"60%",
"Mécanique",
"Cherry MX",
"Gateron",
"Kailh",
"Switches",
"Keycaps",
]
---
## Introduction
Depuis aussi longtemps que je puisse me rappeler, on m'a toujours dit que
j'étais né avec un clavier dans les bras. C'est mon outil de travail aussi bien
que de loisir. Si j'étais un GI, ce serait mon M1. Je ne lui ai pas donné de nom
mais je le tripotte plus que n'importe quoi d'autre.
Trouver clavier à sa main n'est pas chose aisée, et j'en ai rarement gardé un
plus d'un an. Seule exception, mon premier clavier mécanique digne de ce nom
que j'ai gardé presque dix ans ! Il est désormais temps pour lui de tirer sa
révérance.
Mon titre est peut-être quelque peu optimiste : si vous êtes déjà passé par le
processus d'achat d'un clavier ultime, vous savez déjà tout ce que je m'apprête
à raconter, mis à part quelques détails qui vous sont propres. Mais, comme
d'autres le font en vidéo, je partage avec vous mon expérience rédigée.
## (Bref) panorama de l'existant
### Tailles
Le format auquel tout le monde est habitué est le 108 touches "plein-format",
avec pavé numérique, touches fléchées et touches de fonction. Il y a des
claviers avec plus de touches (par exemple, deux lignes de 12 touches de
fonctions ou avec des touches "macros"), mais c'est surtout vers la compacité
que s'orientent les "_enthusiasts_", les hobbyistes et les passionnés. On trouve
donc facilement des _tenkeyless_ (amputés du pavé numérique, autrement appelés
80%) et - beaucoup moins facilement - des 40% (parce que dotés de 40% des
touches d'un clavier "classique"), avec un certain nombre de
variations entre les deux.
Vous pouvez voir [sur cette page](https://tech-fairy.com/keyboards-form-factors-explained-full-size-100-1800-compact-96-tenkeyless-tkl-87-80-1800-compact-75-60-40-tenkey-5/)
un aperçu des différents _form-factors_ qu'on peut trouver dans le paysage.
En ce qui me concerne, je veux opter pour un clavier 60%, beaucoup moins extrême
qu'un 40% : il conserve la ligne de chiffres à son sommet par exemple.
Je ne suis intéressé ni par les claviers _splittés_ (une moitié de
clavier dans chaque main, comme le [Moonlander](https://ergodox-ez.com)) ni par
les claviers ortholinéaires (dont les touches sont placées dans un repère
orthogonal, alignées horizontalement et verticalement, comme sur le
[Plank](https://ergodox-ez.com/pages/planck)). Avant
de me jeter la pierre, permettez-moi de préciser cette pensée.
### Dispositions
On n'y pense pas toujours, mais la disposition des touches de nos claviers
d'ordinateurs est calquée sur celle des machines à écrire d'antant, et destinée
à limiter les problèmes d'entremêlement des marteaux actionnés par les touches
et qui vont frapper un ruban encreur sur le papier. Le décalage des touches de
nos claviers d'ordinateurs est un héritage de cette disposition physiquement
nécessaire à l'écartement entre les marteaux, et les dispositions QWERTY
(presque partout dans le monde) et AZERTY (en France) (et certaines variantes
locales comme le QWERTZ) limitent la fréquence d'utilisation de marteaux
voisins.
Ces contraintes n'existant plus sur ordinateur, certains jugent que ni le
décalage horizontal des touches ni leur disposition ne sont pertinents de nos
jours. En conséquence, on devrait pouvoir utiliser les claviers orthogonaux
et avec des dispositions de touches plus appropriés à une utilisation moderne,
par exemple le Bépo ou le Dvorak, conçues spécifiquement en fonction de la
fréquence des mots et des lettres employés en français et en anglais.
Tout cela, je le sais, et je l'entends. J'entends aussi qu'en France on aime
bien l'AZERTY pour des raisons qui m'échappent totalement (hello les majuscules
accentuées...).
En ce qui concerne les claviers orthogonaux, pardon mais mes mains ne sont pas
à 90 degrés sur un clavier standard. À la limite, je peux comprendre cette
disposition sur un clavier _splitté_, mais l'orthogonal sur un clavier non
_splitté_ (qui plus est, de petite taille), c'est un bon moyen de se flinguer
les poignets, à mon humble avis.
Quant au QWERTY, je ne transige pas : c'est, selon moi, une excellente
disposition pour tout à la fois coder et écrire en français et en anglais. Pour
mon usage, c'est parfait.
Je ne (dé)conseille pas ces dispositions. J'estime simplement qu'à ce jour,
elles ne me conviennent pas, mais leur existence est une bonne chose : il y a du
choix, il y en a pour tous les goûts et c'est le plus important.
### Technologie
De tête je peux citer au moins trois technologies différentes en ce qui
concerne les switches (les touches, les interrupteurs du clavier) :
- les touches à membrane, principalement utilisées sur les claviers grand public pour PC de bureau
- les touches à ciseaux, principalement utilisées sur les ordinateurs portables pour leur compacité
- les touches mécaniques, incluant les touches optiques
Dans une touche à membrane, une membrane de plastique souple bombée est poussée
par le capuchon de la touche, ce qui provoque un contact électrique au niveau du
circuit imprimé du clavier. Avec le temps, cette membrane perd de son élasticité
et de sa résistance. Ce sont les touches les moins fiables.
Dans une touche à ciseaux, le capuchon (_keycap_) de la touche repose sur une
paire d'étriers disposés... en ciseaux. Cela permet de réduire la hauteur de la
touche, mais présente toutefois l'inconvénient d'être fragile. La durée de vie
de ces touches peut être plus importante que celles à membranes, à condition que
les matériaux employés soient de bonne qualité : on peut espérer atteindre le
million de frappes avant la défaillance de la touche, dans de bonnes conditions.
Les touches mécaniques sont les plus complexes, mais aussi les plus fiables -
contre-intuitivement. Ce sont aussi celles qui offrent les meilleures
sensations, selon moi. Elles sont constituées d'un ressort et d'un contact
métallique. Dans le cas de touches optiques, le contact métallique est remplacé
par une barrière infrarouge. Une touche peut survivre à plus de 100 millions de
frappes, selon les modèles (et les chiffres des constructeurs).
Il existe plusieurs types de touches mécaniques en fonction de la sensation
recherchée : les touches dites "linéaires" ont une course constante pendant
l'appui, quand les touches "tactiles" reproduisent le comportement des touches
à membrane. Les touches "clicky" ajoutent un bruit caractéristique qui ne
conviendra pas à tout le monde.
Certains constructeurs (comme Cherry, Gateron, Razer, etc.) proposent une
classification des touches par couleur (généralement brun pour du tactile et
bleu pour du "clicky"), et on peut trouver un vaste assortiment de ces couleurs,
allant du vert au jaune "banane", en fonction de la profondeur d'activation (la
distance parcourue par la touche avant que son appui soit pris en compte), la
force requise pour appuyer sur la touche, etc.
D'autres technologies plus ou moins exotiques existent, telles que les claviers
projetés sur une surface par un laser. C'est marrant pour se la péter comme dans
les films de science-fiction, mais je ne me vois pas développer ou écrire toute
la journée de cette façon.
## Cahier des charges
Je **veux**, donc non négociable :
- un clavier mécanique
- une disposition ANSI (c'est-à-dire QWERTY américain)
- du rétro-éclairage par touche
- une compatibilité Linux **et** Mac au minimum (au niveau du logiciel de configuration)
- des switches tactiles et/ou clicky (voir ci-dessus)
Avec, optionnellement :
- le bluetooth, peu importe la version à partir du moment où la connection est stable et compatible avec les ordinateurs Apple
- la possibilité de changer les switches
Et, idéalement :
- 60%
- sexy
## Mon ancien clavier
Mon ancien clavier est donc un Corsair Strafe RGB, _full-size_ (c'est-à-dire
avec pavé numérique sur le côté, touches fléchées, touches de fonctions), équipé
de switches Cherry MX Brown. Un excellent clavier au rétro-éclairage lumineux et
dont la colorimétrie est très acceptable - comprendre par là que quand je
demande du blanc, j'ai une couleur très proche du blanc).
<x-shortcodes.imgproc url="images/IMG_0055.jpeg" />
Ses keycaps sont excellents, même si à la longue la fonte _gamer_ devient
lassante. Exception faite des keycaps destinés aux touches WASD au revêtement
_soft_ qui ont fini par être tellement usés qu'on ne distingue plus les lettres.
Dans tous les cas, ces touches étaient bien adaptées au rétro-éclairage et
restaient lisibles, même au niveau de luminosité le plus faible.
Les touches Cherry MX Brown sont de type "tactile" : il y a une légère
résistance au moment où la frappe sur la touche est enregistrée. C'est idéal
pour développer ou écrire. Pour jouer, c'est moins agréable que des touches
dites "linéaires" (telles que les Cherry MX Red ou Black), mais c'est tout à
fait acceptable.
Caractéristique que j'appréciais mais dont je peux me passer : la présence d'un
port USB déporté sur le clavier (_pass-through_) qui permet de connecter un
autre périphérique comme une clé USB. Pratique.
Par contre, vu que c'est un clavier _full-size_, il prend beaucoup de place sur
le bureau...
En outre, le revêtement du repose-poignets accroche les saletés, et est très
difficile à nettoyer.
Il y aurait encore beaucoup de choses à dire mais ce n'est pas l'objet de cet
article, je voulais juste vous dire d'où je pars pour accomplir ma quête du
clavier parfait.
## Mon premier clavier non "_mainstream_"
Pour remplacer un clavier qui rempli déjà une grosse partie de mon cahier des
charges, il faut forcément que je m'oriente vers des solutions moins grand
public. Courageux mais pas téméraire, je ne veux pas prendre de risques à
acheter dans une boutique située à l'étranger (au cas où je souhaiterais le
retourner). Le problème, c'est qu'en France, on ne vend pratiquement que de
l'ISO (donc, AZERTY français). Les références en ANSI ne sont pas légion.
On trouve pourtant sur Amazon quelques modèles, et notamment le
[Skyloong SK61](https://www.amazon.fr/gp/product/B08BC4GD6G/)
que je viens d'acheter. Presque trois fois moins cher que ce que j'ai payé le
Corsair, il se trouve à moins de 60€.
Je poursuis deux objectifs avec ce clavier :
- déterminer si le format 60% me convient
- déterminer si les touches "clicky" me conviennent
Concernant le format, je suis conquis : cela nécessite un petit temps
d'adaptation parce qu'on fait un usage massif de la touche Fn, mais je trouve
que cela fait sens. Sur un clavier 60%, on abandonne des touches rarement
utilisées pour les remplacer par des combinaisons dont l'adoption se révèle
plutôt rapide.
<x-shortcodes.imgproc url="images/IMG_0057.jpeg" title="Le Corsair en haut, le Skyloong en bas..." />
Concernant les touches "clicky", il s'agit de switches Gateron Optical Blue.
Ils sont donc optiques, ce qui signifie que l'ordre "touche pressée" est envoyé
lorsqu'un faisceau infrarouge est bloqué par la pression de la touche, là où sur
des switches purement mécaniques c'est un contact métallique qui produit
l'ordre. Il en résulte une frappe plus fluide, qui n'offre pas la même sensation
qu'un switch mécanique "pur".
Les chiffres me donnent tort, mais j'ai en tout cas la sensation que ces
switches Gateron Optical Blue sont plus rigides que les Cherry MX Brown du
Corsair (ils sont tous deux censés réclamer une force de 55cN). C'est un peu
plus fatigant de taper avec ce clavier qu'avec le Corsair, mais c'est peut-être
également dû à la profondeur d'activation (les Gateron s'activent à 2.3mm quand
les Cherry s'activent déjà à 2mm).
Malgré sa robustesse et sa qualité de fabrication, le Skyloong souffre de
quelques défaut qui vont me conduire à opter pour un clavier plus cher (et ce
sera l'objet de l'Épisode 2, à venir au mois de février ou mars).
Car, pour un clavier à ce prix, on ne peut pas lui reprocher d'être fragile. Le
plastique employé est épais, et plutôt bien fini. Il est très rigide, lourd
comparativement à sa taille. Je m'attendais à beaucoup plus _cheap_. Il est
livré avec un cordon USB-c tressé.
Malheureusement, c'est manifestement sur le rétro-éclairage que le budget a été
coupé. Bien qu'il soit possible de gérer sa luminosité sur une plage très large,
elle reste assez faible, et surtout, les LEDs employées sont franchement bas de
gamme. Quand on demande du blanc, on se retrouve avec une très forte dérive
colorimétrique vers le rouge: le blanc apparait rose. Ça se corrige assez
facilement même si l'on perd encore en luminosité au passage en choisissant une
teinte plus verte. Ce n'est pas parfait mais plus acceptable. Mais cela ne
compense pas une très mauvaise capacité à mélanger les teintes primaires :
le rouge, le vert et le bleu sont parfaitement visibles sur chaque LED, là où on
s'attend à voir du blanc.
<x-shortcodes.imgproc url="images/IMG_0057.jpeg" title="Sur cette photo, le rétro-éclairage semble bien blanc et lumineux alors qu'il n'en est rien dans la vraie vie... (notez la fuite de rouge au-dessus de la touche de verrouillage majuscule, du W et du E, de rouge et de bleu sous la touche -, et notez la teinte rouge en haut et verte en bas de chaque caractère, c'est discret sur la photo, insupportable en vrai)" />
L'autre gros reproche que j'ai à faire à ce clavier est la fonte employée sur
les keycaps. Elle rend difficile la lisibilité de certains caractères, alors
qu'elle est déjà fortement réduite par les keycaps eux-même (et par le manque
de luminosité du rétro-éclairage).
Deux autres "détails" que j'ai noté mais qui ne me choquent pas sur un clavier
de ce prix : l'absence de réglage de l'inclinaison, et j'aurai souhaité un
cordon coudé.
En ce qui concerne la frappe, elle est plutôt bonne, sauf sur les touches larges
et en particulier la barre Espace, où la stabilisation n'est évidemment pas du
niveau de certains claviers _flagship_. Je m'attendais à un bruit plus
"caverneux", produisant des vibrations et des échos désagréables, mais le
clavier est beaucoup moins creux et beaucoup plus robuste que je le pensais. Du
coup, il n'y a pas vraiment de bruits parasites, en tout cas lorsqu'il est posé
sur un tapis de bureau.
Un point sur lequel j'ai été inattentif est le modèle du clavier. Il s'agit d'un
SK61, donc dépourvu de bluetooth (le modèle avec bluetooth est estampillé
SK61S).
Le clavier affiche une compatibilité avec macOS et Windows. Et, en effet, le
logiciel tourne sur macOS Monterey sans aucun soucis. Par contre, il n'est ni
ergonomique ni intuitif ! Simplement changer la couleur des touches est très
compliqué (il faut créer un profil de couleurs dans un onglet, l'assigner au
clavier dans un autre onglet, enregistrer, appliquer, etc.). Par contre, il est
très complet puisqu'il permet de configurer jusqu'à trois "couches" de touches,
tout un tas de macros, d'effets d'éclairage sapin de Noël/discothèque/boule
disco, avec des réglages spécifiques à Windows et d'autres pour macOS, le tout
pouvant être stocké dans la mémoire du clavier (jusqu'à un certain point que je
n'atteindrai jamais).
Je m'estime assez sévère avec ce clavier, mais je ne le dénigre par pour autant.
Je l'ai acheté en sachant qu'il y avait de fortes chances pour que ce ne soit
qu'une étape vers quelque chose de plus haut de gamme. Je m'attendais à être
déçu au point de le renvoyer à Amazon, mais malgré les reproches que j'ai à lui
faire, j'ai décidé de le conserver.
Premièrement, pour bien m'habituer au format, à l'utilisation des combinaisons
de touches, à la gestion des "couches", et pour jouer un peu avec les macros.
Ensuite parce que je l'ai choisi pour sa versatilité : les switches sont
remplaçables (si je ne m'habitue pas aux Gateron Optical Blue, je peux passer à
des Brown, voire aux autres types de switches optiques proposés par Gateron), de
même que les keycaps - par voie de conséquence. Évidemment, je ne peux pas
corriger les défauts du rétro-éclairage, mais je peux améliorer quelques trucs.
Enfin, parce que je compte m'en servir comme clavier d'appoint une fois que
j'aurai acquis mon clavier "définitif" : solution de remplacement en cas de
panne (comme c'est actuellement le cas, mon Strafe étant fatigué au point de me
doubler certaines touches ou d'oublier certaines frappes), clavier mobile pour
le brancher et débrancher quand j'en ai besoin sur les serveurs, etc.
## Conclusion
L'un dans l'autre, je suis content d'avoir acquis ce clavier parce que je peux
me faire une idée beaucoup plus précise de ce que j'attends et de ce que je peux
espérer.
Par exemple, si je suis content de la qualité des plastiques employés sur ce
clavier de gamme moyenne, j'imagine que je serai exstatique face à un clavier
en aluminium ! Si les switches Gateron Optical Blue ne me donnent pas entière
satisfaction, je peux revenir à des Cherry MX Brown sur le prochain clavier. Le
choix des keycaps est pléthorique, et je sais déjà que je peux en trouver des
magnifiques, durables et agréables au toucher.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ead0728ef50f825bcce63eadbaab9752b3186a46732424700a73dc0c17bc2620
size 479236

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e817648b0bdec749ef4cf02d03ace040bbbe32a4fb155e3c81866e0b436d027
size 559635

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:134b0a04075ab303ef7db5b18830708776946c51d0e94d9d4f4ecc859cacde77
size 295638

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:353ffed93f08183eec7485cd28cc514a2c6cad3671ec60acb6a3dd635caa3e4a
size 220136

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dd46bea3f39259ba3a63a41e5b19c39ff9d6126c42c05dd75ca371af12a0b293
size 330239

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe8deecada0900b4532805dfcf7de51cc97005fe3705358a9633bd5183166b8a
size 227990

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:60c23d2da1752a79fe1c1783f54922a2771456b4a65b43289cf05a91db6b10a3
size 390833

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:148336f2f28690df88cb64e2b72ffbd5571ac7293b212cf42938f2326005aaf8
size 157061

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a3513bc46f3e90c7cb5f32784a6402f54341d06bde5cf525750b50a64d3ebd97
size 102279

View File

@ -0,0 +1,123 @@
---
title: À la recherche du clavier parfait - Étape 2
sub_title: Pré-sélection
date: 2022-01-09
tags: [
"Hardware",
"Clavier",
"Matériel",
"60%",
"Mécanique",
"Keychron",
"GMMK",
"Switches",
"Keycaps",
"Ducky"
]
---
Après [mon article introductif](/blog/2022/01/08/a-la-recherche-du-clavier-parfait-etape-1/),
j'ai reçu quelques commentaires et suggestions de la part de mes visiteurs, et
je les en remercie chaleureusement ! Bien que j'avais déjà effectué une première
sélection personnelle, ces messages m'ont permi d'affiner ma recherche.
La deuxième étape de ma recherche du clavier parfait consiste donc à faire un
premier tri dans l'offre actuelle, en me basant sur les critères qui sont les
plus importants pour moi et que je rappelle ici :
- 60%
- switches remplaçables (donc non soudés au PCB)
- bonne qualité de construction et de finition
- câble USB remplaçable
- bonne qualité du rétro-éclairage (colorimétrie et puissance)
- compatibilité macOS et Linux
Je laisse tomber le critère "bluetooth". Il semble difficile de trouver des
claviers avec une connexion sans-fil stable et réactive, même sur des modèles
haut de gamme.
## Keychron K12
<x-shortcodes.imgproc url="images/Keychron-K12-Wooden-palm-rest_1800x1800.jpg - copie.jpg" />
- [Site officiel](https://www.keychron.com/products/keychron-k12-wireless-mechanical-keyboard?variant=39299048276057)
- [x] 60%
- [x] switches remplaçables (en option)
- [x] câble USB-c vers USB-c remplaçable (prévoir un adaptateur vers USB-A)
- [x] compatible macOS et Linux
- [ ] aluminium et ABS, le boitier semble bien construit mais les keycaps semblent en retrait d'après les commentaires sur Keychron - ça se change, mais c'est un coût à prendre en considération
- [ ] toujours d'après les commentaires, le rétro-éclairage semble faiblard
- [ ] pas de logiciel de configuration ?
## Keychron Q2
<x-shortcodes.imgproc url="images/Keychron-Q2-custom-mechanical-keyboard-fully-assembled-version-black-blue_1800x1800.jpg - copie.jpg" />
- [Site officiel](https://www.keychron.com/products/keychron-q2-qmk-custom-mechanical-keyboard?variant=39610695680089)
- [x] 65%
- [x] switches remplaçables (en option)
- [x] câble USB-c remplaçable
- [x] compatible macOS et Linux
- [x] firmware libre et logiciel de configuration
Ce clavier m'intéresse beaucoup du fait son utilisation d'un firmware libre
([QMK](https://qmk.fm)) et du logiciel [via](https://caniusevia.com). J'ai
quelques réserves, par contre, en ce qui concerne la disposition (si je dois
utiliser fréquement une touche de fonction près des touches fléchées, je vais
sûrement m'emmêler les pinceaux...) et le rétro-éclairage, en particulier avec
les keycaps fournis par défaut.
Il n'est pas encore disponible à la vente à l'heure où j'écris ces lignes.
## GMMK Compact
<x-shortcodes.imgproc url="images/glorious_gaming_gmmk_compact_keyboard_11_1000x.png" />
- [Site officiel](https://www.pcgamingrace.com/products/the-glorious-gmmk-compact-pre-built)
- [x] 60%
- [x] switches remplaçables (en option)
- [x] câble USB-c vers USB-c remplaçable sur les barebones (prévoir un adaptateur vers USB-A)
- [ ] compatibilité avec macOS apparemment compliquée
## Kemove Snowfox/Shadow
- [Site officiel](https://www.kmovetech.com/kemove-61-key-white-p0023-p0075.html)
- [x] 60%
- [x] switches remplaçables
- [x] câble USB-c remplaçable
- [x] rétro-éclairage apparemment satisfaisant
- [ ] logiciel de configuration uniquement disponible sous Windows
Il m'a été recommandé par mail par [Ludovic Dine](https://ludwigdn.dev),
lui-même possesseur de ce clavier depuis près d'un an. Il relève un
rétro-éclairage satisfaisant, mais un bluetooth encore capricieux...
<x-shortcodes.imgproc url="images/kemove.jpg" />
## Ducky One 2 Mini
<x-shortcodes.imgproc url="images/ducky-one-2-mini.png" />
- [Site officiel](https://www.duckychannel.com.tw/en/One-2-Mini-Skyline)
- [x] 60%
- [x] câble USB-c remplaçable
- [x] sexy !
- [ ] switches non remplaçables
- [ ] pas de logiciel de configuration
L'impossibilité de changer les switches m'embête un peu. Je pinaille peut-être,
mais il se peut que je souhaite disposer d'un toucher particulier pour certaines
touches spécifiques. En outre, c'est mieux pour la réparabilité du clavier, même
si la durée de vie des switches est censée être très longue.
## Custom
Un clavier 100% custom, en achetant séparément le boitier, le PCB, les switches
et les keycaps. Ça me plairait bien, à condition de trouver des revendeurs qui
ne sont pas légion en Europe...
Bon par contre le full custom commence à chiffrer : on serait pas loin de 300€.
Mais il s'agirait d'un clavier que je conserverai longtemps, très longtemps, et
avec un confort et une qualité de frappe personnalisés que je ne retrouverai
probablement pas sur des claviers pré-conçus...

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:378b76d40351da9ece919ab5b26fe663075882bafcb67bc5731d10471f6c406d
size 1362015

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:951dbef08aa483f68969a2f85d4f89253a7c5896e9a3ccd73f80db20c3ae2c04
size 101094

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6c70d04cb56843eeb14b06a45f531e85f128d169a4c41046701b98538a9c541e
size 146857

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b872d6493eb3b00f77733694776f0d00b12cb62548ab93ee1da0bccb2e6a13c1
size 75028

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4397f09ea73ad71d572609e73588f0b3b73ed3c106f830121186202298532157
size 157640

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f152ab623d8a3d0243e49d64f29c27c3681e96847b160dc46cc84d38d283afd8
size 299491

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ef0eb181cfda400f352efc07ca3d6319ce9b4f9796d7f1d183e3d93b73798f24
size 117606

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7ad67cee4b13818c26795cecf523d49f580996a66c867a063a3fc92516cb890b
size 371168

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4f14aa9cf9972400bab7a51d07ec35695f07506295563e4965b08bdfe188f622
size 370478

View File

@ -0,0 +1,387 @@
---
title: À la recherche du clavier parfait - Étape 3
sub_title: Un clavier 100% custom ?
date: 2022-01-11
tags: [
"Clavier",
"Mécanique",
"Matériel",
"Custom",
"Keycap puller",
"Switch puller",
"Glorious",
"NPKC",
"KBDFANS",
"DZ60",
"Cherry MX",
"Kailh",
"Switches",
"Keycaps",
"Drop"
]
---
Après avoir effectué une [première sélection](/blog/2022/01/09/a-la-recherche-du-clavier-parfait-etape-2/),
**j'ai finalement décidé de me lancer dans la création de mon propre clavier**.
C'est quelque chose que j'ai toujours voulu faire, en rêvant sur les claviers
custom d'Internet. Aujourd'hui, c'est à ma portée, et j'ai besoin d'un nouveau
clavier qui corresponde réellement à mon usage. Je vais condenser ici ce que
j'ai pu trouver comme informations concernant la fabrication d'un clavier
_custom_. Je vous invite à me [contacter](/contact/) si
vous souhaitez contribuer, et je me ferai un plaisir de mettre à jour cet
article en conséquence (et merci à ceux qui l'ont déjà fait !).
Je sais que je me lance dans quelque chose de long et compliqué, mais ça me
plait (je dirai même que ça me correspond[^1]...). Je sais que je n'aurai pas toutes
les pièces détachées en même temps, que je ne pourrais pas le monter ni même
l'utiliser rapidement, et qu'il me faudra des mois de patience avant d'arriver à
mon résultat final.
[^1]: Référence à Kaamelott...
Un mot, d'ailleurs, à ce propos. Il semble que deux "idéologies" s'opposent dans
la communauté des créateurs de claviers custom à propos de la "finalité" d'un
_build_. D'un côté, il y a ceux qui ont l'intention de créer le clavier parfait,
qui prend des mois, ou parfois des années, avant d'être _terminé_, c'est-à-dire
avant qu'il corresponde à une idée précise de confort et de qualité de la part
de son concepteur. De l'autre côté, il y a ceux pour qui l'achèvement d'un
clavier ne représente que le commencement du suivant, qu'il est impossible
d'atteindre la perfection parce que notre propre notion de perfection change au
cours du temps.
Il m'est impossible, à ce jour, de prétendre appartenir à l'une ou l'autre de
ces idéologies. Je me lance dans la création de ce clavier avec l'objectif qu'il
me tienne au moins dix ans, c'est-à-dire la durée que m'a tenu le Corsair Strafe
RGB dont je parle dans le [premier article de cette série](/blog/2022/01/08/a-la-recherche-du-clavier-parfait-etape-1/).
Je n'ai pas l'intention d'en créer un autre pendant cette période. Je n'ai pas
l'intention de les fabriquer à la chaîne. Ma motivation est d'obtenir le
meilleur outil destiné à mon travail en combinant les meilleures pièces
détachées disponibles (comprendre : les plus adaptées à mes besoins et mes
préférences). Mais il se peut aussi que la passion m'emporte... L'avenir nous le
dira !
C'est indiqué sur toutes mes pages mais je rappelle ici que je n'ai aucune
affiliation avec les boutiques en ligne mentionnées sur mon site. Je ne donne
aucun prix. Déjà parce que j'ai la flemme, et ensuite parce que le prix et la
disponibilité de certains produits sont très variables. Je vous laisse le soin
de guetter les bons plans 😉
## Outillage
Je fais un peu d'électronique, je dispose donc déjà d'un équipement de base
comprenant un fer à souder, des tournevis de toutes les tailles et de toutes les
formes, des spatules de petites dimensions, des pinces adaptées à la
manipulation de très petites pièces, des pinces plates, des pinces coupantes,
des clés Allen de toutes tailles, etc.
À cet équipement de base vont s'ajouter quelques outils et accessoires
spécifiques à la construction de claviers custom.
Tout ce que j'indique ici pourra être acheté en priorité, et en plusieurs
exemplaires, histoire de voir venir.
### Outils
En premier lieu, l'extracteur de keycaps et l'extracteur de switches. Ceux
parfois fournis avec les claviers prebuilt semblent en effet de mauvaise qualité
et, puisqu'on va manipuler des objets qui peuvent coûter cher avec le risque de
les abimer ou les casser, il vaut mieux investir quelques euros dans des outils
adaptés. Par exemple :
- [keycap puller](https://keygem.store/collections/tools/products/keycap-puller) de chez Keygem
Je pense qu'il vaut mieux privilégier les extracteurs dotés de deux fils de
métal, pour que la force soit répartie de chaque côté de la touche quand vous
tirez dessus. Ça évitera d'abimer le pignon du switch.
- [switch puller](https://keygem.store/collections/tools/products/keygem-switch-puller) également de chez Keygem
J'aime bien le grip en plastique qui sera sans doute plus agréable à manier que
du métal brut.
Du matériel de lubrification est également utile. Il est vivement recommandé de
ne **pas** lubrifier des switches de type "clicky" (c'est-à-dire, ceux que je
recherche) pour éviter d'altérer leur son caractéristique. Par contre, le
lubrifiant servira aux stabilisateurs (et aux autres types de switches). Le
consommable le plus populaire semble être le lubrifiant
[Krytox 205g0](https://www.eloquentclicks.com/product/krytox-grease-gpl-205g0-5ml-9gr/)
qui offre une viscosité adaptée aux touches des claviers. Il est mentionné un
peu partout qu'un pot devrait être suffisant pour 5 ou 6 claviers, donc pas
besoin d'en prendre des tonnes...
On utilisera un pinceau adapté (donc de petite taille, 0 et/ou 1), tel que celui
proposé par [Glorious](https://www.eloquentclicks.com/product/glorious-lube-brush/).
Si vous envisagez de devoir lubrifier _tous_ les switches de votre futur
clavier, une [station de lubrification](https://keygem.store/collections/tools/products/kbdfans-switch-lube-station)
peut être pratique.
Selon les switches et le degré de personnalisation visés, on pourra également
s'équiper d'outils facilitant l'ouverture de ces switches (comme celui de chez
[KBDFANS](https://keygem.store/collections/tools/products/kbdfans-x-ai03-2-in-1-aluminum-switch-opener)).
Vu que certains produits que je vais citer ensuite peuvent être déclinés, je
conseille l'acquisition d'un rangement adapté (du même genre que pour les
composants électroniques). Par exemple, quelque chose dans
[ce genre-là](https://www.amazon.fr/Stanley-1-93-980-Rangement-Compartiments-Multicolore/dp/B008DHZXRC/).
Prévoir de quoi placer des étiquettes !
Je pense que l'usage de gants peuvent s'avérer intéressants, en particulier en
cas de manipulation de lubrifiant, et afin d'éviter de disséminer poils et
poussières dans les petites parties mécaniques.
### Quincaillerie
On va pouvoir se procurer les produits que je vais lister ici sans modération,
c'est-à-dire qu'il est toujours bon d'en avoir sous la main, "au cas où".
Ces produits ne sont pas absolument nécessaires, mais de ce que j'ai pu voir,
ils peuvent améliorer de façon significative la qualité finale du build.
- [Pads pour switches](https://kbdfans.com/products/kbdfans-switches-pads-2-versions?pr_prod_strat=copurchase&pr_rec_pid=6605988561035&pr_ref_pid=5032495317131&pr_seq=uniform) et [pour stabilisateurs](https://keygem.store/collections/accessories/products/kbdfans-stabilizers-foam-sticker-20pcs)
À placer entre le PCB et les switches pour limiter les vibrations.
- [Films pour switches](https://kbdfans.com/products/kbdfans-switch-films?variant=34314588815499)
À placer au milieu de chaque switch pour supprimer tout mouvement indésirable
de la partie supérieure du switch. Attention à l'épaisseur choisie qui va
dépendre de l'imperfection du boitier du switch. J'ai tendance à penser qu'il
vaut mieux prendre un assortiment pour être tranquille.
- [Ressorts](https://keygem.store/collections/springs)
Si vous souhaitez modifier ceux de vos switches, ou tout simplement pour
remplacer ceux qui ont trop vécu. Attention à ne pas les mélanger si vous prenez
des forces différentes.
- [Onion rings](https://candykeys.com/category:o-rings)
Ceux-là ne se mangent pas mais se mettent sur les keycaps pour amortir le
contact avec le switch en fin de course. L'épaisseur dépend des préférences
personnelles (on peut tout à fait ne pas en mettre), donc là aussi, prendre un
assortiment peut être une bonne idée.
- [Sockets pour hot-swap](https://keygem.store/collections/accessories/products/switches-kailh-pcb-socket-10pcs)
Normalement pas nécessaire si le PCB est vendu comme hot-swap, mais c'est
toujours pratique d'en avoir sous la main, au cas où. Je suppose qu'on devrait
pouvoir transformer un PCB en hot-swap grâce à l'utilisation de ces sockets.
- [De la mousse pour touches longues](https://keygem.store/collections/accessories/products/kbdfans-mechanical-keyboard-spacebar-foam)
Histoire d'obtenir un son moins creux sur ces touches, en particulier la barre
Espace.
- [Rondelles](https://keygem.store/products/m2-washers?_pos=1&_sid=8f529e6f4&_ss=r)
En plastique ou nylon, destinées à isoler les têtes de vis du PCB. On peut aussi
trouver des [manchons en silicone](https://kbdfans.com/products/kbdfans-standoff-silicone-cover)
à placer sur les pas de vis.
- [Patins en silicone](https://keygem.store/products/replacement-feet-bumpers-4pcs?_pos=1&_sid=2b0f82876&_ss=r) à placer sous le clavier dans le cas où le boitier n'en serait pas déjà équippé - on en trouve aussi des [longs](https://mykeyboard.eu/catalogue/crin-extra-custom-feet_5417/) qui sont plus esthétiques et qualitatifs et qu'on pourra également utiliser sur un repose-poignets.
- [Mousse "modulaire"](https://www.eloquentclicks.com/product/modular-foam/)
À placer entre le PCB et la plaque supérieure. On peut aussi utiliser une mousse
pré-conçue pour le PCB et le layout choisi (par exemple
[celle-ci](https://kbdfans.com/products/dz60rgb-ansi-pcb-foam)
pour le DZ60 RGB ANSI)).
## Le thème du clavier
Je vais l'avoir sous les yeux toute la journée, donc l'esthétique est tout aussi
importante pour moi que la qualité du build. Et s'il y a une chose que j'aime en
ce monde (à part mon épouse et ma ménagerie), c'est...
[_Jurassic Park_](/sagas/jurassic-park/). Si vous êtes lecteur de mon site, vous
devriez avoir deviné.
Mais je vais tricher un peu, parce que je vais opter pour une esthétique plutôt
proche de [_Jurassic World_](/sagas/jurassic-world/) : moderne, épuré, blanc
"laboratoire" et bleu "InGen[^2]", avec des matériaux "hygiéniques" tels que
l'aluminium ou l'acier inoxydable.
[^2]: InGen est une entreprise de bio-ingéniérie fictive créée par John Hammond dans _Jurassic Park_ dont le but est de cloner et manipuler l'ADN de dinosaures.
## Taille et disposition
Je suis désormais adepte du 60%. Je me passe très bien du pavé numérique et des
touches fléchées, je maitrise l'usage des trois couches offertes par le Skyloong
SK61, donc je vais rester sur ce format.
Je reste aussi sur une disposition QWERTY, mon opinion n'a pas changé depuis mon
premier article.
## Composants
### PCB
Bien qu'il y ait du choix en terme de PCB 60%, je m'oriente vers la solution la
plus populaire : le [DZ60](https://kbdfans.com/collections/60/products/dz60rgb-ansi-mechanical-keyboard-pcb)
dans sa seconde révision (la troisième ne permet pas le hot-swap des switches).
<x-shortcodes.imgproc url="images/dz60.jpg" />
Il est équipé d'un port USB-c et du RGB sur chaque touche (en south-facing, ce
qui peut avoir de l'importance pour le choix des keycaps).
[Benjamin Réthoré](https://ben.rethore.im) m'a fait part de son propre build
basé sur ce DZ60, et m'encourage à suivre cette voie.
<x-shortcodes.imgproc url="images/7M6l2QU.jpeg" title="Le clavier custom de &copy; Benjamin Réthoré" />
Ce PCB permet l'utilisation du firmware [QMK](https://qmk.fm) disponible sous
licence GNU GPL v2, et peut être configuré avec le logiciel [Via](https://caniusevia.com/)
(qui semble propriétaire) sous GNU/Linux, macOS et Windows.
### Boitier
Pour être certain de la compatibilité du boitier avec le PCB, je le prendrai
aussi chez KBDFANS (lien mort). Il est blanc, en aluminium, et je préfère ses contours
anguleux à ceux, droits, du [Tofu](https://kbdfans.com/collections/60-layout-case/products/in-stocktofu-white-60-aluminum-case). Je trouve qu'il correspond mieux à
l'esthétique que j'ai en tête, mais on verra bien : peut-être que je changerai
d'avis à la dernière minute et préfèrerai le Tofu...
<x-shortcodes.imgproc url="images/case-kbdfans.jpg" />
En tous les cas, ce qui m'intéresse aussi avec ce boitier, c'est sa masse :
avec plus de 800 grammes sur la balance, c'est un beau bébé ! Il y a plusieurs
avantages à cela : un clavier compact a besoin d'être plus lourd qu'un clavier
plein format par soucis de stabilité. En outre, sa masse va jouer sur le bruit
généré par les touches. Je m'attends à ce que dans un tel boitier, mon clavier
ait un son pur, propre, net, agréable, surtout que je vais mettre le paquet sur
les accessoires...
Alternativement, le [Blade60](https://keygem.store/collections/case/products/blade60-aluminium-case)
semble être une option tout à fait convaincante, surtout qu'il offre quelques
accessoires en prime, tels que de la mousse pour le fond du boitier et des
o-rings. Il est aussi plus lourd.
<x-shortcodes.imgproc url="images/case-blade60.jpg" />
### Plaque
J'opte pour une plaque d'aluminium couleur argent (lien mort),
afin de faire ressortir le rétro-éclairage.
<x-shortcodes.imgproc url="images/plate.jpg" />
Bien que la plaque ne soit pas strictement nécessaire, elle va me servir à
cacher le noir du PCB et à rigidifier le clavier.
Je pourrais chercher un PCB blanc, mais je risquerai de devoir faire face à des
problèmes de compatibilité que je n'ai pas spécialement envie de résoudre. Pour
un premier build, je voudrais rester dans les clous du DZ60.
À noter aussi que tout le monde n'aime pas avoir un clavier très rigide,
certains préfèrent qu'il ait un peu de "ressort". On peut très bien se passer de
cette plaque, ou la choisir en différents matériaux en fonction de la rigidité
recherchée : aluminium comme ici, laiton, fibre de carbone, plastique, etc. Je
n'ai pas encore d'avis sur la question, donc j'attends de disposer du matériel
pour me faire une idée. Mais dans mon imaginaire, plus le clavier sera rigide,
mieux ce sera.
Je rajoute que l'utilisation d'une plaque, conjointement à la mousse modulaire
ou spécifique au PCB mentionnée plus haut, peut simplifier le nettoyage du
clavier puisque les ouvertures potentielles sur l'intérieur du châssis seraient
bloquées.
### Switches
À la base, j'aimerais partir sur des Cherry MX Blue, pour bénéficier de ce bruit
caractéristique qui fait battre mon petit coeur. Mais dans le cas où je ne
pourrai pas mettre la main dessus, j'opterai pour des Kailh Jade, où la course
d'activation du switch est moindre (il est activé plus tôt que sur le Cherry).
À moins qu'il existe des switches "clicky" plus haut de gamme, plus qualitatifs,
diffusant mieux la lumière, ou que sais-je encore (mais je note que certains ont
une préférence pour les switches qui cliquent "à l'aller et au retour", tandis
que je préfère les switches à clic simple - dits "jacket").
- [Stabilisateurs](https://kbdfans.com/collections/keyboard-stabilizer/products/gmk-screw-in-stabilizers?variant=22154915348528)
Plus qu'un simple mod, c'est un composant essentiel qui assure la verticalité
d'une pression sur une touche longue, peu importe d'où la touche est appuyée. En
général, ils sont vendus en kit prévu pour un clavier complet. Il semble que le
[_Holee mod_](https://www.youtube.com/watch?v=-vhpHjlkRgQ) soit une modification
des stabilisateurs très prisée, faisant intervenir des pansements. J'adore la
créativité des moddeurs, et je vais essayer ça sur mon Skyloong !
### Keycaps
Blanc "laboratoire" et bleu "InGen", comme je les voulais. C'est chez
[Drop](https://drop.com/buy/drop-skylight-series-keycap-set?referer=KPNLR3)
que je les ai trouvé (modèle "Horizon"). Sur la photo, ils me semblent
parfaitement parfaits et il me tarde déjà de les enficher - délicatement - sur
les switches.
<x-shortcodes.imgproc url="images/drop-horizon.jpeg" />
J'ai même quelques idées farfelues pour au moins une touche un peu spéciale...
<x-shortcodes.imgproc url="images/mosquitto-cap.jpg" />
Bon sang, que j'ai hâte 😍
### Accessoires, mods
- [Mousse pour le boitier](https://kbdfans.com/collections/keyboard-foam/products/dz60rgb-ansi-case-foam) - elle sert à réduire l'écho à l'intérieur du clavier
- [Repose-poignets en résine](https://kbdfans.com/collections/wrist-rest/products/handmade-resin-wrist-rest-1?variant=39444177223819) - modèle "Tropical Sea", magnifique et approprié
<x-shortcodes.imgproc url="images/wrist.webp" />
- Câble USB-c
Je ne suis pas très fan du style tressé **et** aviateur. Un peu _too-much_ pour
moi, et surtout ne colle pas à l'ambiance que je cherche.
[Ce genre-là](https://cntronic.com/emk-90-degree-usb-type-c-cable-usb-c-cable-type-c-fast-charging-cord-for-nintendo-switch-samsung-s8-oneplus-5-pixel-2-0-3m-1-2m-28446)
me plait bien, pour sa couleur bleue, l'extrémité USB-c coudée, l'extrémité
USB-A droite, 3 mètres, mais la gaine noire va jurer avec le clavier. Je sens
que ce câble va être la pièce la plus difficile à trouver !
## Conclusion
Disposant d'un clavier Skyloong SK61 acheté une cinquantaine d'euros, je vais
l'utiliser pour me faire la main. Je vais le modder, mais sans en faire trop.
Juste pour avoir une première expérience avant de me lancer dans le "vrai"
clavier custom.
Afin de prendre en compte mes prérogatives financières, je me suis fais un
calendrier d'achat :
- Février : outillage et quincaillerie
Je pourrais modder mes stabilisateurs (ou les remplacer carrément), appliquer
des films dans les switches et des pads sur le PCB, et j'en profiterai pour
explorer les entrailles de la bête, et éventuellement rajouter de la mousse ça
et là.
Je vais aussi récupèrer les keycaps de mon Corsair Srafe RGB (voire du clavier
mécanique que j'avais avant le Strafe mais que j'ai oublié : un MaxKeyboard
NightHawk X8).
- Mars : boitier
J'ai peur des quantités disponibles, alors plus tôt je l'achèterai, mieux ce
sera.
- Avril : switches et PCB
L'intérêt de disposer des deux en même temps est de pouvoir les tester. On n'est
pas à l'abri d'un pépin, et j'aime autant le découvrir dès que possible pour
prendre les mesures qui s'imposent.
- Mai : Plaque et accessoires
J'aurai eu le temps de tester vite fait la rigidité du clavier, et je saurai si
je veux la plaque ou non. J'achèterai les derniers accessoires en même temps, si
je ne l'ai pas fait plus tôt.
- Au plus tôt, si permis par le budget
Les keycaps, dont le prix et la disponibilité semblent être particulièrement
volatiles.
## Budget
> "J'ai dépensé sans compter !" --- John Hammond, _Jurassic Park_, 1993

View File

@ -0,0 +1,116 @@
---
title: Dans quel ordre regarder la saga Jurassic Park ?
date: 2022-01-12
weight: 1
tags: [
"Dinosaures"
]
sagas: [
"Jurassic Park",
"Jurassic World"
]
---
## En bref
1. [_Jurassic Park_](/films/jurassic-park/)
1. [_The Lost World: Jurassic Park_](/films/the-lost-world-jurassic-park/)
1. [_Jurassic Park III_](/films/jurassic-park-iii/)
1. [_Lego Jurassic World: The Secret Exhibit_](/series/lego-jurassic-world-the-secret-exhibit/)
1. [_Lego Jurassic World: Legend of Isla Nublar_](/series/lego-jurassic-world-legend-of-isla-nublar/)
1. [_Lego Jurassic World: The Indominus Escape_](/films/lego-jurassic-world-the-indominus-escape/)
1. [_Jurassic World: Camp Cretaceous_](/series/jurassic-world-camp-cretaceous/) (saison 1)
1. [_Jurassic World_](/films/jurassic-world/)
2. [_Jurassic World: Camp Cretaceous_](/series/jurassic-world-camp-cretaceous/) (saisons 2 et 3)
3. [_Jurassic World: Fallen Kingdom_](/films/jurassic-world-fallen-kingdom/)
4. _Battle at Big Rock_
5. [_Jurassic World: Dominion - Prologue_](/films/jurassic-world-dominion-prologue/)
6. [_Jurassic World: Dominion_](/films/jurassic-world-dominion/)
## En détails
Globalement, la saga suit un ordre chronologique, mais il peut être difficile de
s'y retrouver si l'on ajoute aux longs-métrages les séries et les
courts-métrages connexes. Et encore, je ne mentionne ici que ce qui est officiel
et accessible via des canaux "classiques", auxquels on pourrait encore ajouter
les productions de fans, les bonus de DVD et Blu-ray jamais parus ailleurs, et
la ribambelle de jeux vidéo sortis sur presque toutes les plateformes.
### _Jurassic Park_
Tiré du livre du même titre publié par Michael Crichton trois ans plus tôt (en
1990), _Jurassic Park_ est le point de départ de la saga. John Hammond a bâti un
parc sur le thème des dinosaures sur Isla Nublar, une île fictive appartenant à
un archipel fictif situé non loin du Costa Rica. Il a besoin de l'aval de
certains scientifiques pour ouvrir le parc, et fait appel à Ellie Sattler, Ian
Malcom et Alan Grant. Malheureusement, les dinosaures s'échappent...
### _The Lost World: Jurassic Park_
Quatre ans après les évènements de _Jurassic Park_, John Hammond a vieilli et se
retrouve fatigué et obligé de confier la gestion d'InGen à son neveu aux dents
longues. Hammond fait appel à Malcom pour rejoindre une équipe sur Isla Sorna,
le Site B, où les dinosaures évoluent en toute liberté. Cette équipe a pour
objectif d'étudier les animaux, mais Malcom part plutôt en mission de sauvetage.
### _Jurassic Park III_
Quatre ans après les évènements de _The Lost World_, Alan Grant se fait
embarquer de force dans une mission de sauvetage sur Isla Sorna.
### _Lego Jurassic World: The Secret Exhibit_
Simon Masrani a repris InGen en main et a fini par réaliser le rêve de John
Hammond : un parc sur le thème des dinosaures est enfin viable, reconstruit sur
les ruines du premier. Il est temps d'ouvrir une nouvelle attraction : un
caroussel mené par un _Baryonyx_, un _Carnotaurus_ et un _Stygimoloch_, amenés
là par un certain Owen Grady. C'est aussi l'arrivée de quatre oeufs un peu
particuliers...
### _Lego Jurassic World: Legend of Isla Nublar_
Owen, Claire et Vic font ce qu'ils peuvent pour prévenir une tentative de
sabotage du parc. En effet, des fantômes du passé ressurgissent et menacent de
causer la ruine de _Jurassic World_...
### _Lego Jurassic World: The Indominus Escape_
Si vous tenez à le regarder, c'est maintenant, mais c'est dispensable.
### _Jurassic World: Camp Cretaceous_ (saison 1)
_Jurassic World_ est si prospère qu'une colonie de vacances y a été fondé : le
Camp Crétacé, qui accueille ses premiers visiteurs, six enfants triés sur le
volet. Ils sont venus voir des dinosaures, ils vont être servis...
### _Jurassic World_
À l'occasion de la visite du nouvel enclôt fraîchement construit pour accueillir
la nouvelle "attraction" du parc, Owen prend conscience de la monstruosité créée
par le Dr Wu, qui fait preuve d'assez d'intelligence pour échapper à ses
gardiens. Ainsi commence la ruine de _Jurassic World_...
### _Jurassic World: Camp Cretaceous_ (saisons 2 et 3)
Alors que le chaos règne sur Isla Nublar, les enfants de la Colo du Crétacé
doivent affronter des ennemis aussi bien préhistoriques que contemporains.
### _Jurassic World: Fallen Kingdom_
Une fois n'est pas coutume : il y a toujours quelqu'un pour récupèrer InGen et
des spécimens de dinosaures. Sauf que maintenant, ces spécimens sont ramenés
dans la civilisation, sur le continent, et font l'objet d'une vente aux enchères
à huis clôt. Mais, évidemment, les dinosaures se retrouvent lâchés dans la
nature, démarrant ainsi une nouvelle ère de leur règne, à nos côtés.
### _Battle at Big Rock_
Un an après les évènements de _Fallen Kingdom_, on observe la première rencontre
majeure entre des dinosaures à l'état sauvage et une famille de campeurs.
### _Jurassic World: Dominion - Prologue_
Après une séquence époustouflante filmée comme un documentaire animalier, on
assiste à une autre rencontre entre un dinosaure sauvage et la civilisation.
### _Jurassic World: Dominion_

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe024b7a49b6624d847eb0c278a52c50e2f604dab11d5a533b3d69b7045f9a78
size 61921

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:074f0a25d5c127e7559beb3a29b964d746f01a806f8b9c351e1965416f59ca04
size 58132

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:29393933ba307e05f7e2ebdc56687e91ab10777e881df37c56db9d62703e4601
size 186024

View File

@ -0,0 +1,140 @@
---
title: À la recherche du clavier parfait - Étape 4
sub_title: À propos de l'orientation des switches
date: 2022-01-15
tags: [
"Clavier",
"Mécanique",
"Matériel",
"Hardware",
"Custom",
"Switches",
"Keycaps",
]
---
J'en ai rapidement parlé dans [mon article dédié à la sélection des composants](/blog/2022/01/11/a-la-recherche-du-clavier-parfait-etape-3/#pcb),
le DZ60 est un PCB 60% avec RGB sur chaque touche et switches en south-facing.
J'ai fait quelques recherches sur la question.
## North-facing, south-facing
Quand on parle de switches _north-facing_ ou _south-facing_, on parle de
l'orientation de l'implantation des switches sur le PCB. De cette orientation
dépend la compatibilité des keycaps qu'on va utiliser.
Historiquement, les switches sont orientés "vers le nord". Mais les _makers_ ont
tendance à priviléger les switches orientés vers le sud, et cela se ressent dans
le choix des PCBs. Ils ont presque tous opté pour cette disposition. Trouver un
PCB avec les switches orientés vers le nord est apparemment difficile voire
impossible, en tout cas chez les revendeurs que je connais. En fait, il n'y a
apparemment que les marques _mainstream_ (telles que SteelSeries ou Razer) ou
_cheap_ qui produisent des claviers avec les switches au nord.
## Une question de profils de touches
Il existe plusieurs profils de touches différents :
<x-shortcodes.imgproc url="images/profiles.png" />
Le profil le plus répandu est l'OEM. Mais c'est le profil Cherry qui est préféré
par les _typistes_ parce qu'il permet une frappe plus rapide que sur le profil
OEM. Il est difficile de s'en rendre compte simplement en observant la
morphologie des touches sur l'image ci-dessus, évidemment, mais c'est
manifestement le cas.
Le problème avec le profil Cherry, c'est qu'à cause de la faible hauteur de la
ligne du "S" (autrement appelée "ligne 3"), il existe une interférence entre un
switch orienté vers le nord et son keycap, empêchant un appui correct sur la
touche. Un problème résolu par le changement d'orientation du switch, vers le
sud.
## Et le RGB dans tout ça ?
Du coup, avec les switches orientés vers le sud, la LED sous chaque touche
(quand le PCB en est équipé) éclaire la partie inférieure du keycap. Or, les
keycaps dit _shine-through_ (dont le caractère est illuminé par la LED)
réellement conçus pour un éclairage en south-facing semblent rares et/ou de
mauvaise qualité.
<x-shortcodes.imgproc url="images/south-facing-keycap.webp" title="Des keycaps faits pour le south-facing chez KBDFANS" />
Concrètement, utiliser des keycaps "classiques" sur des switches en
_south-facing_ avec un rétro-éclairage RGB handicape la luminosité. Certains ont
recours à des hacks plus ou moins propres à base de feuilles d'aluminium.
D'autres, _hardcore_, utilisent des keycaps avec le marquage sur le côté sud des
touches mais rien dessus (ce qui peut être pas mal pour dissuader le commun des
mortels de toucher à son clavier...), ce qui peut nuire à leur lisibilité.
<x-shortcodes.imgproc url="images/side-keycaps.jpg" />
Avec un rétro-éclairage de qualité, reposant sur des LEDs et des contrôleurs RGB
haut-de-gamme, et selon les conditions d'éclairage ambiant, ce problème de
luminosité pourrait passer inaperçu. Mais quand on cherche à créer le clavier
"parfait", on ne s'attend pas à rencontrer ce genre de problèmes...
## Plusieurs solutions
- Choisir un PCB différent
Comme on l'a vu, il peut être compliqué de trouver un PCB avec les switches
orientés vers le nord.
- Utiliser des keycaps adaptés
Soit prévus spécialement pour le _south-facing_ comme ceux de chez KBDFANS vus
plus haut: pas de PBT à ce prix-là, il faudra se contenter d'ABS gravé au laser,
ce qui peut avoir un impact sur la qualité du produit. Sans compter que vu le
peu de choix disponible, on ne pourra pas se permettre d'être pointilleux sur le
toucher des keycaps...
Soit des keycaps avec le marquage placé au centre de la touche. Un peu plus
répandus, un poil plus chers aussi, mais ils semblent être généralement de bonne
qualité, avec un marquage très agréable. Attention toutefois : la plupart de ces
keycaps ont un marquage opaque, donc peu recommandables pour le rétro-éclairage.
- Utiliser un clavier pre-build
Ça serait un peu la douche froide pour moi qui rêve d'assembler un clavier
custom, mais généralement, les claviers pre-build haut de gamme offrent un
compromis acceptable entre la qualité du rétro-éclairage, l'orientation des
switches et les keycaps. Bien que beaucoup d'utilisateurs regrettent une
luminosité affaiblie, la qualité du RGB est souvent de mise sur ces claviers à
150€ ou plus.
## Conclusion
Il semble finalement plus compliqué que prévu de concilier tout ce que je
demande à un clavier, au-delà de sa qualité de construction et de finition. Le
choix de la disposition en _south-facing_ alors que l'offre en keycaps est
essentiellement optimisée pour un rétro-éclairage en _north-facing_, la perte de
luminosité en résultant, le tout conjugué à la qualité, au prix, aux
disponibilités variables, mais aussi à la difficulté de trouver des keycaps de
la couleur que je cherche (blancs et bleus) **et** _shine-through_ **et** avec
le "bon" profil, tout cela a tendance à quelque peu me refroidir.
Je me rends compte, comme d'habitude quand je veux me lancer dans un truc, que
mon cahier des charges ne correspond pas à l'offre commerciale. Ce qui m'amène
évidemment à me demander si mon cahier des charges est réaliste ou pas, même si
l'offre est peut-être finalement représentative d'une majorité à laquelle je ne
correspond toujours pas. Il me semblait pourtant que, dans un domaine où l'on
trouve des passionnés parfois _hardcore_, il eût été plus facile de trouver des
niches.
J'avais l'intention d'investir au maximum 300€ dans un clavier, mais suite à ce
"problème" de l'orientation des switches (et d'autre dont je parlerai dans des
articles ultérieurs), je me demande si c'est une dépense raisonnable pour un
clavier qui ne respectera de toute façon pas mes demandes. J'aurai peut-être
plutôt intérêt à m'orienter vers les pre-build, tels que ceux présentés
dans [mon second article de cette série](/blog/2022/01/09/a-la-recherche-du-clavier-parfait-etape-2/),
ou d'autres pour lesquels mon intérêt a crût depuis mes premières réflexions,
comme le [GMMK Pro](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black),
le [Keychron Q2](https://www.keychron.com/products/keychron-q2-qmk-custom-mechanical-keyboard)
ou le [Ducky One 3 Mini](https://www.duckychannel.com.tw/en/Keyboards/One3-Series).
Ce qui me ferait changer de taille (de 60 à 75%), m'empêcherait de changer les
switches moi-même, ou m'encombrerait de choses dont je n'ai pas besoin (comme le
bouton de volume), en plus de ne pas disposer des couleurs que je voulais
initialement (blanc et bleu), et donc de m'obliger à acheter séparement des
keycaps en espérant qu'ils s'associent harmonieusement à mon clavier.
C'est pas simple de ne rien vouloir comme tout le monde...

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6307c98e011e8dfd413ff4cf713f3cea79cb8b5fb124f76563d857476e3d7d5a
size 243278

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:591a2652878b79c125b5459e3a402692b6c5679ce291b6c9dbec45f13c691d6c
size 236883

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cd1cdd5f8815c51327564838a95c8b686fecc71894f1917b6e6ab732b932b594
size 130017

View File

@ -0,0 +1,167 @@
---
title: À la recherche du clavier parfait - Étape 5
sub_title: Comparaison tarifaire et décision finale
date: 2022-01-19
tags: [
"Clavier",
"Mécanique",
"Custom",
"Matériel",
"Hardware",
"Keychron",
"75%",
"Switches",
"Keycaps",
]
---
Bon alors, au final, je retiens deux solutions :
- un clavier "full-custom", j'achète toutes les pièces détachées séparément, en espérant qu'elles matchent
- un clavier que je qualifierai de "semi-custom", où j'ai un boitier, un PCB et quelques accessoires en mousse qui vont bien ensemble et je me procure les switches et les keycaps à part
Les deux ne sont pas mutuellement exclusives, mais jetons un oeil à la liste des
courses avant de prendre une décision finale.
Les prix que je mentionne sont à la grosse louche. C'est juste pour se donner
une vague idée. Et le calcul des totaux est partiellement arbitraire, ce sont
des **estimations**...
> Vu que je suis proche de ma décision finale, je vais pinailler sur les détails. Libre à vous de les ignorer !
## Clavier "full-custom"
| Composant | Prix |
| ------------- | -------: |
| Boitier | 80 |
| PCB | 60 |
| Plaque | 30 |
| Keycaps | 50 - 150 |
| Switches | 40 |
| Quincaillerie | 150 |
| Total | ~450 |
Dans la quincaillerie, je compte les outils de base, les stabilisateurs, les
différentes mousses, les pads, bref, tout ce que j'ai mentionné dans la
[troisième étape](/blog/2022/01/11/a-la-recherche-du-clavier-parfait-etape-3/).
## Clavier "semi-custom"
| Composant | Prix |
| ------------- | -------: |
| Base | 170 |
| Keycaps | 50 - 150 |
| Switches | 40 |
| Quincaillerie | 50 |
| Total | ~360 |
La quincaillerie représente une part moins importante du budget parce que la
base du clavier est vendue avec presque tout ce qu'il faut sorti de boîte. Si on
part du principe qu'on remplace tout quand même, on arrive a un budget similaire
au full-custom.
## Quel(s) critère(s) décisionnel(s) ?
Je ne peux baser ma décision finale sur aucun des éléments suivants :
- la qualité sera équivalente, et excellente
- le prix sera similaire (petit avantage quand même au semi-custom mais ce n'est finalement qu'une question de quincaillerie)
### Critère esthétique
Je rappelle mon objectif : avoir un clavier dans l'esprit de _Jurassic World_,
blanc "laboratoire" et bleu "InGen".
Avec un clavier full-custom, j'ai un boitier blanc en aluminium qui correspond
parfaitement à l'esthétique que j'avais en tête. Avec un semi-custom, je
suis à la merci des choix esthétiques du constructeur.
Attention, ça devient subtil ensuite.
Le gros problème auquel j'ai fait face est le choix du câble USB. Ça a l'air con
dit comme ça, mais trouver le câble avec une teinte bleue "idéale" est
pratiquement impossible, en tout cas dans des tarifs raisonnables. On parle d'un
câble USB pour un clavier qui peut atteindre 100. Putains. De dollars. Je veux
quelque chose de classe, mais pas au point de vendre un rein.
Avec un boitier blanc, il vaut mieux un câble bleu (pour rester dans mon idée de
base). Avec un boitier d'une autre couleur, c'est beaucoup plus facile de
trouver des câbles à des tarifs beaucoup plus raisonnables !
De la même manière, avec un boitier blanc, je partais sur un repose-poignets
bleu. Mais avec une autre base, je peux partir sur des matériaux comme le bois
ou... le marbre. Et comme j'ai des artisans marbriers sous la main, mon
repose-poignets sera en marbre 😎
### Critère pratique
Le blanc, c'est salissant et fragile. Je sais, mes keycaps seront blancs, mais
c'est le boitier qui m'inquiète.
J'ai l'intention d'avoir deux claviers : un pour écrire, un pour jouer. Je vais
donc les échanger assez régulièrement. Je risque donc d'user le boitier plus
vite que si je le laisse posé sur mon bureau indéfiniment. Je m'en fait
peut-être pour rien, mais je pense toujours au long terme.
Considérant cela, il y a aussi la couleur du câble à prendre en considération :
un câble gris/inox est passe-partout, alors qu'un câble bleu peut jurer assez
rapidement avec n'importe quoi d'autre.
### Vue d'ensemble
Un clavier full-custom demande une connaissance approfondie du matériel afin de
ne pas se tromper. Un boitier donné n'acceptera pas tous les PCBs par exemple.
Pour un premier clavier custom, il serait peut-être prudent de se contenter de
sélectionner les switches et les keycaps, et envisager de le modder un peu
(ajouter une mousse ici ou là, 2-3 onions rings, mais pas plus compliqué).
Si la passion du custom me saisit effectivement, j'envisagerai alors un 100%
custom. Avec, pourquoi pas, un boitier et un PCB fabriqués sur mesures...
## La fin va vous étonner
J'ai toujours rêvé de la placer celle-là... Bref. Elle va vous étonner, et
peut-être vous décevoir...
Ma décision est prise : mon premier clavier custom sera un semi-custom, et sera
un...
[Keychron Q2 Barebone ANSI Space Grey](https://www.keychron.com/products/keychron-q2-qmk-custom-mechanical-keyboard?variant=39610696400985), keycaps cool gray/navy PBT double shot backlit de chez [Tai-Hao](https://mechanicalkeyboards.com/shop/index.php?p=5449&l=product_detail&my_rate=USD).
<x-shortcodes.imgproc url="images/q2-grey.jpg" />
<x-shortcodes.imgproc url="images/keycaps.jpg" />
Quelques explications, si ça vous intéresse.
Ce n'est pas un 60%. Je récupère les touches fléchées et les touches _Home_ et
_End_, quand même très pratiques pour coder. Pareil pour la touche _Esc_
d'ailleurs, dans une moindre mesure. Du coup, le clavier sera un tout petit
peu plus haut et large, mais ça reste plus compact qu'un _full-size_...
Ce n'est pas un _full-custom_. Ça ne m'empêchera pas de faire quelques
modifications (ajuster les couches de mousse, modder les stabilisateurs, etc.).
Je peux toujours changer les switches comme bon me semble, et mettre les keycaps
que je veux. Finalement, j'en demande pas plus pour l'instant.
Le "Space Grey" du boitier est assez éloigné du blanc "labo" que je voulais à la
base, mais il est aussi plus passe-partout, moins salissant, et me permet de
choisir des câbles USB moins onéreux. En outre, le colori "Navy Blue" proposé
par Keychron me semble très, TRÈS bleu (limite indigo), au point qu'il semble
difficile de trouver des keycaps tiers qui vont bien avec.
<x-shortcodes.imgproc url="images/q2.jpg" />
Pour les switches, j'ai envie de faire un truc :
- des switches clicky aériens presque partout (probablement des Kailh BOX White)
- des switches linéaires moyennement durs sur les touches fléchées (probablement des Cherry MX Red ou équivalents)
- des switches clicky durs sur les touches "sensibles" (genre _Esc_, _Delete_, _Backspace_, peut-être _Enter_, probablement des Gateron Green ou équivalents)
Le Keychron Q2 est en précommande pour des livraisons prévues en mars/avril. Je
vais donc consacrer mon budget du mois de février à l'achat de la quincaillerie,
de quoi commencer à modder un peu mon Skyloong pour me faire la main. Le mois
suivant, je commanderai probablement le clavier, les keycaps et une partie ou la
totalité des switches.
Maintenant, va falloir être patient...

View File

@ -0,0 +1,358 @@
---
title: "L'informatique, c'était mieux avant"
date: 2022-01-21
tags: [
"L'Humain, cette espèce primitive",
"Éthologie",
"Dunbar",
"Google",
"Facebook",
"Comportement",
"Histoire",
"Informatique",
"Internet",
]
people: [
"John Perry Barlow",
"Tim Berners Lee"
]
---
J'écris un article de ce genre pratiquement une fois par an, mais je le supprime
au gré de mes humeurs (et de celles de mes visiteurs qui n'aiment pas beaucoup
ce genre d'articles...). Je me dis que c'est peut-être parce que mon discours
n'est pas suffisamment éclairé. Je m'enflamme assez vite, alors je dis
simplement "aujourd'hui, c'est de la merde, avant c'était mieux", sans prendre
le temps d'argumenter, illustrer, et détailler.
Suite à une conversation dans [mon salon Matrix](/contact/)
avec [Zoz](https://matrix.to/#/@zoz:matrix.zoz-serv.org), devenu maintenant un
résident permanent du salon, au cours de laquelle on discutait du fait que je
m'estime être un vieux con, Zoz me demande comment j'estime que c'était "avant".
Je l'ai un peu pris comme un challenge, alors je vais lui répondre avec un
article de blog. Après tout, ça peut intéresser tout le monde, même ceux qui
veulent m'insulter à la simple lecture du titre !
Si je devais comparer ce que j'estime être l'évolution de l'informatique depuis
les années 90 à une représentation mathématique, je dirai que cette évolution
est actuellement aux trois-quarts de la pente descendante d'une courbe
parabolique. On va faire encore pire pendant quelques temps, avant que
l'informatique redevienne intéressante...
## Les années 70 : la naissance du monde
L'[UNIX EPOCH](https://fr.wikipedia.org/wiki/Epoch), le 1er janvier 1970. Bon,
en vrai, l'informatique a des origines plus anciennes que ça, je ne vais pas refaire toute l'histoire parce que ce
n'est pas le sujet. Ce qu'il faut retenir, c'est que l'informatique telle qu'on
la connait et telle qu'on l'utilise encore de nos jours date à peu près de cette
époque. Pour se donner une idée de la chronologie, c'est dans les années 70
qu'IBM est devenue la première capitalisation boursière mondiale, ou que les
micro-ordinateurs (capable de tenir sur un bureau au lieu d'occuper une pièce
entière) ont pris leur essor.
Si les ordinateurs étaient destinés avant tout aux professionnels et surtout aux
armées, les micro-ordinateurs ont commencé à occuper une place importante dans
les universités et chez ceux que j'aime voir comme les nouveaux radio-amateurs,
les passionnés qui veulent expérimenter, découvrir, comprendre.
Les années 70 ont vu la naissance (en fait, la diffusion) d'Unix (lequel
permettra plus tard la naissance de BSD, de Linux, de macOS, etc.), du langage
de programmation C (toujours l'un des langages les plus populaires aujourd'hui),
le protocole TCP/IP (sur lequel se basent la plupart des protocoles modernes et
qui a permis la naissance d'Internet), etc.
Pour moi, geek qui n'a pas connu cette décennie, c'est la plus importante de
l'histoire de l'informatique personnelle. Sans le travail accompli par des
passionnés, des universitaires, des chercheurs au cours des années 70, il n'y
aurait rien de ce qu'on connait aujourd'hui. L'informatique serait peut-être
restée confidentielle, limitée, utilitaire. Les geeks de l'époque en ont fait la
base sur laquelle repose tout ce que l'on utilise aujourd'hui. Un travail
titanesque, un domaine nouveau et truffé d'incertitudes quant à son utilité
réelle et son adoption, dans lequel beaucoup d'entreprises ont pourtant
investi du temps et de l'argent. Un nouveau monde qui s'est ouvert à l'humanité,
rempli de promesses et d'espoirs. Un nouveau monde à découvrir et explorer,
comme on a exploré la Terre, et comme on explorerait de nouvelles planètes.
Un univers, même, entièrement mathématique. Numérique. Digital, comme on dit
bêtement en France. Des suites de `0` et de `1`, qui permettent des
extravagances comme des calculs monétaires complexes, des tableaux de données,
mais aussi toutes sortes de créations artistiques. On s'était alors doté d'une
nouvelle capacité à l'échelle de l'espèce, et on commençait à apprendre à s'en
servir, à l'exploiter. Plier l'informatique à nos besoins ou plier nos besoins
en fonction des capacités de l'informatique ? Peu importe : on a acquis une
super-puissance, on va un peu jouer avec...
## Les années 80 : l'essor de l'informatique personnelle
Avec la miniaturisation des composants électroniques, les ordinateurs deviennent
physiquement abordables. Beaucoup, beaucoup d'entreprises naissent pour produire
des ordinateurs à mettre "_dans chaque foyer_". Avec autant d'ordinateurs sur le
marché public, ils deviennent aussi abordables financièrement. Et ça marche !
Apple, IBM, mais aussi Amstrad, Goupil, Sinclair, Texas Instruments, Commodore,
Thompson, ORIC, Atari, la liste est tellement longue... Autant d'entreprises
dont la seule évocation fait rêver les _nostalgeeks_, toutes ayant produits des
ordinateurs de légende : l'offre est pléthorique, le consommateur n'a que l'embarras
du choix.
Et les capacités créatives de ces machines sont sans commune mesure avec ce à
quoi les foyers avaient accès jusque là (c'est-à-dire, pratiquement rien). On
pouvait créer des jeux, des graphiques, rédiger du courrier, tout ce que l'on
considère aujourd'hui comme acquis, dont on trouverait l'absence
invraisemblable, inacceptable, même.
Ces ordinateurs, dix ans plus tôt réservés à une élite entrepreneuriale,
devenaient la coqueluche des foyers, presque aussi importants que la télévision.
Aussi bien machine de jeu que machine de travail ou de création, ils pouvaient
tout faire.
Toute cette concurrence sur le marché de l'informatique personnelle a permis de
se découvrir une nouvelle passion, se faciliter la vie de tous les jours, se
détendre après le travail, etc. Mais l'informatique est toujours utilisée dans
des domaines de pointe, tels que l'armement, l'exploration spatiale, la
météorologie. Les possibilités de l'informatique semblent infinies, tous les
domaines d'activités humaines peuvent en bénéficier, et elles le font.
Cependant, la compétition sur le marché de l'informatique personnelle devient
telle que bien des entreprises ne résisteront pas aux années 90. Surtout qu'elle
est responsable d'une grave fragmentation à l'origine d'incompatibilité entre
machines. Il manque encore à l'informatique des standards, aussi bien d'ordre
matériel que logiciel : l'écran ou le clavier d'un ordinateur faisait partie
d'un tout, les composants électroniques étaient soudés et il était encore rare
de pouvoir les remplacer facilement. Même les bandes, puis les disquettes, ne
pouvaient être utilisées partout. De même, un courrier rédigé sur un
ordinateur d'une certaine marque ne pouvait être ouvert sur un ordinateur d'une
marque différente.
En outre, maintenant que les particuliers disposent de cette puissance
créatrice, il leur manque toujours la capacité de diffuser leurs créations. Dans
les années 80, nous n'avions pas encore Internet...
## Les années 90 : Internet et son éco-système
Les années 90 constituent pour moi le _pinnacle_ de l'informatique. La
quintessence de la technologie, à la fois sophistiquée et accessible au plus
grand nombre, technique, versatile. Nous sommes au sommet de la parabole de ma
métaphore mathématique. Cette décennie nous offre l'infrastructure matérielle
et logicielle pour créer du contenu et le diffuser massivement via Internet.
L'informatique relie les Hommes, peu importe leur origine ethnique, leurs
croyances religieuses, leurs orientations politiques. Sur Internet, nous sommes
tous égaux, on peut tous se parler sans préjugés, on peut s'intéresser les uns
aux autres.
Comme Internet est encore peu peuplé, il est facile de se retrouver en petites
communautés, partageant des centres d'intérêts communs. L'informatique,
évidemment, pour commencer. Puis plein d'autres sujets divers et variés. Peu
importe ce qui vous passionne, vous pouvez créer ou rejoindre une communauté.
Les outils mis à la disposition des utilisateurs d'Internet sont variés, et
permettent la vision initiale de [Tim Berners Lee](https://fr.wikipedia.org/wiki/Tim_Berners-Lee) : chacun peut héberger son
contenu chez lui. Internet appartient à tout le monde (il entre dans le domaine
public [le 30 avril 1993](https://home.cern/fr/science/computing/birth-web)).
Quelques grosses entreprises existent déjà (telles que Yahoo, Amazon, eBay ou
AOL), mais tout le monde peut participer à la construction du réseau, du
particulier passionné aux entreprises les plus prospères.
Selon moi, c'est indubitablement les meilleures années de l'informatique au sens
large, et d'Internet en particulier. On a toutes les cartes en main pour en
faire une utopie, un monde idéal, co-existant avec le monde "réel". Le marché
matériel est relativement bien établi grâce au modèle "PC" forgé par IBM,
assurant une interopérabilité des composants matériels, et l'offre logicielle
est stable : Microsoft a imposé Windows presque partout,
pas inquiété par Apple qui joue dans son coin et encore moins par GNU-Linux, fief
de quelques barbus communistes.
Ces PC offrent des jeux, des outils de création, des outils de bureautique, de quoi
satisfaire tout le monde.
Le terreau est fertile pour l'émergence de toutes sortes d'idéologies,
notamment issues de la contre-culture des années 70, et qui ont donné naissance
à un document qui me tient particulièrement à coeur : la
[Déclaration d'indépendance du cyberespace](https://fr.wikipedia.org/wiki/Déclaration_d'indépendance_du_cyberespace)
rédigée par John Perry Barlow en 1996, encadrée à l'entrée de mon bureau. Il
était alors temps de se préoccuper de la gouvernance d'Internet par les états,
parce qu'il était évident qu'une telle popularité allait engendrer l'imposition
de lois diverses et variées, pouvant potentiellement nuire à l'un des aspects
fondamentaux du Réseau des réseaux : la liberté d'expression.
Malheureusement, l'ennemi d'Internet allait venir de l'intérieur.
## Les années 2000 : la pente descendante
Google est fondée en 1998. Peu après l'éclatement de la bulle Internet en 2000,
l'entreprise commence à vendre des espaces publicitaires liés aux mots-clés
entrés dans son moteur de recherche. Le marché est colossal, les possbilités
infinies, et le génie de Google est de l'avoir compris et maitrisé. Le cash
afflue, l'entreprise croît rapidement. Très rapidement. Son modèle économique
permet à tout le monde, du particulier qui publie son blog à la multi-nationale
en passant par les petites entreprises, de générer des revenus grâce à la
publicité. Non seulement on pouvait créer du contenu, mais en plus on pouvait
être payé pour le faire. Le compromis semble idéal, gagnant-gagnant.
Malgré les avertissements de ceux que j'appelle "les geeks", c'est-à-dire les
passionnés originels, à l'éthique et à la morale irréprochables, ceux qui ont
contribué aux fondations d'Internet, mais aussi ceux qui l'ont utilisé
conformément aux principes du partage et de la neutralité de l'information, tout
le monde ou presque a contribué à l'expansion vertigineuse de Google. Sans que
personne - ou presque - ne s'en méfie. Même parmi les "geeks", il y a des
partisans. Parfois "radicalisés", "évangélisés", en tous les cas fervents.
Personne ne voit le danger de laisser cette entreprise croitre autant.
Pire, on favorise cette croissance en lui confiant tout et n'importe quoi.
Jusqu'à nos données personnelles. Une évidence pour les geeks mais un concept
encore flou pour le commun des mortels, pour qui Google devient déjà "Internet",
page d'accueil du navigateur et donc point d'entrée sur tout le reste. Et puis,
de quoi devrait-on se méfier ?
Le verbe "googler" (_to google_ en version originale) apparait même dans
l'Oxford English Dictionnary. En 2002. Quatre ans après la création de
l'entreprise.
La suite de la vie de Google est parsemée d'acquisitions. Certaines extrêmement
profitables, telles que YouTube en 2006 qu'on n'a plus besoin de présenter
depuis longtemps et DoubleClick en 2008, confortant sa position de leader sur le
marché de la publicité en ligne.
Dans le même temps, les réseaux sociaux commencent à émerger. Ils s'appellent
Friendster, MySpace, Facebook, twitter, et font la promesse de permettre aux
gens de se retrouver et de communiquer ensemble, comme des hippies autour d'un
feu de camp. Seuls Facebook et Twitter survivent à la compétition. Ils font même
davantage que survivre : ils éliminent la concurrence. Alors qu'autrefois, les
communautés étaient disséminées sur Internet, elles sont désormais centralisées
sur ces plateformes. Elles restent des communautés, mais proches, puisque
centralisées. Mettez deux communautés opposées l'une à côté de l'autre, comme,
au hasard, les Israéliens et les Palestiniens, les communistes et les
capitalistes, les fans de Johnny Hallyday et les fans de Vivaldi, etc. Vous
devinez la suite.
Internet est surpeuplé. Au point qu'on atteint déjà les capacités du réseau (les
fameuses adresses IPv4). À l'échelle de l'histoire, la surpopulation humaine n'a
jamais rien donné de bon. Le [Nombre de Dunbar](https://fr.wikipedia.org/wiki/Nombre_de_Dunbar),
que je mentionne dans mon livre [_L'Humain, cette espèce primitive_](/tags/lhumain-cette-espece-primitive/)
est très largement dépassé, et de là ne peuvent découler que des rapports
humains dysfonctionnels, et ils arrivent en masse.
## Les années 2010 : la connerie humaine au grand jour
Maintenant qu'on a construit des espaces destinés à la libre expression (ou,
plus exactement, où l'on vous incite à raconter vos vies, montrer vos culs, vos
seins et vos pénis contre de petites sommes qui ne sont pas des rémunérations,
sinon c'est du proxénétisme),
tout le monde peut voir ce que tout le monde produit. Ces gens-là n'ont pas
compris que ce que l'on voulait, c'était qu'une quantité limitée et intéressante
de personnes partagent entre elles des centres d'intérêts. Mais la tendance est
à la _real-TV_ 2.0. Le contenu intéressant, c'est celui qui produit du click, de
l'argent. Le contenu est secondaire, la présentation est la clé. Il faut publier
plus, beaucoup, il faut innonder les plateformes. Il faut être partout, tout le
temps. Vendre du vent devient un métier, et qui rapporte, encouragé, poussé par
ces plateformes, qui veulent que vous vous voyez uniques, exceptionnels. Il ne
s'agit plus de partager de l'expérience ou de l'information, mais de vendre du
rêve, comme la _real-TV_.
Les petites communautés isolées existent toujours, mais alors qu'elles avait
autrefois une certaine distinction, elles sont désormais reléguées, ostracisées,
voire franchement rejetées.
Tout le monde s'auto-proclame "geek", qu'il joue à des jeux-vidéo sur console ou
passe son temps sur Facebook. "Geek" est devenu un synonyme de modernité, c'est
cool, _hype_, quand, dix ans avant, on était des Cro-magnons enfermés dans notre
caverne, asociaux. Aujourd'hui, tout le monde à le nez dans son portable et n'a
même plus la décence de le poser pour passer à table. On se croit social parce
qu'on a des millions de followers, beaucoup plus que le Nombre de Dunbar. Tout
cela constitue des signes d'alertes. Ça, et les études publiées, et les
témoignages récoltés. Internet s'est gangréné, au point que cela déborde dans
la "vie réelle". Un débordement totalement absent chez les "vrais" geeks,
capables de passer une semaine de vacances sans moyens de communication. Et sans
syndrome de sevrage.
Les années 2010, c'est la naissance de l'hypocrisie globale. Mais aussi du
harcèlement, qui met à jour ce que je développe abondamment dans _L'Humain, cette espèce primitive_.
La haine latente, présente en chacun d'entre nous, est étalée au grand jour, et
monétisée. Les guerres se déroulent désormais sur Internet. Entre particuliers
qui se _raident_ (qui s'organisent en bande pour supprimer une personnalité
d'Internet, soit techniquement soit psychologiquement), mais aussi entre
puissances étatiques.
Les ramifications de Google s'étendent, dans tous les domaines. Lisez mon
article du [27 juillet 2016](/blog/2016/07/27/alphabet-une-entreprise-pas-comme-les-autres/)
pour vous faire peur, et si, après ça, vous êtes toujours partisan de Google,
je ne peux plus rien pour vous et vous allez contribuer à l'effondrement du
monde qui vous a permis d'exister, et qui se trouve être aussi le mien.
John Perry Barlow s'était trompé de cible, mais le résultat est le même :
Internet n'appartient plus aux internautes, il appartient à Google ou l'une de
ses filiales. Tout passe par Google, ou presque. Et maintenant qu'ils sont à la
tête du [W3C](https://www.w3.org) (de part leurs injections massives d'argent)
ils peuvent librement définir les standards à venir.
## Et après ?
Déjà présent sur près de trois périphériques mobiles sur quatre avec Android,
Google est partout. Peut-il faire encore mieux ? La seule concurrence qui reste
sur le marché est Apple, et dispose de clients généralement fidèles, des
irréductibles tels que moi, qui refuseront toujours de se soumettre à
l'envahisseur.
Alors que dans les années 90 il y avait de la place pour tout le monde, on se
bat depuis les années 2000 pour exister. Et de nombreuses barrières techniques
et juridiques sont déjà en place pour nous emmurer, nous isoler encore plus,
nous avec notre éthique et nos bonnes intentions. Il nous reste peu de place
sur Internet, et on finira par devenir comme les radio-amateurs d'antant :
interdits d'émissions. Pour publier sur Internet, il faudra montrer patte
blanche (et une pièce d'identité). Vous n'y croyez pas ? C'est déjà le cas aux
États-Unis qui réclament tous vos identifiants de réseaux sociaux quand vous
arrivez sur le territoire. J'imagine la tronche des douaniers quand, en
septembre, mon épouse et moi entameront notre trip au Colorado, et qu'on leur
dira qu'on n'a aucun réseau social. Non, je ne suis pas sur facebook ou twitter.
Mon réseau social, il est chez moi, dans le cercle privé.
Les années 2020 vont être dures pour les "vrais geeks". On nous empêche déjà
d'envoyer des mails depuis notre propres serveurs vers les serveurs de Microsoft
et de Google, sous couvert de protection contre le spam. La réputation d'une
adresse IP commence à entrer en jeu dans le choix de laisser passer ou non une
communication. La neutralité du net part en lambeaux, et tout le monde s'en
accommode. Parce que j'ai rien à cacher, parce que tu es content des pubs
pertinentes que Google t'envoie, parce qu'elle a fait une bonne affaire sur une
plateforme de Ponzi, parce qu'ils kiffent leur nouveau Galaxy 22 qui est
"vachement mieux que l'iPhone de ces connards élitistes d'Apple", et parce les autres s'en battent
les steaks de l'avenir. Comme tout le commun des mortels, la seule chose qui
compte, c'est que leur vie soit fun, recevoir un maximum d'argent en faisant le
moins possible pour l'amélioration de l'humanité, parce qu'on est tous égoïstes
comme pas permis.
À cause de ça, les années 2020 seront les pires pour Internet.
Et je n'ai pas encore abordé de nombreux autres sujets, tels que :
- [le coût énergétique](/blog/2021/09/25/l-eco-responsabilite-en-informatique/)
- les problèmes sociaux à large échelle (discuté dans _L'Humain, cette espèce primitive_)
- la focalisation sur la monétisation d'Internet quand on pourrait s'en servir pour résoudre d'autres problèmes de l'humanité
- la dangerosité prédite et alertée par les geeks de la centralisation des plateformes
- le pouvoir donné le coeur sur la main à des entreprises privées dans un espace public
- l'illéctronisme, la fracture numérique
- etc.
## Le rebond
Ma métaphore implique un rebond, une fois qu'on aura touché le fond. Ce rebond
pourrait avoir plusieurs origines :
- la mise à disposition d'ordinateurs quantiques aux particuliers : les PCs conventionnels deviendront un maillon faible de la chaîne de sécurité - sans PC quantique accessible, l'informatique personnelle sera balayée, rayée de la carte, et c'en sera fini de l'Internet des années 90
- la scission (dont je suis partisan depuis au moins vingt ans) d'Internet : un Internet 100% commercial où les entreprises peuvent faire tout ce qu'elles veulent, y compris du spam, et un nouvel Internet, radicalement dénué d'entreprises privées ou publiques, maintenu par des geeks sur un réseau physique distinct (pourquoi pas le wifi, ou des câbles tirés entre voisins), 100% gratuit, fiable, sécurisé et performant, mais qui sera extrêmement difficile de mettre en place, en particulier sur le plan juridique
- la simplification des langages de programmation, devenus trop complexes pour être maitrisables par des débutants et qui limitent donc l'intérêt de s'y mettre
Tout cela est très hypothétique, et malgré ma parabole, je ne crois pas à un
retour de l'informatique "intéressante" de mon vivant. Vous avez tous fait le
choix de croire que le votre était le bon alors que c'était le pire que vous
puissiez faire. Vous avez donné un pouvoir incommensurable à des entreprises
privées telles que Google et Facebook, malgré nos avertissements répétés.
Alors, à moins de changer rapidement votre fusil d'épaule, vous êtes à l'origine
de l'Internet télévision. Arrêter les _apps_, arrêtez Google, arrêtez Facebook,
ne blâmez pas l'informatique pour vos dysfonctionnement sociaux, arrêtez de
montrer vos fesses pour quelques clics, avant de hurler au scandale et au
harcèlement. Arrêtez de croire que la liberté d'expression vous donne le droit
de vous comporter comme un connard. Arrêtez de croire que Google ou Facebook se
met à votre service. Arrêtez de jouer le jeu des entreprises commerciales.
Vivez Internet pour vous. Renseignez-vous sur les entreprises que vous
choisissez, réfléchissez aux choix que vous faites, parce que, que vous le
vouliez ou non, vous faites vous aussi parti d'un tout qui s'appelle l'espèce
humaine, et vous ne voulez pas qu'on vous place du mauvais côté de l'histoire.

View File

@ -0,0 +1,271 @@
---
title: "Réflexions sur les metaverses"
date: 2022-01-26
tags: [
"L'Humain, cette espèce primitive",
"Metaverse",
"Facebook",
"Réflexions",
"NFT",
"Crypto-monnaies",
"Blockchain",
"Société",
"Comportement",
"Commerce",
"Intelligence Artificielle",
"Jeu vidéo"
]
---
Si vous ne suivez pas trop l'actualité informatique, sachez qu'il y a deux
sujets "chauds" ces derniers mois, et que je porte en très mauvaise estime : les
_Non-Fongible Tokens_ (NFT) et les metaverses.
[@Zoz](https://matrix.to/#/@zoz:matrix.zoz-serv.org), qui me donne décidément
[beaucoup de travail](/blog/2022/01/21/l-informatique-c-etait-mieux-avant/) ces derniers temps 😋 me proposait sur mon
[salon Matrix](/contact/) de m'exprimer sur la question,
au moins concernant les metaverses.
## C'est quoi un metaverse ?
Un metaverse est un monde virtuel. Grosso-modo, tout MMO (jeu massivement
multi-joueurs) **est** un metaverse, ou en tout cas, en coche la plupart des
cases. Pour faire simple, c'est un lieu de rassemblent virtuel.
Selon cette définition, le metaverse proposé par facebook (renommé _Meta_ pour
l'occasion) n'est ni le seul metaverse, ni même le premier. Les metaverses
trouvent leur origine dans la littérature SF et notamment _Le Samouraï virtuel_
de Neal Stephenson, sorti en 1992, même si l'on prête à certaines oeuvres
vidéoludiques de la fin des années 80 des propriétés similaires au metaverse tel
que figuré dans la culture populaire moderne. Une oeuvre moderne traitant du
sujet est le populaire _Ready Player One_ de Steven Spielberg.
En fait, il semble que, outre la représentation virtuelle d'une personne par un
avatar évoluant dans un monde fictif et connecté à tous les autres participants,
l'autre caractéristique fondamentale d'un metaverse repose sur le commerce.
Un metaverse regroupe donc deux caractéristiques fondamentalement destructrices
de la civilisation humaine : la sur-socialisation et le commerce. Des sujets
dont je parle abondamment dans [_L'Humain, cette espèce primitive_](/tags/lhumain-cette-espece-primitive/), d'ailleurs.
## Quelle différence avec des jeux-vidéo ?
Prenons l'exemple d'un jeu-vidéo, massivement multi-joueurs, jouable en ligne.
Les joueurs se créent un avatar qui va les représenter en jeu, doté de
caractéristiques extraordinaires. C'est très intéressant sur le plan
psychologique, et est très révélateur des personnalités de chacun. Un phénomène
qui s'observe également chez les joueurs de jeu de rôle plateau. On compense ce
qu'on n'est pas dans la "vraie vie", ou on créé des personnages fantasmés (pas
forcément sexuellement). L'avatar est rarement une copie conforme de l'humain
qui le pilote. La distinction est plus ou moins claire dans la tête du
"contrôleur", ou en tout cas maitrisée (il fait le choix de vivre une vie
parallèle et de s'immerger dans cette vie, c'est le "jeu de rôle").
Occasionnellement, évidemment, on a pu voir des cas de joueurs qui perdent leur
faculté à faire la distinction entre le monde réel et le monde virtuel, mais ces
cas extrêmes sont rares.
Ces jeux sont généralement dotés d'une économie qui leur est propre. La monnaie
est virtuelle, tout comme les acquisitions, et n'est jamais indexée sur une
monnaie réelle. Il est possible d'échanger des objets virtuels contre de
l'argent réel, voire des objets réels contre de l'argent virtuel, mais ces
pratiques ne sont encouragées que dans certains cas, par certains éditeurs,
c'est-à-dire quand l'éditeur du jeu a un intérêt financier dans ces
transactions, ces _micro-transactions_. Le plus important, c'est surtout de
retenir que l'économie virtuelle du jeu permet d'acquérir des biens virtuels en
jeu, dans la plupart des cas, et que le reste est anecdotique (ou en tout cas,
devrait le rester).
Selon le type de jeu, le "placement produit" - technique commerciale qui
consiste à intégrer au jeu des références à une entreprise donnée - peut être
difficle, voire impossible. Quand il est possible, il est généralement fait avec
parcimonie, à la limite de la suggestion "subliminale". Si vous voyez un
placement produit pour une chaîne de restauration dans un jeu, vous allez
consommer, dépenser de l'argent, dans la "vraie vie", pas dans le jeu (sauf
peut-être si l'entreprise vend aussi des burgers virtuels pour vos avatars...).
Petite parenthèse : pendant la grande époque des MMORPG, on a traité les joueurs
de gros asociaux handicapés, incapables de se reconnecter au monde réel.
Pour résumer, dans un jeu en ligne :
- les avatars sont fantasmés
- l'économie est fictive et sans lien avec l'économie réelle
- les produits acquis grâce à cette économie sont aussi fictifs
- la distinction entre le monde virtuel et le monde réel est claire pour la plupart des protagonistes
## Le metaverse comme alternative au monde réel
Je m'exprime sans rien connaitre du metaverse tel que proposé par facebook. Je
ne fais qu'imaginer des possibilités. Je ne vous donne pas d'information ici,
juste mon ressenti et mes théories.
facebook dispose de plus de trois milliards de comptes utilisateurs, plus les
comptes fantômes (ces données dont ils disposent sur des gens qui n'ont pas de
compte). Plus d'un tiers de la population mondiale est sur facebook. Trois
milliards de personnes qui donnent volontairement - ou non - des informations
personnelles, notamment des photos, possiblement tagguées.
M'est avis qu'ils ne vont pas se gêner, si ce n'est pas déjà fait, pour créer
automatiquement votre avatar 3D en se basant sur vos photos à grand renfort
d'_Intelligence Artificielle_. Évidemment, la
plupart des gens va trouver ça cool, plus cool que de passer par un assistant
ultra complexe permettant de choisir la hauteur des sourcils ou la forme de la
bouche, comme c'est le cas dans certains jeux de rôle. À vrai dire, c'est
probablement déjà généré et stocké quelque part dans leurs vastes datacenters,
attendant sagement leur moment. Premier problème du metaverse : les avatars ne
sont plus fantasmés, ce sont des représentations fidèles de leur "contrôleur".
C'est une théorie, mais c'est tout à fait à la portée de facebook.
La Corée du Sud a franchi un pas important vers le(s) metaverse(s) en
[octobre dernier](https://www.koreatimes.co.kr/www/tech/2021/10/129_308975.html)
puisque le gouvernement sud-coréen a contribué financièrement à l'instauration
d'un tel "univers" national. Le but avoué du projet :
> "[...] la course aux investissements dans les actifs virtuels comme les NFT et les cryptomonnaies"
>
> --- https://www.meta-media.fr/2021/12/10/coree-du-sud-le-metavers-pour-tous.html
Deuxième problème : l'économie n'est plus fictive et est fortement liée à
l'économie réelle. Et en bonus de la forte implication commerciale, on a une
forte implication gouvernementale. Avec les dérives que cela peut générer. Si,
en plus, on met de la blockchain, des crypto-monnaies et des NFT dans
l'équation, on va droit dans le mur :
- fortes inégalités induites par les possibilités de minage de chacun (qui s'ajoutent aux inégalités sociales déjà existantes)
- impact environnemental catastrophique
- aggravation de la pénurie des composants électroniques
- forte volatilité de marchés financiers déjà inhéremment fragiles (même si certaines monnaies sont conçues pour éviter ce phénomène comme le Tether)
- valeurs de "biens" totalement arbitraires (encore plus que n'importe quelle invention commerciale)
Pour rappel, il existe [un marché immobilier](https://cryptoast.fr/achat-biens-immobiliers-metaverse-investissement-judicieux/)
déjà prospère dans certains mondes virtuels.
Un marché. Immobilier. Virtuel.
La blockchain a ceci d'incroyable qu'elle a permis de réinventer un domaine déjà
parfaitement arbitraire, doté de ses propres lois mathématiques qui n'existent
nulle part ailleurs : le marché financier. On peut donner n'importe quelle
valeur à n'importe quel "bien" (une suite de `0` et de `1`, réellement). Ou
comment utiliser une bonne idée (la [blockchain](https://fr.wikipedia.org/wiki/Blockchain))
de la plus mauvaise façon qui soit : en faire un instrument monétaire.
Quitte à investir dans des fermes de minage, à faire tourner H24 des machines
pour miner du bitcoin, dépenser des sommes folles en énergie et alourdir le
bilan écologique de la planète, ça aurait pu servir à des choses utiles à
l'humanité entière (par exemple, contribuer à
[BOINC](https://fr.wikipedia.org/wiki/Berkeley_Open_Infrastructure_for_Network_Computing))
plutôt qu'à quelques individus qui ne recherchent que le
profit personnel.
Troisième problème, donc : les biens acquis dans un metaverse sont fictifs,
quand l'argent investi ne l'est pas. Je ne parle pas de téléphones réels que
Samsung pourrait vendre via une boutique virtuelle dans un metaverse (est-ce
qu'une telle boutique est réellement nécessaire d'ailleurs ?), je parle toujours
de ces fameux "biens immobiliers" virtuels et plus généralement des NFT. Pensez
à l'ironie de la chose : la valeur d'un bien immobilier "réel" dépend notamment
de l'espace qu'il occupe, parce que l'espace physique est limité. Quelle valeur
donner à un bien immobilier fictif dans un univers potentiellement sans limites
physiques ? On va donc imposer des limites physiques arbitraires pour maintenir
une économie dans des limites raisonnables. Ça me rappelle curieusement les
[principes de création du bitcoin](https://fr.wikipedia.org/wiki/Bitcoin#Principe_monétaire)
et par extension, prouve l'irrationalité du principe-même de monnaie, d'argent,
de valeur.
Ce qui engendre un autre problème : il y a
des gens [qui travaillent dans le metaverse](https://www.cnbc.com/2021/11/30/looking-for-a-job-you-might-get-hired-via-the-metaverse-experts-say.html).
C'est leur métier. Agent immobilier mais aussi publicitaire, évidemment. Mais
aussi des experts en crypto-monnaies, en nouvelle économie numérique, etc. Il
existe même déjà des sites de recherche d'emploi, comme
[Indeed](https://www.indeed.fr/) mais dédiés aux metaverses (vers lesquels je ne
ferai pas de lien par principe). C'est un problème
parce que le fait qu'il y ait un marché du travail dans les metaverses implique
que l'on a simplement répliqué les contraintes du monde réel dans des mondes
virtuels. Dans les jeux-vidéo, c'est ludique et désarçonné du monde réel. On
peut toujours se payer une meilleure arme ou armure grâce à quelques billets,
mais on **sait** fondamentalement que ce que l'on achète est fictif. C'est un
choix que l'on fait. Dans les metaverses, il va être très difficile, voire
impossible de faire la part des choses, et **c'est conçu pour ça**.
Combien de temps avant que l'on entende parler de chômage ou de problèmes de
logement dans les metaverses ? La question semble ridicule posée ainsi, mais je
suis convaincu que certains iront jusqu'au suicide parce qu'ils auront raté leur
vie dans un metaverse. Fondamentalement, tous les problèmes auxquels la société
humaine est exposée dans le monde réel existeront (ou existent déjà) dans les
metaverses. Et notamment les problèmes sociaux, avec en tête de liste toutes les
formes de harcèlement.
C'est le cinquième problème après celui de l'existence d'un marché du travail :
la sur-socialisation des metaverses. C'est pour moi une manifestation logique de
la surpopulation humaine, un outil destiné à retarder les
[catastrophes malthusiennes](https://fr.wikipedia.org/wiki/Catastrophe_malthusienne)
qui attendent l'humain. En transférant nos vies réelles dans des mondes virtuels
on temporise les effets de la surpopulation. Je ne parle pas ici des ressources
vitales telles que l'eau ou la nourriture, mais des effets de la surpopulation
sur les sociétés, la politique, la recherche du bonheur à l'échelle individuelle
mais aussi la stabilité des nations.
Aujourd'hui, les metaverses sont des essais technologiques "cools", "tendance".
On finira par tous s'y mettre, ou presque, comme tout le monde ou presque s'est
mis à facebook. Mais rares sont ceux qui anticipent les changements que cela va
occasionner. Faut-il rappeler tout ce que facebook a généré comme mal dans nos
sociétés ? le harcèlement organisé, les suicides d'adolescents, les soulèvements
populaires, la censure, le commerce, les expériences psychologiques, etc. ?
facebook n'est pas la seule entreprise à être en cause, évidemment, mais je
parle ici de facebook en tant que centre de l'attention actuelle par rapport à
ses projets de metaverse.
Mais au final, ce n'est même pas facebook qui est à mettre en cause. Ce n'est
pas fondamentalement facebook qui est responsable du mal-être des sociétés.
facebook n'est vraiment qu'un révélateur.
Le vrai problème des metaverses avant même leur naissance est l'Humain lui-même.
On ne va pas résoudre les problèmes sociaux avec les metaverses (et heureusement
ce n'est pas leur objectif), on ne va que les accroitre.
Pour résumer, dans les metaverses :
- les avatars représentent une personne réelle
- l'économie est réelle
- les produits acquis sont fictifs
- il n'y a pas de distinction entre le monde réel et le monde fictif
## Nous ne sommes pas prêts pour les metaverses
L'époque où le commun des mortels traitait les geeks d'asociaux incapables de
sortir de chez eux est révolue. Le commun des mortels va devenir asocial et
incapable de sortir de chez lui, obligé qu'il sera de travailler dans un univers
fictif. Nous, au moins, on faisait le choix d'en faire un loisir.
Les metaverses seront à l'origine de graves problèmes individuels.
L'impossibilité de distinguer le réel du fictif ne concernera plus des cas
isolés mais des sociétés entières, aussi persuadées que les metaverses sont
essentiels qu'elles sont aujourd'hui persuadées que le travail ou l'argent est
essentiel. On s'exposera encore davantage aux pratiques commerciales alors qu'on
est en saturation de publicités depuis déjà longtemps. On s'inventera une vie
fictive avec des implications sociales réelles, à des échelles autrement plus
préoccupantes qu'un adolescent dans sa chambre. Et le pire, c'est qu'on va
faire tout ça, en ignorant les avertissements, et en trouvant ça génial.
Je pense que les sociétés humaines ne sont pas prêtes pour les metaverses. Il
nous manque certaines caractéristiques pour en faire un usage raisonné et
raisonnable. Étonnamment, il nous manque les mêmes caractéristiques sociétales
pour les metaverses que pour l'exploration spatiale (encore un sujet que je
développe abondamment dans _L'Humain, cette espèce primitive_), à savoir :
- l'unification des peuples, qui sous-tend la disparition de toute forme de discrimination et toute forme de harcèlement, mais aussi la disparition des pays et des frontières
- la suppression du commerce, du travail et de l'argent
Tant que ces deux conditions ne seront pas respectées, les metaverses ne seront
que des jouets technologiques aux implications intellectuelles très dangereuses,
et des centres commerciaux géants. Rien de plus.
## Contre-points
Zoz m'a répondu sur [son blog](https://blog.zoz-serv.org/). Plutôt
partisan et enthousiaste en ce qui concerne les metaverses, les pistes de
réflexion qu'il ouvre sont intéressantes, même si je reste convaincu de la
dangerosité de l'établissement d'une "rareté numérique".
<x-shortcodes.update title="Mise à jour du 12 février 2022">
Malheureusement, le blog de Zoz a subit un [grand reset](https://blog.zoz-serv.org/la-purge-du-11-02-2022/) et sa réponse est perdue à jamais...
</x-shortcodes.update>

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:515271ad76b506f19ba42101c5cde2a017693bc960712f7c054d6745c31d3424
size 927455

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f06a1180963f00c07ee6f61823f4cbe5e17d68385ac8d53a217c60e4457a71a3
size 1035715

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ccc6b98b8f2f5e95e804779246836fb7187d79136d1868053013c95095c58c4c
size 151447

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1ddd3cbcfd2d39331ccde0b6ec23ff86fee448cc597f232224bc91496847f33c
size 172530

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:efbbc40a71ed77714dc9b4947aeae1d62efe1fd0b6a083f3fc1189de32e5452f
size 494983

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6307c98e011e8dfd413ff4cf713f3cea79cb8b5fb124f76563d857476e3d7d5a
size 243278

View File

@ -0,0 +1,92 @@
---
title: À la recherche du clavier parfait - Étape 6
sub_title: "J'ai craqué"
date: 2022-01-28
tags: [
"Clavier",
"Mécanique",
"Hardware",
"Matériel",
"Keycaps",
"Switches",
"Custom",
"Akko",
"75%"
]
---
Bon ben voilà : j'ai craqué. Le slip, la banque, tout. Et il y a même un twist.
Car au final, je n'ai pas pris le
[Keychron Q2](https://www.keychron.com/products/keychron-q2-qmk-custom-mechanical-keyboard).
J'ai pris le [Akko MOD007](https://en.akkogear.com/product/mod-007-aluminum-diy-kit/).
Et je ne l'ai pas pris en _Space gray_. Je l'ai pris en _Ocean blue_.
<x-shortcodes.imgproc url="images/MOD-007-XQ5.jpg" title="&copy; [Akko](https://en.akkogear.com)" />
<x-shortcodes.imgproc url="images/MOD-007-XQ6.jpg" title="&copy; [Akko](https://en.akkogear.com)" />
<x-shortcodes.imgproc url="images/MOD-007-SP2.jpg" title="&copy; [Akko](https://en.akkogear.com)" />
<x-shortcodes.imgproc url="images/MOD-007-SP5.jpg" title="&copy; [Akko](https://en.akkogear.com)" />
Quelques jours (heures ?) après avoir publié le
[cinquième article](/blog/2022/01/19/a-la-recherche-du-clavier-parfait-etape-5/)
de ma saga consacrée à la recherche du clavier parfait, je suis tombé sur ce
clavier dont je n'avais pas encore entendu parlé. On dirait un clone parfait du
Q1 (prédécesseur du Q2...), à une exception près : les switches sont disposés
en [north-facing](/blog/2022/01/15/a-la-recherche-du-clavier-parfait-etape-4/)...
Ce qui veut dire que je n'ai plus besoin de faire de concession sur le
rétro-éclairage. Trop content !
Du coup, voilà, ça y est, c'est fait, c'est commandé, et je suis TRÈS impatient
de le recevoir, comme vous pouvez vous en douter.
J'ai acheté le _barebone_ (le clavier sans les switches ni les keycaps) chez
[Eloquent Keys](https://www.eloquentclicks.com/),
boutique en ligne espagnole, pour un montant total de 216.33€, dont 33.06 de TVA
et 17.99 d'expédition en 2 à 5 jours. C'est douloureux, mais le prix serait
similaire dans une boutique française, si elle existait...
J'ai dit dans mon cinquième article que je voulais essayer un truc et combiner
des switches différents. J'ai donc opté pour 70 switches Kailh BOX White, 10
switches Kailh BOX Black et 10 switches Kailh BOX Brown. Le clavier est un 75% à
82 touches, j'aurai donc quelques switches en plus au cas où. Les White iront
évidemment sur les touches alpha-numériques, les Black sur les touches fléchées
et `Home`, `End`, `Page Up` et `Page Down`, tandis que les Brown iront sur les
touches "meta" (`Control`, `Alt`, et d'autres, au feeling).
Les switches m'ont coûté $31.71 pour les White, $7.50 pour les Black et pareil
pour les Brown.
Je suis resté sur les keycaps prévus, à savoir les _Cool gray/navy blue_ de chez
[Tai-Hao](https://mechanicalkeyboards.com/shop/index.php?p=5449&l=product_detail&my_rate=USD)
qui seront vraisemblablement du plus bel effet sur l'Akko.
<x-shortcodes.imgproc url="images/keycaps.jpg" />
Avec les keycaps à $49, la livraison internationale prioritaire en 2-3 jours à
$30.39 (seulement $3 de plus qu'une livraison en une semaine...) et les taxes à
$25.22, on arrive à un total de $151.32 dépensés chez
[MechanicalKeyboards.com](http://mechanicalkeyboards.com/), soit environ 142.35€
au taux de change actuel.
Je viens donc de dépenser près de 360 euros pour mon prochain clavier. Et, même
si je prends toujours soin de mon matériel, celui-ci aura droit à encore plus
d'égards. Le budget de ce mois-ci est englouti, mais le mois prochain,
j'achèterai sans doute les accessoires prévus dans mon
[troisième article](/blog/2022/01/11/a-la-recherche-du-clavier-parfait-etape-3/)
de la série. À moins qu'il soit parfait sorti de la boîte...
Mon repose-poignets sur-mesure en marbre est en cours de finition, je devrais le
recevoir la semaine prochaine. Il me restera encore un accessoire à me procurer
pour parfaire mon installation, mais je tiens à le garder secret pour l'instant,
étant donné que celui-là aussi sera "sur-mesure"...
Le prochain article de ma saga sera bien évidemment consacré au déballage du
clavier et des accessoires. Je ferai plein de photos et mes premiers essais,
mais ne vous attendez pas à des tests acoustiques. Je ne suis pas équipé pour,
je ne fais pas de vidéos, et en plus, je trouve que ça n'a pas vraiment de sens.
<x-shortcodes.imgproc url="images/excited.gif" />

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a1ee77ba14101fd80bddf8ecf44b4c7b56fe472c2c80bb757ce48fd768752d02
size 723914

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:868bfae9c93db78092e003d5e0d67ed4e62a13bc7ec8705a1ca20607dfba1531
size 426613

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b14d181a7412088abc51c63165e822493e9c227116e940fcbf00c7a512d1f3d2
size 1029566

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d4f32a8705e376cd48a2aa458ddb6fffb96ef241c0f804705f0b971adc19cef5
size 1073503

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:82abce43def9e3909ce03514e45fb8dba24bb4e50fb7270d966a10f99e475a35
size 191608

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6df64f9b0c6e3a01ea9af77e7a5a62044f6228cc94ec2f33160f3d4451c1468d
size 204979

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:48c2f4a1663ba22357604b7f98d8a11e746f801ed015552f4807c787e050109e
size 263169

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:91d5931bb0f71647b44bbfdda446035738a54c9b311d6c65ee30d210ff1a5dfc
size 637303

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:97b6285d950a58f78a3f2abc063fd0d2a7e164ed333d00f17c53c498effe8c08
size 413798

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:45a234944ef2396f5122ba2f3afc372621a2447adbee5ca919ce67925864502b
size 700153

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:38d397a2b14591bd201c33fd5fa191e42d52fce4a856696fba36b4ccfc7b9a49
size 347077

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:426c82ce20df9f8523d3cd46dbaed12a595cf1a7023a9ccc64b85d75778d0bc2
size 86804

View File

@ -0,0 +1,172 @@
---
title: À la recherche du clavier parfait - Étape 7
sub_title: "Cafouillage de commande"
date: 2022-02-05
tags: [
"Clavier",
"Mécanique",
"Hardware",
"Matériel",
"Switches",
"Keycaps",
"Custom",
"Akko",
"75%",
"Macaw",
"Kailh"
]
---
## En stock, pas en stock ?
[Initialement](/blog/2022/01/28/a-la-recherche-du-clavier-parfait-etape-6/), je
voulais des switches Kailh BOX White, Brown et Black, achetés avec les keycaps
[Tai-Hao Navy Blue/Cool gray](https://shop.tai-hao.com/products/pbt-backlit-c12bl201)
chez [MechanicalKeyboards](https://mechanicalkeyboards.com). La commande se
passe bien, pas de problème de stock, la banque ne rechigne pas pour le paiement
à l'étranger, je me dis que je vais recevoir mes keycaps vite fait bien fait.
Au bout de presqu'une semaine d'attente sans que ma commande soit expédiée,
alors que j'ai déjà reçu le MOD007 (certes, en provenance d'Espagne, mais quand
même), je me décide à envoyer un mail à MK. Réponse : les Kailh BOX Brown sont
en rupture, ils ne savent pas quand ils seront réapprovisionnés. Soit ils
m'enverront le tout quand ils auront les switches, soit on modifie la commande,
soit on annule la commande.
À tout hasard, je leur propose de remplacer les Brown par des Red, ce qui
n'aurait rien changé au prix final, vu qu'ils me disent qu'on peut modifier la
commande. Ben en fait, non, ils ne peuvent pas. Bon, bah on annule. Surtout
qu'ils ne peuvent pas me donner de date pour le réassort. Je ne suis pas
spécialement disposé à attendre sans savoir quand je vais les recevoir : j'en ai
besoin pour utiliser mon clavier (ce n'est pas comme si j'avais du stock perso).
## Amazon à la rescousse
Du coup, j'ai trouvé un set de 120 switches Kailh BOX White chez
[Amazon](https://www.amazon.fr/gp/product/B07885QL77/), brandés Glorious mais
parfaitement utilisables sur n'importe quel clavier. Au passage, j'adore le
packaging, il est beaucoup plus petit que ce que les photos laissent penser. Les
switches sont placés dans un sachet refermable, et le carton est solide. En plus
des switches on trouvera dans la boîte une pince qui ne servira probablement
jamais (ou en tout cas, pas pour manipuler les switches), une petite carte de
bienvenue dans l'univers Glorious et un autocollant (j'en suis très friand).
<x-shortcodes.imgproc url="images/mechanical-keyboard-switches-mx-switches-6_06c2d0c2-5217-4ae5-adf1-3c66fba845bf_1000x.jpg" title="&copy; [Glorious](https://www.pcgamingrace.com/)" />
Vu qu'il me faut aussi des keycaps pour pouvoir utiliser mon clavier, et
considérant que les Tai-Hao ne sont pas disponibles chez les autres revendeurs
que je connais, j'ai pris des Akko Macaw, également chez
[Amazon](https://www.amazon.fr/gp/product/B099DY17K9/). Évidemment, j'aurai pu
prendre n'importe quels keycaps, mais je trouvais ceux-là sexy. En plus, j'ai
toujours vu sur Internet que les vrais barbus radicalisés n'aimaient pas le
rétro-éclairage et n'utilisaient que des keycaps "opaques". Je voulais donc
essayer par moi-même.
<x-shortcodes.imgproc url="images/Macaw-ASA2.jpg" title="&copy; [Akko](https://en.akkogear.com)" />
Malheureusement, je me rends compte que ne pas avoir de transparence sur mes
keycaps et ne pas pouvoir profiter du rétro-éclairage est rédhibitoire. J'ai
besoin de ce support visuel pour pouvoir travailler confortablement. Je m'en
fous d'avoir 36 000 effets de lumière sapin de Noël : j'ai juste besoin de voir
mes touches dans l'obscurité totale de mon bureau.
Il n'empêche que le set Macaw de chez Akko est magnifique, et livré dans un
packaging extra (une boîte aimantée de belle qualité). Mais en plus de ne pas
supporter le rétro-éclairage, ses couleurs ne correspondent pas totalement à ce
que j'avais en tête (je suis toujours dans l'idée de faire un clavier dans
l'esprit InGen de la [saga Jurassic Park](/sagas/jurassic-park/), blanc et
bleu).
## Pas tout à fait fini
Ne voulant pas totalement abandonner l'idée des keycaps initiaux (les Tai-Hao),
j'ai quand même vérifié combien me coûterait l'expédition pour les keycaps seuls
en commandant chez MechanicalKeyboards (seule boutique où il semble y avoir du
stock). Finalement, ce n'est pas si cher que ça : les Akko m'ont coûté 69€ chez
Amazon, les Tai-Hao 85€ chez MechanicalKeyboards, livraison en 3 jours et taxes
inclues. Je vais donc attendre l'arrivée de mes chers Tai-Hao avant de retourner
et me faire rembourser les Akko. Pour le moment, la commande est en attente mais
il n'est pas encore temps de s'inquiéter.
En attendant, j'ai placé mes switches sur le clavier, et j'ai utilisé une
combinaison des keycaps de mes anciens claviers pour rendre l'Akko utilisable.
Il en résulte un clavier "Frankenstein" qui ne ressemble à rien (il manque
quatre keycaps sur les switches _meta_ de droite), mais au moins je peux
l'utiliser et le tester immédiatement.
Il est donc hors de question que je vous montre des photos de ce clavier dans
son état actuel ! Mais je consens à vous montrer quelques photos sans les
keycaps.
<x-shortcodes.imgproc url="images/DSC_0008.jpg" title="Un très beau coffret..." />
<x-shortcodes.imgproc url="images/20220202_0474.jpg" title="Un câble USB-c de bonne qualité (et de bonne longueur) est fourni" />
<x-shortcodes.imgproc url="images/20220202_0481.jpg" title="Le clavier est bien protégé par toute la mousse et le plastique" />
<x-shortcodes.imgproc url="images/20220202_0482.jpg" title="La plaque en plastique, au cas où celle montée par défaut (en aluminium) serait trop rigide, ainsi que des _gaskets_ supplémentaires dans leur sachet refermable" />
<x-shortcodes.imgproc url="images/DSC_0013.jpg" title="Les sockets pour les switches en _north-facing_" />
<x-shortcodes.imgproc url="images/DSC_0019.jpg" />
<x-shortcodes.imgproc url="images/DSC_0021.jpg" />
<x-shortcodes.imgproc url="images/DSC_0002.jpg" title="Le repose-poignets en marbre" />
<x-shortcodes.imgproc url="images/DSC_0003.jpg" title="Détail du repose-poignet, mais mes compétences en photographie m'empêchent de vous montrer toutes les nuances de couleurs et d'irisations..." />
## Premier ressenti
"Ah ouais, trop bien !". C'est peu ou prou ce que je me suis dit en tapant mes
premiers mots sur ce clavier. Le son est magnifiquement agréable, loin, très
loin du son de n'importe lequel de mes anciens claviers qui, désormais, font un
bruit détestable à mon oreille.
Quand on est habitué aux claviers _mainstream_, c'est difficile de décrire le
ressenti que l'on a sur un clavier à 360 euros. Le passage de l'un à l'autre est
si radical ! J'ai _envie_, furieusement envie, d'écrire, juste pour avoir cette
sensation au bout de mes doigts et ce son au creux de mon oreille. Et c'est sans
compter le ravissement pour les yeux (si je fais encore abstraction des keycaps
incomplets et mixtes...). Je suis tellement fan de l'association entre l'Akko
et le repose-poignets en marbre ! C'est peut-être bête à dire, mais à la vue et
à l'ouïe s'ajoute le plaisir au toucher.
Deux points noirs viennent quelque peu gâcher la fête sans pour autant être
rédhibitoires, d'autant que je le savais avant d'acheter l'Akko :
- le logiciel est loin d'être au top, bien que je dispose au moins d'une version pour macOS
- la pré-lubrification des stabilisateurs n'est pas entièrement satisfaisante
Ce n'est peut-être que temporaire, mais l'Akko MOD007 n'est pas compatible avec
le firmware [QMK](https://qmk.fm) ni avec le logiciel
[via](https://caniusevia.com). Le logiciel fourni par Akko est trop minimaliste.
Impossible de changer la couleur de plusieurs touches en une fois (ou je n'ai
pas compris comment faire), le clavier décroche après quelques modifications
parce que sa configuration est changée en temps réel, le moindre changement de
couleur sur une seule touche prend un temps fou à cause d'une interface
incommode. Je n'ai pas l'intention d'y aller toutes les deux minutes, mais
disons que ça aurait pu être largement moins désagréable.
En ce qui concerne la lubrification, Akko a bien eu la gentillesse de fournir
un clavier pré-lubrifié, mais la graisse employée sur les stabilisateurs me
semble très épaisse, ce qui cause le blocage de certaines touches longues (en
particulier la Shift gauche). C'est loin d'être un problème rédhibitoire :
[j'avais de toute façon](/blog/2022/01/11/a-la-recherche-du-clavier-parfait-etape-3/)
l'intention de les changer pour un kit de Durock v2 lubrifiés à la Krytox 205g0.
C'est juste un peu dommage que pour une base de clavier à plus de 200 euros, le
résultat sorti d'usine ne soit pas parfait. Ceci dit, je préfère ça plutôt qu'un
défaut majeur de conception.
## Encore un peu de patience
Si MechanicalKeyboards ne me refait pas le coup, je devrais avoir les keycaps
que je voulais la semaine prochaine. Sinon, c'est la merde parce qu'ils sont en
rupture aussi chez le constructeur, ce qui veut dire qu'il sera très compliqué
de les obtenir, en plus de nécessiter une solution temporaire - qui peut
potentiellement durer. Si je pars du principe que je reçois bien les keycaps la
semaine prochaine, je publierai un article en conséquence, avec toutes les
photos qui vont bien du clavier conforme à mon design original.
Après ça, je règlerai la question des stabilisateurs et de leur lubrification,
en plus d'apporter quelques modifications mineures dont on reparlera.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a1ee77ba14101fd80bddf8ecf44b4c7b56fe472c2c80bb757ce48fd768752d02
size 723914

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:868bfae9c93db78092e003d5e0d67ed4e62a13bc7ec8705a1ca20607dfba1531
size 426613

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b14d181a7412088abc51c63165e822493e9c227116e940fcbf00c7a512d1f3d2
size 1029566

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