Aller au contenu | Aller au menu | Aller à la recherche

Krusaf's Blog

dimanche, novembre 9 2008

Ripper un tas de CD sans se prendre la tête (rip_the_hell)

J'ai déjà fait un shell pour ripper un CD en mp3/ogg ou les 2. Le shell en question récupère les informations via une base cddb, pratique ^^ Et j'ai à présent créer une surcouche pour ripper en continu tout plein de CD.

Lire la suite...

mardi, octobre 7 2008

Les secrets des photographes animalier

J'ai pour projet de me mettre sérieusement à la photographie animalière. Et au détour des mes escapades internet, j'ai craqué sur ce DVD.

Que du bonheur, le DVD est riche d'enseignement et expose de nombreuses photographies. Les photographes interviewés font partie des plus connus et sont des professionnels. Ils ne sont qu'une vingtaine à pouvoir en vivre en France. Bref, si vous êtes passionné de photographie animalière, achetez-le les yeux fermés.

vendredi, octobre 3 2008

Concours de photographie numérique : myphotos.fr

J'ai participé il y a peu à un petit concours photo où j'ai terminé huitième, et j'en suis bien content ! J'ai gagné un abonnement d'un an à un magazine photo, ça fait plaisir.

Les gagnants sont ici.

Ma photo :

PS : Je me suis finalement décidé à créer une catégorie sur la photographie numérique. Je continuerai à faire des billets sur GNU/Linux mais comme vous avez pu le constater, je ne suis pas très actif.

dimanche, septembre 28 2008

La variable PS1 (prompt)

La variable d'environnement PS1 est affichée à chaque ligne de commande tapée, il s'agit du prompt de base :

krusaf@zeus:~$ 

Dans l'exemple ci-dessus, on distingue qu'elle affiche le_login@la_machine:le_chemin_courrant. Cette variable est personnalisable. Pour afficher l'exemple cité, la variable PS1 est égale à "\u@\h:\w\$ ". Sur certains systèmes, le \u \h ... ne sont pas interprétés. On pourrait également mettre : export PS1="\$USER@\$HOSTNAME:\$PWD \$ " pour obtenir le même prompt.

Il est important de précéder les caractères $ de \ pour ne pas qu'ils soient interprétés car sinon le prompt deviendrait statique (exemple) :

krusaf@zeus:~$ export PS1="$USER@$HOSTNAME:$PWD $ "
krusaf@zeus:/home/krusaf $ cd ..
krusaf@zeus:/home/krusaf $ pwd
/home
krusaf@zeus:/home/krusaf $ export PS1="\$USER@\$HOSTNAME:\$PWD \$ "
krusaf@zeus:/home $ cd
krusaf@zeus:/home/krusaf $ pwd
/home/krusaf 

Mais il est possible d'intégrer de la couleur. Il suffit de rajouter des séquences d'échappement.

Couleur : Texte-Arrière-plan

  • Noir : 30- 40
  • Rouge : 31-41
  • Vert : 32-42
  • Jaune : 33-43
  • Bleu : 34-44
  • Magenta : 35-45
  • Cyan : 36-46
  • Blanc : 37-47

Voici la variable PS1 que j'utilise : export PS1="[\033[0;32;40m\$USER\033[0m@\$HOSTNAME:\$PWD \$ "

On distingue la séquence d'échappement avec le code couleur vert en premier, suivi du login puis encore d'une séquence d'échappement pour enlever la couleur. Cela écrirait donc login en vert suivi de @la_machine:chemin_courant. une chose qui peut être pratique est de mettre le login utilisateur en vert mais pour l'admin, le mettre en rouge.

A vos claviers ;)

mercredi, août 27 2008

Installer Flash 10 rapidement sous ubuntu

Encore un petit shell pour aider les débutants ;) J'ai suivi les explications du site de Korben, rien de plus, rien de moins. Je teste évidemment tous mes shells avant d'en faire profiter.

install_flash10.shCe shell n'a par contre été testé que sur ubuntu Hardy.

Plugins pings de dotclear 2.0 : cocher toutes les cases par défaut

Ce billet devient un rituel ;) je pense que c'est aussi valable pour la 2.01 (à tester).

Ce plugin permet d'avertir plusieurs sites d'un nouveau billet sur votre blog, vous ramenant par conséquant plus de visites. C'est bien pratique ! J'avai décris une petite modification du ocde source pour dotclear 2beta 7 permettant que les checkbox soient toutes cohées par défaut.

La liste s'agrandissant, il devient "barbant" d'avoir à cocher la multitude de cases à cocher pour avertir les services xmlrpc ...Pour modifier le comportement par défaut afin d'avoir par défaut toutes les cases à cocher de cochées !!

Pour dotclear v2.0, il faut modifier le fichier blog/plugins/pings/lib.pings.php à la ligne 60 :

Modifier cette ligne :

form::checkbox(array('pings_do[]'),html::escapeHTML($v),in_array($v,$pings_do)).' '.

par :

form::checkbox(array('pings_do[]'),html::escapeHTML($v),true).' '. 

Avant toutes modifications, faîtes un backup de votre fichier !

Et sinon, je viens de faire un patch :

cd LA_OU_SE_TROUVE_VOTRE_BLOG/plugins/pings
wget http://krusaf.org/blog/public/patch/patch_pings_dotclear_2.0.txt
patch -p0 < patch_pings_dotclear_2.0.txt
\rm patch_pings_dotclear_2.0.txt

N'oubliez pas de remettre les permissions sur le fichier patché !

samedi, août 9 2008

Obtenir une progress bar avec les commandes cp et mv

Les commandes cp et mv permettent respectivement de copier et déplacer un fichier. Lorsqu'on déplace ou copie un gros fichier, ces commandes n'affichent pourtant pas de progress bar. Il existe néanmoins des patch pour cela. Il suffit donc de compiler les sources une fois patchées. Les commandes font partie du package nommé coreutils.

Druuna explique tout ça très bien et indique aussi que ces opérations ne sont pas noob friendly ;) Et c'est là que je vais rendre la manipulation automatique et bien plus noob friendly. J'ai simplement écris un shell qui se chargera de tout à votre place. Ce shell ne fait que suivre les indications de Druuna en appliquant une modification en plus pour permettre la compilation sous ubntu/debian.

La seule chose que ce script ne fait pas est la vérification des dépendances permettant de compiler coreutils. J'espère quevous me ferez des retours pour que je corrige le script.

06/12/2009 : Le shell a été mis à jour pour la dernière version d'ubuntu. Merci à Bosam de m'avoir indiqué qu'il était plus fonctionnel pour cette version.

mercredi, juillet 16 2008

Les charsets

Il y a peu de temps, j'ai converti tout un site web d'iso en utf8, je vous raconte pas le boulot : - Modification des tables MYSQL niveau structure mais aussi données - Modification de l'encodage des pages web php . - Modification de programmes python, bash ...

C'est pas rien et je tombe de plus en plus sur des soucis d'encodage. Pour PHP, y a tout un tas de fonctions et pour le scripting BASH, il y a :

  • utrac qui permet de détecter le type d'encodage d'un fichier
  • iconv pour convertir un fichier

iconv est très pratique !

lundi, juillet 14 2008

Vi vim ...

Pourquoi les gens utilisent vim en ligne de commande à la place de vi ?

C'est pareille :

krusaf@ares:~$ which vi
/usr/bin/vi
krusaf@ares:~$ which vim
/usr/bin/vim
krusaf@ares:~$ ll /usr/bin/vi /usr/bin/vim
lrwxrwxrwx 1 root root 20 2008-05-11 18:23 /usr/bin/vi -> /etc/alternatives/vi
lrwxrwxrwx 1 root root 21 2008-05-11 18:23 /usr/bin/vim -> /etc/alternatives/vim
krusaf@ares:~$ ll /etc/alternatives/vi /etc/alternatives/vim
lrwxrwxrwx 1 root root 17 2008-05-11 18:22 /etc/alternatives/vi -> /usr/bin/vim.tiny
lrwxrwxrwx 1 root root 17 2008-05-11 18:22 /etc/alternatives/vim -> /usr/bin/vim.tiny

Alors utilisez vi, vous gagnerez un caractère !!!!

PS : Oui ce billet ne sert à rien et est d'une inutilité astronomique ;)

lundi, juin 30 2008

par2 : un utilitaire qui peut être fort utile !

par2 is a program for creating and using PAR2 files to detect damage in data files and repair them if necessary. It can be used with any kind of file.

par2 est une petite application qui permet réparer un(des) fichier(s) qui aurait pu être altérés. Par exemple, je grave un CD de mes sauvegardes et malheureusement, le CD a subit quelques rayures et les fichiers ont été endommagés. je ne peux plus décompresser le fichier. Si j'avais utiliser l'utilitaire par2, j'aurais peut-être pu réparer mes si précieuses sauvegardes.

comment ça marche ? par2 créé simplement quelques fichiers en plus permettant, si le fichier est endommagé, de le réparer. En fait, cest basé sur des calculs de CRC, il me semble avoir étudié ça en IUT ou autre .... :)

Installation (sous debian et dérivé) : apt-get install par2

Créer les fichiers par2 : par2 c fichier.tar (Je prends exemple avec un fichier tar, cela pourrait être autre chose hein ... voirplusieurs fichiers)

Vérifier que le fichier ne soit pas endommagé : par2 v premier_fichier.par2

krusaf@ares:/home/bkp$ ll _etc_20080630_.tar.gz*
-rwx------ 1 root root 3992006 2008-06-30 22:50 _etc_20080630_.tar.gz
-rwx------ 1 root root   40436 2008-06-30 22:50 _etc_20080630_.tar.gz.par2
-rwx------ 1 root root   42500 2008-06-30 22:50 _etc_20080630_.tar.gz.vol000+01.par2
-rwx------ 1 root root   84900 2008-06-30 22:50 _etc_20080630_.tar.gz.vol001+02.par2
-rwx------ 1 root root  129364 2008-06-30 22:50 _etc_20080630_.tar.gz.vol003+04.par2
-rwx------ 1 root root  177956 2008-06-30 22:50 _etc_20080630_.tar.gz.vol007+08.par2
-rwx------ 1 root root  234804 2008-06-30 22:50 _etc_20080630_.tar.gz.vol015+16.par2
-rwx------ 1 root root  308164 2008-06-30 22:50 _etc_20080630_.tar.gz.vol031+32.par2
-rwx------ 1 root root  318484 2008-06-30 22:50 _etc_20080630_.tar.gz.vol063+37.par2
krusaf@ares:/home/bkp$ sudo par2 v _etc_20080630_.tar.gz.par2
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Loading "_etc_20080630_.tar.gz.par2".
Loaded 4 new packets
Loading "_etc_20080630_.tar.gz.vol063+37.par2".
Loaded 37 new packets including 37 recovery blocks
Loading "_etc_20080630_.tar.gz.vol003+04.par2".
Loaded 4 new packets including 4 recovery blocks
Loading "_etc_20080630_.tar.gz.vol015+16.par2".
Loaded 16 new packets including 16 recovery blocks
Loading "_etc_20080630_.tar.gz.vol001+02.par2".
Loaded 2 new packets including 2 recovery blocks
Loading "_etc_20080630_.tar.gz.vol007+08.par2".
Loaded 8 new packets including 8 recovery blocks
Loading "_etc_20080630_.tar.gz.vol031+32.par2".
Loaded 32 new packets including 32 recovery blocks
Loading "_etc_20080630_.tar.gz.vol000+01.par2".
Loaded 1 new packets including 1 recovery blocks

There are 1 recoverable files and 0 other files.
The block size used was 1996 bytes.
There are a total of 2001 data blocks.
The total size of the data files is 3992006 bytes.

Verifying source files:

Target: "_etc_20080630_.tar.gz" - found.

All files are correct, repair is not required.

Réparer un fichier : par2 r premier_fichier.par2

Et pour les allergiques à la ligne de commande ( Merci schyzo) : pypar2 : http://pypar2.silent-blade.org/ gpar2 : http://sourceforge.net/project/show

Biensûr, ce billet ne remplace par le manuel ;) RTFM : man par2

- page 2 de 11 -