dimanche, juillet 29 2012

Un OSD de capture clavier en bash

Impossible de trouver un outil OSD de capture clavier qui puisse fonctionner convenablement avec un tilling desktop... car évidemment tous les outils que j'ai trouvé me place la capture dans la mosaïque... Comme je suis en vacance, je me suis pris 25 minutes à coder un truc qui marche en bash, et qui fasse du vrai OSD (On Screen Display), c'est à dire "sans fenêtre". Et comme je suis gentil, je vous montre :)

Lire la suite...

dimanche, juin 3 2012

Correction orthographique et grammaticale avec Vim

J'en avais assez de voir que je tapais faute sur faute en préparant mes billets sous Vim... je suis mauvais en orthographe, et pire en grammaire. J'ai honte souvent de cette tare, alors j'ai décidé de fouiller pour trouver une méthode propre pour supprimer un bon paquets de fautes en utilisant mon éditeur favori. Voici ce que j'ai à vous proposer.

Lire la suite...

vendredi, avril 27 2012

Point de montage Google Drive

Google vient de sortir Google Drive, comprenez un espace de stockage dans le "cloud" (à distance, sur les serveur Google, avec mix des documents de google-docs). L'application de disque dur distant est accessible de plusieurs manières: Android, PC ou directement sur le net. Or sous Windows et Mac on a la possibilité d'utiliser un programme qui monte un disque sur l'ordinateur. Qui dit "monter" rappelle le point de montage Linux (unix...). Google a annoncé une version de Google Drive Linux pour bientôt mais en attendant vous pouvez encore utiliser le projet http://code.google.com/p/google-docs-fs/

Ce projet était à la base un système de montage simple utilisant fuse pour afficher les google-docs sur un disque monté localement. Mais comme Drive utilise le même point d'accès, ce (vieux) projet fonctionne très bien. Sous Fedora, il suffit de faire:

update merci à "hk", j'avais oublié le paquet python-gdata


su -c "yum install fuse-python python-gdata -y"

cd /tmp
hg clone https://code.google.com/p/google-docs-fs/
cd google-docs-fs
su -c "python setup.py install"

Reste alors à monter le dossier:

mkdir ~/GoogleDrive
gmount ~/GoogleDrive votre_user@gmail.com

On vous demande alors le mot de passe google, et hop le point de montage est créé:

mount
gmount.py on /home/patachou/GoogleDrive type fuse.gmount.py (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

Vous pouvez dés lors visiter le dossier, créer des répertoires, copier des données, ouvrir vos documents... et y accéder depuis votre mobile, le net... Reste à voir ce que l'application Google offrira de mieux que ce petit projet python, parce que pour le moment cela me convient tellement bien...

PS: vous pouvez ajouter ce point de montage dans /etc/fstab pour l'avoir actif tout le temps, mais comme je ne sais pas comment placer le mot de passe. Je vous tiens au courant si je trouve :)

vendredi, août 26 2011

Configurer Mutt pour gmail

Il est évident que nous ne sommes pas tous accrocs aux outils en mode texte (dans un terminal) mais personnellement j'y trouve mon compte: vitesse, exécution claire, lisibilité... et modularité. Je suis un Google Fan (houuu je vais m'en prendre plein la poire moi) et j'ai beaucoup de mes données sur Google: mail, documents, agenda... Voici donc comment pouvoir envoyer des mails et lire ces derniers convenablement avec Mutt, y compris l'autocompletion des contacts Gmail

Lire la suite...

dimanche, août 21 2011

Xmonad, le bureau productif orienté terminal

Vous utilisez certainement Gnome, KDE, ou XFCE (entre autre) pour afficher vos programmes. Le gestionnaire de fenêtre vous permet de déplacer le programme sur votre écran via la souris, vous avez des menus, des racourcis qui vous permettent de gérer tout ça. Je ne critique pas ce principe, il est pratique, assez standard et bien adapté à la plupart des utilisateurs. Mais nous ne sommes pas tous identiques. Certains, comme moi, utilisent surtout des terminaux, et n'aiment pas devoir passer la main du clavier à la souris pour gérer son espace de travail. Pire encore, nous n'avons en général pas besoin de la barre de titre, et devoir placer les fenêtres sur le bureau est une chose qui peut vraiment être un frein à la productivité.

Lire la suite...

mercredi, juillet 27 2011

Faire parler son pc

Ça peut paraître gadget, mais on se rend compte assez vite que la synthèse vocale sur un poste peut être intéressante dans pas mal de cas. Par exemple, j'ai tendance à compiler des applications assez lourdes, et pour être prévenu, j'aime avoir une voix qui me dit "la compilation de blender 2.58 pour cycles est terminée sans erreur"... Ou encore, me prévenir vocalement que j'ai un souci sur un serveur distant... Cela permet d'avoir une annonce clair et de ne pas avoir constamment sous les yeux un panel de tests. En gros, c'est pratique, gadget oui, mais pratique.

Alors comment faire causer notre coucou. Il existe des méthodes libres et/ou gratuites. Je vais vous montrer une procédure pas à pas qui va vous permettre d'avoir une jolie voix sur le pc (si on est pas trop regardant) et comment utiliser cela pour pas mal d'opérations. Le but est de faire simple, pratique et utile.

Première approche, espeak seul.

Espeak est un projet libre, facilement installable sur votre Fedora puisque dans les dépots officiels. Pour l'installer vous pouvez passer par l'outil d'ajout de paquets ou via une console:

su -c "yum install espeak -y"

A partir de maintenant, vous avez la commande espeak qui vous permet de faire parler le pc. Avant de vous lancer en vous disant "ça y est mais trop bien !!!" je tiens à vous prévenir: ça va pas être super beau. En effet, la voix anglaise est à peu près écoutable, par contre en Français... mon dieu. Je veux bien être indulgent, mais honnêtement là vous allez voir c'est pas super joli.

Exemple:

espeak -vfr "bonjour à toi humble utilisateur de la console"

Ça pique un peu non ?

En anglais c'est à peine mieux:

espeak  "Hi dude, this is better, isn't it ?"

Bref, si cela vous plait vous pouvez utiliser epseak tel quel... mais personnellement j'ai eut envie de trouver mieux. Et la solution a été "mbrola". Notre méthode va utiliser espeak et mbrola, le premier pour générer des phonèmes et l'autre pour parler.

Deuxième approche: espeak + mbrola

mbrola est un projet gratuit mais non libre. Je suis pas fan de la politique qu'ils utilisent, d'autant que le projet a l'air de sombrer doucement dans les abîmes des ligiciels qui auraient put devenir des références pour des années... Mais toujours est-il qu'à l'heure actuelle on peut encore s'en servir.

Donc, on va préparer notre installation.

su -
mkdir -p /opt/mbrola
cd /opt/mbrola
wget http://tcts.fpms.ac.be/synthesis/mbrola/bin/pclinux/mbr301h.zip
unzip mbr301h.zip
rm -f mbr301h.zip

Oui, que vous soyez sous 64bits ou 32bits, on devra utiliser la version 32bits.

mbrola a besoin de fichier de voix. On va récupéré l'une de celle qui va le mieux pour notre test:

mkdir fr4
cd fr4
wget http://tcts.fpms.ac.be/synthesis/mbrola/dba/fr4/fr4-990521.zip
unzip fr4-990521.zip
rm -f fr4-990521.zip
exit

N'oubliez pas de bien taper "exit", nous ne devons plus être "root" à partir de maintenant.

Bon, maitenant que le paquet est là... on passe au "pipe" qui permet de faire parler mbrola. Il faut savoir que espeak embarque quelques "voix" de mbrola par défaut. Donc nous allons utiliser cela pour faire causer l'ordinateur.

Bon je vous explique rapidement, on va pas trop détailler le principe

  • espeak -vmb/mb-fr2 "texte à donner" retourne une sortie qui correspond aux phonèmes au format reconnu par mbrola
  • mbrola fichier-de-voix phonèmes fichier.format: va lire l'entrèe de phonèmes et sortir un fichier au format désiré "au, wave..."

Comme nous ne voulons pas créer des fichiers sur le disque, on peut "piper" les sorties. De ce fait:

mbrola fichier_de_voix - -.au | play - 2>/dev/null

aura pour effet de récupérer les phonèmes depuis l'entrée standard et créera un fichier "au" directement envoyé à la sortie standard. "play" va alors lire cette sortie standard et nous redirigeons toutes les erreurs dans /dev/null pour ne pas polluer notre console...

Donc le pipe complet est:

espeak -vmb/mb-fr4 "Bonjour à toi humble utlisateur de la console" | /opt/mbrola/mbrola-linux-i386 /opt/mbrola/fr4/fr4 - -.au | play - 2>/dev/null

Ha oui, elle parle vite la nana hein :)

Et bien nous allons palier la vitesse via les options de mbrola.

  • -t 1.2 par exemple va réduire la vitesse de parole d'un ration de 1.2

Ce qui nous donne:

espeak -vmb/mb-fr4 "Bonjour à toi humble utlisateur de la console" | /opt/mbrola/mbrola-linux-i386 -t 1.2 /opt/mbrola/fr4/fr4 - -.au | play - 2>/dev/null

Mieux n'est-ce pas ?... On peut encore jouer avec quelques options, comme le "pitch" (hauteur de voix) et le volume:

  • -v 0.8 volume à 80%
  • -f 1.1 monte le pitch de 10%
espeak -vmb/mb-fr4 "Bonjour à toi humble utlisateur de la console" | /opt/mbrola/mbrola-linux-i386 -f 1.1 -v 0.8 -t 1.2 /opt/mbrola/fr4/fr4 - -.au | play - 2>/dev/null

Comme je vous le disai, c'est mieux que espeak mais on est encore loin de la beauté extême. Le souci n'est pas mbrola, mais la création des phonèmes. Car les exemples proposés par mbrola vous montre qu'on pourrait s'y tromper.

Automatisation

Bon il nous reste une chose à faire, rendre utilisable aisément cette commande. Et bien faisons ça simple:

su -
cat > /usr/local/bin/sayit<<EOF
espeak -vmb/mb-fr4 "\$@" | /opt/mbrola/mbrola-linux-i386 -f 1.1 -v 0.8 -t 1.2 /opt/mbrola/fr4/fr4 - -.au | play - 2>/dev/null
EOF
chmod +x /usr/local/bin/sayit
exit

Voilà nous avons créé une commande "sayit" qui va nous permettre de faire cela:

sayit "Que c'est bien de travailler sous linux"

Reste alors à utiliser notre commande comme je vous le disais au début de l'article. Par exemple, quand je compile un programme:

make && sayit "Compilation de Blender terminé avec succès" || sayit "Compilation de Blender avec erreurs"

Et j'en passe, vous pouvez faire un petit programme en bash qui lit des logs et vous annonce une erreur, ou encore un module XChat qui vous préviens que quelqu'un vient de vous parler.

Ce gadget est intéressant quand on est comme moi à travailler sur plusieurs machines en même temps, souvent en train de préparer du café, ou sur plusieurs taches en même temps.

Voilà, j'espère que vous avez apprécié mon explication et si vous avez des idée d'utilisations ou script, faites passer !

dimanche, juillet 24 2011

Evolution et le «marquer comme lut»

Depuis mon passage à Gnome 3 j'ai quelques mauvaises surprises dans quelques applications... Rien de bien méchant, mais il arrive que certaines nouvelles applications perdent des options que je trouvais agréables. C'est le cas pour Evolution Mail 3, j'ai cherché un bon moment avant de me rendre compte que "non je ne suis pas fou, l'option «marquer comme lut après X secondes»" a bel et bien disparut... Mais n'ayant pas donné mon dernier mot, j'ai pensé que comme beaucoup d'applications gnome, la configuration a dut passer dans "gconf"

Et je n'ai pas eut tort... en fouillant un peu dans "gconf-editor" j'ai trouvé ça:

Gconf - Evolution - Mark as read

Il a suffit de mettre cette valeur à 0 pour qu'enfin un mail soit marqué comme lut immédiatement, et pas après 1.5 secondes.

Autre méthode plus rapide, dans une console:

gconftool-2 --set /apps/evolution/mail/display/mark_seen_timeout 0 --type int

Cela revient au même...

Alors pour ne pas m'arrêter à cette mésaventure, je tiens à donner un avis sur la direction que prend Gnome dans certains cas qui me gêne. J'ai toujours été un détracteur de la base de registre Windows, selon moi c'est un truc imbuvable pour le commun des mortels et en plus de cela vous remarquez que ce n'est pas franchement trivial.

Alors qu'un fichier de configuration suffirait, et que des options aisées sont plus adéquates, surtout sur un outil aussi basique que la lecture de mails, on se retrouve à chercher un terme dans une liste énorme de valeur typée et ce dans un système de configuration imbitable.

Bien que l'interface Gnome 3 me plaise énormément, que je trouve que l'avancée ergonomique que montre le développement de ce gestionnaire de bureau est impressionnant, et que l'innovation de ce dernier m'a vraiment plut, j'ai l'impression de régresser sur le sujet de la configuration.

Oui, je conçois bien que gconf est un outil vraiment intéressant, techniquement parlant, car cela permet une homogénéité des données pour la configuration de l'environnement. Et d'autant plus que cela permet un échange de configuration inter logiciel. Mais ce coté qui force l'utilisation d'un outil de configuration pour changer des valeurs m'horripile fortement.

Bon, cela étant dit, j'ai utilisé gconf que peu de fois pour modifier ce genre de valeur... en général, les développeurs pensent bien à mettre une option dans l'interface dédiée de configuration du programme... mais pour le coup, là, Evolution porte son nom à l'envers, car on a régressé sur pas mal de points.

Seul plaisirs vraiment intéressant que je trouve à Evolution 3, outre le fait qu'il puisse se connecter à Exchange, c'est qu'il est devenu bien plus performant. Et l'interfaçage avec Google pour l'agenda et les contacts synchronisés m'ont charmé (Thunderbird peut le faire, mais honnêtement je trouve qu'Evolution le fait mieux)

Voilà pour ma partie coup de gueule du dimanche à 3h du matin...

mardi, juillet 12 2011

Parlons Gnash

Me revoilà après quelques temps de latence obligatoires et j'ai enfin put prendre le temps de passer à Fedora 15. Non sans mal, étant donné ma configuration de machine (donc cela ne tenait qu'à moi) mais cela m'a donné une occasion de me débarrasser d'un "truc" gênant sur mon poste depuis des lustres: Flash-Plugin. Et pour être plus clair, mon passage un peu forcé (mais pas trop) à Gnash.

Bon pour vous résumer, j'ai un petit souci depuis mon redémarrage, et encore une fois, cela n'est valable que pour moi, le plugin flash a dut mal à s'installer... Et mise à part Youtube, je me disais "en fait, à quoi bon me prendre la tête..." et puis malheureusement je me suis vu devant une page Youtube, bloqué devant une vidéo qui ne voulait pas apparaitre, tout bonnement parce que la version HTML5 de Youtube a un souci... Rage profonde, je commençais à me dire "va encore falloir que j'en bave avec ce foutu plugin qui fait ramer mon poste"... et bien non !

Je me suis souvenu du projet Gnash qui est un lecteur de contenu flash et qui en plus de cela nous propose un plugin tout propre et tout bien qu'il est. Oui, Gnash est libre, sous licence GPL et s'installe depuis les paquets. Plus de souci avec les version 64bits, plus de prise de tête à se demander pourquoi chromium le voit pas... l'installation a pris 3 secondes via le bon vieux:

su -c "yum install gnash-plugin"

Arrivé devant la page Youtube, en désactivant avant tout le mode "HTML5" (et à mon grand regret, je vous assure) me revoilà devant une vidéo qui passe sans souci !

Alors, je commence à me dire "attends mais ça à l'air en plus un peu plus soft pour mon CPU" et effectivement, mon processeur me remercie de ne pas dépasser les 15% de charge. La vie est belle... mais à ce point ?

Et bien écoutez (oui lisez....) j'ai donc joué à tourner un peu sur quelque sites, la plupart du temps je me suis retrouvé devant une animation de pub (et ba ouais certain sites ont besoin de pub pouv vivre...) mais je n'ai encore pas vu de site qui perdait tout son sens avec Gnash.

Evidemment que gnash-plugin n'est pas l'égal de flash-plugin, et je suis persuadé que pas mal de site vont me hurler dessus... mais moi qui ne suit pas un mordu de ses animations qui servent à rien, ou qui pourraient fonctionner parfaitement en HTML5/CSS3... et bien gnash-plugin est une très bonne alternative. D'autant plus que je me libère du dernier système proprio de ma machine étant donné que le pilote propriétaire de ATI (AMD...) a juste trop de mal avec gnome 3 alors que le pilote Radeon (libre) fonctionne sans aucun souci...

Me voilà donc enfin avec un poste sans paquet utilisant du code propriétaire...

Pour information, voici les derniers passages de logiciels "propriétaire ou presque" dont je me suis débarrassé:

  • Google Chrome, je suis passé à Chromium qui est exactement le même produit, les informations envoyées à Google en moins
  • FGLRX (kmod-catalyst), je suis sous pilote Radeon
  • Flash-plugin, j'utilise sans aucun souci Gnash-plugin

Voilà, le libre avance on dirait, doucement, mais il avance bien !

vendredi, mars 11 2011

Carte télé sous Fedora

J'ai testé de faire marcher la télé avec une carte CINERGY T Stick HD sur mon poste, et alors que tout me paraissait assez clair... impossible de voir une image. La solution est simple: tout est dut au format vidéo utilisé pour la TNT, en l’occurrence le MPEG2. Voici un moyen simple de faire marcher votre carte et voir les chaines tourner.

Lire la suite...

dimanche, mars 6 2011

Catpure vidéo écran screencast sous Fedora avec ffmpeg

La capture vidéo d'écran est un sujet maintes fois soulevé sous Linux et il existe de jolis services fais pour ça. Mais quand ça ne marche pas on a du mal à trouver des solutions simples... Istanbul, gtk-recordMyDesktop, je les ai essayé... mais à chaque fois un souci apparait, soit avec le son, soit avec la vidéo. Alors pourquoi ne pas passer par la ligne de commande ? ffmpeg est juste parfait ! alors on se lance. Encore une fois, si je trouve pas ce qui me plait, je le code :) donc vous aurez un script en bas de billet qui fait tout ça.

Lire la suite...

jeudi, mars 3 2011

Bleachbit et votre PC souffle un peu

On télécharge, on joue avec des compilations de programme, on se teste au package, on ferme brutalement des éditeurs de texte, on utilise firefox et google-chrome... et puis un jour on se rend compte que son PC est un peu lent, que le disque "craque" et que l'espace disque commence à manquer. Je vais vous présenter l'outil magique qui va vous soulager la douleur.

Lire la suite...