J’utilise Firefox Nightly (57). Cette version est diablement plus rapide que Firefox 55 (la version actuellement stable, avant que la 57 soit définitivement adoptée, en novembre prochain), mais elle vient avec un gros hic : Mozilla est en train de tout refaire la mécanique interne du navigateur (la raison pour laquelle les performances sont si exceptionnelles), mais du coup les extensions actuelles ne fonctionnent plus. Il faut que les éditeurs des extensions mettent à jour les extensions et ceci va prendre du temps (seules quelques extensions sont aujourd’hui transposées sur le nouveau système).

Une extension que j’utilisais permettait d’avoir la barre des marques pages verticalement sur le côté droit : ça permet de gagner de la place à l’écran, ne fonctionne plus !

Pour obtenir le même résultat, on peut soi-même bricoler l’interface de Firefox. Ceci est rendu possible grâce au fichier userChrome.css : c’est un fichier CSS qui permet de manipuler les éléments de l’interface en CSS.

Ce fichier se trouve dans le dossier chrome/ du dossier de profil de Firefox.
Pour trouver le dossier du profile, copiez ceci dans la barre d’adresse et ça vous donnera le chemin vers le dossier du profile : about:profiles. Allez dans ce dossier, puis allez dans le sous-dossier chrome (s’il ne s’y trouve pas, créez-le).

Créez ensuite un fichier userChrome.css (attention : c’est un fichier .css, il ne faut pas qu’il y ait le .txt à la fin).

Et copiez-y le code suivant :

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

/* ne garde plus que les icône, pas les étiquettes */
#personal-bookmarks .toolbarbutton-text {display:none!important}

#PersonalToolbar {
	position: fixed!important;
	 /* own width of bookmark-bars */
	right: 35px!important;
	/* hight of url-bar + menu bar (top:0 corresponds of very top of firefox's interface) */
	top: 100px!important;
	height: 35px!important;
	/* turns the personnalToolbar on its side (from top-right, 90° CCW */
	transform-origin: top right!important;
	transform: rotate(-90deg)!important;
	padding: 0!important;
	margin: 0!important;
}

#personal-bookmarks {
	height: 100%!important;
	width: 100%!important;
	padding: 0!important;
	margin: 0!important;
	/* to have the icons in the previous listing order, rotate the list-of bookmarks 180° CW */
	transform: rotate(180deg)!important;
	transform-origin: 50% 50%!important;
}
#personal-bookmarks .bookmark-item {
	/* Icons are on theire side due to the 90° + 180° rotation. Put them back with a rotation, 90° CCW */
	transform: rotate(-90deg)!important;
	height: 100%!important;
	width: 25px!important;
}

/* this is to make room for the toolbar besides the browsing area of Firefox */
#browser,
#browser-bottombox {
    margin-right: 35px!important;
}

Et voilà le résultat :

capture d’écran de Firefox avec la barre de favoris verticale sur la droite
Bien-sûr, en modifiant quelques trucs, on peut aussi l’afficher sur la gauche de la page.

Oh et en cas de soucis avec mon code, supprimez le code du fichier, ou bien supprimez le fichier, puis relancez Firefox. Ce fichier permet de grandes choses, mais ce n’est pas un fichier critique.

ÉDIT : Malah me signale que cette astuce fonctionne également avec Firefox 55.

ÉDIT2 : Il y a un petit bug avec mon astuce : l’espace blanc sur le côté droit (celui qui décale la partie "page web" pour donner de la place à la barre) se retrouve présente également en plein écran. Si je trouve une solution, je la publierai, mais c’est pour moi un soucis minime donc n’attendez pas que je planche dessus dans l’immédiat.

Dans l’histoire de taper du texte sur un bout de papier, on est passé des moines copistes, aux presses à imprimer, puis à la machine à écrire mécanique (puis électronique) et enfin à l’ordinateur. Inutile de dire que beaucoup de choses ont changée d’une technologie à la suivante, mais il est remarquable de noter certaines choses qui n’ont, elles, pas changées du tout !
On peut faire la même remarque avec l’internet, le téléphone et le télégraphe : certains héritages subsistent encore aujourd’hui.

Voici une courte liste de ces choses, en espérant que vous aurez appris, comme moi, certaines choses nouvelles.

Certaines touches du clavier

Savez-vous à quoi sert la touche Pause/Attn sur votre clavier ? J’en avais déjà parlé dans mon article dédié aux touches du clavier : cette touche remonte à l’histoire du télégraphe ! Avec le télégraphe, il fallait noter chaque lettre transmise à la volée et manuellement. Si l’émetteur bipait trop vite, le récepteur le faisait savoir en appuyant sur la touche Pause pour demander un peu de temps.

Les touches Syst, AltGr, Backspace et d’autres ont également une histoire ancienne (cf. l’article).

Shift

Le terme shift utilisé pour désigner la touche de majuscule tire également son origine des machines à écrire mécaniques.
Sur ces appareils, chaque tige portant une lettre comportait la variante minuscule et la variante capitale. Taper sur un touche permettait de placer une des deux variantes face au ruban contenant de l'encre et donc de taper une lettre.

Pour taper l'autre variante, il fallait décaler (to shift en anglais) les touches par rapport au ruban, d'où le nom anglais de cette touche.
Le terme majuscule me semble inapproprié ici : en effet, sur les touches de chiffres, il n'a pas pour effet de faire des majuscules, mais d'autres caractères (sauf sur les dispositions comme FrOSS) . De plus, la touche de verrouillage majuscules ne verrouille pas les majuscules, mais les capitales (le premier est un terme orthographique, le second typographique). Notons que le terme anglais Caps Lock ne fait pas cette erreur...

L’Azerty

Les touches du clavier ne sont pas disposées dans l’ordre alphabétique. La raison à cela remonte à la machine à écrire mécanique. Les premières machines à écrire étaient effectivement construite de façon à garder l’ordre alphabétique sur les touches.

Le problème c’est que l’ordre alphabétique n’est absolument pas optimisé pour les machines à écrire. Deux touches proches dans l’alphabet peuvent être très utilisées, comme très peu. Sur le clavier d’une machine à écrire mécanique, où les lettres sont au bout d’une tige métallique qui vient heurter le papier avant de revenir à sa place, frapper trop vite des touches proches avait parfois pour désagrément de bloquer la machine à écrire : les tiges métalliques n’avaient pas le temps de revenir à leur place et elles s’entremêlaient rapidement.

Une solution qui permettait de continuer à taper aussi vite tout en limitant les problèmes était de déplacer les touches : séparer les touches les plus utilisées, afin que les tiges métalliques soient moins proches et donc moins susceptibles de s’accrocher les unes dans les autres :

une machine à écrire emmêlée
↑ une machine à écrire « emmêlée » (image)

Bien-sûr, toutes les langues ont des fréquences de lettres différentes et donc toutes les langues ont des claviers différents (bien que souvent assez proches) : Azerty pour le français, Qwerty pour l’anglais, Qwertz pour l’allemand, etc. (et je ne parle ici que des langues latines, mais on retrouve ce principe également sur d’autres claviers, comme le grec ou le russe).

Cette disposition est restée sur les ordinateurs, même si elle n’est plus justifiée : il n’y a plus de parties mécaniques susceptibles de s’entremêler. Il est même plutôt question de choisir des dispositions de clavier adaptées à d’autres choses : nos mains.
Pour taper toujours plus rapidement et surtout sans se faire mal au poignet (y compris à long terme), des dispositions « ergonomiques » sont de plus en plus populaires : Dvorak pour l’anglais, Bépo pour le français. Les touches ont une disposition précisément étudiée pour correspondre à la langue utilisée. La frappe est alors facilitée moins pénible et accélérée.

L’underscore, ou « tiret du 8 »

Je parle du tiret là : « _ ». Je ne sais pas si vous avez déjà fait attention, mais ce tiret se trouve plus bas que la ligne de texte. Ça se voit bien une fois que le document est imprimé. Aujourd’hui les traitements de texte permettent de souligner du texte très facilement, mais sur les machines à écrire, on utilisait ce tiret là. On tapait le texte, puis on revenait en arrière en restant sur la même ligne et on appuyait sur l’underscore : les lettres étaient alors soulignées une à une.

Le « tiret du 6 », lui, ne correspond en réalité à rien en typographie, contrairement à la flopée d’autres types de tirets que j’ai listé dans les tirets typographiques, qui ont tous un usage bien précis.

Le retour chariot et la nouvelle ligne

Toujours sur les machines à écrire, quand on finissait une ligne sur le papier (matérialisé par le son d’un petite clochette), il fallait revenir au début de la ligne puis faire défiler le papier d’une hauteur de ligne. De cette façon on se retrouvait au début d’une nouvelle ligne et on pouvait reprendre la frappe.

Sur les logiciels de traitement de texte et même le simple éditeur de texte, comme le Notepad de Windows, il existe des caractères invisibles mais qui correspondent à ces deux actions : le caractère « \n » correspondant à une nouvelle ligne, et le caractère « \r » correspond au retour au début de la ligne. On peut d’ailleurs les voir dans un terminal (ici, la console python) :

>>> print "a b c d e f"
a b c d e f
>>> print "a \nb \nc d e f"
a 
b 
c d e f
>>>

Le « \n » signifie d’ailleurs « newline » (nouvelle ligne) et « \r » correspond à « [carriage] return » (retour chariot ; le « chariot » étant le cylindre physique de la machine à écrire sur lequel le papier était plaqué). Il en existe d’autres : « \t » pour une tabulation, « \a » pour émettre un son. Aujourd’hui, ils sont parfois utilisés pour indenter ou rechercher des syntaxes dans les textes, mais restent assez techniques.

Bas-de-casse et haut-de-casse

Ou en anglais « lower-case » et « upper-case » : ils désignent les caractères minuscules (abcdef…) et capitales (ABCDEF…). Cette terminologie dérive d’une pratique plus ancienne encore que les machines à écrire : l’imprimerie, avec les caractères en plomb que l’imprimeur venait aligner, avant de les enduire d’encre et de presser le papier dessus.

Les caractères étaient rangées dans des boîtes appelées « casses » : les capitales en haut (haut-de-casse) et les minuscules en bas (bas-de-casse) :

casse typographique
↑ une casse, avec les plombs, capitales en haut et minuscules en bas (image)

Dans ces cas là, chaque casse (chaque boîte complète) correspondait à une fonte (une police d’écriture) donnée, avec lettres, chiffres, capitales, minuscules, mais aussi l’italique (qui n’est pas oblique), le gras. Le terme « fonte » est lui-même resté dans le vocabulaire (anglophone) pour désigner une police d’écriture différente d’une autre.

CC, CCi

Lorsque l’on envoi un e-mail, on peut l’envoyer à plusieurs personnes en même temps : on utilise pour ça le champ « CC », signifiant « copie carbone ». Avant, pour avoir plusieurs exemplaires d’un même document (manuscrit ou tapé à la machine), on utilisait une feuille de papier carbone : ce papier (salissant rapidement les doigts) était recouverte de poudre de graphite (du carbone, le même que les crayons à papier). Intercalée entre deux feuilles blanches, ce papier permettait d’écrire en double, en appuyant suffisamment fort :

exempe avec du papier carbone
↑ utilisation du papier carbone (image)

C’est encore utilisé pour certains document administratifs. À la Poste, quand on souhait envoyer une lettre recommandé, le double qui vous revient est rempli à l’identique grâce à un papier carbone également.

Un des problèmes dans le cas de l’e-mail est que tous les destinataires savent que la copie est envoyée aux autres. Si une telle chose n’est pas souhaitée, on doit utiliser le champ « CCi », qui correspond à « copie carbone invisible » : le courriel est toujours envoyé à tout le monde, mais personne ne sera au courant ni des destinataires en question, ni de leur nombre.

Sur mon ordi, il m’arrive d’avoir à basculer d’une sortie audio à une autre : entre la sortie casque et les hauts parleurs du PC, par exemple. Généralement, quand on veut que le son sorte par les haut-parleurs, on doit débrancher le casque.
Sauf que si vous êtes un fainéant comme moi, vous préférez le laisser brancher tout le temps et pouvoir tout de même recevoir le son des hauts parleurs. Perso j’ai également un écran branché en HDMI où sont branchés d’autres écouteurs.

Sous Linux Mint ou Ubuntu, on peut choisir la sortie manuellement dans les paramètres audio :

paramètres audio sous linux mint
Il faut chercher un peu. Il faut choisir la carte son (intégrée ou HDMI) en premier puis la sortie (principale ou casque pour la carte intégrée ; sortie écran pour HDMI). C’est donc un peu le bordel.

L’idée de ce post est de créer un petit bouton sur la barre de bureau, ouvrant une fenêtre qui permet de choisir la sortie audio en un clic :

mon applet audio

Le bouton ne fait que lancer un script, et c’est l’écriture de ce script que l’on va faire ici.

Fonctionnement de l’audio sous Linux

Le fonctionnement de l’audio sous Linux a toujours été un peu bordélique : entre Pulse audio, Alsa, OSS, OpenAL et différentes bibliothèques un peu partout. Le fonctionnement sous Mint se fait comme suit :

  1. le système sélectionne une des sorties d’une carte audio
  2. le système envoie le flux audio sur cette sortie

Chaque combinaison (carte+sortie) correspond à un « profile » audio.

Principe du script

À l’aide de la ligne de commande, on peut manuellement diriger un flux audio sur une sortie précise. Ceci se fait au moyen de la commande pacmd.
Dans notre script, en fonction du choix de l’utilisateur, on va activer la sortie sélectionnée et y envoyer l’audio.

Listage des sorties audio sur l’ordi

Dans le cas présent, seules les sorties des hauts parleurs et celui du casque sont importantes. En premier lieu, il faut lister les sorties audio présentes sur le système et repérer celles qui nous intéressent.

Ceci se fait au moyen de trois commandes, qui listent chacune une information dont on aura besoin pour notre script :

pacmd list | grep "active profile"
pacmd list | grep "active port" | grep "output"
pacmd list-sinks | grep "name:"

On va exécuter ces commandes et en noter le retour pour chaque configuration qui nous intéresse : sortie haut-parleurs, sortie casque, …

Pour les haut-parleurs

Jouez une musique ou une vidéo et assurez-vous que le son sorte par les haut parleurs.
Lancez ensuite les trois commandes précédentes. Le retour devrait être respectivement quelque chose dans ce format là :

  • Profile :
    active profile: <output:analog-stereo+input:analog-stereo>
  • Port :
    active port: <analog-output-speaker>
  • Sink :
    name: <alsa_output.pci-0000_00_1f.3.analog-stereo>

Cela vous retourne le profile, le port et le flux audio correspondant au haut-parleurs.

Pour le casque audio

Branchez maintenant un casque. et refaites la même manip.
Les trois commandes retournent maintenant ça :

  • Profile :
    active profile: <output:analog-stereo+input:analog-stereo>
  • Port :
    active port: <analog-output-headphones>
  • Sink :
    name: <alsa_output.pci-0000_00_1f.3.analog-stereo>

Le seul changement ici est celui du port. Ceci vient du fait que le même profile gère à la fois la sortie des haut-parleurs et celui du casque. Si vous aviez branché votre casque ailleurs (sur un écran HDMI, sur le port Jack d’un haut-parleur, ou sur une sortie bluetooth), ça serait différent.

Pour ma sortie HDMI

  • Profile :
    active profile: <output:hdmi-stereo+input:analog-stereo>
  • Port :
    active port: <hdmi-output-0>
  • Sink :
    name: <alsa_output.pci-0000_00_1f.3.hdmi-stereo>

Tester les commandes

Maintenant on a les informations qu’il faut pour modifier, en ligne de commandes, la sortie audio.

Lancez successivement les commandes dans le format suivant :

pacmd set-card-profile 0 off
pacmd set-card-profile 0 PROFILE
pacmd set-sink-port SINK PORT

Ainsi, pour envoyer le son sur la sortie casque avec les informations de l’exemple précédent :

pacmd set-card-profile 0 off
pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo
pacmd set-sink-port alsa_output.pci-0000_00_1f.3.analog-stereo analog-output-headphones

Pour l’envoyer sur la sortie haut-parleurs :

pacmd set-card-profile 0 off
pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo
pacmd set-sink-port alsa_output.pci-0000_00_1f.3.analog-stereo analog-output-speaker

Dans mon cas, pour l’envoyer sur la sortie HDMI :

pacmd set-card-profile 0 off
pacmd set-card-profile 0 output:hdmi-stereo+input:analog-stereo
pacmd set-sink-port alsa_output.pci-0000_00_1f.3.hdmi-stereo hdmi-output-0

Si ces commandes ont le résultat souhaité, on a fait 90 % du travail. Il nous reste à créer un script qui lance automatiquement ces commandes. Pour faire un truc plus cool, on va utiliser Zenity, qui permet de lancer des fenêtres popup pour Gnome/Mate, avec un menu.

Le menu Zenity

Si zenity n’est pas installé, installez-le.
Le fonctionnement est très simple : pour faire une liste avec des choix, on utilise la commande zenity --list à laquelle on spécifie lesdits choix. Dans notre cas, ça donne ça :

zenity --list \
    --title="Sortie Audio" --text "Quelle sortie Audio ?" \
    --column="Id" --column="Nom" \
       1 "Laptop Speakers" \
       2 "Laptop Jack" \
       3 "Screen Jack"

Vous pouvez essayer cette commande dans le terminal : ça ouvre une petite fenêtre où vous pouvez choisir une ligne. La commande retournera un numéro 1, 2 ou 3 en fonction de votre choix.

Si l’envie vous prend, vous pouvez étudier un peu plus en profondeur Zenity : il permet de faire des scripts interactifs. Ici l’on a une liste de choix, mais on peut aussi faire des curseurs (je fais ça pour mon script de compression JPEG : je choisis la compression au curseur), des confirmations, des notifications…

Le script final

Dans notre script, on demande le choix à l’aide Zenity et on fait simplement un test sur la valeur de retour. Ensuite, on exécute les commandes avec pacmd précédentes qui corresponde au choix :

CHOICE=$(zenity --list --title="Sortie Audio" --text "Quelle sortie Audio ?" --column="Id" --column="Nom" 1 "Laptop Speakers" 2 "Laptop Jack" 3 "Screen Jack");

if [ $CHOICE -eq 1 ]
then
    # activer sortie haut-parleurs
elif [ $CHOICE -eq 2 ]
then
    # activer sortie casque
else
    # activer sortie HDMI
fi

Le script final, dans mon cas donne ceci :

#!/bin/sh

CHOICE=$(zenity --list --title="Sortie Audio" --text "Quelle sortie Audio ?" --column="Id" --column="Nom" 1 "Laptop Speakers" 2 "Laptop Jack" 3 "Screen Jack");

# LAPTOP SPEAKERS
if [ $CHOICE -eq 1 ]
then
	pacmd set-card-profile 0 off # turn off
	pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo # laptop
	pacmd set-sink-port alsa_output.pci-0000_00_1f.3.analog-stereo analog-output-speaker # laptop speaker

# LAPTOP JACK
elif [ $CHOICE -eq 2 ]
then
	pacmd set-card-profile 0 off
	pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo
	pacmd set-sink-port alsa_output.pci-0000_00_1f.3.analog-stereo analog-output-headphones

# HDMI / SCREEN JACK
else
	pacmd set-card-profile 0 off
	pacmd set-card-profile 0 output:hdmi-stereo+input:analog-stereo
	pacmd set-sink-port alsa_output.pci-0000_00_1f.3.hdmi-stereo hdmi-output-0
fi

Placez ce code dans un fichier .sh que vous enregistrez quelque part, par exemple ~/Documents/scripts/audio-picker.sh.

Ensuite, sur la barre de bureau Mate/Gnome, faites un clic droit puis « ajouter au tableau de bord ». Choisissez « lanceur d’application personnalisé ». Dans la fenêtre pour le créer, donnez un nom (« choisir une sortie audio », par exemple), mettez le chemin vers votre fichier dans le champ de la commande. Si vous cliquez sur l’icône (en haut à gauche) vous pouvez lui donner une icône personnalisée. Enfin, cliquez sur « Valider » :

add a new applet

Typiquement de la bouche de votre banquier, vous entendez que pour aller sur le site de votre banque, il faut taper l’adresse du site et faire attention à la présence du « petit cadenas ». S’il y est, alors vous êtes protégés des vilains pirates et vos identifiants sont sécurisés.

Aujourd‘hui, ceci n’est plus vrai.
Ceci n’a jamais été vrai en fait, pas tout à fait.

Quand vous vous connectez sur le site de votre banque, votre PC communique avec le site. En vous connectant sur votre compte, votre identifiant et votre mot de passe sont envoyés au site via Internet.

Il y a alors deux choses auxquelles il faut faire attention :

  • que vos identifiants soient envoyés de façon chiffrée sur le réseau
  • que vos identifiants soient envoyés au bon site !

Le petit cadenas signifie que le site utilise une connexion chiffrée entre votre ordinateur et le site sur lequel vous êtes.
Sa présence vous garantit que vos identifiants ne peuvent pas êtes récupérés par quelqu’un d’autre qui serait en train « d’écouter » sur votre ligne.

Par contre, le cadenas n’indique absolument rien sur l’identité du site en question : n’importe qui, y compris moi, peut très bien créer un site web sécurisé, avec le même design, le même logo et le même formulaire de connexion que votre banque. À ce moment là, si la victime pense être sur le site de sa banque et entre ses identifiants, ces derniers seront envoyés de façon chiffré… mais vers mon site à moi !

D’ailleurs, regardez bien : en naviguant sur ce blog, le petit cadenas est présent : tout ce que vous lisez ici, ce que vous envoyez dans le formulaire ou les recherches que vous faites est sécurisé : quelqu’un qui écoute sur le réseau ne peut rien voir. Mon site est sécurisé de ce côté là.

Pour en revenir à votre banque : il y a une seule façon fiable de savoir si vous êtes sur le site de votre banque ou sur un site falsifié. Il faut de regarder le nom du site de façon attentive.
Le nom du site, c’est la partie principale dans l’adresse de la page. Tous les navigateurs actuels mettent cette partie de l’adresse en noir (le reste étant en gris) :

Par exemple, le site de La Banque Postale, le nom du site est « labanquepostale.fr », et rien d’autre :

i
Ce n’est pas labanquepostale-fr.com.
Ce n’est pas labanquep0stale.fr.
Ce n’est pas labanquepostale.fr.securise.com.
C’est uniquement labanquepostale.fr.

Si vous tapez ces identifiants sur un autre site, alors vous n’êtes pas sur le site de cette banque. Même si il y a un petit cadenas.

Tout le monde peut créer un site sécurisé (ce blog possède un cadenas : il est sécurisé). Mais seule votre banque peut créer le site « labanquepostale.fr ».
En cas de doute, demandez au guichet le nom du site sur lequel vous devez vous connecter.

Il est très facile de créer une fausse page web qui ressemble à celle de votre banque ou de n’importe quel autre site important, et compter sur votre négligence pour que vous tapiez vos identifiants dessus et ensuite les récupérer pour les utiliser à votre insu. Soyez donc attentif. Non seulement au cadenas, mais aussi et surtout au nom du site.

Travaillant sous Linux Mint plutôt qu’Ubuntu, j’ai déjà un terminal un peu plus joli (coloré, etc.). Mais on peut encore l’améliorer un peu.

Cet article est écrit après avoir vu celui de Frank Ridel dans son article pour effacer les anciens kernels de Fedora.
Son terminal est obtenu avec le petit programme Powerline (site) : c’est un package qu’il est possible d’installer (il se trouve dans les dépôts Debian/Ubuntu/Mint). Il faut aussi appliquer quelques manipulations pour l’utiliser à 100% (en particulier les polices d’écriture).

Powerline est très complet et ne se contente pas seulement d’embellir le terminal, mais également divers programmes en CLI, comme Vim.

Sur mon ordi cependant j’ai choisit de ne pas utiliser Powerline mais juste de me rapprocher du design et des couleurs. Le résultat est le suivant :

colored terminal
Comme vous voyez, le prompt normal est en bleu, mais il passe en rouge quand on se connecte en root.

Ce résultat là est obtenu avec deux lignes à ajouter/éditer dans deux fichiers.
Pour la partie bleue, vu que ça correspond à votre votre compte, il faut éditer le fichier ~/.bashrc à vous (remplacez pluma par gedit si nous n’êtes pas sous Mint ou Mate) :

pluma .bashrc

Et ajouter dans le fichier :

# BLEU + GRIS
PS1='\n\[\e[1;48;5;31m\] \u \[\e[48;5;240m\] \W \[\e[0m\] '

Puis enregistrer le fichier.
Ensuite pour root :

sudo pluma /root/.bashrc

Et ajouter ceci à la fin :

PS1='\n\[\e[1;48;5;196m\] \u \[\e[48;5;240m\] \w \[\e[0m\] '

Puis enregistrer le fichier.

Maintenant ouvrez un nouveau terminal et voyez le prompt beaucoup plus visible parmi tout le texte.
Si les couleurs ne vous conviennent pas, vous pouvez les changer. Il s’agit de changer les codes correspondant à la couleur de fond (les 31 et 196 sur les lignes) par celles correspondant à une autre couleur, comme explique là : Bash tips: Colors and formatting.

La stylisation du terminal peut se faire selon beaucoup de façons différentes.

Il y a toute une flopée de mesures à effectuer pour augmenter la réactivité de votre PC : défragmentation, suppression des vieux fichiers, mais aussi des astuces sur le hardware. Le problème c’est que ces solutions sont fastidieuses à mettre en place.
Je suppose que le programme le plus utilisé sur votre ordi est le navigateur (Firefox dans mon cas). Alors optimisons au moins celui-ci à l’aide de deux petites astuces.

Défragmenter Firefox

La première, c’est de défragmenter le dossier de Firefox. C’est très simple à faire : trouvez le dossier de profil de Firefox dans le navigateur de fichiers, faites un copier coller du dossier puis supprimez le dossier original. Ensuite renommez le nouveau dossier pour supprimer le « - copie » à la fin, histoire de revenir au dossier de départ.

Pourquoi ça aide ça ?
Parce que les fichiers dans le dossier de Firefox sont très nombreux, très souvent modifiés et sans-cesse renouvelés. C’est donc parfait pour que le système d’exploitation les place un peu partout sur le disque dur en les fragmentant au passage. Du coup, après quelques mois Firefox perd drastiquement de sa réactivité.
En faisant un copier-coller du dossier, on replace les fichiers au même endroit du disque et on les défragmente. Le navigateur peut donc de nouveau se charger très rapidement.

Notes :

  • Fermez votre navigateur avant l’opération.
  • Pour aller plus vite, pensez à vider le cache de Firefox avant également.
  • Cette opération est inutile sur un SSD.

Où se trouve le dossier de profil de Firefox ?
Il ne s’agit pas du dossier de Firefox dans « Program Files », mais celui un peu caché dans le dossier personnel.

Sous Windows, ouvrez un dossier, et copiez-collez dans la barre d’adresse, ceci : « %APPDATA%\Mozilla\Firefox »
Dans les distributions Linux, on trouve le dossier profile de Firefox dans : « ~/.mozilla/firefox ».

Nettoyer les bases de données de Firefox

Firefox stocke les données (cookies, historique, marques pages…) dans des bases de données SQLite. Ce sont des fichiers compactes, mais ces fichiers grossissent au fil de l’utilisation sans jamais perdre de leur taille. Donc si vous avez 50k pages d’historique et que vous supprimez tout, le fichier contenant l’historique continuera de prendre la place qu’il avait avant la suppression.
D’un côté ceci empêche une trop grande fragmentation, mais de l’autre, si votre base de données pèse 100 Mo, ça fait quand même beaucoup et contribue largement à ralentir votre navigation.

On peut nettoyer ces bases de données de Firefox avec une commande (linux) ou un petit outil (Windows).

Sous Linux, assurez-vous d’avoir installé SQLite3 et lancez ça :

for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM; REINDEX;'; done

Sous Windows il y a le petit outil SpeedyFox. Téléchargez le zip, extrayez l’exécutable, fermez Firefox et double-cliquez dessus (pas besoin d’installation). Cochez toutes les cases à cocher dans la liste puis cliquez sur « Optimize ». Après quelques secondes vous verrez les commandes se terminer et ça sera bon. En prime, SpeedyFox nettoie également les fichiers de Chrome, Opera et Skype.

Notes :

  • Aucune donnée n’est perdue lors de cette opération, les fichiers SQLite sont simplement « optimisés » et seront chargés beaucoup plus rapidement.

Je veux renouveler mon certificat pour mon site à l’aide de Let's-encrypt.
Ici, prenons le cas où je n’ai pas accès à la machine qui héberge le site et que je n’ai qu’un accès FTP et au cPanel (proposé sur beaucoup d’hébergements mutualisés).
On peut toujours générer un certificat : il suffit de lancer Let’s-encrypt sur son ordinateur, de générer les certificats et ensuite d’envoyer les certificats manuellement sur le site.

Je suis sous Linux Mint 18 (basé sur Ubuntu 16.04), et je fais tout en ligne de commandes.

Installation de Letsencrypt

Première chose, récupérer Lets-encrypt / Certbot :

sudo aptitude install letsencrypt

Une fois fait, on peut commencer.

Production des certificats

La commande est letsencrypt.
On ne veut que le certificat, on ajoute certonly, et vu qu’on ne se trouve pas sur la machine qui accueille le site web, on doit se mettre en mode manuel avec --manual. Perso je met une sécurité à 4096 bits avec --rsa-key-size 4096 Ensuite on ajoute les domaines pour qui on veut un certificat. Ce qui donne au final dans mon cas (pour trois domaines) :

letsencrypt certonly --manual -d lehollandaisvolant.net -d couleur-science.eu -d neerden.eu --rsa-key-size 4096

Vu que je suis sur un ordi qui n’est pas le serveur, il demande à loguer l’IP qui a fait la demande de certificat : j’accepte pour continuer.
Il faut aussi mettre son adresse email, sur laquelle vous recevrez les notifications d’expiration du certificat.

Ensuite, il s’agit de prouver qu’on est bien le propriétaire du site pour lequel on demande un certificat. Ça se passe par la création d’un fichier sur notre site avec un contenu que Lets-encrypt nous donne.

En pratique, Lets-encrypt nous dit quelque chose comme ça :

Make sure your web server displays the following content at
http://lehollandaisvolant.net/.well-known/acme-challenge/v9IszSuhkY0yg-fpV3sxxxxxxx7KMhAzXY0AxP-tUvc before continuing:

v9IszSuhkY0yg-fpV3sxxxxxxx7KMhAzXY0AxP-tUvc.Y4xbv1PhMl2rRtjYAaaaAaaaAAAaA_ONg_x-zBcF8uHYxt4

Il faut utiliser FTP (ou SSH ou autre) pour créer un fichier /.well-known/acme-challenge/v9IszSuhkY0yg-fpV3sxxxxxxx7KMhAzXY0AxP-tUvc à la racine de votre site, et utiliser un éditeur de texte pour ouvrir le fichier et y mettre le texte v9IszSuhkY0yg-fpV3sxxxxxxx7KMhAzXY0AxP-tUvc.Y4xbv1PhMl2rRtjYAaaaAaaaAAAaA_ONg_x-zBcF8uHYxt4.

Une fois que c’est fait, essayez d’accéder au fichier dans votre navigateur : le fichier doit être accessible (pas d’erreur 404 ou 403 ou autre).
Si ça marche, poursuivez dans le terminal avec la touche « Entrée ».

Si vous avez demandé plusieurs domaines différents, il faudra faire cette manip pour chaque domaine (attention, les codes aléatoires changent à chaque fois).

Quand c’est tout bon, Lets-encrypt a généré vos certificats. Ils se trouvent dans le dossier /etc/letsencrypt/live/ puis votre domaine.
Il y a 4 fichiers dedans : cert.pem, chain.pem, fullchain.pem, privkey.pem.

Installation des certificats

Pour l’installation des certificats, je passe par cPanel que me propose mon hébergeur. Il faut aller dans la section "SSL/TLS". On gère ensuite la liste des certificats et clés privés.

Il faut uploader sa clé privée (le fichier privkey.pem) dans le champ sur la section Private Keys, et le fichier du certificat (fullchain.pem) dans la section Certificates.

Les certificats sont uploadés maintenant, il reste à les installer.
Toujours dans cPanel, allez sur Install and Manage SSL for your site, puis choisissez le domaine. Cliquez ensuite sur « autofill by domain » pour pré-remplir les champs à l’aide des fichiers uploadés et enfin validez par « Install ».
Et là c’est bon : votre site est maintenant en HTTPS et fonctionne.

Cette dernière manip (choix du domaine et autofill) est à faire pour chacun de vos domaines.

Notes

N’oubliez pas de supprimer le dossier .well-known et son contenu : il n’y en a plus besoin.

De même, souvenez-vous que le certificat expirera dans 90 jours, et il faudra refaire tout ça.
Vous recevrez de toute façon un e-mail de notification à l’adresse que vous avez renseigné lors de la génération des certificats..

meme thumb up rage face
Comme tu sembles perdu dès que ça touche à Internet, laisse-moi t’aider, je suis là pour ça !

Tu as un site sur lequel tu publies tes belles photos ?
Tu ne veux pas que Google Image indexe tes belles photos ?

Voici la solution, très simple :

  • Tu ouvres ton application Bloc-Note sur ton ordinateur
  • Tu copies ça dedans :
User-agent: Googlebot-Image
Disallow: /
  • Tu enregistres ce fichier sous le nom robots.txt.
  • Tu uploads ce fichier à la racine de ton site, et maintenant Google Image ne viendra plus indexer tes images.

Enfin, dernière chose, maintenant que Google ne vient plus te « voler » : tu arrêtes de nous casser les couilles avec une taxe à la con simplement parce que t’es un incompétent qui ne sait pas lire la documentation.

Merci.

Sur mon blog scientifique Couleur-Science il m’arrive d’avoir besoin d’afficher des équations ou des expressions mathématiques, avec des fractions ou des lettres grecques.

Il existe plusieurs bibliothèques en JavaScript pour faire ça, l’une d’elles, la plus populaire en fait, est MathJAX, que vous connaissez peut-être et que j’utilisais avant. MathJAX est compatible avec pratiquement tous les navigateurs (jusqu’à IE6) et gère le SVG, le MML,, les images, elle permet de générer des codes d’intégration… Sauf que ceci vient avec un coût : l’archive pèse plus de 100 Mo, contient des milliers de fichiers et surtout le rendu est très lent.

Puis j’ai découvert Katex : un outil qui permet d’afficher des équations, comme MathJAX, mais bien plus rapidement : en fait, l’affichage est pratiquement instantané même sur les ordinateurs moins puissants ! Il n’y a pas cinquante mille options, du coup l’archive est beaucoup plus légère (2 Mo seulement, dont les 3/4 ne seront jamais chargés que sur les vieux navigateurs).

Je l’utilise depuis quelques mois sur Couleur-Science et c’est nickel. Vous pouvez en voir le résultat sur ces articles : 1, 2, 3.

Pour l’usage, ça se fait avec la syntaxe LaTeX (tuto et commandes supportées).
Dans votre page Web, incluez les fichiers katex.min.css et katex.min.js, ainsi que la bibliothèque auto-render, qui permet de faire le rendu automatique des équations quand elles sont en LaTeX dans le code source.

Pour retrouver la syntaxe de MathJAX, ajoutez ceci dans votre JavaScript :

renderMathInElement(
	document.body,
	{
		delimiters: [
			{left: "$$", right: "$$", display: true},
			{left: "$", right: "$", display: false},
		]
	}
);

Pour faire une équation dans une ligne de texte, mettez tout simplement le code LaTeX de l’équation entre deux « $ » (comme ceci : « $equation$ »)
Pour faire une équation sous la forme d’un bloc, centré, entre deux paragraphes de texte, mettez le code entre « $$ » (comme ceci : « $$equation$$ »).

KaTeX est créé par la Khan Academy, une association à but non-lucrative pour promouvoir l’éducation (en sciences, en programmation, en arts, en économie…) à travers des milliers de cours en ligne et des vidéos.

Enfin, ni MathJAX ni KaTeX ne permettent de tracer des graphiques. Pour cela, il y a JSXGraph, qui est très complète (donc forcément un peu lourde aussi). Un exemple d’utilisation ici.

En CSS, quand on veut mettre une portion de texte en italique, on utilise l’une des deux méthodes ci-dessous :

font-style: italic
font-style: oblique

Et ça met le texte en italique… Ou pas ! Car ce qu’on appelle italique est en réalité… oblique !
Il est en fait assez rare que les programmes utilisent l’italique à la place de l’oblique. La raison à ça est simple, mais pour la comprendre, il faut constater quelles sont les différences entre italique et oblique.

En fait, que le graphie soit romain (normale), italique, ou oblique, ce qui change est la forme des lettres (indépendamment de la police d’écriture elle-même).

  • Pour le romain, les lettres sont droites
  • Pour l’italique, les lettres sont différentes, et inclinées (généralement plus arrondies)
  • Pour l’oblique, les lettres sont les mêmes que le romain, mais inclinées.

oblique VS romane VS italic
Comme vous le voyez, à la fois l’italique et l’oblique sont inclinée. Cependant, les caractères romains et oblique sont identiques (à part l’inclinaison), mais les caractères italiques ont des tracés différents (en particulier le a et le f).

L’italique est donc bien une fonte en plus, et celle-ci doit être installée sur l’ordinateur pour que les logiciels puissent l’utiliser (ce qui n’est que rarement le cas) :

oblique VS romane VS italic
Dans la création de sites web, quand vous voulez inclure une police d’écriture, vous avez généralement le choix de la police « normal » et des variantes « italiques » (par exemple sur Google Fonts), et ceci pour les différentes graisses (« font-weight »).

En revanche, le comportement des navigateurs n’est pas celui que l’on espérerait : de ce que j’ai pu tester, si vous décidez d’inclure les polices italiques dans vos feuilles de style, alors à la fois oblique et italic vous donneront les caractères en italique. Si vous ne les incluez pas, les deux seront oblique (les caractères sont ceux de la police de base mais obliqués).

Je n’ai pas pu avoir un seul navigateur qui applique les trois polices de façon attendue, mais je n’ai pas pu tester Safari, le navigateur d’Apple, qui est connu pour faire très attention à ce type de détails.

Enfin, pour la culture générale, sachez que la police normale se nomme « romaine », étant donnée qu’elle prend son origine dans l’empire romain, comme l’alphabet (Latin) que l’on utilise. La police italique a la même racine que le mot Italie, le pays : en effet, l’écriture italique serait née au XVe siècle à Venise, en Italie.

Ressources :