Catégorie « Quelques trucs sur… »

Quelques trucs sur Firefox #6

Barres de défilement, chargement des onglets à la demande et recherche d'un élément d'interface perdu

Barres de défilement

Dans les versions actuelles de Firefox, suivant la mode apparue sur les ordiphones et leurs écrans au format timbre-poste, se masquent toutes seules au bout de quelques secondes d’inutilisation. Une option est toujours disponible pour désactiver cette absurdité, et ce, sans même avoir besoin d’aller dans about:config.

Depuis la dernière refonte en date, elle se nomme « Toujours afficher les barres de défilement » et est maintenant planquée dans Accessibilité > Navigation et défilement au clavier. Quel rapport avec le clavier, me direz-vous ? Aucune idée. Personnellement, je veux les afficher tout le temps pour pas avoir à bouger la souris quand je veux vérifier où j’en suis de l’article que je suis en train de lire, donc rien à voir avec le clavier… Mais un expert ergonome, quelque part, doit être d’un autre avis.

Accessoirement, il est également possible d’en modifier la largeur. C’est dans about:config, cette fois, via la clé de configuration widget.non-native-theme.scrollbar.size.override.

Ne plus charger les onglets épinglés au démarrage

Actuellement, Firefox conserve les onglets ouverts, mais ne charge plus toud au lancement du navigateur, histoire de ne pas mettre l’ordinateur à genoux d’entrée de jeu. Enfin, il ne le fait pas, sauf pour les onglets épinglés.

Si, comme moi, vous avez beaucoup d’onglets épinglés, parce que vous utilisez notamment cette fonctionnalité comme palliatif à la perte de feu l’excellente extension Faviconize Tab, vous pouvez faire en sorte qu’ils ne se préchargent plus non plus.

Comme souvent, c’est dans about:config, via la clé de configuration browser.sessionstore.restore_pinned_tabs_on_demand.

Retrouver un élément d’interface perdu

Il y a quelque temps, lors d’une mise à jour de Firefox, il m’a perdu l’élément « Éléments de la barre personnelle »…

En fouillant dans about:config, plus précisément dans la valeur de la clé browser.uiCustomization.state, qui représente l’organisation des éléments de l’interface, j’ai fini par la retrouver. Par chance, j’avais sur un autre ordi à côté, un Firefox configuré sensiblement pareil pour comparer, ce qui m’a permis de la retrouver relativement facilement.

Il s’agissait de l’élément personal-bookmarks qui était parti dans une autre zone, qui manifestement ne s’affichait pas à l’écran… Je l’ai déplacée dans une zone visible et le problème était réglé.


Quelques trucs sur Firefox #5

Ajouter plusieurs onglets aux favoris, raccourci clavier de développement et suppression de suggestion dans un champ texte

Suppression d’une suggestion enregistrée dans un champ input

Ah ben après pas mal de recherches, j’ai fini par retrouver comment supprimer une suggestion enregistrée sur un input dans Firefox.

Jusqu’à une certaine version (autour de 50 de mémoire), il suffisait de survoler la suggestion et d’appuyer sur la touche suppr. Mais depuis, ça ne fonctionne plus, donc j’ai longtemps cru que c’était une autre fonctionnalité supprimée (j’ai l’habitude avec Mozilla).

Mais en fait non, c’est encore possible, c’est juste plus compliqué : ce n’est plus l’option survolée qui est supprimée, mais l’option sélectionnée.

Pour sélectionner une option, j’ai trouvé deux solutions :

  • au clavier : défiler avec les flèches
  • à la souris : maintenir le clic gauche ou droit sur l’élément (mais attention en relâchant, l’élément finalement sélectionné sera appliqué au champ)

Y a pas à dire, c’est super intuitif et user friendly. Merci Mozilla \o/

Masquer un élément du DOM depuis les outils de développement

Pour facilement masquer un élément du DOM depuis les outils de développement, il suffit de sélectionner celui-ci dans l’inspecteur puis de presser la touche H pour le masquer puis à nouveau pour le ré-afficher. Plus pratique que de coller des display: none ou autres.

Apparemment ça fonctionne également sur Chrome et Safari.

Mettre en favoris plusieurs onglets à la fois

Fut un temps, Firefox proposait un bouton “marquer tous les onglets” pour mettre en une fois l’ensemble des onglets en favoris (ou marque-pages, signets, bookmark, ou tout autre terme qui vous plaira).

Cette option a disparu, mais il reste possible de le faire. Comme souvent avec Mozilla et les options qu’ils jugent trop avancées pour leurs utilisateurs, c’est plus compliqué qu’avant, mais pour une fois, on y gagne en possibilités (c’est assez rare pour le souligner, d’habitude c’est juste plus chiant).

Voici la marche à suivre :

  1. faire un clic droit sur un onglet et cliquer sur “sélectionner tous les onglets”
  2. c’est à cette étape qu’on y gagne par rapport à avant : via ctrl + clic gauche, vous pouvez désélectionner certains onglets
  3. ensuite, faire un nouveau clic droit sur l’un des onglets sélectionnés puis cliquer sur “marquer ces onglets”
  4. on retombe alors sur la modale habituelle pour enregistrer un favori en choisissant son nom et son emplacement

Dans le cas où vous ne voulez marquer que quelques onglets, il est aussi possible de sauter l’étape 1 et sélectionner l’ensemble des onglets voulus via ctrl + clic gauche.

(source)


Quelques trucs sur Thunderbird #1

Localiser les fichiers du profil

Le dossier de profil de Thunderbird est similaire à celui de Firefox. Dans le cas de Firefox, on peut facilement le localiser en consultant la page about:profile mais comme on ne peut pas saisir d’URL directement dans Thunderbird, il faut passer par le menu Aide > Informations de dépannage où l’on peut trouver de nombreuses informations, dont la localisation du dossier de profil.

Transférer un profil et les mails d’un ordinateur à l’autre

Pour transférer un profil d’un ordinateur à un autre, il suffit de localiser le dossier correspondant sur l’ordinateur source (cf. point précédent), de copier l’ensemble des fichiers qu’il contient et de les coller dans le dossier de profil utilisé sur l’ordinateur destination (sans toucher au nom du dossier).

Cela fonctionne également entre différents OS (dans mon cas ça s’est bien passé d’un Windows 7 vers un Ubuntu).

(documentation)

Nommage des dossiers

Pour les dossiers locaux, Thunderbird range les e-mails dans des fichiers et dossiers au nom du dossier. Ceci donne un résultat douteux si le dossier inclut un /. Notamment, j’ai constaté que si je déplace un dossier contenant un /, je me retrouve à l’arrivée avec un dossier vide (sans aucun message d’erreur).

En conséquences je recommande fortement de ne surtout pas nommer les dossiers avec des /.

Export des mails d’un dossier

Il est possible de rechercher les fichiers correspondants dans le profil, mais il est plus simple de passer par l’extension ImportExportTools NG qui s’occupera de localiser les bons fichiers.

Par contre, elle est moins pratique en ce qui concerne la ré-importation, car elle ne permet apparemment pas d’importer une arborescence de dossier (je me suis retrouvé avec tous les dossiers à plat au même niveau).


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 inclut, comme .bash_aliases sur Ubuntu et sans doute d’autres distributions), les modifications ne sont pas instantanément prises en compte.

En effet, ce fichier 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 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…