PROJET AUTOBLOG


bfontaine.net

Site original : bfontaine.net

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Utiliser les raccourcis de recherche sous Google Chrome

mercredi 7 septembre 2011 à 23:23

Une fonctionnalité que j'apprécie sous Konqueror est la possibilité d'utiliser de multiples moteurs de recherche directement dans la barre d'adresse. Ainsi, il sufft de préfixer sa recherche par gg: pour faire une recherche sur Google, py: pour une recherche dans la documentation Python, etc. Bien entendu, ils sont tous modifiables, et on peut en ajouter. Et bien sachez qu'il existe une fonctionnalité similaire sous Google Chrome/Chromium.

Pour cela, il faut faire un clic droit dans la barre d'adresse de votre navigateur, et de cliquer sur "Modifier les moteurs de recherche...". Là, vous tombez sur, vous vous en doutiez, la page de configuration des moteurs de recherche. Celle-ci comporte deux cadres contenant chacun une liste de moteurs de recherche organisés de la façon suivante: à gauche, le nom du moteur, au milieu son mot-clef (et c'est ça qui nous intéresse), et à droite l'URL de recherche formatée. Vous remarquerez ainsi que dans chaque URL, le terme de recherche est remplacé par les deux caractères %s. C'est sur cette page que vous pouvez modifier votre moteur par défaut. Vous pouvez également ajouter un moteur de recherche, par exemple DuckduckGo, ou la documentation Python, ou même votre blog préféré. Il suffit d'entrer un terme de recherche aisément reconnaissable dans l'URL. Par exemple avec DuckDuckGo, cherchez tralalalalala, vous obtiendrez une URL de la forme:

http://duckduckgo.com/?q=tralalalalala

Ici, ce n'est pas bien compliqué, il suffit de remplacer tralalalalala par %s lors de l'ajout dans la liste des moteurs de recherche. On se retrouve avec des URL de la forme suivante:

Documentation Python 3:
http://docs.python.org/py3k/search.html?q=%s&check_keywords=yes&area=default
Documentation PHP:
http://fr2.php.net/manual-lookup.php?pattern=%s&lang=fr
Ce blog:
http://bfontaine.net/blog/?q=%s
etc

Associez à chacun de vos moteur de recherche un mot clef simple, par exemple gg pour Google, y! pour Yahoo!, etc. Maintenant, lorsque vous taperez votre mot-clef dans la barre d'adresse, Chrome/Chromium vous proposera d'appuyer sur la touche tabulation afin d'effectuer une recherche sur le moteur de recherche correspondant. Par exemple, pour ma part, taper ddg <tabulation> toto effectuera la recherche toto sur DuckDuckGo.

Bonus

Vous pouvez en profiter pour décider d'en dire moins à Google. Ainsi, sous Ubuntu, l'URL de recherche ressemble par défaut à ça:

http://www.google.fr/search?sourceid=chrome&client=ubuntu&channel=cs&ie=UTF-8&q=ma+recherche

S'il n'est pas possible de modifier l'URL formatée de Google, il est en revanche possible d'ajouter un "autre" Google (et éventuellement de supprimer le premier), avec l'adresse formatée http://www.google.fr/search?q=%s, ce qui est plus court, plus lisible, et en dit (un tout petit peu) moins à Google.

Afficher des citations dans le terminal avec Fortune

mardi 30 août 2011 à 21:02

Fortune est un utilitaire UNIX utilisable en ligne de commande qui permet d'afficher une citation au hasard, parmi celles de la base de donnée. Il tire son nom des "fortune cookies", ces petits biscuits dans lesquels on trouve un morceau de papier sur lequel on peut lire une prédiction ou une citation humoristique.

Sous Ubuntu, il faut installer le paquet fortune-mod pour des citations en anglais (par défaut), et fortune-fr pour des citations en français. Pour la suite du billet, on considérera que vous avez installé les paquets nécessaires pour les citations en français. Pour l'utiliser, il suffit de taper la commande dans un terminal:

$ fortune

Rien de très compliqué. L'utilitaire pioche une citation au hasard parmi les fichiers dont il dispose. On pourra avoir la liste desdits fichiers, avec, pour chacun, la probabilité qu'une citation provienne du fichier, en ajoutant l'option -f. Plus le fichier est gros, plus la probabilité qu'une citation en provienne est élevée. Si vous avez un fichier bien plus gros que les autres, il peut être intéressant d'ajouter l'option -e, qui donne la même probabilité à chaque fichier. D'autres options existent, par exemple -l qui sélectionne uniquement les citations longues (au contraire de -s), -m <expression> qui permet de ne sélectionner que les citations qui contiennent l'expression régulière donnée, etc. Pour tirer une citation d'un fichier en particulier, il suffit de l'ajouter en argument, exemple:

$ fortune humour
Ajouter ses propres fichiers

Il peut être intéressant d'ajouter ses propres fichiers pour diversifier les sources de citations. Les fichiers sont formatés de la façon suivante:

citation 1
%
citation 2
citation 2 (suite)
%
citation 3
%
...

Chaque citation est séparée de la suivante par le symbole du pourcentage (%). Il suffit donc d'ouvrir votre éditeur de texte, et de remplir un fichier avec vos citations préférés. Certains sites proposent des fichiers déjà prêts, par exemple les Chuck Norris Facts (l'encodage pose problème chez moi), DansTonChat (attention, fichier assez lourd), ou encore des astuces pour Vi(m) (issues des tweets de @vimtips).

Pour pouvoir ajouter un fichier à fortune, faites les manipulations suivantes (on suppose que vous avez téléchargé un fichier de nom monfichier.txt, qui contient des citations formatés qui parlent de Tintin).

$ sudo cp ./monfichier.txt /usr/share/games/fortunes/fr/tintin
$ strfile monfichier.txt
$ sudo mv ./monfichier.txt.dat /usr/share/games/fortunes-fr/tintin.dat
$ sudo ln -s /usr/share/games/fortunes-fr/tintin.dat /usr/share/games/fortunes/fr/tintin.dat

Et voilà ! Vous pouvez faire un test:

$ fortune tintin

Ce qui vous affichera une citation tirée (pseudo-)aléatoirement de votre fichier.

Bonus: Cowsay

Avec fortune, les citations s'affichent directement dans le terminal. On peut également avoir un personnage en ASCII Art avec une bulle contenant la citation, comme ci-dessous:

 _____________________________________
/ Après une heure de gym, je me sens  \
| mieux ; Les autres aussi me sentent |
| mieux.                              |
|                                     |
\ -+- Philippe Geluck, Le chat -+-    /
 -------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Pour cela, il faut utiliser l'utilitaire cowsay, qui affiche un personnage (une vache, par défaut) avec une bulle contenant le texte donné en argument (pour avoir un personnage qui pense au lieu de parler, utilisez cowthink. D'autres options de personnalisation sont disponibles, consultez la page de manuel pour plus d'informations). Il est possible de spécifier quel personnage utiliser avec l'option -f suivie du nom du fichier correspondant, les fichiers étant dans /usr/share/cowsay/cows. Pour afficher des citations, on préfèrera utiliser des citations courtes, on utilisera donc la commande suivante:

$ cowsay "`fortune -se`"

Qui affichera une vache disant une citation courte (-s) provenant d'un fichier aléatoire (tous ayant la même probabilité, grâce à l'option -e). Pour utiliser un personnage aléatoire (attention, certains sont très grands), on pourra utiliser la commande suivante:

$ cowsay -f `\ls /usr/share/cowsay/cows | rl | tail -n 1` "`fortune -se`"

On utilise ici un fichier (-f) aléatoire, sélectionné en listant (ls) le répertoire (l'utilisation d'un backslash avant permet d'annuler les éventuels alias), en mélangeant les lignes (rl, obtenu sous Ubuntu en installant le paquet randomize-lines), et en sélectionnant la dernière (tail -n 1, ou  plus simplement tail -1).

Mise-à-jour 11 déc. 2011 : La création de fichiers pour cowsay a été l'objet d'un billet : Créez vos propres fichiers pour Cowsay.

Réalisez vos diagrammes en ASCII art avec Ditaa

mercredi 24 août 2011 à 13:33

Ditaa (DIagrams Through Ascii Art) est un utilitaire en ligne de commande écrit en Java permettant de transformer un diagramme réalisé en ASCII art en image au format png. Il suffit d'ouvrir son éditeur de texte préféré et de créer un diagramme, par exemple le suivant, pour l'exemple:

+------+      +------+
| tutu | -+-> | toto |<-+
+------+ | +------+ |
| |
| +------+ |
+-> | lala |--+
+------+

Puis de lancer Ditaa:

$ ditaa mondiagramme.txt

Et on se retrouve avec un fichier mondiagramme.png, comme le suivant:

Diagramme Ditaa

Mais Ditaa propose également l'ajout de couleurs, des lignes en pointillés, des listes, des coins arrondis, etc. Plus d'informations sont données sur le site du projet. Le programme en est à sa version 0.9, sortie en juin dernier. Le paquet ditaa est disponible dans les dépôts Debian et Ubuntu, pour les autres, il faut télécharger et décompresser le fichier zip du projet.

Bonus
Si vous préférez faire vos diagrammes en ASCII art à la souris, utilisez asciio, écrit en Perl et dont la dernière version date de décembre 2008, disponible dans les dépôts Debian et Ubuntu. L'utilitaire est également disponible sous forme d'archive compressée via le site CPAN.

Accélérez votre navigation avec Adzhosts

mercredi 17 août 2011 à 11:18

Vous utilisez très probablement Adblocks pour "bloquer" les publicités sur les sites que vous visitez. C'est très pratique, certes, mais le problème est que cette extension (disponible pour Firefox, Chrome/Chromium, K-meleon) ne fait que bloquer l'affichage des publicités, mais celles-ci sont quand même chargées par le navigateur. Une solution existe: Adzhosts.

Tout d'abord, petit rappel: Les sites que vous visitez sont sur des serveurs, donc des ordinateurs. Tous les ordinateurs connectés au réseau ont une adresse IP. Afin de ne pas avoir à se souvenir des adresses IP de tous les sites que l'on visite (google.com est quand même plus simple à retenir que 209.85.146.105), on a inventé les noms de domaine. Donc les ordinateurs utilisent des IP, les humains des noms de domaine. Pour faire la correspondance, votre navigateur regarde d'abord dans votre fichier hosts, sinon il interroge les serveurs DNS. En gros, votre fichier hosts est organisé de la façon suivante:

adresse_IP    adresse Internet
adresse_IP    adresse Internet
...

À chaque ligne, il y a une adresse IP suivie d'un(ou plusieurs) nom(s) de domaine correspondant. Si l'adresse que vous avez tapé dans votre navigateur n'est pas dans le fichier hosts, celui-ci vas interroger les serveurs DNS qui lui répondront gentiment.

Il est possible d'éditer manuellement le fichier hosts, et c'est bien ça qui nous intéresse ici. On peut par exemple bloquer un site web en associant son adresse à une adresse IP qui n'existe pas. C'est de cette façon que fonctionne certains logiciels de contrôle parental. Pour bloquer les publicités, il suffit donc de relever les adresses servant à les héberger, et les rediriger vers une adresse qui n'existe pas. Le plus simple est d'utiliser une adresse locale, située entre 127.0.0.0 et 127.255.255.255. C'est là qu'Adzhosts entre en action: il va nous permettre de télécharger une base de données de sites indésirables via Internet, et de mettre à jour le fichier hosts avec celle-ci. Il utilise l'adresse 127.254.254.254.

Mais ce fichier hosts peut se transformer en cauchemar si une personne malintentionnée peut y avoir accès. En effet, il suffit de faire correspondre l'adresse IP du site de ladite personne avec une adresse comme mabanque-super-secure.fr, et quand penserez aller sur le site de votre banque, vous serez en réalité sur celui d'un pirate (qui aura pris soin de déguiser son site). Heureusement, il n'y a normalement personne qui a accès au fichier si vous n'avez pas modifié les droits d'accès par défaut. Mais ici, Adzhosts a accès au fichier. J'ai donc trouvé sur Internet (impossible de me rappeler où) une version modifiée qui enlève toutes les lignes qui redirigent vers une adresse différente de 127.254.254.254, s'il y en a (normalement non).


Pour télécharger la dernière version, c'est par ici. Pour la version modifiée (pour Linux uniquement), c'est par là. Sous Linux, le programme n'est rien d'autre qu'un script shell qui met à jour votre fichier selon la dernière version de la base de données d'Adzhosts. À noter que si vous n'utilisez pas Adblocks, les emplacements normalement réservés à la publicité afficheront un beau 404 Not Found, puisque la publicité ne pourra pas être chargée. Adblocks vous permet ainsi de cacher les emplacements des publicités, tandis qu'Adzhosts empêche leur chargement.

Edit du 20/09/2011:

Attention, il se peut qu'il y ait des faux-positifs dans la liste noire. Par exemple, on y trouve (version actuelle) www.alexa.com (qui permet d'avoir des statistiques sur les sites les plus visités) et statcounter.com, ainsi que alturl.com (raccourcisseur d'URL). La seule solution que j'ai actuellement trouvé consiste à recenser ces faux-positifs et à les supprimer de la liste lors de la mise à jour (j'ai ajouté quelques sed dans la fonction appending() d'adzhost.sh). Bien entendu, j'ai aussi ouvert le fichier /etc/hosts avec les droits root pour supprimer ces entrées.

Sortie de Clr version 1.4.4c

mardi 9 août 2011 à 16:34

À l'Université Paris Diderot, chaque étudiant dispose d'un espace de stockage personnel de 100 Mo, pour toutes les années qu'il passera dans l'université. Autant dire que c'est pas beaucoup. De là est venu la nécessité de nettoyer très régulièrement mon espace de stockage afin de ne pas perdre un octet de place disponible. J'ai donc développé dès la première année un petit script shell sans prétention, intitulé sobrement clr.sh (pour "clear", mais ce mot est déjà pris par la commande du même nom qui permet d'effacer l'écran du terminal). Au tout début, il ne faisait qu'effacer les fichiers de sauvegarde générés par XEmacs, terminés par un tilde (le caractère '~'). Puis ont été rajoutés les fichiers générés lors de la compilation des documents TeX.

J'ai récemment adapté cet outil pratique à Ubuntu, et la version 1.4.4c est disponible sur Launchpad par ici. Un manuel d'installation est disponible (en anglais) par là. Cette version supporte une trentaine d'applications, et n'a été testée que sur Ubuntu, bien qu'elle soit très probablement compatible avec les autres distributions de GNU/Linux et *BSD (l'outil originel a été développé sous FreeBSD).