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).


Quelques trucs sur PHP #4

Désactivation du “smart backspace” dans PHP Storm

Suite à une mise à jour de PHP Storm j’étais agacé par un problème d’indentation automatique qui forcément ne fonctionnait pas comme je voulais… En cherchant un peu j’ai fini par trouver.

Dans les préférences : Editor > General > Smart keys, rechercher l’option Smart Backspace et la passer à disabled.

C’est donc raccord avec l’adage qui dit que quand y a smart dans le nom, il faut s’en méfier (en général, c’est de la merde) :)

Erreur Composer

J’avais le message d’erreur suivant lorsque je tentais un self-update de Composer :

SHA384 is not supported by your openssl extension, could not verify the phar file integrity

En faisant quelques recherches, je n’ai rien trouvé de mieux que de désinstaller Composer puis de le réinstaller…

Puis en regardant la liste des options du self-update je suis tombé sur l’option rollback, j’ai tenté à tout hasard et ça a fonctionné, après ça j’ai pu mettre à jour normalement \o/

php composer.phar self-update -r
php composer.phar self-update

Hachage des mots de passe

Un petit mot sur un point truc que j’ai résolu il y a un moment déjà, mais dont je n’avais pas parlé parce que ça ne me semblait pas justifier un article dédié…

Ça fait un moment que PHP propose une API pour le hachage de mots de passe en vue de les stocker dans une base de données.

Il se trouve que j’ai toujours des forums sous PHPBB 2 (trop customisés pour mettre à jour vers les majeures suivantes), datant d’avant que cette API soit disponible et donc ne s’en servant pas (le standard à l’époque, c’était de stocker un MD5 c’est donc ça que j’avais dans ma base de données).

Pendant un (long) moment, j’ai repoussé le chantier de sécurisation parce que je ne voyais pas de manière propre de gérer ça : n’ayant pas le mot de passe en clair, je ne pouvais pas simplement convertir les mots de passe existants et ne sécuriser que les nouveaux me paraissait bancal.

Puis l’évidence m’a sauté aux yeux : il suffisait de hacher le MD5 plutôt que le mot de passe en clair et de refiler systématiquement le MD5 à l’API lors des vérifications. De cette manière une procédure automatique pouvait me mettre à jour ma base et régler le problème. En 30 minutes, c’était plié.

Rétrospectivement, c’est évident, mais ça a mis du temps à me sauter aux yeux donc si ça peut servir à d’autres…


Réordonner les commits dans Tortoise Git

Sous Windows, j’utilise Tortoise Git. On pourrait épiloguer sur ses qualités et défaut par rapport aux autres clients Git disponibles, mais ce n’est pas le sujet. Je l’utilise principalement parce que je le connais et que je sais que si je fais les choses comme j’en ai l’habitude ça fait ce que j’attends (je trouve ça assez rassurant personnellement).

Il y a peu, j’avais plusieurs commits locaux et je voulais faire un amend sur le second. Plutôt que d’y renoncer je me suis dit que même si je n’avais jamais trouvé ça dans l’interface, il y avait peut-être moyen de réordonner les commits (puisque ça existe en ligne de commande, même si je n’ai jamais réussi à retenir plus de 24 h la marche à suivre les différentes fois où on me l’a expliquée/montrée).

Et j’ai été agréablement surpris de découvrir que oui, c’est possible dans Tortoise Git, même si c’est bien caché (en tout cas moi je ne serais jamais tombé dessus tout seul). J’ai trouvé la réponse la plus claire ici et en voici une traduction en français (mais avec les entrées de menu en anglais parce que j’utilise la version anglophone) :

  • ouvrir l’écran de visualisation des logs avec Tortoise Git (“Git show log” sur la racine du dépôt)
  • faire un clic droit sur un des commits qui ne soit pas le dernier et sélectionner “rebase {maBranche} onto this”
  • dans l’écran de rebasage, sélectionner “FETCH_HEAD” dans le champ “upstream”
  • cocher la case “Force rebase”
  • la liste des commits s’affiche dans la fenêtre
  • cliquer sur le commit à réordonner et utiliser les boutons “Up” et “Down” pour changer sa position
  • une fois l’ordre satisfaisant, cliquer sur “Start Rebase”
  • c’est fait :)

Attention : les identifiants des commits réordonnés seront modifiés, veillez donc à bien limiter cette opération à des commits locaux qui n’ont pas encore été propagés sur un dépôt partagé sans quoi vous risquez d’avoir de mauvaises surprises (dans ce cas vous seriez forcé de faire un force push, ce qui est un bon indice qu’il y a un problème) !


Quelques extensions pour Firefox #7

Auto Tab Discard

Cette extension permet de libérer automatiquement la mémoire allouée aux onglets que l’on n’a plus consultés depuis un certain temps. La page sera alors rechargée à la prochaine consultation de l’onglet.

L’ensemble est configurable avec la possibilité de définir le délai, des exceptions, etc.

Redirect AMP to HTML

Cette extension a pour but, lorsque vous suivez un lien vers une page AMP (pour Accelerated Mobile Page) de rediriger automatiquement vers la page HTML d’origine.

Avantages :

  • on évite de passer par les caches Google (la plupart du temps, c’est Google derrière le cache) ce qui évite de leur fournir des données de consultation et de renforcer encore leur position centrale dominante
  • les versions AMP ne sont pas forcément optimisées pour être affichées sur un vrai ordinateur avec un vrai écran (c’est prévu pour les ordiphones)

Textarea Cache

Cette extension va sauvegarder automatiquement les contenus des champs textarea (textes multilignes), ce qui permet de les retrouver lorsqu’on ferme un onglet par erreur (genre par exemple en tapant ctrl + w au lieu de ctrl + x).


Quelques trucs sur Firefox #4

Affichage des requêtes XHR

Je ne trouvais pas comment afficher les requêtes XHR dans la console de Firefox (et je me disais que bon ça quand même ils ne doivent pas l’avoir enlevé).

À force de cliquer au hasard, je finis par cliquer sur la petite icône en forme d’entonnoir. Je n’avais pas essayé plus tôt tant ça semblait évidemment lié au champ “filtrer” juste à côté. Mais en fait si c’est comme ça qu’on affiche le panneau pour décider des catégories d’informations qu’on veut afficher…

Retrouver des séparateurs dans les barres d’outils

Un des nombreux trucs qui ont disparu autour de Firefox 57 et de la suppression de XUL c’est le fait de pouvoir mettre des séparateurs entre les boutons d’une barre d’outils.

J’ai cherché un moment, mais pas trouvé de moyen de le refaire via une extension (mais je commence à avoir l’habitude).

Puis je suis tombé sur une solution : passer par userChrome.css en recyclant les espaces flexibles.

C’est très chiant à mettre en œuvre et à déployer sur plusieurs machines, mais au moins ça marche…

Récupérer la barre de statut

Ça non plus ce n’est plus possible via une extension depuis Firefox 57.

Mais ça peut se bricoler dans userChorme.css en recyclant la barre personnelle puis en la plaçant en bas.

Comme pour la barre de statut, c’est laborieux et ça oblige à se passer d’une autre élément.

Heureusement que comme le dit Mitchell Baker dans son appel aux dons, Mozilla est là pour nous aider à personnaliser notre expérience utilisateur ! Imaginez si ce n’était pas le cas…