mardi 25 mars 2008

Afficher la robustesse d'un mot de passe

Le site suivant permet de saisir un mot de passe et d'afficher au fur et à mesure de la saisie la robustesse de celui-ci.

vendredi 21 mars 2008

SVN: ignorer un fichier lors du commit



svn propset ignore

Archivage tar et exclusions .svn

Pour exclure les répertoires lors de la création d'une archive avec tar,
il faut utiliser --exclude pattern après le nom de l'archive.

Exemple :

tar zcvf nomarchive.tgz --exclude '.svn' batch/

Rendre attrayant des formulaires et tableaux html

Voici un lien vers des tutoriaux http://www.fredcavazza.net/mes-ressources/mes-tutoriels/ sympas.

Le principe adopté est de partir d'un formulaire ou d'un tableau et de les rendre attrayants.

Cela se fait étape par étape et pemet d'apprendre quelques balises html et notions de css.

lundi 17 mars 2008

Utiliser sort pour trier un tableau

Trie les données sur les colonnes 2 et 3.

jfgiraud@jfgiraud1:~$ printf "D,3,5,D\nA,3,07,A\nB,3,10,B\nC,5,2,C\n"
| sort -t ',' -k 2n,2n -k 3n,3n

D,3,5,D
A,3,07,A
B,3,10,B
C,5,2,C

Comparaisons numériques avec sort

jfgiraud@jfgiraud1:~$ printf "1 21 5.0 2e1" | tr " " "\n" | sort -g
1
5.0
2e1
21
jfgiraud@jfgiraud1:~$ printf "1 21 5.0 2e1" | tr " " "\n" | sort -n
1
2e1
5.0
21
jfgiraud@jfgiraud1:~$ printf "1 21 5.0 2e1" | tr " " "\n" | sort
1
21
2e1
5.0

Manipulation de dates

Date::Manip n'est pas installé par défaut avec perl. C'est embêtant car il faut installer un paquet sur chaque environnement utilisé.

En outre, dans la perldoc, voici la réponse à la question SHOULD I USE DATE::MANIP

Date::Manip is written entirely in perl. It’s the most powerful of the
date modules. It’s also the biggest and slowest.


Bref, pourquoi ne pas utiliser directement la commande date ?!

* avec perl :


use Date::Manip;
my $nextDate = DateCalc("$year-$month-$day 07:00:00", "+ 1 day");
$validity_start = UnixDate($nextDate, "%Y-%m-%d 07:00:00");


* en bash


date -d '2007-03-12 11:23:59 1 day ago' +'%Y-%m-%d %H:%M:%S'

jeudi 13 mars 2008

XPath

XPath permet de désigner une portion d'un document XML.

La page wiki présente la syntaxe de manière simple.

Un commentaire indique que l'on peut utiliser un utilitaire perl en ligne de commande (paquet à installer : libxml-xpath-perl).

J'ai fait un test sur un fichier xml (récupéré d'un flux rss) et c'est impressionnant !

Il manque la syntaxe pour récupérer les noeuds dont la valeur est X :

<item ...>
...
<title>X<title>
...
</item>

xpath -e '//item[title = "X"]' ~/Telechargements/flux.rss

Exemples de chemins :

//data/birthday[@month="sept"]/../food/@name
..//td/a/../following-sibling::*'
.//span[@class="acc_detail"]/preceding-sibling::*[1]
.//div[@class="rech_bkl_img"]//img/@src


Resources :
- http://jerome.developpez.com/xmlxsl/xpath/?lpage=paths&rpage=17#d1e1010



mercredi 12 mars 2008

Raccourcis claviers bien pratiques

Escape puis "." : dernier paramètre de la ligne de commande dernièrement exécutée.

Control R + texte : recherche ce texte dans l'historique des lignes de commande. Répeter le Control R pour remonter dans les entrées.

Comptabiliser le nombre d'occurences

Utiliser la commande uniq pour afficher ou omettre des lignes récupérées de l'entrée standard. L'option -c permet de comptabiliser les lignes (qui doivent être ordonnées)

Associer avec sort.

for A in 1 3 4 2 3 1 1 1 3; do echo $A; done | sort | uniq -c

Récupérer les informations concernant une image

sudo apt-get install imagemagick

/usr/bin/identify -verbose Telechargements/quiz_pblv_xs.gif

Les informations sont envoyées sur la sortie standard.

Dépannage: serveur qui affiche ce qu'il reçoit

Le serveur affiche ce qu'il reçoit, c'est tout ce qu'il fait.

# installation
sudo apt-get install socat

# lancement du serveur
socat tcp4-listen:1234,reuseaddr,fork stdio

# lancement du client où l'on envoie des données
telnet 127.0.0.1 1234

CVS: suppression d'une branche

Ce matin, j'ai crée une branche à la place d'un tag. La correction n'est pas évidente pour nettoyer :

# renommage du tag en branche
cvs rtag -b -r <version>_TAG <version>_BRANCH <application>
# suppression de la branche
cvs rtag -d -B <version>_TAG <application>


Lien externe : http://www.delorie.com/gnu/docs/cvs/cvs_51.html