PROJET AUTOBLOG


Blog-Libre

Site original : Blog-Libre

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

L’option ControlMaster de ssh_config

samedi 11 mai 2019 à 15:45

D’habitude j’essaie d’être synthétique, ce ne sera pas le cas cette fois, l’article sera long. Je voudrais vous montrer comment je procède lorsque je creuse un sujet et les voies tortueuses pour apprendre, comprendre.

L’option ControlMaster

D’après le man ssh_config, elle permet d’activer le partage de multiples sessions à travers une seule connexion réseau. On ne le dit pas assez mais le man c’est brut de décoffrage, celui qui comprend à quoi cette option peut servir à partir de l’explication est un génie. Je vais faire la traduction en vous parlant de son usage et de son intérêt.

Lorsqu’on se connecte à un serveur en SSH, on passe par une phase d’authentification avant d’être connecté. C’est en général très rapide, j’ai fait quelques tests sur des serveurs au boulot, je tourne à 0.3s. Cela va dépendre de nombreux facteurs : la vitesse de votre connexion (fibre, ADSL…), votre méthode d’authentification (clés SSH, clés SSH et mot de passe…), l’emplacement géographique de votre serveur, etc. L’option ControlMaster va permettre de réutiliser la connexion que vous venez d’établir, la première connexion aura toujours cette durée autour de 0.3s (aucun changement) mais la seconde connexion au même serveur se fera beaucoup plus rapidement, je tourne à 0.03s.

Je n’ai pas vu un grand intérêt à cette option au départ puisqu’on parle de gagner du temps (connexion plus rapide) à partir de la seconde connexion à un même serveur, pourquoi se connecter plusieurs fois au même serveur ? En réalité, il y a de nombreuses occasions où vous allez vous connecter plusieurs fois au même serveur et un intérêt certain :
1/ On se connecte à un serveur à 9h00, on se déconnecte puis on y retourne 2h plus tard pour voir quelque chose. En temps normal vous aurez 2 phases d’authentification, à chaque fois 0.3s pour établir la connexion. Avec l’option ControlMaster activée, la première connexion sera de 0.3s, les autres dans la journée de 0.03s. À noter que certains lanceront un screen et resteront connectés toute la journée sur le serveur, ils se contenteront de rappeler leur session screen connectée au serveur (1 seule connexion)
2/ Lorsqu’on parle de connexion, pensez à vos scripts et tâches récurrentes : rsync, git, script qui va se connecter plusieurs fois à un serveur en lançant des commandes
3/ Dans mon job j’ouvre souvent plusieurs connexions sur le même serveur : Typiquement un terminal pour suivre les logs (less +F ou tail -f), le second pour éditer un fichier de conf, le dernier pour restart un service et lancer des tests (3 connexions). À noter que certains lanceront un screen et diviseront simplement le terminal en 3 (1 seule connexion) mais tout le monde ne sait/veut pas se servir de screen
4/ On peut toujours sourire devant des temps aussi courts mais à l’usage on voit et on sent la différence. Une fois goûté, difficile de s’en passer

Comprendre (et creuser)

Dans une majorité d’articles, vous aurez sensiblement cette configuration proposée à ajouter à votre ~/.ssh/config.

Host *
    ControlMaster auto
    ControlPath /tmp/socket-%r@%h:%p
    ControlPersist 3600

Host * signifie que les options suivantes s’appliqueront à tous les serveurs. On retrouve ControlMaster auto à l’identique dans tous les articles, je vous laisse chercher à quoi correspond auto et pourquoi c’est ce qu’il faut utiliser hé hé.

J’ai ajouté la partie suivante à mon ~/.ssh/config puis j’ai commencé à bosser avec. Pour bien comprendre quel est le rôle de chaque option, il est nécessaire de commencer par une config minimale.

Host *
    ControlMaster auto

Un jour je me connecte à un serveur puis je lance une seconde connexion dessus, je termine ma tâche et ferme ma première connexion, la seconde session (seconde connexion) est alors immédiatement fermée. Désagréable et potentiellement très problématique mais cela s’explique facilement. Souvenez-vous, on partage de multiples sessions à travers une seule connexion réseau. Là on a fermé la première session/connexion (par laquelle passe la seconde session), par conséquent les deux connexions sont coupées. On a besoin de l’option ControlPersist.

L’option ControlPersist

L’option ControlPersist va avoir deux utilités différentes en fonction du chiffre renseigné. Ce chiffre (3600 par exemple) spécifie le temps que la connexion maître doit rester ouverte en arrière-plan dans l’attente d’une future connexion. 3600 correspond à 3600s, on peut également écrire 1h (pour 1 heure) ou 60m (pour 60 minutes). Je préfère les notations claires et human-readable.

Maintenant utilisons dans ~/.ssh/config.

Host *
    ControlMaster auto
    ControlPersist 5

Je me connecte à un serveur puis je lance une seconde connexion dessus, je ferme ma première connexion, la seconde session reste ouverte. On vient de résoudre le problème cité plus haut (première utilité).

Renseignons dans ~/.ssh/config.

Host *
    ControlMaster auto
    ControlPersist 20

Pour voir le gain de temps lié à l’option ControlMaster, je vous invite à lancer time ssh cascador@monserveur.bogosse.net exit, j’ai sensiblement 0.3s. Relancez la commande, j’obtiens 0.03s. L’option ControlMaster fait son job. À noter que lorsque vous fermez une session « partagée » via l’option ControlMaster, vous avez le petit message : Shared connection to monserveur.bogosse.net closed.

À présent lancez time ssh monserveur.bogosse.net exit, attendez 1 minute (pour rappel ControlPersist est à 20s) puis relancez la commande, j’obtiens 0.3s à la première commande et la même chose à la seconde commande. On aborde là le point 1/ cité tout à l’heure (On se connecte à un serveur à 9h00, on se déconnecte puis on y retourne 2h plus tard…). L’option ControlPersist doit être réglée en conséquence, au minimum 2h pour notre exemple. On se connecte à 9h00 sur le serveur, à 9h05 on se déconnecte, à 11h02 on se connectera en 0.03s mais si ça avait été 11h10 alors la connexion se serait faite en 0.3s. Après quelques réflexions et tests, j’ai décidé de mettre ControlPersist 4h pour ma part. Résumons : Sur chaque serveur où je me connecte une première fois, je me connecterai bien plus rapidement à la prochaine connexion dans la limite de 4h (seconde utilité).

L’option ControlPath

Tout ceci fonctionne grâce aux sockets. Un socket de contrôle est utilisé pour le partage de connexion. L’option ControlPath spécifie le chemin d’accès au socket de contrôle.

Renseignons dans ~/.ssh/config.

Host *
    ControlMaster auto
    ControlPath /tmp/socket-%r@%h:%p
    ControlPersist 5m

Si je me connecte à mon serveur (ssh cascador@monserveur.bogosse.net) alors j’aurais un fichier /tmp/socket-cascador@monserveur:22 sur mon pc. D ‘après le man ssh_config toujours : %r the remote username, %h the remote hostname, %p the remote port. Cela permet d’identifier le socket utilisé pour la connexion à un serveur précis. Si on se déconnecte du serveur, le fichier /tmp/socket-cascador@monserveur:22 sera toujours présent… pendant 5 minutes (ControlPersist 5m). En supprimant ce fichier, on rompt la connexion au serveur et si on se connecte de nouveau au serveur, ça sera en 0.3s.

Pourquoi utiliser /tmp/socket-%r@%h:%p ? Bah justement c’est pas une bonne idée. Il est probable que vous soyez seul à utiliser votre pc, dans mon cas je partage mon pc portable avec Madame. Si je verrouille ma session utilisateur, qu’elle ouvre sa session puis fait ls -l /tmp : Elle saura quel nom d’utilisateur j’utilise, le nom de mon serveur et le port SSH. Pas glop si on considère qu’en matière de sécurité, moins l’attaquant a d’informations, mieux on se porte.

J’utilise ControlPath ~/.ssh/sockets/socket-%C. Donc mkdir -p ~/.ssh/sockets; chmod 700 ~/.ssh/sockets pour commencer. Les sockets sont dans mon home (chiffré), dans un répertoire (avec les droits qui vont bien) précis ~/.ssh/sockets/ et facilement retrouvable (il peut y avoir beaucoup de choses dans /tmp). %C Shorthand for %l%h%p%r, dans les faits ça donne un truc incompréhensible et c’est ce que je veux justement, exemple : ~/.ssh/sockets/socket-2416f65bfd78bq467a7887585sd1d4g456cc78e7. Certains diront mais du coup tu sais pas de quel serveur il est question, yes mais en gros je m’en fous et je m’y retrouve avec la date de modification du fichier (socket pour être précis).

À noter que certains préconisent /tmp car au reboot les sockets seront effacés… c’est le cas peu importe où vous les mettez, ça revient un peu à dire qu’une connexion réseau survit à un reboot…

Sockets, où ils sont mes sockets

On arrive au gros drame. Ce problème est tellement énorme qu’en ce qui me concerne j’ai failli rejeter l’utilisation de ControlMaster, attention cependant il s’agit d’un cas très particulier (perte de réseau) il est probable que ça concerne une minorité de personnes. Si vous bossez au bureau, ça ne vous arrivera qu’extrêmement rarement. Je bourlingue beaucoup : Datacenter, coworking, maison… les déconnexions Wi-Fi sont assez régulières. Plantons le décor : Je suis en datacenter, je suis déconnecté du Wi-Fi, je ne peux donc plus lancer de commandes sur les serveurs sur lesquels j’étais connecté, en général je déconnecte mon OpenVPN, je ferme mon terminal (plusieurs onglets, XX connexions) puis une fois reconnecté je relance mon OpenVPN. Drame, je lance mes connexions aux serveurs mais j’attends indéfiniment que les connexion se fassent. Que se passe-t-il Sherlock ?

Il se passe que les sockets sont toujours présents dans ~/.ssh/sockets/, quand je lance une connexion à un serveur où j’étais précédemment connecté SSH utilise un de ces sockets qui ne fonctionne plus (car j’ai perdu la connexion réseau quelques instants auparavant). Je supprime tous les sockets dans ~/.ssh/sockets/, je peux de nouveau me connecter à mes serveurs.

Ce problème, je n’ai pas vu un article en parler et pourtant quelle saloperie ! J’ai mis en place une solution qui me paraît assez propre et à l’usage, ça le fait. J’utilise beaucoup deux alias, le premier pour lancer la connexion au VPN de ma boîte, le second pour kill cette connexion VPN (alias pko='sudo pkill openvpn'). J’ai simplement ajouté ce dont j’avais besoin à la suite donc alias pko='sudo pkill openvpn; for socket in $(find ~/.ssh/sockets/ -type s); do ssh -o ControlPath=$socket -O exit toto 2>/dev/null || rm $socket; done'.

Ce sera plus lisible ainsi.

for socket in $(find ~/.ssh/sockets/ -type s); do
    ssh -o ControlPath=$socket -O exit toto 2>/dev/null || rm $socket
done

C’est une boucle basique.
for socket in : Pour chaque socket
find ~/.ssh/sockets/ -type s : Trouver les sockets (-type s) dans le dossier ~/.ssh/sockets/
ssh -o ControlPath=$socket -O exit toto 2>/dev/null || rm $socket : On lance ssh -o ControlPath=$socket -O exit toto, si le code de sortie est différent de 0 alors on rm $socket

On pourrait me faire le reproche que c’est super-ultra-méga propre parce que 1/ On sait où chercher (~/.ssh/sockets/) et a priori il n’y aura que des sockets dans ce dossier 2/ un simple rm ~/.ssh/sockets/socket-* fait le job. Ouais c’est pour vous expliquer quelle est la bonne/élégante manière de faire. Je ne sais pas si c’est nécessaire, personne ne démonte ses partages réseaux (CIFS, NFS…) « proprement » avant d’éteindre son pc par exemple.

ssh -o ControlPath=$socket -O exit toto 2>/dev/null what ??

ssh -o ControlPath=$socket -O exit est la manière propre de fermer un socket, je vous invite à man ssh puis rechercher -O ctl_cmd. On peut également faire ssh -O exit cascador@monserveur.bogosse.net.

Pourquoi toto ? Parce que si j’avais mis autre chose (genre cascador@monserveur.bogosse.net), vous auriez pensé que la commande allait se connecter au serveur pour lui dire ferme le socket. La commande qu’on envoie ici est en local, le socket qu’on va exit est en local dans le dossier ~/.ssh/sockets/ MAIS la syntaxe d’une commande ssh étant ssh hostname au minimum, on est obligé de fournir un hostname sinon on aura une erreur. À noter que certains écrivent ssh -o ControlPath=$socket -O exit localhost, je trouve ça trompeur car on pourrait croire que localhost est la seule/bonne réponse alors que vous pouvez mettre indifféremment babar, troubadour, cunnilingus…

Autre subtilité faisons ssh -o ControlPath=/home/cascador/.ssh/sockets/socket-2416f65bfd78bq467a7887585sd1d4g456cc78e7 -O exit carambar. La commande s’exécute bien, on a le code retour 0 si on fait echo $? (code retour de la dernière commande) MAIS on a un message « Exit request sent » qui lui ne sort pas sur stdout mais stderr (d’où le 2>/dev/null). Ce qui veut dire qu’on peut avoir une commande qui s’exécute bien mais une sortie sur stderr. Je ne savais pas que c’était possible, ça se trouve c’est commun mais je n’avais jamais fait attention. Tout l’intérêt de creuser les choses, on découvre.

C’est bon là, t’as fini ?

Ouais c’est bon, j’espère avoir bien illustré la différence entre la documentation et la pratique. C’est en forgeant qu’on devient forgeron. Aujourd’hui j’utilise ça.

Host *
    ControlMaster auto
    ControlPath ~/.ssh/sockets/socket-%C
    ControlPersist 4h

À noter que vous n’êtes bien-sûr pas obligé d’utiliser ces options pour tous les serveurs, un dev qui met ces options pour sa connexion à son serveur de dev pour push/pull y aura déjà un intérêt.

Tcho !

Sources :
http://www.qanuq.com/2017/09/09/diminuer-temps-connexion-ssh/
https://developer.rackspace.com/blog/speeding-up-ssh-session-creation/
https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Multiplexing
http://www.anchor.com.au/blog/2010/02/ssh-controlmaster-the-good-the-bad-the-ugly/
https://www.cyberciti.biz/faq/linux-unix-osx-bsd-ssh-multiplexing-to-speed-up-ssh-connections/
https://unix.stackexchange.com/questions/24005/how-to-close-kill-ssh-controlmaster-connections-manually
https://unix.stackexchange.com/questions/427189/how-to-cleanup-ssh-reverse-tunnel-socket-after-connection-closed

youtube-dl, récupérer les flux audio et vidéo de nombreux sites

mercredi 8 mai 2019 à 18:15

youtube-dl sous licence Unlicense permet de télécharger les flux audio et vidéo de nombreux sites dont youtube, youporn, facebook, arte.tv, france.tv, tf1.fr, vimeo, twitch… En temps normal j’aurais fait une présentation plus soignée de youtube-dl mais Next INpact a publié un article complet que je vous invite à lire (comme je soutiens la presse de qualité et que je suis une grosse feignasse). Pour l’installation, go to Mémo installation packages.

À l’occasion de la diffusion de Internet ou la révolution du partage, faisons un focus sur les principales commandes et options à connaître pour utiliser cet outil.

Les options à connaître

-F, --list-formats : Lister tous les formats des flux audio et vidéo disponibles pour une URL
-r, --limit-rate : Limiter le débit du téléchargement (500K ou 3.5M par exemple)
-a, --batch-file : Fournir une liste d’URLs à télécharger via un fichier (une URL par ligne)
-i, --ignore-errors : Continuer si une erreur se produit lors d’un téléchargement, surtout utile quand on fournit une liste d’URLs à télécharger (--batch-file)
-o, --output : Nommer le fichier de sortie à partir de template, voir les exemples et la documentation
-x, --extract-audio : Extraire le flux audio
--audio-format : Spécifier le format audio de sortie (« best », « aac », « flac », « mp3 », « m4a », « opus », « vorbis », « wav », « best » par défaut)
--audio-quality : Spécifier la qualité audio de sortie (valeur entre 0 la meilleure et 9 la pire)
-f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' : Télécharger le meilleur format mp4 disponible ou le meilleur format disponible si le mp4 n’est pas disponible, voir les exemples et la documentation

Récupérer le son d’une vidéo

Une énorme quantité de clips et chansons sont présentes sur YouTube, vous avez envie d’avoir Je danse le Mia sous le coude ?

youtube-dl --extract-audio --audio-format m4a --audio-quality 0 --output "~/Musique/%(title)s.%(ext)s" https://www.youtube.com/watch?v=wf4YT-vsq_4

Vous obtiendrez ~/Musique/IAM - Je Danse le Mia (Audio officiel).m4a.

Récupérer une vidéo

Votre pêché mignon est Capitaine Marleau (comme moi) mais vous avez loupé celui de mardi soir (shit une rediff de la saison 1 !) ?

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' --output "~/Téléchargements/%(title)s.%(ext)s" https://www.france.tv/france-3/capitaine-marleau/saison-1/304197-en-trompe-l-oeil.html

Vous obtiendrez ~/Téléchargements/Capitaine Marleau - En trompe-l'oeil.mp4.

Récupérer une liste de vidéos

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' --output "~/Téléchargements/%(title)s.%(ext)s" --ignore-errors --batch-file '~/Téléchargements/Liste_dl.txt'

Vous obtiendrez… un paquet de vidéos. Vous pouvez vous passer de l’option --batch-file en renseignant plusieurs URLs sur la ligne de commande.

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' --output "~/Téléchargements/%(title)s.%(ext)s" --ignore-errors URL URL URL

Script et alias

Voici l’alias que j’ai dans ~/.bash_aliases (vous pouvez le mettre directement dans ~/.bashrc) : alias yt='screen -dm ~/Scripts/yt.sh'. Je remplis le fichier Liste_dl.txt des vidéos que je veux télécharger puis yt, le script yt.sh est alors lancé dans un screen.

#!/bin/bash

sudo -H pip3 install --upgrade youtube-dl
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' --output "~/Téléchargements/%(title)s.%(ext)s" --ignore-errors --batch-file '~/Téléchargements/Liste_dl.txt'

Téléchargements

youtube-dl reste mon outil attitré pour le contenu légal : replay, documentaire, vidéo, musique. J’utilise openpyn quand je fais du torrent ou du direct download. Pour le reste, il y a Netflix et Mastercard.

Mailing

lundi 6 mai 2019 à 23:20

Dans le cadre de son emploi dans la fonction publique, Madame a dû effectuer un mailing à partir de son client de messagerie (souvent le cas en entreprise à ce que j’en ai vu). Elle a commis l’erreur suprême en oubliant de mettre les destinataires en Cci (Copie cachée invisible) ce qui empêche chaque destinataire de voir les adresses mail des autres destinataires. Une réclamation a été déposée à la CNIL, c’est remonté très haut (DRH, RSSI…) puis redescendu jusqu’à ses N+1 et N+2. On parle d’environ 700 destinataires, le contenu du mail ne contenait pas d’infos privées/confidentielles (questionnaire de satisfaction). Elle a rdv demain mardi pour connaître les sanctions prises à son encontre (blâme, avertissement, non renouvellement de son détachement…).

Je n’excuse pas son erreur mais je la qualifierais d’humaine, terriblement humaine.

Lorsque Thunderbird détecte le mot-clé « pièce jointe », il demande si on souhaite effectivement envoyer le mail pour éviter d’oublier de joindre les documents. Je n’ai jamais entendu parler d’une fonctionnalité similaire pour éviter d’envoyer un mail à plus de XX destinataires (disons 100) en demandant si les destinataires devraient ou non être en Cci. L’outil informatique aurait dû éviter que cette erreur ne se produise. Quelqu’un pour dev cette fonctionnalité ? Ça sauvera probablement quelques personnes et ça rappellera à tous à quoi doit servir l’informatique.

En attendant Madame squatte le canapé ce soir, de son propre aveu elle dormira probablement très mal et très peu.

Mon utilisation des réseaux sociaux

lundi 8 avril 2019 à 21:59

Suite à la lecture de plusieurs billets sur la gestion des uns et des autres des réseaux sociaux, voici ma vision et mon utilisation de ces outils.

Difficile de résumer les pratiques concernant les réseaux sociaux. Certains RS sont dédiés à l’image, d’autres au micro blogging, d’autres encore sont professionnels, et le plus gros d’entre eux, Facebook, est très généraliste.

Actuellement, j’utilise deux réseaux sociaux.

Le premier est Twitter. Au début, comme tout le monde, j’avais tendance à suivre beaucoup de comptes. Puis le désintérêt est monté assez rapidement. Je remontais ma timeline à la recherche de quelque chose. Mais quoi ? Je ne savais pas. Ou plutôt devrais-je dire « j’errais bêtement dans ma timeline », sans réflexion, dans un flot ininterrompu de micro lecture. Twitter n’était plus l’outil, c’était moi qui était devenu l’outil de Twitter. Je lui fournissais mon attention et mon temps.

J’ai actuellement une utilisation bien plus rigoureuse de Twitter. Dans un premier temps j’ai vidé ma TL. J’ai « unfollowé » tous les comptes comme on pourrait le dire en bon français. Puis j’ai créé des listes. Chaque liste représente un intérêt particulier. L’avis des gens qui compte à mes yeux, une liste dédiée au numérique, une liste dédiée aux twittos de Lyon, une liste pour suivre l’actualité de l’ESS… etc. Ainsi, je clique sur la liste thématique qui m’intéresse, selon mon envie du moment et mes besoins. Je ne fais plus défiler machinalement une TL à l’infini, sans recherche spécifique.

J’évite aussi, par cette bonne pratique, ce qui tue ce réseau social : les polémiques diverses et variées issues de l’actualité médiatique, les clashs à deux francs entre personnalités à l’égo surdimensionné et surtout j’évite le bruit généré par 95 % de tweets inutiles et sans intérêt. Soyons réalistes, sur Twitter, je le dis, 95% des utilisateurs n’ont rien à dire d’intéressants.

A noter que j’ai eu un compte Facebook les six premiers mois de l’arrivée de ce réseau social en France. Je l’ai fermé assez rapidement. A l’époque, je me suis dit que je ne voyais pas l’intérêt d’avoir un compte. J’avais rapidement désapprouvé cette exposition permanente de la vie privée des utilisateurs, avec cette injonction sous-jacente de montrer une vie heureuse de tous les instants, bien trop factice et superficielle à mon sens. Chaque posteur est en fait un imposteur. Cette critique se dirige contre les utilisateurs, pas spécialement le réseau social Facebook lui-même en tant que dispositif.

En plus du désintérêt pour l’outil, j’étais (et je le suis encore) rebuté par le modèle économique : profiler les utilisateurs, espionner leurs moindres mots et photos pour ensuite les analyser et les traquer sur tout internet pour leur vendre de la publicité. J’ai encore du mal à comprendre que les personnes adhèrent à cela. Comble de l’ironie, j’ai du recréer un compte il y a quelques semaines pour suivre l’actualité d’une association qui ne vit et passe que par Facebook… A noter qu’elle a en projet de monter un site internet et que je vais les aider pour mener à bien cette mission (et me passer de Facebook très prochainement).

Autre réseau social que j’utilise par obligation, c’est Linkedin. Le but est d’avoir un CV en ligne et de créer un réseau de contacts professionnels. Je n’ai rien d’original à rapporter sur cet outil et son usage.

Par simplicité, j’ai renoncé à tous les autres comptes que j’avais ouvert ailleurs (Mastodon, Framapiaf…). Le contenu est souvent redondant, tout comme la présence des utilisateurs qui sont présents en doublon sur Twitter par exemple. C’est de la dispersion et de la perte d’énergie.

Je ne fais pas l’impasse sur Instagram et Snapshat. Je les ai installé quelques jours afin de savoir de quoi on parle et comment ça marche techniquement.

Instagram est un réseau social professionnel fait pour vendre des choses visuellement. Des produits, une image de vedette, une marque ou un travail de photographe (bien que le format soit vraiment peu vendeur, je trouve…). Je n’ai pas d’intérêt à me retrouver dessus.

Et pour terminer, Snapshat qui est le refuge des adolescents et des jeunes adultes. Je dois dire que j’ai un avis très négatif sur son concept. En quelques secondes, les images défilent, sans filtre, sans possibilité de travailler sur ce qu’on l’a vu, sans possibilité de réfléxion face à l’instantanéïté du message. On comprend mieux pourquoi les adolescent.e.s se réfugient là bas : pas de censure, pas de regard parental, pas d’explication. Comme la diffusion est éphémère, aucun parent ne peut intervenir, contrôler ou aider à comprendre ce qui a été vu. Je trouve même cela dangereux au final.

Mon sentiment vis-à-vis des réseaux sociaux est ambivalent. Je trouve qu’il est intéressant de partager ses connaissances, ses idées et son travail (pro, ludique et artistique). Malheureusement, ce qui est intéressant est bien souvent noyé dans la masse et dans le bruit général. Les réseaux sociaux sont des aspirateurs à concentration et à temps de cerveau disponible. Leur modèle économique est calqué à l’identique à celui de la télévision : vendre de la publicité à tout prix et du clic amenant encore et toujours à du profilage. Et comment mieux vendre de la publicité ? En captant totalement l’attention des utilisateurs avec de petites phrases méchantes entre utilisateurs, des polémiques aussi violentes que répétitives. Sans parler du cyberharcelement collectif ou individuel possible avec ce genre d’outils (ligue du lol, Bilal Hassani…) ! Un monde que je ne veux plus voir, captif, voyeur et passif sur mon écran. Ca tombe bien, mon boulot me permet de lutter contre certains stéréotypes au quotidien.

Pour conclure, je rejoins l’avis de Linus Torvalds, il faut fuir les réseaux sociaux qui encouragent l’émotion au détriment de la raison et ne proposent en général qu’un contenu très faible. Pour l’anonymat, c’est une autre histoire.

À la seconde

samedi 6 avril 2019 à 07:05

J’affiche l’horloge en bas à droite de mon écran. J’ai ajouté récemment l’affichage des secondes suite à un besoin qui se faisait sentir, lancer une opération à une heure précise (typiquement maj/reboot serveur).

Je n’aime pas voir les secondes, il y a un côté hypnotique (comme le feu) quand on se met à regarder trop longuement. Ça me rappelle : « Et si tu regardes longtemps un abîme, l’abîme regarde aussi en toi ».

Voir les secondes s’écouler les unes après les autres et se rendre compte qu’on ne fait rien, du vide (intérieur) qui nous emplit. C’est pour moi le miroir de ce que je n’ai pas réussi à faire de mon temps.

J’ai la chance et le malheur de voir le temps passer. J’oscille régulièrement entre légèreté du présent et poids du passé comme du futur. Je caresse la tête de mon fils, simultanément je goûte l’immense privilège de cet instant, j’ai conscience que ce souvenir s’éteindra avec le temps et que ce moment ne se reproduira peut-être pas.

J’ai écrit dans mes notes : La vie à la fin, c’est ce que tu en auras fait. Que faisons-nous de notre temps ?