0. Ligne de commande

Mis en avant

Suite à mon article sur la nécessité d’une autre informatique, beaucoup moins dépendante des interfaces graphiques et aux antipodes de la vidéo et suite aux nombreux autres articles que j’ai rédigés sur différents aspects d’une informatique en ligne de commande, voici un petit tour d’horizon de ce qu’il est possible de faire de cette manière :

  1. Pourquoi relever ses mails en ligne de commande
  2. Comment relever ses mails en ligne de commande 1
  3. Comment relever ses mails en ligne de commande 2
  4. Terminator pour la ligne de commande
  5. Gérer ses fichiers en ligne de commande
  6. Naviguer en ligne de comande
  7. Lynx, midnight commander et mutt transparents dans terminator
  8. Installer un shell particulier : zsh
  9. Gestion du temps et des tâches en ligne de commande
  10. Redimensionner en ligne de commande
  11. Flux RSS en ligne de commande
  12. De la musique en ligne de commande
  13. GNUpg en ligne de commande
  14. Images en ligne de commande : planche de contact
  15. Carnet d’adresse en ligne de commande
  16. Mutt avancé en ligne de commande
  17. Covid eo 19
  18. Processus en avant/arrière plan
  19. Calendrier en ligne de commande
  20. Suivi de poids en ligne de commande
  21. Météo en ligne de commande
  22. Éditer du texte en ligne de commande
  23. Email, mon amour
  24. Vim et LaTeX
  25. Vit et taskwarrior

Écrire n’est pas un métier, c’est une envie

Covid eo 19

Cet article a pour but de souligner les conséquences informatiques démesurées de la crise sanitaire que nous vivons. En particulier dans l’enseignement.

Si quelques voix s’élèvent aujourd’hui pour en rendre la mesure plus juste, il me semble que le manque d’analyse et de retenue dans l’utilisation des technologies qui nous sont proposées va avoir de lourdes conséquences sur l’avenir.

Les raisons qui m’ont poussé l’abandon de la voiture étant les mêmes que celles qui me poussent à lancer cet appel, j’aimerais dire ici toute l’absurdité que je conçoit dans l’utilisation d’un tel moyen de transport inefficace. Dans un monde qui met le rendement presque au-dessus de toute valeur, comment comprendre en effet une immense majorité des déplacements dans un objet de plusieurs tonnes sur quelques kilomètres pour ramener du pain par exemple, généralement pour déplacer une unique personne de moins de cent kilogrammes. Comment comprendre l’utilisation d’un tel véhicule alors qu’on évoque plus depuis longtemps la pandémie de morts qui lui est liée, tant en raison de la pollution et des accidents qu’en raison de la diminution de l’activité physique qu’elle induit.

Comme avec l’automobile, la crise actuelle nous fait perdre tout sens de la mesure. Elle dirige nos actions vers des facilités qui cachent leurs coûts. Les immenses efforts consentis aujourd’hui pour généraliser la vidéo comme moyen de communication évident entre les gens ressemblent fortement à la publicité faite pour inscrire la voiture dans cette même perspective. Autour d’un feu, des amis se rencontrent grace à leur voiture en arrière plan. L’image est aujourd’hui incomplète ou désuète. Il y manque les smartphones connectés en 5G sur Microsoft Team.

Le streaming, la publicité, les traceurs constituent aujourd’hui l’immense majorité du trafic réseau et ainsi, l’immense majorité de la pollution qui lui est lié. Or, à l’instar des voitures, la question du rendement de ces pratiques se pose. Pour moi, déplacer une information par un canal vidéo, c’est comme déplacer du pain dans un 4×4. Dans les trois domaines que je connais, la physique, l’informatique et les mathématiques, la quasi totalité des vidéos disponibles présente une information qui tiendrait sur une page de texte et qui est clairement très en deçà de ce que peut fournir un texte. Par ailleurs, le travail nécessaire pour construire des vidéos de qualité est simplement hors de portée de la plupart des gens. On ne s’improvise pas scénariste, metteur en scène, cameraman et monteur facilement.

Ainsi, si l’information transmise par les vidéos est souvent très pauvre, son coût est très important.

En terme de stockage d’abord. Il est évident qu’à vingt-cinq images par seconde, la photographie est clairement disqualifiée. Et les prodiges accomplis par les ingénieurs pour obtenir toujours de plus grandes capacités, s’apparentent le plus souvent à un incitation à ne plus réfléchir à ce qu’on fait, exactement comme dans le cas de la taille des automobiles où le « au cas où » règne. Or, aujourd’hui ce stockage à des coûts énergétiques non négligeables.

En terme de flux ensuite, puisque le streaming de toute nature (vidéo on demand, visio conférence, …) est un énorme consommateur de bande passante qui sollicite tellement les infrastructures (serveurs, routeurs, clients, …) que notre environnement s’en trouve modifié. L’implantation d’antennes de grande capacité devient indispensable à l’acheminement de ce flux de données qui, je l’affirme ici, s’apparente plus à du bruit qu’à de l’information.

En terme de protection des données aussi, puisque non seulement l’arrivée des images dans la maison livre aux multinationales (les GAFAM, dont Microsoft fait partie) des informations sensibles sur nos modes de vie, sur les conversations de tiers non prévenus dans la maison, sur des éléments de mobilier sans aucun doute facilement reconnus par des programmes de reconnaissance d’objets. Comme l’ont montré l’espionnage par le logiciel Zoom détournant sans accord préalable des données au profit de Facebook et l’affaire Snowden, tous les acteurs fournissant des logiciels dont personne ne peut contrôler le code, ont des intérêts certains à récolter nos données. De plus, un élève n’est jamais en situation de refuser un entretien par visioconférence demandé par une autorité comme un enseignant. Comme souvent celui-ci se déroule dans la chambre même de l’élève, s’il utilise son ordinateur personnel ou son smartphone, tant le lieu de vie d’une personne est … personnel, c’est un regard totalement injustifié porté sur son intimité par quelqu’un qui le force à se montrer. Cela n’est pas admissible.

Enfin, de tous les points de vue, demander à des élèves d’utiliser des applications en vue de vidéo conférence, me paraît être une très mauvaise idée. Ces applications s’apparentent à des réseaux sociaux, avec tous leur défauts, auxquels on force les jeunes à adhérer. Microsoft l’a très bien compris et la promotion faite par les services techniques pour des applications comme Team, qui laisse supposer que Moodle, logiciel gratuit, libre et qui peut être autohébergé et donc parfaitement auditable par un préposé à la sécurité des données, tant du point de vue de ses conditions d’utilisation que du code source qu’il utilise, ne satisferait pas à ces même conditions, n’est simplement pas acceptable.

La nécessité d’un enseignement à distance ne doit pas se faire au détriment des intérêts des élèves. Leur demander d’installer des applications fermées, dont on ne peut assurer qu’elles ne contiennent pas de traceurs n’est pas admissible. Faire autrement signifie donc un retour aux standards : les navigateurs web, Firefox en particulier. C’est la seule manière, hors l’utilisation de logiciels totalement libres, de pouvoir tenter de s’assurer, en tant que client d’un service, qu’on n’est pas pisté. C’est la seule manière d’avertir les élèves du risque indéniable que ces applications font planer sur leurs vies et des moyens de s’en prémunir. Pour les enseignants, c’est la seule manière d’être honnête vis à vis de leurs élèves et de ce point de vue, mais de de plein d’autres aussi, Moodle est clairement un système d’enseignement à distance à privilégier.

Enfin, à l’instar des tenants des vidéos-conférences qui étudient à la loupe toutes les fonctionnalités de leur applications, comme le font les automobilistes pour leur machines polluantes, pour en réduire les « petits » inconvénients, il me semble nécessaire non seulement d’exprimer clairement l’inutilité du recours à la vidéo dans l’immense majorité des cas, mais la nécessité de faire la promotion du texte, moyen de transport de l’information par excellence du point de vue du rendement.

C’est la raison pour laquelle, je propose sur ce site, de l’information pour faire de l’informatique en ligne de commande. Informatique qui n’est certainement pas de moins bonne qualité pour cette raison, faut-il le préciser.

16. Mutt avancé en ligne de commande

Cet article va progressivement évoluer. Je vais y mettre tout ce que j’apprends au fur et à mesure sur l’utilisation de Mutt. La référence est évidemment la traduction en français de :

The Mutt E-mail client
by Michael Elkins

Mais cette documentation a besoin d’être exemplifiée, car si elle est très complète, elle n’est pas simple. Publiée sous GPL, en remerciant son auteur, il m’est permis de la mettre à votre disposition Mutt_manuel.

Déplacement de plusieurs mails dans un autre dossier

Pour cela, il est nécessaire de sélectionner l’ensemble des messages selon un motif. La méthode qui permet de faire cela est tag-pattern, qu’on obtient avec la touche « Shift-T ». Vous est alors demandé le motif à trouver. En tapant Enter, on les sélectionne. Ils sont alors marqués par une petite étoile. Attention, pour les dé-sélectionner, il faut se souvenir du motif et « Ctrl-T » qui dé-sélectionne selon un motif.

Pour marquer manuellement des messages, il faut utiliser la touche t ou w en indiquant * comme marqueur. Pour retirer la marque, il suffit de retaper t ou W en indiquant * comme marqueur.

Une fois les messages tagués, il faut les déplacer. Pour cela, il faut indiquer à mutt de réaliser une action sur les messages tagués par la pression de la touche point-virgule (;). Vous sera alors demandé l’action qui pour déplacer les messages est C (pour Copier les messages dans une autre boite aux lettres). En pressant Enter, il vous sera demandé de choisir la boite aux lettres et vous pourrez la choisir en pressant : ? Les messages seront alors copiés, mais ils resteront dans l’ancienne boite.

Comme ceux-ci reste tagués, il est facile de les effacer alors en utilisant la touche d’action ; suivie de d pour taguer les messages à supprimer (D). Ne reste plus qu’à  utiliser $ pour effectuer l’opération.

Sauvegarder un message

Une opération simple pour sauvegarder un message dans un boite au lettre. Il suffit de taper la touche s et ensuite le ? pour sélectionner la boite aux lettres.

Mais, si on veut sauvegarder le message sous la forme d’un fichier texte et pas dans une boite aux lettre ?

En fait, le problème ne se résous pas dans mutt, mais dans vi. Très simple, répondez au message avec la touche r et vous passerez sous vi (si c’est l’éditeur choisi par mutt). Là, il suffit de faire :

:W~/Desktop/mon_fichier.txt

pour sauvegarder le fichier sur le bureau.

Taille des messages

Pour faire de l’ordre dans vos messages, outre les changer de boites aux lettres, vous pouvez désirer effacer les plus gros. Pour cela, il va falloir les trier. Deux manières de faire un tri sont disponibles : la touche o et sa majuscule O. Avec o on va trier les messages dans l’ordre croissant, de date par exemple. Cela veut dire que si vous demandez un tri par date, les plus anciens se trouveront en premier. Ainsi, en tapant o, vous aurez les choix suivants :

Tri Date/Auteur/Reçu/Objet/deSt/dIscus/aucuN/Taille/sCore/sPam/Label ?

et le tri se fera par ordre croissant. Ainsi, en choisissant Taille, c’est-à-dire en pressant sur la touche t, vous verrez vos messages triés par nombre de lignes entre parenthèses. Pour avoir les plus gros en premier, il faut donc utiliser le tri inverse, soit O et appuyer sur t. Ensuite, pour voir la taille en octet, entrez dans le message en appuyant sur la touche Enter et appuyez sur v. Vous verrez ainsi la taille de chaque partie du message tout à droite.

Finalement, pour revenir à vos messages triés par date décroissantes, il faut donc appuyer sur O, puis sur d pour choisir la date.

Adresse E-mail de la boite

Lorsqu’on commence à écrire un mail, une chose importante pour ne pas perdre du temps est que l’adresse de réponse soit déjà positionnée en fonction du dossier depuis lequel on écrit. Par exemple, si j’écris depuis le répertoire nommé Linux, alors que mon adresse mail principale est truc@machin.org, j’aimerais que quand j’appelle l’éditeur de message par la touche m, au moment où je me retrouve dans vi, le champ from soit déjà positionné à linux@machin.org.

Pour cela, il faut utiliser une agrafe de dossier, c’est à dire un spécifier une règle du fichier de configuration qui va prendre sa valeur selon le dossier dans lequel on se trouve et reprendre sa valeur normale quand on le quitte. La structure est la suivante :

folder-hook Linux set from="linux@machin.org"

Comme en quittant le dossier la valeur de la propriété n’est pas conservée, si

set from="truc@machin.org"

est spécifié précédemment, en ressortant du dossier, on revient à cette valeur.

Visualisation des messages avant une date donnée

Attention, il ne s’agit ici ni de trier en fonction de la date (tous les messages seront présents et en scrollant, on peut voir tous les messages avant une certaine date), ni de sélectionner tous les messages avant une date (en fonction des options d’affichage, ils peuvent alors être répartis un peu partout), mais bien de ne plus disposer dans la liste des messages qu’on voit que de ceux qui sont avant une certaine date.

La commande à utiliser ici est une commande de limitation. On l’appelle avec la touche l, comme limit. Vous verrez alors : « Limiter les messages correspondant à : ». Pour ne sélectionner que ceux qui sont avant la date donnée, il faut utiliser l’opérateur de sélection de date : ~d et spécifier un intervalle de date à l’aide d’un tiret : -. Enfin, le séparateur des champs de date est le slash (/). Ainsi, il faut écrire :

~d -01/06/19

pour sélectionner voir tous les mails jusqu’à la date du premier juin 2019.

Enfin, pour revoir tout ses mails, il faut les limiter à « all », comme cela est indiqué par mutt.

11. Flux RSS en ligne de commande

Les flux RSS (Really Simple Syndication) sont un incroyable moyen d’obtenir de l’information à jour à partir des sites internet. De plus, cette information est totalement épurée, puisque aucune publicité, aucun traceur, aucun cookies voir, en ligne de commande, aucune image n’est fournie. Seul le texte compte. Cela ne signifie pas qu’aucune image ne soit disponible (avec beaucoup d’agrégateurs de flux RSS avec interface graphique, les images sont disponibles) puisqu’on peut en demander l’affichage, mais c’est un acte volontaire.

Ainsi, ce type d’outil est-il parfaitement en adéquation avec une informatique basée sur le texte et la ligne de commande.

Je vais donc vous présenter ici un agrégateur en ligne de commande. Il se nomme : newsbeuter. Pour l’installer, un simple :

apt-get install newsbeuter

suffira.

Il faut ensuite préciser inscrire les flux RSS pour newsbeuter. L’installation n’a pas créé chez moi de fichiers de configuration. Il faut donc d’abord créer un répertoire caché qui va contenir ces fichiers :

mkdir ~/.newsbeuter

où ~ est le répertoire personnel et le . signifie qu’il est caché.

Ensuite, on crée deux fichiers. Le premier est une copie du fichier de configuration principal situé dans /etc/newsbeuter. Il se nomme config et contient par défaut :

browser sensible-browser

Pour le créer, on peut utiliser vi.

Ce fichier de configuration permet de définir les couleurs utilisées, par exemple. Malheureusement aucun fichier par défaut n’est fourni. Il faut pour le remplir se reporter à la documentation :

https://newsbeuter.org/doc/newsbeuter.html

Puis, on crée de la même manière, toujours dans le répertoire caché newsbeuter le fichier urls, qui va contenir une adresse de flux par ligne. On peut le créer en ligne de commande, de la manière suivante:

touch urls && echo "https://www.journalduhacker.net/rss\nhttp://feeds.feedburner.com/CarfreeFrance" > urls

où touch crée le fichier urls, && s’assure que la commande touch s’est bien passée, echo fournit un texte que le chevron > place dans urls. Relevez que le texte contient deux adresses de flux qui doivent se situer sur deux lignes différentes dans urls. C’est la raison de la présence du retour de ligne \n entre ces adresses. Enfin, le chevron > remplace le texte qui se trouve dans urls par celui fourni par echo. Pour l’ajouter à des adresse éventuellement déjà présentes, il faut utiliser à la place le double chevron >>.

Voilà, ceci fait, tout est ensuite très simple. Il suffit de lancer newsbeuter dans la console :

newsbeuter -r

La présence de l’argument -r signifie qu’on demande à newsbeuter de rafraîchir le flux au lancement de l’application. Si cela n’est pas désiré, il suffit de le retirer.

Newsbeuter vous présente alors la liste des flux auxquels vous vous êtes syndiqués. Cette liste présente ce qu’on appelle des fils. En les sélectionnant, vous verrez apparaître les messages à la manière de Mutt.

Voici une liste de touches utiles :

  • A : pour marquer tous les messages d’un fil comme lu,
  • C : pour marquer tous les fils comme lu,
  • D : pour les supprimer,
  • ? : pour une aide sur les touches (attention, l’aide est différentes en fonction des modes dans lesquels on se trouve : liste des fils, messages d’un fil ou lecture d’un message,
  • N : pour basculer un article entre lu/non lu.
  • o : pour ouvrir l’article dans le navigateur sans marquer l’article comme lu,
  • O : pour ouvrir l’article dans le navigateur en marquant l’article comme lu,
  • / : ouvrir la recherche,
  • u : Afficher les URLs dans l’article en cours

Tout cela (et d’autres) est très bien indiqué au bas de la fenêtre.

Il est aussi possible de mettre des tag aux articles. En pressant la touche CTRL-E, on fait apparaître une entrée nommée « Drapeaux » en bas de l’écran. On peut alors taper jusqu’à 52 caractères qui constitueront chacun un tag (attention ces tags seront triés et visibles dans l’article ; il n’est donc pas possible de mettre par exemple « important » car les drapeaux seront « aimnoprt »). Ensuite, on peut, dans le fichier de configuration de newsbeuter (~/.newsbeuter/config) attribuer une couleur à l’article en fonction d’un tag en particulier de la manière suivante :

heighlight-article "flags =~ \"i\"" red black

pour que l’ensemble des articles taggués important, avec la lettre i, apparaissent en rouge sur fond noir.

Voilà une très belle application de flux, simple, élégante et efficace. Merci à leurs auteurs.

Mémoires vives

Edward Snowden, « l’homme qui a tout risqué pour dénoncer la surveillance globale » est un homme à qui j’aimerais serrer la main et dire « Respect ». Non seulement son histoire est incroyable, son courage hallucinant, mais dans ce livre, il nous prouve qu’il y a derrière son action une réflexion très approfondie sur la surveillance de masse et surtout sur les valeurs qui la définissent.

Son livre est aussi intéressant, car il montre la genèse de son action, comment progressivement des doutes se sont immiscés en lui et les efforts qu’il a fallu pour en reconnaître la valeur. Tout en étant l’histoire d’une vie (bien heureusement pas encore terminée), son récit est une philosophie. Il nous permet de voir, au-delà des techniques d’espionnage, l’esquisse du monde de demain et c’est effrayant.

Caldav-sync sur Fairphone

Un tout petit article pour préciser qu’il est possible de synchroniser ses contacts entre un Fairphone et un NAS Synology.

Sur Synology, si CardDAV Serveur est installé, chaque utilisateur dispose d’un calendrier prédéfini. Or, l’adresse qui permet de le récupérer via l’application Carddav-sync sur le Fairphone, n’est pas évidente.

Sur le Fairphone, après avoir installé Carddav-sync et l’avoir lancé, il suffit de mettre comme serveur (si le nom du synology est déclaré sous familyds.org, par exemple) :

monsyno.familyds.org:8443/addressbooks/users/nomutilisateur/
ou
monsyno.familyds.org:8443/addressbooks/users/nomutilisateur/addressbook

et de renseigner les nom d’utilisateur et mot de passe demandés.

Enfin, dans les contacts, il faut activer le compte Caldav et la synchronisation se fera sans problèmes.