Quelques trucs sur UNIX/Linux #6

vi et .bashrc

Rechercher / remplacer sous vi

Pour rechercher l’occurrence suivante d’une chaîne dans le fichier, taper /chaine_à_rechercher. Il est ensuite possible d’afficher les résultats suivants en tapant n (pour “next”).

Il est également possible de naviguer dans l’historique de recherche en tapant \ puis en utilisant les flèches haut et bas.

Il est aussi possible de faire des remplacements de chaîne dans la ligne courante via :

:s/chaine_a_remplacer/chaine_remplacante/

Ou dans le fichier complet via :

:%s/chaine_a_remplacer/chaine_remplacante/

(source)

Copier / coller dans vi

Pour copier dans le presse papier on utilise yy (ligne courante) ou 10yy (10 lignes à partir de la ligne courante).

On utilise ensuite p (pour “paste”) pour coller le contenu du presse-papier.

En combinant les deux, yyp duplique la ligne courante et 10yyp duplique 10 lignes à partir de la ligne courante.

Recharger le .bashrc

Lorsqu’on modifie le fichier .bashrc (ou un des fichiers qu’il inclus, comme .bash_aliases sur Ubuntu et sans doute d’autres distributions), les modifications ne sont pas instantanément prises en compte.

En effet, ce ficher est lu à chaque démarrage d’un terminal BASH et n’est pas relu automatiquement lorsqu’il est modifié. Il est donc possible de relancer un nouveau terminal mais ça peut être un peu lourd (surtout si on est en phase de test d’une modification).

Il est aussi possible d’exécuter la commande suivante :

source ~/.bashrc

(source)


Quelques extensions pour Firefox #9

Entêtes HTTP, rendu XML et compteur de caractères

ModHeader

Une extension qui permet d’ajouter facilement certains headers aux requêtes HTTP envoyées par le navigateur. Ça fonctionne bien et l’ergonomie est simple et bien pensée.

Son seul défaut c’est un code fermé mais je n’ai pas trouvé d’alternative qui soit aussi fonctionnelle.

Pretty XML

Depuis quelques temps (je ne saurais plus dire quand exactement) le rendu des documents XML est devenu vraiment pourri dans Firefox. Du coup lorsque j’ai eu à travailler sur de la génération de fichiers sitemap j’ai regardé ce qu’on pouvait trouver comme extension pour palier à ça.

Celle-ci fait plutôt bien l’affaire : le rendu est lisible et les liens sont navigables, ce qui est l’essentiel de ce que j’attendais.

word count

Une petite extension à l’usage assez ciblé puisqu’elle ajoute une entrée au menu contextuel qui permet de compter le nombre de mots et de caractères composant le texte sélectionné.


Compte mail pro chez OVH, quelques subtilités

Il y a environ un an j’ai pris un compte mail “pro” chez OVH parce que gérer un serveur mail sur mon dédié c’est vraiment trop prise de tête.

Dans l’ensemble ça fait le boulot. Leur webmail à base d’Outlook est une bouse (pire encore que Gmail, c’est dire) mais comme je n’utilise environ jamais de webmail ce n’est pas vraiment un problème.

J’ai pu avec un seul compte mail déclarer un certain nombre d’alias sur mes différents domaines sans problèmes majeurs.

Enfin à part deux « subtilités » qui m’ont fait perdre énormément de temps sans que je trouve rien sur le net qui me mette sur la voie…

Mots de passe : attention aux accents !

J’ai galéré des heures à essayer de me connecter dessus avec Thunderbird sur mon PC et deux clients mails différents sur Android et pas moyen : le seul qui marchait c’était IMAP sur Thunderbird, IMAP sur Android, pas moyen et SMTP sur aucun des deux.

J’ai tenté plein de trucs, suivi 12 fois toutes les docs, etc. Jusqu’au moment où je me dis que je vais tenter de virer le « é » que j’avais mis dans mon mot de passe pour ajouter un caractère spécial. Et c’était ça : tout marche maintenant. J’ai dû perdre en tout 4 ou 5 heures parce que j’ai mis un accent dans mon mot de passe. chaine Je suis pas près de recommencer, quelque soit le site ou service.

Je précise que je saisissais bien l’accent hein (je passais par copié/collé sur le PC donc pas de faute de frappe). C’est juste que de l’autre côté il me le rejetais. Puis j’ai viré l’accent et là tout marche.

Pas merci OVH. Mais alors pas du tout.

Alias automatiques en utilisant un « + »

Comme sur d’autres services (comme Gmail par exemple), on peut utiliser des variantes de l’adresse en ajoutant « + » et une chaîne quelconque à la suite du nom d’utilisateur.

J’utilise ce mécanisme pour fournir un e-mail unique à chaque nouveau site ou service à qui je communique une adresse e-mail, histoire de pouvoir tracer d’où viennent les spams.

Par exemple si l’adresse e-mail est mail@toto.fr, on peut utiliser mail+amazon758@toto.fr, ça marchera également.

Enfin à peu près.

En fait on peut sans problème recevoir un mail via cette adresse là, il n’y a rien de particulier à faire.

Par contre pour en envoyer là il faut aller déclarer explicitement un alias dans l’interface de gestion fournie par OVH, sans quoi l’envoi est rejeté.

Voilà voilà, je laisse ça là, sait-on jamais, ça peut servir à quelqu’un d’autre…


De la politique de signature des extensions dans Firefox

Mozilla, le Parti Socialiste du logiciel ?

La semaine passée, les utilisateurs de Firefox ont dû faire face à une désactivation de l’ensemble des extensions du navigateur (enfin presque, chez moi 5 sont restées, allez savoir pourquoi). Mozilla a fourni rapidement des solutions de contournement et travaillé à résoudre le problème (plus de détails ici) et je n’ai rien à redire là dessus.

Par contre ça révèle selon moi un gros problème de fond.

Je ne vais pas m’étendre sur la partie concernant le mécanisme d’« études » dont j’avais oublié l’existence et qui était finalement le seul moyen de contournement trouvé sur un Firefox standard : ce mécanisme permet à Mozilla d’installer silencieusement des trucs sur le navigateur et est fort heureusement désactivé par défaut… même si ça laisse songeur sur les potentielles failles de sécurité ouvertes par ce canal.

Non, ce qui me pose vraiment problème c’est cette gestion de la signature des modules. Non pas que le fait de signer les modules soit un problème en soi. C’est une réponse tout à fait valable à des attaques via des extensions malveillantes. Mais plutôt la manière dont c’est mis en œuvre.

En effet, cet épisode révèle que :

  • la vérification de la signature des modules est désactivable sur environ toutes les versions sauf la version grand public (donc sur ESR, Developer edition, Nightly) via la clé xpinstall.signatures.required (et extensions.langpacks.signatures.require pour les paquetages linguistiques), cf la documentation pour plus d’informations
  • les signatures des modules sont revérifiées une fois par jour (cf l’article technique évoqué plus haut) et si la vérification échoue, l’extension est désactivée d’autorité (et silencieusement je crois bien mais je ne suis plus certain de ce point, il y avait peut-être un petit message dans un coin)

Ces deux points sont pour moi hautement problématiques pour des raisons plutôt bien résumées dans les pouets suivants :

Sinon imaginez Linux avec le même genre de conception ?

Le certificat du dépôt expire, et tous les paquets sont invalidés et votre OS cesse de fonctionner ?

C'est pas juste une bourde, c'est une énorme connerie dès la conception. Une énorme FBI (Fausse Bonne Idée).

Mais c'est pour notre bien, c'est pour notre sécurité. Meh.

Non la pillule n'arrive pas à passer.

— sebsauvage (@sebsauvage@framapiaf.org) le 10 mai 2019 à 19:46

Le problème, c'est que Mozilla commence à faire comme Google : faire les choix à la place de l'utilisateur "pour son bien", non seulement en ne lui proposant pas de choisir, mais en allant jusqu'à rendre la désactivation de l'option IMPOSSIBLE.

À partir de quand c'est une bonne idée ?

Comme on peut considérer ça comme respectueux de l'utilisateur ?

— sebsauvage (@sebsauvage@framapiaf.org) le 10 mai 2019 à 20:12

Que les options par défaut protègent l'utilisateur OK, mais pourquoi empêcher les utilisateurs avancés de modifier l'option ?

— sebsauvage (@sebsauvage@framapiaf.org) le 10 mai 2019 à 20:41

On est là au cœur du problème : Mozilla a mis en place un système de signature des extensions pour protéger contre les extensions malveillantes (et c’est très bien) mais de telle manière que l’utilisateur n’ait aucune manière de contourner le système s’il le souhaite. Mozilla décide et l’utilisateur subit “pour son bien”.

Dans les versions du logiciel destinées à un publique technique ou professionnel on permet de désactiver le système mais pour le grand public, non. Quand je dis que c’est désactivable, on parle bien d’une configuration perdue dans about:config, donc un truc que l’utilisateur lambda n’a aucune chance de toucher par erreur (puisque les extensions ne le peuvent plus). Un truc déjà réservé à des utilisateurs avancés (ceux qui ont passé le message anxiogène et fait l’effort de trouver la clé à modifier). Donc pourquoi l’interdire sur la version grand public ?

Message anxiogène avant d'accéder à about:config
Message anxiogène avant d'accéder à `about:config`

Le second point relève de la même logique : on valide tous les jours et en cas d’échec on désactive. Sur le papier ça peut se tenir comme comportement par défaut mais une fois de plus c’est décider à la place de l’utilisateur.

Comment on peut considérer que faire tout d’autorité sans à aucun moment donner la main à l’utilisateur peut être une bonne idée ? Parce que virer les extensions ça veut dire casser des fonctionnalités (ce qui peut être un gros problème) mais surtout se balader à poil (vu le peu d’outils natifs de protection contre les traqueurs).

Le minimum aurait été de proposer un bouton permettant de réactiver l’extension (après moult messages anxiogènes si on veut) mais un truc qui permette de continuer à utiliser convenablement son navigateur même si un truc s’est mal passé.

Pour moi tout ça est assez symptomatique de la dérive de Mozilla ces dernières années qui se comporte de plus en plus comme un Google ou un Apple : je sais mieux que vous ce qu’il faut faire donc pour votre sécurité je vais décider à votre place.

Je suis désolé mais pour moi c’est très loin de l’idéal des logiciels libres. Mais vraiment très loin. C’est infantiliser l’utilisateur en lui déniant le droit de faire des choix (certes il peut toujours patcher son navigateur et le recompiler, hein, mais outre le fait que ça nécessite déjà un gros bagage technique, avec la mode des cycles de développement courts c’est devenu excessivement laborieux).

Encore une fois je ne dis pas qu’il faut laisser faire les pire conneries en deux clics mais juste laisser des solutions de contournement, a fortiori quand elle existent (puisque la clé de configuration existe dans les autres versions, ça n’introduirait même pas de coût de maintenance supplémentaire).

Tout ça me renforce dans mon impression de plus en plus forte que Mozilla tend à s’apparenter à un Parti Socialiste du logiciel : on fait valoir de grand idéaux mais finalement on va au même endroit que les autres, juste un peu plus lentement. Et ça, ça me déprime fortement parce qu’on n’a pas des masses d’alternatives viables en matière de navigateurs libres.


Quelques extensions pour Firefox #8

Dark mode, téléchargement en masse et traduction

Download Star

Un remplaçant pour la défunte extension DownThemAll (victime de la suppression de l’ancien système d’extensions) permettant de télécharger en masse les médias affichés ou liés dans une page.

L’interface est peu intuitive mais en cherchant un peu on s’en sort. Il y a beaucoup d’autres extensions du même type mais la plupart ont un code fermé et demandent un grand nombre de permissions (ce qui laisse supposer un siphonnage de données perso). Pour celle là au contraire le code est libre et les permissions demandées sont minimalistes ce qui m’inspire beaucoup plus confiance.

Dark Reader

Une extension qui permet de basculer tous les sites consultés en mode “sombre” pour réduire la fatigue visuelle. Je l’utilise assez peu finalement parce que j’ai la plupart du temps un bon éclairage ambiant (donc je peux m’en passer) et que le rendu étant automatique il est loin d’être toujours très esthétique. Mais ça peut être très utile quand l’éclairage fait défaut.

L’extension permet évidemment d’activer le mode sombre seulement sur certains sites et d’activer ou désactiver le mode en quelques clics.

Simple translate

Dernièrement j’ai eu à traduire beaucoup de documentation technique en anglais. Dans ce cadre j’ai commencé par copier les fragments de textes dans un traducteur automatique (pour finir par retenir celui de Google qui reste le plus efficace), puis copier le résultat et le retravailler un peu pour un résultat satisfaisant (on ne visait pas là de la haute qualité littéraire, juste avoir une version anglaise minimale). Le truc c’est que ça fait énormément de clics entre deux onglets différents.

Cette extension permet lors de la sélection d’un fragment de texte dans la page d’afficher un encart à côté de la sélection contenant la traduction (via Google). L’avantage c’est que du coup tout se fait dans la même page et avec bien moins d’opérations puisqu’il suffit de sélectionner le texte puis sélectionner le texte traduit et le copier/coller au bon endroit.

Il est possible d’activer cette traduction en mode automatique ou bien de faire afficher juste un bouton déclenchant la traduction (voir désactiver complètement cet affichage par défaut et passer par le menu contextuel).

Perso une fois le boulot terminé, j’ai désactivé le truc parce que hors processus de traduction c’est peu utile et envahissant mais sur le moment ça m’a bien facilité la vie.

Attention cependant, côté Google ils ont un quota de requêtes, du coup comme on était plusieurs collègues à l’utiliser en même temps derrière la même IP, on a fini bloqué en fin de journée (mais c’est revenu le lendemain).