10 août 2008

Configurer manuellement un réseau wifi WPA

  1. Commencer par désactiver NetworkManager le temps de la manipulation :

  2. sudo /etc/dbus-1/event.d/26NetworkManagerDispatcher stop
    sudo /etc/dbus-1/event.d/25NetworkManager stop

    (Source et comment redémarrer : http://doc.ubuntu-fr.org/networkmanager#complement)

  3. Installer wpa_supplicant :

  4. Dans une console taper la commande suivante
    sudo apt-get install wpasupplicant

  5. Ecrire le fichier de configuration de wpa_supplicant :

  6. Dans une console taper la commande suivante
    kdesu kwrite /etct/wpa_supplicant.conf

    Introduire les paramètres de configuration exemple :
    ctrl_interface=/var/run/wpa_supplicant

    ap_scan=1

    network={
    ssid="essid"
    #psk="password"
    psk=6b7a04357a1882e7dad358f1ec8f5e8440fbb21e1cc49a3f11e75776bded686d scan_ssid=1
    proto=WPA RSN
    key_mgmt=WPA-PSK
    priority=5
    }
    Les trois premières lignes de la section network doivent être remplacée par le resultat de la commande :
    wpa_passphrase essid password
    où "essid" est l'ESSID de votre reseau et "password" est le mot de passe de votre réseau wifi

    Pour d'autres paramètres de configuration :
    man wpa_supplicant.conf

  7. Test de configuration wpa

  8. Maintenant que la configuration est établie, je vous propose de vous assurer qu'elle est correcte pour votre réseau. Pour ce faire exécuter la commande suivante :
    sudo wpa_supplicant -d -c/etc/wpa_supplicant.conf -w -Dwext -i wlan0
    Beaucoup d'informations vont défiler, l'important c'est d'obtenir quelque chose de ce style :
    WPA: Key negotiation completed with 00:1c:df:11:10:08 [PTK=TKIP GTK=TKIP]
    Cancelling authentication timeout
    State: GROUP_HANDSHAKE -> COMPLETED
    CTRL-EVENT-CONNECTED - Connection to 00:1c:df:11:10:08 completed (auth) [id=0 id_str=]

  9. Test d'obtention d'adresse ip

  10. Une fois que vous avez pu valider votre configuration wpa je vous propose de tester l'attribution d'une ip via dhcp. Executez maintenant wpa_supplicant avec l'option -B pour l'executer en arrier plan :
    sudo wpa_supplicant -B -d -c/etc/wpa_supplicant.conf -w -Dwext -i wlan0
    Attendez quelques secondes et exécuter la commande suivantes :
    sudo dhclient wlan0
    Vous devez obtenir quelquechose de ce style :
    Internet Systems Consortium DHCP Client V3.0.6
    Copyright 2004-2007 Internet Systems Consortium.
    All rights reserved.
    For info, please visit http://www.isc.org/sw/dhcp/

    Listening on LPF/wlan0/00:1c:df:4b:73:89
    Sending on LPF/wlan0/00:1c:df:4b:73:89
    Sending on Socket/fallback
    DHCPREQUEST of 192.168.2.4 on wlan0 to 255.255.255.255 port 67
    DHCPACK of 192.168.2.4 from 192.168.2.1
    bound to 192.168.2.4 -- renewal in 12565881 seconds.

  11. Maintient de la configuration

  12. Editer le fichier /etc/network/interfaces et remplacer la section consacrée à l'interface wifi par ceci :
    auto wlan0
    iface wlan0 inet dhcp
    pre-up wpa_supplicant -Bw -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
    post-down killall -q wpa_supplicant

    Au redémarrage du système, vous obtiendrez votre connexion devrait être fonctionnelle. A noter que NetworkManager ne prendra plus en charge cette interface réseau (auto wlan0).

07 juin 2008

Send sms with skype on linux

First, open a terminal an type the following comands :

wget http://heanet.dl.sourceforge.net/sourceforge/skype4py/Skype4Py-1.0.29.0.tar.gz
unp Skype4Py-1.0.29.0.tar.gz
cd Skype4Py-1.0.29.0/
sudo python setup.py install
cd ..

skype &

wget http://www.kolmann.at/philipp/linux/skysentials/skysentials-1.0.1.tar.gz
unp skysentials-1.0.1.tar.gz
cd skysentials-1.0.1/
./skysentials.py

now, into skype accept SkySentials to use skype and store this preselect.

You can now send sms.

15 mai 2008

Effectuer une requete sql de recherche sans accents avec Oracle

Voici la requête magique :

SELECT street FROM streets WHERE TRANSLATE(street, 'éèàâêîôûäëïöü', 'eeaaeiouaeiou') LIKE TRANSLATE(?, 'éèàâêîôûäëïöü', 'eeaaeiouaeiou')
Cette requête remplace tout les caractéres accentué des valeurs de la base de donnée et de la chaîne passée en paramètre.


Et voici une version qui compare sans tenir compte des majuscules :
SELECT street FROM streets WHERE UPPER(TRANSLATE(street, 'éèàâêîôûäëïöü', 'eeaaeiouaeiou')) LIKE UPPER(TRANSLATE(?, 'éèàâêîôûäëïöü', 'eeaaeiouaeiou'))

JSUnit, des tests unitaires en JavaScript

J'ai découvert il y a peu JSUnit, un framework de tests unitaires Javascript, c’est un portage de JUnit en JavaScript.

Le site web JSUnit

Des examples d'utilisation assez simple sont présenté sur le site http://www.jsunit.net/examples/index.html

Détecter des bugs dans des classe Java

FindBugs est un outil opensource puissant, il traque des centaines d’erreurs potentielles dans du code java. Une fois traqué, le bug potentiel est décortiqué et longuement expliqué: chaque type de bug est accompagné d’une longue fiche explicative.

FindBugs analyse le code de manière statique, c'est a dire qu'il n'a pas besoin d'executer le code pour détecter des bugs potenteils. En réalité, il ne travaille pas avec le code source, mais avec le Java Byte Code.

FindBugs est un excellent outil qui peut permettre d'éliminer des bugs qui aurait fait perdre beaucoup de temps. Il existe un plugin qui s'installe directement dans l'environnement Eclipse.

Le site officiel
La longue liste des patterns de bugs détectable
Le plugin eclipse
Le blog se FindBugs

24 décembre 2007

Pour 'échaper' les caracteres html et xml d'une string en java

Voici les parties de code nécessaire :

import org.apache.commons.lang.StringEscapeUtils;

StringEscapeUtils.escapeHtml("string");
StringEscapeUtils.escapeXml("string");

Vérifier la validé d'une adresse email en java

Voici une fonction toute faite pour vérifier la validité d'une adresse email :

public boolean checkMailAddress(String mail){
pattern = Pattern.compile("^([\\w\\d\\-\\.]+)@{1}
(([\\w\\d\\-]{1,67})|([\\w\\d\\-]+\\.[\\w\\d\\-]{1,67}))\\.
(([a-zA-Z\\d]{2,4})(\\.[a-zA-Z\\d]{2}) )___FCKpd___0quot;);
matcher = pattern.matcher(mail);
return matcher.find();
}

source : http://www.labo-sun.com/resource-fr-codesamples-902-0-eclipse-j2se-validateur-d-adresse-e-mail.htm

Changer d'encodage un fichier de texte

Voici la commande magique sous linux pour convertir un fichier texte encodé en iso8859-1 en utf8 :

iconv -f ISO8859-1 -t UTF-8 fichier_iso8859.txt > fichier_utf8.txt

et sa réciproque :

iconv -f UTF-8 -t ISO8859-1 fichier_utf8.txt > fichier_iso8859.txt

28 août 2007

Configurer un écran Samsung SyncMaster 940NW

Avec les réglages par défauts, mon nouvel écran TFT Samsung SyncMaster 940NW ne fonctionne pas pour ma configuration.


Voici les caractéristiques de rafraichissement de cet écran :

Synchronisation horizontale
30Hz-90Hz
Synchronisation verticale
56Hz-72Hz

La résolution optimale est de 1440x900, pour obtenir de bon réglages j'ai utilisé le programe gtf :

      $ gtf 1440 900 75

Les deux premiers argument sont la résolution souhaitée et le troisième le rafraichissement. On obtient ceci :
      # 1440x900 @ 75.00 Hz (GTF) hsync: 70.50 kHz; pclk: 136.49 MHz       Modeline "1440x900_75.00"  136.49  1440 1536 1688 1936  900 901 904 940  -HSync +Vsync 
et pour :
      $ gtf 1440 900 60
on obtient :
      # 1440x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 106.47 MHz       Modeline "1440x900_60.00"  106.47  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync


On va maintenant ajouter la section suivante au fichier de configuration /etc/X11/xorg.conf :

Section "Monitor"         Identifier      "Samsung SyncMaster 940nw"         Option          "DPMS"         HorizSync       30-81 # valeurs obtenues sur le site du constructeur         VertRefresh     56-75 # valeurs obtenues sur le site du constructeur         # 1440x900 @ 75.00 Hz (GTF) hsync: 70.50 kHz; pclk: 136.49 MHz         Modeline "1440x900_75.00"  136.49  1440 1536 1688 1936  900 901 904 940  -HSync +Vsync         # 1440x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 106.47 MHz         Modeline "1440x900_60.00"  106.47  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync  EndSection
On peut maintenant modifier la section Screen :
Section "Screen"         Identifier      "Default Screen"         Device          "ATI Technologies Inc RV280 [Radeon 9200 SE]"         Monitor         "Samsung SyncMaster 940nw"         DefaultDepth    24         SubSection "Display"                 Depth           24                 Modes           "1440x900_75.00" "1280x1024" "1280x960" "1280x854" "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480"         EndSubSection EndSection
Après un redémarrage de xorg, l'écran fonctionne a merveille ;-)

20 juillet 2007

Passer sa version de Debian de stable/testing à de testing/unstable


Pour commencer il faut éditer le fichier /etc/apt/sources.list et modifier les lignes suivantes
deb http://ftp.fr.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ stable main non-free contrib
en ceci pour passer à testing :
deb http://ftp.fr.debian.org/debian/ sid main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ sid main non-free contrib
ou en ceci pour passer à unstable :
deb http://ftp.fr.debian.org/debian/ sid main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ sid main non-free contrib
Deplus,
pour s'assurer que apt-get update installera les packages dans la branche que vous avez choisis de rejoindre (testing/sarge), il faut donc modifier le paramètre APT::Default-Release du fichier /etc/apt/apt.conf :
APT::Default-Release "stable";
devient par exemple (suivant votre choix plus haut) :
APT::Default-Release "unstable";
Il ne vous reste plus qu'a effectuer les mises à jour :
apt-get update && apt-get upgrade