Catégorie : Geek

  • 7 milliards et demi

    Github est un concen­tré de tech­no­lo­gies. On ne refera pas Github de zéro avec juste une poignée de déve­lop­peurs dans un garage.

    Mais… 7 milliards et demi de dollars. Vous comp­tez comme vous voulez mais la tech­no­lo­gie seule en vaut diffi­ci­le­ment un centième. Multi­pliez par 10 parce que c’est prêt et qu’on évite du risque et du délai, il y aura encore au moins un zéro de trop. Les divi­dendes à venir ne valent pas cette diffé­rence.

    Ce que Micro­soft achète ce n’est pas Github, le logi­ciel et les équipes, c’est vous, clients. Vous et vos projets. On vient de vous vendre comme une marchan­dise. Vous n’en avez même pas touché des miettes.

    Moi non plus.

  • Gérer son pota­ger

    Propo­ser de l’auto-héber­ge­ment c’est comme recom­man­der aux gens de faire leur propre pota­ger quand ils te parlent des problèmes de la chaîne de distri­bu­tion alimen­taire (*).


    Oui l’auto-suffi­sance alimen­taire est un énorme pas dans le bon sens. Non tout le monde n’a pas les connais­sances ou les compé­tences pour main­te­nir son pota­ger, les moyens finan­ciers d’avoir un terrain et le maté­riel perti­nent, ou simple­ment le temps à y consa­crer.

    Même quand on a tout ça, on peut vite se retrou­ver avec une récolte à vide, ou obligé de déver­ser plus de pesti­cide et plus d’eau que ne le ferait une culture inten­sive.

    Bref, c’est super, mais ce n’est pas la solu­tion magique à tout et pour tout le monde. Pas ainsi.

    Certains feront leur pota­ger, mais plus par plai­sir ou convic­tion que comme source d’ap­pro­vi­sion­ne­ment. D’autres iront dans des AMAP, dans des circuits courts, au super­ma­ché bio ou soli­daire, à la supé­rette du coin, ou même au super­mar­ché en faisant atten­tion à ce qu’ils achètent, en fonc­tion de leurs moyens, de leurs contraintes et de leurs besoins.


    L’auto-héber­ge­ment c’est pareil. Il vous faut un maté­riel adapté, une connexion Inter­net stable et suffi­sante, des compé­tences non négli­geables, et surtout pas mal de temps et d’at­ten­tion.

    Main­te­nir un service en fonc­tion­ne­ment n’est qu’une petite partie du problème. Combien de ceux à qui on aura conseillé l’auto-héber­ge­ment vont se retrou­ver sans sauve­garde fonc­tion­nelle au premier inci­dent ? Combien vont faire une erreur et perdre leurs données ? Combien auront une qualité de service accep­table ? Et surtout, combien vont gérer correc­te­ment la sécu­rité ?

    Genma parle d’éli­tisme. C’est un peu vrai mais il n’y a pas que ça. Même pour quelqu’un du métier, qui a les moyens finan­ciers et du temps à y consa­crer, une sécu­rité correcte demande désor­mais un inves­tis­se­ment déme­suré pour la plupart des besoins person­nels.


    Je ne dis pas que c’est forcé­ment une mauvaise idée. La centra­li­sa­tion et la dépen­dance sont de vrais enjeux, la vie privée aussi, mais ne résu­mons pas ça à l’auto-héber­ge­ment.

    Faites-le pour vous amuser, pour apprendre, pour tester, pour bidouiller. Faites-le si vous en avez envie, tout simple­ment. Aidez ceux qui veulent le faire.

    Arrê­tez par contre d’as­sé­ner ça comme une solu­tion facile et univer­selle. Arrê­tez de faire culpa­bi­li­ser ceux qui délèguent et font confiance à un pres­ta­taire. Vous ne rendez service à personne, pas même à vos amis et votre famille à qui vous êtes en train de dire « mais si, sois dépen­dant de moi et mets-moi admi­nis­tra­teur sur toutes tes données, tu verras ce sera génial ».


    (*) L’ana­lo­gie n’est pas de moi, je l’ai croi­sée récem­ment chez Clochix, merci à lui.

    Mise à jour : Depuis, l’ex­cellent Aeris a parlé de ça en détail et avec bien plus de brio que moi. Allez lire.

  • BetterTou­chTool

    S’il y a Bart­den­der sur mon mac, il y a aussi BetterTou­chTool.

    Premier usage pour moi, ça me permet de dépla­cer une fenêtre sur un bord pour qu’elle se posi­tionne auto­ma­tique­ment sur la moitié de l’écran. Si je la mets sur un coin elle prend le quart d’écran corres­pon­dant.

    Le petit utili­taire ne se limite pas à ça. On peut défi­nir ou redé­fi­nir à peu près tout ce qu’on peut espé­rer comme raccour­cis : gestures ou formes sur le touch­pad ou via la souris, des combi­nai­sons ou séquences de touches au clavier, redé­fi­ni­tion des boutons de mani­pu­la­tion des fenêtres, ou des séquences de touches magiques, et même gestion de la touch­bar pour ceux qui en ont une. Le tout peut être person­na­li­sable par appli­ca­tion et en fonc­tion des touches modi­fi­ca­trices appuyées. Un vrai couteau suisse


    C’est un peu l’his­toire du canon et du mous­tique que d’uti­li­ser ça prin­ci­pa­le­ment pour agen­cer les fenêtres sur l’es­pace de travail.

    Spec­tacle le fait gratui­te­ment mais ne gère que des raccour­cis clavier pour dépla­cer les fenêtres par moitié ou quart d’écran. Il n’y a pas d’aide auto­ma­tique lors des dépla­ce­ments au touch­pad (et j’ai l’ha­bi­tude de gérer les fenêtres en glis­ser-dépo­ser plutôt qu’au clavier).

    Si vous n’avez vrai­ment que faire des autres fonc­tions de BetterTou­chTool, BetterS­napTool ne gère que les partages d’écran mais pour 2 € au lieu de 7 €. La diffé­rence de prix est assez faible pour que ça vaille à mon avis le coup de s’of­frir la version complète.

  • Barten­der

    Je ne vous ai pas parlé de Barten­der ? Ce logi­ciel a sauvé ma vie. Bon, pas vrai­ment, mais il a bien simpli­fié par mal de choses sur mon Mac.

    En ce moment j’ai quand même 15 items diffé­rents à droite de ma barre de menu. Certains ne sont lancés qu’au besoin. Parfois j’en ai plus, parfois j’en ai moins, mais en géné­ral ceux qui sont là ont une bonne raison d’y être.

    Il suffit qu’une appli­ca­tion comme Fire­fox ait pas mal de menus pour que telle ou telle icône se retrouve masquée. Loi de Murphy oblige, c’était toujours celle qui me permet­tait d’avoir des noti­fi­ca­tions impor­tantes qui se retrou­vait hors de la vue. Je me retrou­vais trop souvent à bascu­ler vers une appli­ca­tion compor­tant peu de menus unique­ment pour pouvoir accé­der à certaines icônes.

    Barten­der répond à ça. Je décide des quelques rares icônes que je laisse visible en perma­nence. Les autres sont masquées derrière un sous menu. C’est bête comme chou mais juste indis­pen­sable.

    Encore mieux, je suis capable de dire « masque l’icône de Drop­box par défaut mais montre là si quelque chose a changé depuis moins de 10 minutes ». Du coup je vois les noti­fi­ca­tions mais elle n’en­combre pas les menus le reste du temps.

    C’est payant, moins de 15 €, autant dire pas grand chose vu le confort gagné. Il y a une version d’es­sai et de de jolies anima­tions sur le site de l’édi­teur si vous voulez voir comment ça fonc­tionne.

  • Trois écrans

    Je regarde encore prin­ci­pa­le­ment l’écran du portable même quand les autres sont bran­chés mais, après plusieurs mois, je valide la confi­gu­ra­tion à trois écrans.

    Un 24″ en portrait sur le côté et un 24″ en paysage au dessus de l’écran du portable

    À gauche j’ai ce qui est annexe. Ça peut être une vidéo, un réseau social, une discus­sion asyn­chrone ou quelque chose que je surveille, comme le Matter­most du boulot. Excep­tion­nel­le­ment j’y affiche un docu­ment A4 pour en prévi­sua­li­ser l’ap­pa­rence géné­rale.

    Le prin­ci­pal se passe sur un des deux écrans paysage. C’est éton­nant parce que fina­le­ment je n’uti­lise pas toute largeur de l’écran. Ration­nel­le­ment tout ce que je fais ou presque serait mieux avec plus de hauteur dispo­nible. Je ne m’ex­plique pas la contra­dic­tion mais passer l’écran prin­ci­pal en portrait a été un échec à chaque essai.

    Sur ces deux écrans en paysage j’ai ce qui est en cours. Géné­ra­le­ment un pour le travail (rédac­tion, code) et l’autre pour le contexte (docu­men­ta­tion, discus­sion, tests, etc.). Ça a l’air orga­nisé comme ça mais j’ai plein de fenêtres et je les déplace fréquem­ment entre les deux écrans en fonc­tion de ce sur quoi je me concen­tre… et je ne les replace pas forcé­ment sur le premier écran quand je me recon­centre dessus. Au final les fenêtres en arrière plan sont à peu près n’im­porte où.

    Le second truc qui me gêne c’est que je conti­nue à utili­ser l’écran du portable comme écran prin­ci­pal la plupart du temps. Il est plus petit, il m’oblige à bais­ser un peu la tête pour être à l’aise, mais je reviens souvent dessus quand je n’y fais pas atten­tion. J’ima­gine que c’est qu’il est plus flat­teur en terme de lumi­no­sité et de défi­ni­tion mais l’ha­bi­tude ne change pas malgré mes tenta­tives d’en bais­ser arti­fi­ciel­le­ment la lumi­no­sité pour que celui du dessus soit plus atti­rant.

    Dernière chose à laquelle je ne m’at­ten­dais pas : J’ai beau avoir un clavier et un track­pad externes à bonne hauteur au dessus de mes genoux sur une tiroir ouvert, je conti­nue à utili­ser le clavier et le track­pad du portable. Je peux me forcer à faire autre­ment, je reviens sur le portable si mes mains quittent à un moment le clavier. Je n’es­saye même plus.

    Au final ça fonc­tionne. Deux écrans c’est confor­table, le troi­sième me permet d’avoir quelque chose à côté sans avoir à prendre la place sur les deux premiers. Ma vrai diffi­culté c’est dès qu’une appli­ca­tion se met en plein écran. Certaines fenêtres restent derrière et deviennent inac­ces­sibles alors que moi je conti­nue de travailler sur les autres écrans. J’ado­re­rais qu’elles se déplacent seules sur les autres écrans, un peu comme si je débran­chais celui qui est occupé.

    Et vous ? Vous utili­sez quoi ?

  • Neta­talk 3 et Debian 9

    Debian semble bloqué à Neta­talk 2, même dans SID. Il y a quelques PPA Ubuntu qu’on pour­rait réuti­li­ser mais aucun ne semble suivi donc autant compi­ler soi à la main.

    La procé­dure est détaillée sur le Wiki Neta­talk. J’ai divergé très légè­re­ment alors je note pour plus tard :

    sudo apt install \
                     avahi-daemon \
                     build-essential \
                     libevent-dev \
                     libssl-dev \
                     libgcrypt-dev \
                     libkrb5-dev \
                     libpam0g-dev \
                     cracklib-runtime \
                     db-util \
                     libcrack2 \
                     libpam-cracklib \
                     libwrap0-dev \
                     libdb-dev \
                     libtdb-dev \
                     libavahi-client-dev \
                     libacl1-dev \
                     libcrack2-dev \
                     libdbus-1-dev \
                     libdbus-glib-1-dev \
                     libdbus-glib2.0-cil-dev \
                     libio-socket-inet6-perl \
                     libglib2.0-dev tracker \
                     libtracker-sparql-1.0-dev \
                     libtracker-miner-1.0-dev
    
    ./configure \
                --enable-debian \
                --with-init-style=debian-systemd \
                --without-libevent \
                --without-tdb \
                --with-cracklib \
                --with-acls \
                --enable-krbV-uam \
                --with-pam-confdir=/etc/pam.d \
                --with-dbus-daemon=/usr/bin/dbus-daemon \
                --with-dbus-sysconf-dir=/etc/dbus-1/system.d \
                --with-tracker-pkgconfig-version=1.0 \
                --with-afs \
                --with-zeroconf
    make
    sudo make install
    sudo ln -s /usr/local/etc/afp.conf /etc
    sudo systemctl enable avahi-daemon
    sudo systemctl enable netatalk
    sudo systemctl start avahi-daemon
    sudo systemctl start netatalk

     

  • SSH et mosh

    Je résiste à tmux, screen et tous les trucs à la mode. Je n’ai pas de bonnes raisons, juste que j’ai appris sur le tas il y a long­temps et que les habi­tudes ont la vie dure quand il n’y a pas vrai­ment de besoin de chan­ger.

    Il reste que mes sessions ssh étaient pénibles. Je suis sur laptop et j’ai l’ha­bi­tude d’en refer­mer le capot ou de le passer en veille dès que je m’éloigne, même 30 secondes. Et là c’est le désastre. La connexion SSH se ferme, le travail en cours est perdu.

    Screen et tmux peuvent aider mais mosh semble corres­pondre parfai­te­ment à mes besoins. On ne créé pas un multi­plexeur, on se contente de lais­ser le shell ouvert et de se recon­nec­ter dessus sans relan­cer un tunnel ssh complet.

    C’est trans­pa­rent et ça ne change rien aux habi­tudes. Que du béné­fice.

  • Mes données dans une parti­tion chif­frée sous Linux

    Je cherche essen­tiel­le­ment à me proté­ger de quelqu’un qui vole­rait mon disque après s’être intro­duit chez moi. Je garde donc une parti­tion en clair pour le système prin­ci­pal et je mettrai les données sur une parti­tion chif­frée que je monte manuel­le­ment.

    Certaines docu­men­ta­tions proposent de mettre la clef de chif­fre­ment sur un petit stockage USB mais ça ne me semble pas perti­nent pour la menace dont je cherche à me proté­ger.

    J’ai une pass­phrase dans mon gestion­naire de mots de passe et ça me suffira. Je ne compte pas m’en servir souvent de toutes façons. Avan­tage supple­men­taire par rapport à la version sur USB : Je peux me connec­ter en SSH et monter la parti­tion à distance pour peu que je ne craigne pas que quelqu’un se soit intro­duit sur ma parti­tion système entre temps.

    Des docu­men­ta­tions je retiens le chif­fre­ment de blocs avec luks, et le fait de bien passer par crypt­se­tup plutôt que de tout gérer à la main.

    Je reco­pie ici mes quelques commandes mais c’est tout bien expliqué sur la docu­men­ta­tion crypt­se­tup du wiki Ubuntu.

    Créa­tion

    sudo apt install cryptsetup
    sudo cryptsetup luksFormat -c aes -h sha256 /dev/sda4
    sudo cryptsetup luksOpen /dev/sda4 data
    sudo mkfs.ext4 -L data /dev/mapper/data
    sudo mkdir /mnt/data
    sudo echo "data /dev/sda4 none luks,noauto,quiet" >> /etc/crypttab
    sudo echo "/dev/mapper/data /mnt/data ext4 rw,nosuid,exec,noauto,async,user,noatime,nodiratime 0 0" >> /etc/fstab
    sudo mount /mnt/data

    La pass­phrase vient du géné­ra­teur aléa­toire de mon gestion­naire de mot de passe. J’ai cher­ché un inter­mé­diaire entre « le plus long possible » et « si ça se trouve j’au­rais à la taper à la main un jour ». En temps normal ce ne sera que des copier/coller donc ça ira.

    Script de montage

    #!/bin/bash
    # /usr/local/sbin/mount.data
    cryptsetup luksOpen /dev/sda4 data
    mount /mnt/data

    Script de démon­tage

    #!/bin/bash
    # /usr/local/sbin/umount.data
    umount /mnt/data
    cryptsetup luksClose data

    Je l’ai créé mais j’avoue que je vois mal dans quel cas je vais avoir envie de démon­ter ma parti­tion sans arrê­ter tota­le­ment le système (et dans ce cas ça sera fait tout seul sans mon inter­ven­tion de toutes façons).

  • Un espace de publi­ca­tion chif­fré côté client

    Je ne veux plus gérer de serveur en ligne. Je me sens de moins en moins capable d’as­su­rer la sécu­rité d’un tel envi­ron­ne­ment 24/7 seul et sur mon temps person­nel. Je n’en ai pas la moti­va­tion, ne souhaite pas y inves­tir le temps néces­saire. Ne parlons même pas de la possi­bi­lité de prendre des congés deux semaines hors de France sans connexion Inter­net ni veille sécu­rité. Rien qu’a­voir ce blog sous word­press me gêne.

    Je vais dépla­cer mes services sur un envi­ron­ne­ment mutua­lisé, géré par des profes­sion­nels qui ont les moyens, le temps et les compé­tences. Je vais en profi­ter pour passer à peu près tout en fichiers HTML statiques. Publier des fichiers html, css et images sur un espace à 2€, ça limite pas mal la main­te­nance.

    * * *

    Mon problème c’est que j’ai aussi des parties de site à accès restreint, avec des docu­ments qui ne doivent pas sortir n’im­porte où.

    Je peux faci­le­ment trou­ver un héber­ge­ment mutua­lisé qui me permet de faire des accès restreints par authen­ti­fi­ca­tion HTTP ou avec un bout de PHP en façade, mais j’ai une confiance limi­tée dans la confi­den­tia­lité des fichiers que je peux poser sur un héber­geur mutua­lisé.

    Du coup j’ima­gine utili­ser du chif­fre­ment côté client, avec un croi­se­ment entre Jekyll/Peli­can et 0bin/cryp­to­pad. Je chiffre les conte­nus lors de la géné­ra­tion et je les envoie chif­frés sur l’hé­ber­ge­ment. Les conte­nus sont déchif­frés dans le navi­ga­teur du client avec un gros bout de JS, en utili­sant un dérivé de mot de passe ou une clef cachée dans l’URL.

    Le seul défaut que je vois c’est inter­dire l’ac­cès à ceux qui désac­tivent volon­tai­re­ment Javas­cript, et impo­ser un peu d’at­tente aux autres pour déver­rouiller les conte­nus : Pas idéal, pas perti­nent pour tous les usages, mais ici ça me semble accep­table.

    * * *

    Il y a 0bin et Cryp­to­pad (ainsi que d’autres) qui fonc­tionnent un peu sur ce prin­cipe, mais bran­cher ça dans Jekyll ou Peli­can me semble néces­si­ter un peu de travail, surtout si je veux avoir plus que du texte et que je veux présen­ter à l’uti­li­sa­teur unique­ment les liens auxquels il a accès.

    Si vous connais­sez un CMS à publi­ca­tion statique qui a envi­sagé quelque chose du genre, je suis preneur.

  • La base de travail pour 2018

    Une progres­sive web app prévue d’abord pour mobile, fonc­tion­nant tota­le­ment hors ligne avec une synchro à la prochaine recon­nexion et des données chif­frées côté client.

    Oui, votre besoin a peut-être des usages ou des contraintes qui ne cadrent pas avec ce stéréo­type mais ça mérite proba­ble­ment d’y réflé­chir deux fois avant d’écar­ter un des éléments.

    Quand je vois nombre de projets sans chif­fre­ment des données ou quasi­ment inutiles une fois hors ligne, j’ai l’im­pres­sion de retrou­ver les projets d’il y a quelques années qui consi­dé­raient le mobile comme acces­soire.