Le blog de Jean David TECHER, un Réunionnais à Saint-Priest/Lyon

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


Résultats de votre recherche de asses.

mardi 13 mars 2012

PostgreSQL.fr: Témoignage d'utilisation de PostgreSQL - le boncoin.fr

Je viens de lire ce témoignage de Christophe Legendre et c'est simplement bluffant, ce qu'ils - les gars du site - font de PostgreSQL sur le site leboncoin.fr.

Un seul mot à dire: RESPECT

A lire PostgreSQL.fr: Interview de Christophe Legendre (leboncoin.fr)

jeudi 1 mars 2012

Playing Crysis 2 (using wine 1.4-rc5) in a virutal machine on a domU PVHVM Ubuntu Lucid x86_64 (Xen VGA Passthrough /NVIDIA)

Finaly I did it

Update 03/05/2012: It works with wine 1.4 RC6 too.

  • domU : Ubuntu Lucid 10.04.4 64 bits.
  • Graphic card: GTX 560 Ti
  • Xen: Xen 4.2 unstable + VGA PassThrough patches
  • Kernel domU: 3.1.10 + PV drivers
  • Wine 1.4-rc5 compiled for 32-bits-way and patched with
    1. pure patch: http://bugs2.winehq.org/attachment.cgi?id=27310
    2. patch from: http://forum.ubuntu-fr.org/viewtopic.php?id=634461 (see the first message in this link)
    3. Before installing the game
      wget http://winetricks.org/winetricks
      chmod +x winetricks 
      ./winetricks vcrun2005sp1 vcrun2008 d3dx9 d3dx10 d3dxof
      
      For regedit and Direct3D
      david@mercury-xen0X:~/Bureau$ lspci |grep VGA
      00:07.0 VGA compatible controller: nVidia Corporation Device 1200 (rev a1)
      david@mercury-xen0X:~/Bureau$ lspci -n -s 00:07.0
      00:07.0 0300: 10de:1200 (rev a1)
      david@mercury-xen0X:~/Bureau$ cat backup_direct3d 
      REGEDIT4
      
      [HKEY_CURRENT_USER\Software\Wine\Direct3D]
      "DirectDrawRenderer"="opengl"
      "OffscreenRenderingMode"="fbo"
      "RenderTargetLockMode"="readtex"
      "UseGLSL"="disabled"
      "VideoMemorySize"="2048"
      "VideoPciDeviceID"="0x1200"
      "VideoPciVendorID"="0x10de"
      

lundi 27 février 2012

Interesting images

Jana Defi...very very interesting came from "LimeLight" collection.... I've got one of Limelight images on my mug but not one of the following images
wget http://i9.fastpic.ru/big/2010/0813/87/c0d0c81e595bc4a8645c9a4f48883587.jpg
wget http://i9.fastpic.ru/big/2010/0813/29/0b1cf936a6f6af34e5b941a9ab80f229.jpg
wget http://i9.fastpic.ru/big/2010/0813/1f/e364c7561998df6773cd08ce909edf1f.jpg
wget http://i9.fastpic.ru/big/2010/0813/41/2681d11332617f44493ea9418cc09441.jpg
wget http://i9.fastpic.ru/big/2010/0813/a3/2ddfa2629bb68dde595712d439e6ada3.jpg
wget http://i9.fastpic.ru/big/2010/0813/4e/3a944d7cecc0a73323d34fac99f12b4e.jpg
wget http://i9.fastpic.ru/big/2010/0813/81/1f0cf03223220b38e9e3528130280d81.jpg
wget http://i9.fastpic.ru/big/2010/0813/cb/402e3b7a818af7331d32fea0aef0a5cb.jpg
wget http://i9.fastpic.ru/big/2010/0813/33/1eeb24dff6af6658284527909f54fd33.jpg
wget http://i9.fastpic.ru/big/2010/0813/86/c71f2e65c95d68132a78a7affa98a086.jpg
wget http://i9.fastpic.ru/big/2010/0813/2e/4863131d0a5b7b600abf22fdfed0842e.jpg
wget http://i9.fastpic.ru/big/2010/0813/6d/e82eba74c67eceb7b0a069017f1bb96d.jpg
wget http://i9.fastpic.ru/big/2010/0813/33/1eeb24dff6af6658284527909f54fd33.jpg
wget http://i9.fastpic.ru/big/2010/0813/c4/0f65a12043bb794fc3e85551d6dd8ec4.jpg
Enjoy your Monday !

dimanche 12 février 2012

34 ans et une semaine...Lyon aujourd'hui

Dans moins d'une heure (22h45), c'est exactement l'âge que j'ai. Le temps passe, passe et passe.

Cette semaine, j'aurais profité d'être dans le Sud - Avignon et Montpellier - pour voir mes plus proches amis. Arrivé à un certain âge, on se dit qu'on a encore beaucoup de choses à vivre, à faire (...) Ce dimanche soir, je me dis que ma vie maintenant est sur Lyon. C'est parfois difficile de tirer un trait sur une région où on a vécu beaucoup de choses. Je ne veux en garder que les bons souvenirs . Le seul cadeau que je voulais cette année était juste de revoir mes amis les plus proches que je n'avais pas revu depuis bien longtemps. Ni plus ni moins!

Seulement sept mois se sont écoulés depuis mon arrivée sur Saint-Priest/Lyon. J'ai l'impression d'être ici depuis bien plus longtemps. Tant mieux au moins je ne vois pas le temps passé. Y'a des gens bien par ici! Le boulot est sympa. Il y a le calme que je recherchais depuis longtemps. Au fond de moi, je me dis que j'ai bien fait de partir. Je m'adapte facilement là où je vis. Après Antibes, Avignon j'espère me poser au moins un bon bout de temps par ici.

Personnellement au jour d'aujourd'hui, relever des défis professionnels n'est plus ma priorité. Je pense avoir fait le tour de ce que j'ai pu voir au niveau base de données. De toute façon, je me fais vieux et relater des articles style base de données (PostgreSQL/Oracle) sur mon propre blog me m'intéresse pas des masses. Je sais ce que je vaux.

Celà m'a fait très plaisir lundi dernier de revoir mes anciens collègues de boulot sur Avignon, notamment lundi midi .

2012 pour le moment a bien commencé. Le retour des vacances la semaine prochaine s'annonce sous des jours de taf assez costauds. Il y a pas mal de boulot en perspective à effectuer à mon retour de vacances. Mais cette coupure était nécessaire. Je commençais à être sur la réserve fin janvier.

dimanche 25 décembre 2011

Xen 4.2 unstable: Xen PVHVM on Linux HVM + VGA Pass Through (NVIDIA): it works for Linux 3.1.6 !

I asked myself if it could be possible to use
  • Xen VGA Pass Through for NVIDIA
  • Xen PVHVM
on a Linhx HVM domU.

The answer is yes! I went on [1]. I was a little confused by the idea that it could very easy to do.

I spent a lof of time trying to resolve several issues (...) But all issues are fixed now .

Here the assumption is done that we've already have a fresh domU running on Ubuntu Lucid 10.4.3 and Xen VGA Pass Through (for more info about VGA Pass Through refer to my previous article)

1. When everything is OK, we've got...

Refer to [1], we have

Xen PV HVM on domU (HVM) Ubuntu Lucid 10.4.3: VGA Pass Through is working too
root@mercury-xen01:~# dmesg | egrep -i 'xen|blk'
[    0.000000] Linux version 3.1.6 (root@mercury-xen01) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #1 SMP Sun Dec 25 01:26:07 CET 2011
[    0.000000] DMI: Xen HVM domU, BIOS 4.2-unstable 12/22/2011
[    0.000000] Hypervisor detected: Xen HVM
[    0.000000] Xen version 4.2.
[    0.000000] Xen Platform PCI: I/O protocol version 1
[    0.000000] Netfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated NICs.
[    0.000000] Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated disks.
[    0.000000] ACPI: RSDP 00000000000ea020 00024 (v02    Xen)
[    0.000000] ACPI: XSDT 00000000fc00f680 00054 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: FACP 00000000fc00f340 000F4 (v04    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: DSDT 00000000fc003600 0BCBC (v02    Xen      HVM 00000000 INTL 20100528)
[    0.000000] ACPI: APIC 00000000fc00f440 000D8 (v02    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: HPET 00000000fc00f590 00038 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: WAET 00000000fc00f5d0 00028 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: SSDT 00000000fc00f600 00031 (v02    Xen      HVM 00000000 INTL 20100528)
[    0.000000] ACPI: SSDT 00000000fc00f640 00031 (v02    Xen      HVM 00000000 INTL 20100528)
[    0.000000] Booting paravirtualized kernel on Xen HVM
[    0.000000] Xen HVM callback vector for event delivery is enabled
[    0.135090] Xen: using vcpuop timer interface
[    0.135094] installing Xen timer for CPU 0
[    0.300043] installing Xen timer for CPU 1
[    0.470043] installing Xen timer for CPU 2
[    0.640040] installing Xen timer for CPU 3
[    1.031644] xen/balloon: Initialising balloon driver.
[    1.031654] xen-balloon: Initialising balloon driver.
[    1.050023] Switching to clocksource xen
[    1.051618] xen: --> pirq=19 -> irq=8 (gsi=8)
[    1.051659] xen: --> pirq=20 -> irq=12 (gsi=12)
[    1.051689] xen: --> pirq=21 -> irq=1 (gsi=1)
[    1.051720] xen: --> pirq=22 -> irq=6 (gsi=6)
[    1.051753] xen: --> pirq=23 -> irq=4 (gsi=4)
[    1.051791] xen: --> pirq=54 -> irq=7 (gsi=7)
[    2.061962] QLogic/NetXen Network Driver v4.0.76
[    2.062183] xen: --> pirq=17 -> irq=17 (gsi=17)
[    2.090348] xen: --> pirq=18 -> irq=21 (gsi=21)
[    2.260133] xen: --> pirq=53 -> irq=28 (gsi=28)
[    2.260136] xen-platform-pci 0000:00:03.0: PCI INT A -> GSI 28 (level, low) -> IRQ 28
[    2.266953] input: Xen Virtual Keyboard as /devices/virtual/input/input3
[    2.267012] input: Xen Virtual Pointer as /devices/virtual/input/input4
[    2.269131] Initialising Xen virtual ethernet driver.
[    2.281965] blkfront: xvda: flush diskcache: enabled
[    2.282796] vbd vbd-51744: 19 xenbus_dev_probe on device/vbd/51744
[    2.283048] vbd vbd-51744: failed to write error node for device/vbd/51744 (19 xenbus_dev_probe on device/vbd/51744)
[    7.515418] xen: --> pirq=55 -> irq=44 (gsi=44)
[    8.328334] xen: --> pirq=52 -> irq=40 (gsi=40)
[    8.488638] xen: --> pirq=51 -> irq=36 (gsi=36)

Source

2. domU: Kernel 3.1.6

  1. Download the sources
    wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.6.tar.bz2
    tar xjf linux-3.1.6.tar.bz2
    cd linux-3.1.6
  2. Prepare the configuration
    make menuconfig
    The most important is to be sure to have the same following configuration. Be sure to have CONFIG_XEN_PLATFORM_PCI compile as a module (=m).
    root@mercury-xen01:/usr/src/linux-3.1.6# grep -i xen .config
    CONFIG_XEN=y
    CONFIG_XEN_DOM0=y
    CONFIG_XEN_PRIVILEGED_GUEST=y
    CONFIG_XEN_PVHVM=y
    CONFIG_XEN_MAX_DOMAIN_MEMORY=128
    CONFIG_XEN_SAVE_RESTORE=y
    CONFIG_XEN_DEBUG_FS=y
    CONFIG_XEN_DEBUG=y
    CONFIG_PCI_XEN=y
    CONFIG_XEN_PCIDEV_FRONTEND=m
    CONFIG_XEN_BLKDEV_FRONTEND=m
    # CONFIG_XEN_BLKDEV_BACKEND is not set
    CONFIG_NETXEN_NIC=y
    CONFIG_XEN_NETDEV_FRONTEND=m
    CONFIG_XEN_NETDEV_BACKEND=m
    CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
    CONFIG_HVC_XEN=y
    # CONFIG_XEN_WDT is not set
    CONFIG_XEN_FBDEV_FRONTEND=y
    # Xen driver support
    CONFIG_XEN_BALLOON=y
    CONFIG_XEN_SCRUB_PAGES=y
    CONFIG_XEN_DEV_EVTCHN=y
    CONFIG_XEN_BACKEND=y
    CONFIG_XENFS=y
    CONFIG_XEN_COMPAT_XENFS=y
    CONFIG_XEN_SYS_HYPERVISOR=y
    CONFIG_XEN_XENBUS_FRONTEND=y
    CONFIG_XEN_GNTDEV=m
    CONFIG_XEN_GRANT_DEV_ALLOC=m
    CONFIG_XEN_PLATFORM_PCI=m
    CONFIG_SWIOTLB_XEN=y
    CONFIG_XEN_PCIDEV_BACKEND=m
    
    Notice: you can download my own configuration here
  3. Build and install
    make -j4 bzImage modules
    make install modules_install
  4. Change the content of file /etc/initramfs-tools/modules
    root@mercury-xen01:~# cat /etc/initramfs-tools/modules 
    # List of modules that you want to include in your initramfs.
    #
    # Syntax:  module_name [args ...]
    #
    # You must run update-initramfs(8) to effect this change.
    #
    # Examples:
    #
    # raid1
    # sd_mod
    xen-platform-pci
    xen-blkfront
    xen-netfront
    
  5. Build initrd
    mkinitramfs -o /boot/initrd.img-3.1.6 3.1.6
    

3. domU: Grub

  1. Change grub options in /etc/default/grub
    root@mercury-xen01:~# cat /etc/default/grub 
    # If you change this file, run 'update-grub' afterwards to update
    # /boot/grub/grub.cfg.
    
    GRUB_DEFAULT=0
    GRUB_HIDDEN_TIMEOUT=0
    GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_TIMEOUT=120
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="loglevel=9 rootdelay=120 quiet splash"
    GRUB_CMDLINE_LINUX=""
    
    # Uncomment to disable graphical terminal (grub-pc only)
    #GRUB_TERMINAL=console
    
    # The resolution used on graphical terminal
    # note that you can use only modes which your graphic card supports via VBE
    # you can see them in real GRUB with the command `vbeinfo'
    #GRUB_GFXMODE=640x480
    
    # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
    GRUB_DISABLE_LINUX_UUID=true
    
    # Uncomment to disable generation of recovery mode menu entries
    #GRUB_DISABLE_LINUX_RECOVERY="true"
    
    # Uncomment to get a beep at grub start
    #GRUB_INIT_TUNE="480 440 1"
    
  2. Update grub
    root@mercury-xen01:~# update-grub
    Generating grub.cfg ...
    Found linux image: /boot/vmlinuz-3.1.6
    Found initrd image: /boot/initrd.img-3.1.6
    ....
    
  3. Edit /boot/grub/grub.cfg. We need to replace the line root=/dev/sda1 by root=/dev/xvda1
    ...
    ....
    ### BEGIN /etc/grub.d/10_linux ###
    menuentry 'Ubuntu, avec Linux 3.1.6' --class ubuntu --class gnu-linux --class gnu --class os {
            recordfail
            insmod ext2
            set root='(hd0,1)'
            search --no-floppy --fs-uuid --set b199c136-7ea3-4244-b51a-9adfd52ea892
            linux   /boot/vmlinuz-3.1.6 root=/dev/xvda1 ro   loglevel=9 rootdelay=120 quiet splash
            initrd  /boot/initrd.img-3.1.6
    }
    
  4. Shutdown the domU

4. dom0: domU configuration

  1. For the first boot (*) You need to change every hdX to xvdX. For example, here the content of my configuration file
    root@mercury:~# grep -vE '^(#|$)' /etc/xen/machines/mercury-xen01.cfg 
    builder='hvm'
    shadow_memory = 128
    name = "mercury-xen01"
    memory      = '3072'
    vcpus = '4'
    disk        = [
                      'phy:/dev/xenvg/mercury-xen01-disk-1,xvda,w',
    		   'file:/opt/Xen/CD_DVD/Quake_III_Arena.iso,xvdc:cdrom,r',
                  ]
    boot="cd"
    name        = 'mercury-xen01'
    vif         = [ 'mac=00:16:3E:B7:05:58,bridge=eth0,model=e1000' ]
    on_poweroff = 'destroy'
    on_reboot   = 'restart'
    on_crash    = 'restart'
    sdl=0
    vnc=1
    vnclisten="0.0.0.0"
    vncconsole=1
    vncpasswd=''
    gfx_passthru=1
    pci  = [ '01:00.0','00:1a.0','00:1d.0' ]
    acpi=1
    apic=1
    xen_extended_power_mgmt=1
    pae=1
    arch='x86_64'
    hpet = 1
    hap = 1
    monitor=1
    serial='pty'
    keymap='fr'
    soundhw = "all"
    audio="on"
    xen_platform_pci=1
    
    (*) For a unknown reason , after several reboots, you can put hd[a-] instead of xvd[a-d]
  2. Restart the domU
  3. Reinstall NVIDIA driver for the new kernel

5 Last fix: Automount CDROM device

When googling a lot, I found this url http://www.ossramblings.com/automount-cdrom-ubuntu-lucid-maverick then I did
apt-get remove --purge hal
apt-get install hal
apt-get install halevt
gnome-volume-manager is not available on Ubuntu Lucid 10.4.3 so I replace it by halevt

lundi 14 novembre 2011

Les films du week-end

Le ciel a été bien dégagé ce week-end. Il a quand même fait bien froid. Du coup, c'est une raison supplémentaire pour matter 2 petits nanars ce samedi soir, histoire de voir autre chose ques les conneries des programmes TV pas très au TOP ce samedi soir. De plus je n'avais pas trop la motivation pour bidouiller sous Xen ou FFmpeg ce samedi soir.
PRIEST

Histoire de bien débuter la soirée, un film avec un tueur de vampires! Un peu sado-mazo comme prêtre (il adore tuer des vampires) mais bien...Dans un futur post-apocalyptique, l'ordre des prêtres utilisés pendant la grande guerre contre les vampires a été éradiqués, Rassembler derrière une forteresse dirigée par l'Eglise, les dernières humains vivent protéger dans les forteresses de la nouvelle ville. La nièce d'un des prêtres se fait capturer. Commence alors l'aventure pour libérer la nièce...

De la baston, de la "je vais te péter ta gueule de vampire" bien comme il faut

BANGKOK DANGEROUS

Un petit film qui relate la fin de la carrière d'un tueur à gages devant exécuter 4 contrats à Bangkok. On retrouve un Nicolas Cage, assez sympa. Film sans prétention qui se laisse regarder un samedi soir d'automne. Quatre règles régissent son existence. Elles seront mis à l'épreuve dans ce film. Il finit par douter du bien fonder de ses rpopres valeurs. Le petit bonus, c'est la fin alternative proposée dans le DVD.

lundi 15 novembre 2010

Xen 4.0.1 - Live CD avec un domU Debian Lenny!!!

Mise à jour du 2011/01/10 Pour info la documentation pour faire un live cd/dvd: Enfin j'ai réussi par obtenir un livecd tout beau tout propre.

J'ai enfin réussi à faire un livecd avec un domU qui tourne et embarqué à la squashs 4.0 et à la sauce aufs et tout le toutim. J'ai mis GDM pour le domU

Et tout ça sur un beau kernel 2.6.32.25 avec squashfs et aufs.

Comme Windows Manager, j'ai pris xfce. Par rapport à la version du LiveCD sur le wiki de Xen qui ne propose que la version 3.2.1, je suis assez fier de moi :)

Je n'y pas encore mis libvirt mais c'est déjà un début prometteur par rapport à ma première version de mon livecd

La preuve en images:






samedi 13 novembre 2010

Concernant les interruptions du site pour octobre et novembre

Les gens qui me connaissent passent souvent sur mon blog pour avoir de mes nouvelles. A juste titre, je me dois donc de signaler quelques informations.

Tout d'abord je vais très bien et mon site aussi

Mon site a subit plusieurs interruptions ces deux derniers mois. Ces interruptions sont volontaires.

En effet, je teste actuellement Xen. La machine qui héberge la base MySQL de mon blog est sur une machine virtuelle dont la machine-hôte est sous Xen.

Du coup, j'ai réquisitionné la machine-hôte pour pouvoir faire mes tests.

Voilà

mercredi 15 septembre 2010

Vacances de septembre 2010 - Plage de l'Espiguette (dimanche 2010/09/12)

Ayant appelé un de mes amis de Montpellier ce vendredi 2010/09/10, nous avions convenus de nous voir ce dimanche sur Montpellier. De mon côté, je suis parti d'Avignon dimanche en début d'après-midi sur les coups de 14h00. Au dernier moment avant de prendre la voiture, le téléphone sonne...Petite proposition d'aller à la plage...Oh cool:)

Une fois arrivé chez les amis, un petit brin de causette avant de prendre la voiture direction la plage. Sur la route, voyant que certaines plages étaient déjà bondées de monde, nous nous sommes rabattus sur la plage de l'Espiguette - plage que je ne connaissais pas -.

Une ou deux plongées dans l'eau, quelques brasses...un vrai bien fou comme il m'en faudrait plus souvent :)

Au retour, ca bouchonnait un peu partout pour rentrer. Comme je n'avais pas beaucoup dormi la veille (nuit de samedi à dimance), j'en ai profité pour faire un petit somme dans la voiture (vu que ce n'était pas moi qui conduisait). Un arrêt au Mac Do de Jacou/Clapiers, histoire de prendre des forces avant de rentrer s'imposait de lui-même. De retour chez eux, un brin de causette, histoire de discuter depuis le temps que je ne les avais pas vu (1 an au moins).

Après avoir ingurgité un dernier café, j'ai finalement pris la route pour Avignon vers 20h45~21h00.

J'étais passé en coup de vent le lundi précédent sur Montpellier et sa périphérie mais force est de constater que beaucoup de travaux aussi bien immobiliers que routiers sont actuellement en cours sur Montpellier. Sincèrement, il y a des routes qui ont vraiment changé (RN 113 avec ses nouveaux rond-points etc....). En sortant de l'A9 à la sortie n° 28 en rentrant dans Castelnau-Le-Lez, il y a des sorties de rond-points qui n'y étaient pas il y a 1 à 2 ans en arrière.

Je ne reconnais plus ma ville avec cette frénésie des constructions...Mon petit Castelnau semble perdre un peu de son charme avec tout ça. Mais bon, tout change tout change !!!

En tout cas, j'étais très heureux de revoir des gens que j'apprécies beaucoup Dalox, Mimie et le petit Juju :)

dimanche 22 août 2010

Tenjo Tenge - Enfer et Paradis

Dimanche dernier (2010/08/15), en soirée sur KZ TV, pour la programmation de l'été, je découvrais le manga "Enfer et Paradis". J'ai pris ce manga en cours de route, car KV TV diffusait justement les derniers épisodes de ce manga bien redoutable.

Du coup, un petit coup de Google pour trouver la série (rtorrent411) en question en question. Rendez-vous était pris pour pouvoir regarder jeudi soir et vendredi soir (histoire de bien commencer le week-end), ce super manga.

Bastons, baston, jolies filles, et rebaston et une bonne dose d'humour comme je les aime . En résumé, un bon manga qui se regarde sans souci.








Pour le reste, les deux deux derniers OAV qui clotûrent la série sont facilement trouvables sur le Web:)

dimanche 16 mai 2010

Compiler Ffmpeg sous Debian Lenny en mode full static

Introduction

Motivation

Le mode de compilation de ffmpeg a changé depuis quelques temps. Il est maintenant possible de la compiler en mode statique complet. J'ai été agréablement surpris par cette possibilité car celà me facilite beaucoup la phase de compilation.

Pour mon usage personnel lors d'un déploiment temporaire sur une de mes machines, je n'y vois que des avantages par rapport malheureusement à la politique du paquet officiel Debian de ffmpeg que je trouve très limité bien que Debian constitue l'une de mes distributions préférées. Pour Debian, tous les formats ne sont pas fournis en raison de certaines licences ou que les dépots ne soient pas mis à jour réguilèrement

Exemple de format supporté

Voici un exemple de format méconnu de l'usage de ffmpeg mais au combien bien intéressant: le couple Dirac/Schroedinger. Je prendrais ici un vidéo bien connue de tout geek:

Lecteur Ffplay après compilation: Vidéo Big Bucks Bunny au format Schroedinger

Ci-dessus, le lecteur ffplay joue la vidéo Big Bucks Bunny au format Schroedinger. Cette vidéo est disponible à http://dirac.kw.bbc.co.uk/download/video/maybefinal/bbb-tr1000.ts. Malheureusement on obtiendrait un écran noir en se contentant des dépots officiels de Debian :(

On peut aussi avoir les informations sur cette vidéo

root@bremko:/var/lib/david/# /opt/ffmpeg//bin/ffmpeg -i bbb-tr1000.ts 
FFmpeg version git-7e8d959, Copyright (c) 2000-2010 the FFmpeg developers
  built on May 16 2010 17:27:52 with gcc 4.3.2
  configuration: --prefix=/opt/ffmpeg --enable-libdirac --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-libopenc
ore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libfaad --enable-libfaadbin --enable-libfaac --enable-gpl --enable-nonfree --enable-pthreads --extra-cflags='-I$TOOLS_MULTIMEDIA_DIR/include/ -I
$TOOLS_MULTIMEDIA_DIR/include/a52dec/ -I$TOOLS_MULTIMEDIA_DIR/include/lame/ \ -I$TOOLS_MULTIMEDIA_DIR/include/ -I$TOOLS_MULTIMEDIA_DIR/include/ao -I$TOOLS_MULTIMEDIA_DIR/include/libyasm -I$TOOLS_MULTIMEDIA_DI
R/include/ogg -I$TOOLS_MULTIMEDIA_DIR/include/SDL -I$TOOLS_MULTIMEDIA_DIR/include/speex -I$TOOLS_MULTIMEDIA_DIR/include/vorbis -I$TOOLS_MULTIMEDIA_DIR/include/theora -I$TOOLS_MULTIMEDIA_DIR/include/schroeding
er-1.0 -I$TOOLS_MULTIMEDIA_DIR/include/dirac -I$TOOLS_MULTIMEDIA_DIR/include/opencore-amrnb/ -I$TOOLS_MULTIMEDIA_DIR/include/opencore-amrwb/' --extra-ldflags=-L/opt/multimedia/lib
  libavutil     50.15. 2 / 50.15. 2
  libavcodec    52.67. 0 / 52.67. 0
  libavformat   52.62. 0 / 52.62. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.20. 0 /  1.20. 0
  libswscale     0.10. 0 /  0.10. 0
[mpegts @ 0x90fb4c0]max_analyze_duration reached
Input #0, mpegts, from 'bbb-tr1000.ts':
  Duration: 00:09:56.12, start: 61835.685522, bitrate: 1373 kb/s
  Program 1 
    Stream #0.0[0x44]: Video: libschroedinger, yuv420p, 640x360, 28.28 fps, 24 tbr, 90k tbn, 24 tbc
    Stream #0.1[0x45]: Audio: mp2, 48000 Hz, 2 channels, s16, 256 kb/s
At least one output file must be specified

Après cette mise en bouche, je suis donc d'attaque pour recompiler ffmpeg

Pré-requis

  • Avoir une Debian Lenny fraîchement installée physiquement ou virtuellement (Xen, Vmware etc...)
  • Préparer deux ou trois tasses de café
  • Une prière ou deux à réciter (on ne sait jamais) car les compilations ne sont longues pas mais leur nombre est important

Plan

  1. Pour que l'environnement de compilation soit 100% opérationnel, j'ai opté pour une installation d'une Lenny fraîchement installée. Disposant de Xen à la maison, je me construis donc un domU sous Lenny. On peut tout aussi avoir effectué une installation de base sur un machine.
  2. On installe ensuite les paquets .deb de base requis.
  3. On compile ensuite les divers paquets...

Xen - mise en place d'un domU tout frais sous Lenny (optionnel)

On configure donc notre fichier /etc/xen-tools/xen-tools.conf

melina:~# grep -vE '^(#|$)' /etc/xen-tools/xen-tools.conf
lvm = xen-vm
install-method = debootstrap
size   = 20Gb      # Disk image size.
memory = 512Mb    # Memory size
swap   = 128Mb    # Swap size
fs     = ext3     # use the EXT3 filesystem for the disk image.
dist   = lenny     # Default distribution to install.
image  = sparse   # Specify sparse vs. full disk images.
gateway   = 192.168.2.253
netmask   = 255.255.255.0
broadcast = 192.168.2.255
passwd = 1
accounts = 1
kernel      = /boot/vmlinuz-`uname -r`
initrd      = /boot/initrd.img-`uname -r`
arch = i386
mirror = http://ftp.us.debian.org/debian/
ext3_options   = noatime,nodiratime,errors=remount-ro
ext2_options   = noatime,nodiratime,errors=remount-ro
xfs_options    = defaults
reiser_options = defaults
serial_device = hvc0
disk_device = xvda
output    = /etc/xen/machines
extension = .cfg
On installe le domU
melina:~# xen-create-image --force --hostname=melina-xen08 --ip=192.168.2.230 \
--config=/etc/xen-tools/xen-tools.conf --role=udev

General Information
--------------------
Hostname       :  melina-xen08
Distribution   :  lenny
Partitions     :  swap            128Mb (swap)
                  /               20Gb  (ext3)
Image type     :  full
Memory size    :  512Mb
Kernel path    :  /boot/vmlinuz-2.6.26-2-xen-686
Initrd path    :  /boot/initrd.img-2.6.26-2-xen-686

Networking Information
----------------------
IP Address 1   : 192.168.2.230 [MAC: 00:16:3E:D5:F9:A8]
Netmask        : 255.255.255.0
Broadcast      : 192.168.2.255
Gateway        : 192.168.2.253


Creating swap on /dev/xen-vm/melina-xen08-swap
Done

Creating ext3 filesystem on /dev/xen-vm/melina-xen08-disk
Done
Installation method: debootstrap
Done

Running hooks
Done

Role: udev
	File: /etc/xen-tools/role.d/udev
Role script completed.

Creating Xen configuration file
Done
Setting up root password
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
All done


Logfile produced at:
	 /var/log/xen-tools/melina-xen08.log


On démarre la machine
melina:~# xm create /etc/xen/machines/melina-xen08.cfg 
Using config file "/etc/xen/machines/melina-xen08.cfg".
Started domain melina-xen08

Installation des paquets .deb de base

Rien de plus simple que

apt-get install git make gcc libc6-dev g++ git-core autotools-dev  autoconf autoconf2.13 autoconf-archive gnu-standards \
autoconf-doc  automake1.4 m4 libtool unzip libtool bzip2 python2.5 gettext strace libx11-dev xserver-xorg-dev pkg-config

Remarques:

  • Les paquets libx11-dev et xserver-xorg-devsont utils pour pouvoir compiler le lecteur ffplay
  • Le paquet pkg-config s'avère d'une grande aide pour les compilations

Compilations

Environnement de compilation

On va
  • créer deux dossiers. Le premier servira de dépot pour les sources téléchargées (SRC) . Le second contiendra les divers binaires issus des compilations (TOOL_MULTIMEDIA_DIR)
  • mettre à jour les variables d'environnement (PATH et LD_LIBRARY_PATH)

Pour celà, dans un fichier multimedia_env.sh, on met donc

export SRC=/mnt/sources
export TOOLS_MULTIMEDIA_DIR=/opt/multimedia
export PATH=${TOOLS_MULTIMEDIA_DIR}/bin:${PATH}
export LD_LIBRARY_PATH=${TOOLS_MULTIMEDIA_DIR}/lib:${LD_LIBRARY_PATH}
export PKG_CONFIG_PATH=${TOOLS_MULTIMEDIA_DIR}/lib/pkgconfig/:${PKG_CONFIG_PATH}
On source ce fichier et on crée les répertoires attendus
melina-xen08:~# source multimedia_env.sh
melina-xen08:~# mkdir -pv $SRC $TOOLS_MULTIMEDIA_DIR
mkdir: création du répertoire `/mnt/sources'
mkdir: création du répertoire `/opt/multimedia'

OPEN-AMR

cd $SRC
wget "http://sourceforge.net/projects/opencore-amr/files/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz/download"
tar xvzf opencore-amr-0.1.2.tar.gz 
cd opencore-amr-0.1.2
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes && make && make install

FAAC

cd $SRC
wget "http://sourceforge.net/projects/faac/files/faac-src/faac-1.28/faac-1.28.tar.gz/download"
tar xvzf faac-1.28.tar.gz
cd faac-1.28
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes --with-mp4v2 && make && make install

FAAD

cd $SRC
wget "http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.7/faad2-2.7.tar.gz/download"
tar xvzf faad2-2.7.tar.gz 
cd faad2-2.7
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes  --with-mpeg4ip --with-drm && make && make install

OGG, VORBIS et THEORA

cd $SRC
wget http://downloads.xiph.org/releases/ao/libao-1.0.0.tar.gz
tar xvzf libao-1.0.0.tar.gz 
cd libao-1.0.0
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes  
make
make install

cd $SRC
wget http://downloads.xiph.org/releases/ogg/libogg-1.2.0.tar.gz
tar xvzf libogg-1.2.0.tar.gz 
cd libogg-1.2.0
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes  
make
make install

cd $SRC
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.1.tar.bz2
tar xvjf libvorbis-1.3.1.tar.bz2 
cd libvorbis-1.3.1
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes  
make install

cd $SRC
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2
tar xvjf libtheora-1.1.1.tar.bz2  
cd libtheora-1.1.1
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes --with-ogg=/opt/multimedia \
--with-vorbis=/opt/multimedia/ --wtih-sdl=/opt/multimedia/
make && make install

SPEEX

C'esr cette version qu'il faut et non la 1.0.5 car elle ne se compilera pas
 
cd $SRC
wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz
tar xvzf speex-1.2rc1.tar.gz 
cd speex-1.2rc1
 ./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes --with-ogg=/opt/multimedia --with-vorbis=/opt/multimedia/
make && make install

YASM

cd $SRC
wget http://www.tortall.net/projects/yasm/releases/yasm-1.0.0.tar.gz
tar xvzf yasm-1.0.0.tar.gz 
cd yasm-1.0.0
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes  && make && make install

NASM

cd $SRC
 wget http://www.nasm.us/pub/nasm/releasebuilds/2.08.01/nasm-2.08.01.tar.bz2
tar xvjf nasm-2.08.01.tar.bz2
cd nasm-2.08.01
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes  && make && make install

LAME

cd $SRC
wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz/download
tar xvzf lame-3.98.4.tar.gz 
cd lame-3.98.4
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes --enable-nasm && make && make install

A52

cd $SRC
wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
tar xvzf a52dec-0.7.4.tar.gz 
cd a52dec-0.7.4
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes  && make && make install

XVID

cd $SRC
wget http://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz
tar xvzf xvidcore-1.2.1.tar.gz 
cd xvidcore
cd build/generic/
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes  && make && make install

X264

cd $SRC
wget http://downloads.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20100420-2245.tar.bz2
tar xvjf x264-snapshot-20100420-2245.tar.bz2 
cd x264-snapshot-20100420-2245
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes  &&\
make && make install

DIRAC et SCHROEDINGER

 
cd $SRC
wget http://sourceforge.net/projects/dirac/files/dirac-codec/Dirac-1.0.2/dirac-1.0.2.tar.gz/download
 tar xvzf dirac-1.0.2.tar.gz 
 cd dirac-1.0.2
 ./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes && make && make install

cd $SRC
wget http://code.entropywave.com/download/orc/orc-0.4.4.tar.gz
tar xvzf orc-0.4.4.tar.gz 
cd orc-0.4.4
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes && make && make install

cd $SRC
wget http://diracvideo.org/download/schroedinger/schroedinger-1.0.9.tar.gz
tar xvzf schroedinger-1.0.9.tar.gz
cd schroedinger-1.0.9
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-shared=no --enable-static=yes && make && make install

FFPLAY (optionnel)

Cette section est bien sûr optionnelle à moins que l'on veuille bénéficier du lecteur ffplay
cd $SRC
wget http://www.libsdl.org/release/SDL-1.2.14.tar.gz
tar xvzf SDL-1.2.14.tar.gz
cd SDL-1.2.14
./configure --prefix=$TOOLS_MULTIMEDIA_DIR --enable-static=yes --enable-shared=no && make && make install

FFMPEG

cd $SRC
git clone git://git.ffmpeg.org/ffmpeg/
cd ffmpeg
git clone git://git.ffmpeg.org/libswscale/

./configure --prefix=/opt/ffmpeg --enable-libdirac --enable-libschroedinger --enable-libspeex \
--enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-libx264 --enable-libxvid \
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libfaad \
--enable-libfaadbin --enable-libfaac --enable-gpl --enable-nonfree --enable-pthreads \
--extra-cflags='-I$TOOLS_MULTIMEDIA_DIR/include/ -I$TOOLS_MULTIMEDIA_DIR/include/a52dec/ \
-I$TOOLS_MULTIMEDIA_DIR/include/lame/ -I$TOOLS_MULTIMEDIA_DIR/include/ \
-I$TOOLS_MULTIMEDIA_DIR/include/ao -I$TOOLS_MULTIMEDIA_DIR/include/libyasm \
-I$TOOLS_MULTIMEDIA_DIR/include/ogg -I$TOOLS_MULTIMEDIA_DIR/include/SDL \
-I$TOOLS_MULTIMEDIA_DIR/include/speex -I$TOOLS_MULTIMEDIA_DIR/include/vorbis \
-I$TOOLS_MULTIMEDIA_DIR/include/theora -I$TOOLS_MULTIMEDIA_DIR/include/schroedinger-1.0 \
-I$TOOLS_MULTIMEDIA_DIR/include/dirac -I$TOOLS_MULTIMEDIA_DIR/include/opencore-amrnb/ \
-I$TOOLS_MULTIMEDIA_DIR/include/opencore-amrwb/'  \
--extra-ldflags=-L$TOOLS_MULTIMEDIA_DIR/lib

make 

make install

samedi 27 mars 2010

rst2pdf - Convertir un fichier reST au format PDF - Installation sous Lenny

REST: Un format de document bien util pour l'exploitant système

reST - restructured text - est un format intéressant pour tout exploitant-système qui aime avoir un système de document pour rédiger ses notes dans un simple fichier text.

Généralement quand je dois tester un nouvel outil ou de nouvelles commandes comme tout bon exploitant-système qui se respecte, j'ai toujours mon petit fichier texte ouvert à côté de mon terminal Linux pour y mettre mes notes

Et puis une fois les tests terminés, il faut penser à rédiger la documentation sur ce qu'on a fait.

Là au moins, je me contente juste de retoucher mes notes, à soigner la mise en conformité par rapport au format rest et le tour est joué. D'ailleurs pour les collègues, grâce à rst2pdf une simple conversion et le tour est joué

rst2pdf est un projet sous google code rst2pdf permettant donc cette fameuse a conversion au format pdf. Le site du projet est http://code.google.com/p/rst2pdf/

Personnellement, en dehors de l'usage que je fais généralement pour dblatex pour des documents plus élaborés, ce format s'avère

  • léger notamment pour son utilisation
  • util pour garder des commandes habituelles au travail sous la main.

C'est sur le site http://culot.org/public/Docs/documentation_rest.html que j'ai appris un peu à utiliser ce format :) qui propose un exemple pour la conversion au format html: rst2html

INSTALLATION

Il faut commencer par installer les divers paquets attendus
apt-get update
apt-get install -y python-setuptools gcc python2.5-dev
easy_install -U setuptools
Si on veut pouvoir bénéficier de l'ajout d'image dans son fichier, il suffira d'ajouter le paquet python-imaging
apt-get install python-imaging
Il ne reste plus qu'à télécharger et installer
wget http://rst2pdf.googlecode.com/files/rst2pdf-0.14.2.tar.gz
tar xvzf rst2pdf-0.14.2.tar.gz 
cd rst2pdf-0.14.2
python setup.py install

EXEMPLE AU FORMAT REST ET EXEMPLE EN PDF

Dans un simple fichier text exemple.rst, on mettra par exemple le texte suivant et on obtiendra le fichier pdf suivant http://www.davidgis.fr/download/exemple-rst2pdf.pdf

La conversion sera faite simplement en faisant

rst2pdf exemple.rst -o exemple-rst2pdf.pdf
=========================================
Installation de rst2pdf sous Debian Lenny		      
=========================================

 :Author: Jean David TECHER
 :Version: 0.1
 :Copyright: Ce document est extrait du site http://www.davidgis.fr.

.. sectnum::

.. contents:: Table des matières

------------
introduction
------------

Ce document contient les commandes nécessaires pour la compilation
de rst2pdf sous Debian Lenny.

rst2pdf permet de convertir un fichier au format reST au format pdf
sans avoir à recourir à des convertisseurs à la LaTeX. 

Le site du projet est http://code.google.com/p/rst2pdf/

Mise à jour du document: |date|.

--------
Principe
--------

La conversion est illustrée sur l'image suivante

.. figure:: diagrammerst2pdf.png
   :scale: 300 %
   :align: center
   :width: 390px   

   Principe de conversion

------------
Installation
------------

L'installation concerne:

#. paquets Debian et Python

#. rst2pdf

Paquets Python nécessaires
--------------------------

Sur une Debian fraîchement installée,on effectue

::

 apt-get update
 apt-get install -y python-setuptools gcc python2.5-dev
 easy_install -U setuptools
 apt-get install python-imaging

Telechargement et installation
------------------------------

Il suffira de faire

::

 wget http://rst2pdf.googlecode.com/files/rst2pdf-0.14.2.tar.gz
 tar xvzf rst2pdf-0.14.2.tar.gz 
 cd rst2pdf-0.14.2
 python setup.py install

.. note::

     Pour de plus amples renseignements, voir le manuel http://rst2pdf.googlecode.com/svn-history/r52/trunk/manual.pdf ou depuis les sources
     il suffit de consulter les exemple fournis dans le répertoire ``rst2pdf-0.14.2/rst2pdf/tests/input``

----------------

.. footer::

   Page ###Page###/###Total###

.. |date| date:: %d %b %Y %R

mercredi 10 février 2010

Réunion-Multimedia: On parle de moi !!!

C'est en pianotant sur les stats de mon site que je suis tombé sur un lien qui m'a paru étrange au premier abord.

En fat, je suis tombé sur cet article du site reunion-multimedia qui m'a fait très plaisir.

Je ne connaissais pas ce site. Du coup, j'en ai profité pour aller fouiner un peu. Ca fait plaisir de voir un site de ma petite île chérie consacrée au multimedia...L'auteur a bien raison en parlant ainsi de moi (quand on lance des fleurs , on ne les refuse pas.). Au delà de la cuisine, j'essais surtout de montrer que la Réunion produit aussi de bons informaticiens formés sur le tas .

Au passage mon bonjour à mes compatriotes si vous lisez ce mot!

Un Réunionnais qui pense souvent à son île chérie...

article sur moi

Article: http://www.reunion-multimedia.com/Carnet-de-hasard-Un-reunionnais-en

mardi 2 février 2010

Google, Jordan Carver et mon site

Y'a pas à dire...2010 sera l'année Jordan :) mais je reste fidèle à Jana Defi.


Mon petit site remonté dans google....

lundi 25 janvier 2010

Recyclage du vieux portable VAIO: monitoring (hobbit) et svn/viewvc

Ce week-end, il était temps de remettre mon bon vieux portable au travail. Il s'agit d'un VAIO PCG FR 215E - une vraie antiquité - . Depuis novemnre 2007, (purée ça date), elle dormait tout tranquillement dans les cartons.


Le portable à l'époque où il était encore beau

Bon un premier bilan:

  1. L'écran ne fonctionne plus;
  2. Certaines touches ont rendu l'âme
  3. La bonne nouvelle, c'est qu'elle boot

Comme il s'agit d'une vieille Debian, je l'ai upgradé vers la Lenny. C'est déjà ça.

L'installation de Hobbit n'a posé aucun problème. Il m'a suffit ensuite d'installer les clients sur les autres machines. Un petit coup de

dpkg-reconfigure hobbit-client
aura suffit sur les autres machines.

Pour l'installation de svn, je me suis servi de la documentation de Ubuntu concernant svn.

Et pour ViewVC, quelques liens intéressants:

  1. http://jiangyan.wordpress.com/2008/10/19/viewvc-ubuntu/
  2. http://unspecified.wordpress.com/2008/06/10/viewvc/
  3. http://www.linux.com/archive/feature/154147

samedi 28 novembre 2009

Avignon...Trois mois après

Ce vendredi soir,en rentrant du boulot, je me suis pausé dans un des restaurants de la rue des teinturiers, histoire de reprendre des forces...J'avais la flemme de rentrer et faire à bouffer.

J'en ai profité pour appeler un ami sur Antibes, histoire de prendre de ces nouvelles. A part une méchante grippe, il allait bien. Tant mieux.

Je lui ai fait part de comment celà se passait pour moi actuellement. En tout cas, ça va. On m'a avancé ce vendredi quelques remarques qui m'ont fait plaisir! De ce qu'on m'a dit, je ne m'en étais même pas rendu compte (...)

En tout cas à mon ami d'Antibes, je lui dois beaucoup. Je tenais par la présente de ce billet à le remercier pour tout ce qu'il a fait pendant mon séjour là-bas. Je sais qu'il se reconnaîtra .

Par la même occasion, Seb (je sais que des fois quand tu n'as rien à faire au taf tu traines un peu par là ) si tu passes par là, passes mon bonjour à l'équipe. Je vous fais plein de gros bisoux à tous...

Vidéo "Runaway Bride"

Avec un peu de retard sur la livraison prévue, voici la vidéo


Vidéo "Runaway Bride"
La belle Denise officie en jeune mariée dans une belle robe

jeudi 26 novembre 2009

Regénérer l'iso d'installation de Lenny 5.0.3 NetInstall avec support pour bnx2 (firmwares pour 5708/5709)

Je me suis inspiré de http://gcolpart.evolix.net/blog21/driver-bnx2-du-noyau-lenny-et-carte-broadcom-netxtreme-ii/. On va le faire à l'ancienne, sans race et en mode tchéchenne

Modification du initrd.gz

On récupère l'initrd pour i386 nécessaire au boot. On en profite pour le décompresser
cd /tmp
wget http://ftp.fr.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz
mkdir /tmp/mkinitrd
cd /tmp/mkinitrd/
zcat ../initrd.gz | cpio -iv
On télécharge le tout dernier .deb qui contient les firmwares attendus (notamment bnx2-06-4.0.5.fw et bnx2-09-4.0.5.fw). On le décompresse et on colle ce dont on a besoin là où il faut...
cd /tmp/
wget http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.21_all.deb
dpkg-deb -x firmware-bnx2_0.21_all.deb /tmp/mkinitrd/
cd /tmp/mkinitrd/lib/firmware/
cp bnx2-0* bnx2/
On regénère l'initrd.gz contenant maintenant les firmwares pour bnx2.
cd /tmp
mv initrd.gz initrd.gz_original
cd /tmp/mkinitrd/
find . -print0 | cpio -0 -H newc -ov | gzip -c > ../initrd.gz

Modification de la netinstall (mkisofs)

On télécharge l'iso originale et on la mounte
mkdir /mnt/toto/iso-original
cd /mnt/toto
wget ftp://ftp.gnome.org/cdimage/release/5.0.3/i386/iso-cd/debian-503-i386-netinst.iso
mount -o loop debian-503-i386-netinst.iso /mnt/toto/iso-original
On copie son arborescence dans un répertoire qui sera modifiable et on y colle notre nouveau initrd.gz
mkdir /mnt/toto/iso-modifiable
cp -a /mnt/toto/iso-original/* /mnt/toto/iso-modifiable

cp /tmp/initrd.gz /mnt/toto/iso-modifiable/install.386/
cp /tmp/initrd.gz /mnt/toto/iso-modifiable/install.386/gtk/
On regénère notre iso
cd iso-modifiable/
mkisofs -J -r -v -o ../lenny-5.0.3-netinstall-modified.iso -V Lenny_5_0_3_NetInstall -b isolinux/isolinux.bin \
 -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /mnt/toto/iso-modifiable

Remarque: pour les options de mkisofs, on pourra par exemple consulter http://linux.jpvweb.com/mesrecetteslinux/images_iso_cd

La nouvelle iso s'appelle lenny-5.0.3-netinstall-modified.iso avec

En écrabouillant /mnt/toto/iso-modifiable/install.386/gtk/initrd/gz, on aura pu le bel installeur graphique mais bon ça on s'en branle

samedi 12 septembre 2009

Installation du lecteur Flash 10 sous Ubuntu 8.04

En essayant de me connecter au site de deezer.com, il faut mettre à jour ma version de lecteur Flash pour la version 10.

Lors de l'installation, j'ai eu cette erreur

Dépaquetage de libnspr4-dev (à partir de .../libnspr4-dev_4.7.5-0ubuntu0.8.04.1_i386.deb) ...
dpkg : erreur de traitement de /var/cache/apt/archives/libnspr4-dev_4.7.5-0ubuntu0.8.04.1_i386.deb (--unpack) :
 tentative de remplacement de « /usr/share/aclocal/nspr.m4 », qui appartient aussi au paquet mozilla-dev

Pour résoudre ce problème

dpkg -P mozilla-dev

Puis

apt-get install adobe-flashplugin libnspr4-dev libnss3-dev

Par la suite, j'ai refoutu le .deb fourni par Adobe par dessus

root@bremko:/var/lib/david/# dpkg -i install_flash_player_10_linux.deb 
dpkg - avertissement : adobe-flashplugin mis à jour de la version 10.0.32.18-1hardy1 vers l'ancienne version 10.0.32.18-1.
(Lecture de la base de données... 368052 fichiers et répertoires déjà installés.)
Préparation du remplacement de adobe-flashplugin 10.0.32.18-1hardy1 (en utilisant install_flash_player_10_linux.deb) ...
Dépaquetage de la mise à jour de adobe-flashplugin ...
Paramétrage de adobe-flashplugin (10.0.32.18-1) ...

En ouvrant mon Firefox et en pointant vers l'url "about:plugins", j'avais toujours l'ancienne version de mon lecteur

J'ai donc regarder le contenu du .deb

root@bremko:/var/lib/david/# dpkg --contents install_flash_player_10_linux.deb 
drwxr-xr-x root/root         0 2009-07-23 22:56 ./
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/xulrunner/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/xulrunner/plugins/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/xulrunner-addons/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/xulrunner-addons/plugins/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/mozilla/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/mozilla/plugins/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/iceape/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/iceape/plugins/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/iceweasel/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/iceweasel/plugins/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/firefox/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/firefox/plugins/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/midbrowser/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/midbrowser/plugins/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/lib/adobe-flashplugin/
-rw-r--r-- root/root  10236016 2009-07-23 22:56 ./usr/lib/adobe-flashplugin/libflashplayer.so
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/share/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/share/doc/
drwxr-xr-x root/root         0 2009-07-23 22:56 ./usr/share/doc/adobe-flashplugin/
-rw-r--r-- root/root       669 2009-07-23 22:56 ./usr/share/doc/adobe-flashplugin/copyright
-rw-r--r-- root/root       719 2009-07-23 22:56 ./usr/share/doc/adobe-flashplugin/changelog.Debian.gz
puis
cp /usr/lib/adobe-flashplugin/libflashplayer.so .mozilla/plugins/libflashplayer.so
ldconfig

L'url "about:plugins" affichait la bonne valeur atendue

dimanche 30 août 2009

1ére semaine sur Avignon, au revoir Côte d'Azur...

Vendredi 21 août 2009: en route pour Avignon...

C'est sur les coups de 12h00-13h00, ce vendredi que j'ai décollé de Biot. Après être passé voir les amis chez France Telecom pour leur passer mon au revoir et quelques déboires avec ma voiture, j'ai finalement pris la route sur les coups de 15h00. Comme il faisait relativement bien chaud, je me suis arrêté plusieurs fois pour que Simba puisse s'hydrater...

Je suis arrivé finalement sur les coups de 20h00. J'ai déchargé quelques cartons le soir même, à savoir le strict minimum pour passer la soirée à l'appartement.

Samedi et dimanche: Route des teinturiers et visite d'Avignon...

Ayant mon logement à proximité de la route des teinturiers, j'en ai profité ce week-end pour visiter les lieux, repérer déjà les endroits à connaître: les halles, la cité des papes et le fameux Pont d'Avignon ...Une première conclusion s'impose, ça va je suis à proximité de tout ce qu'il faut pour un libre accès à pied sans utiliser la voiture

lundi 2009-08-24: immatriculation en 84

Comme samedi j'ai reçu par la poste ma facture EDF en tant que justificatif de domicile, j'en ai profité pour faire le changement de domicile sur la carte grise à la préfecture ainsi que le changement de plaque d'immatriculation au Speedy du coin, pas trop loin des remparts...

Du coup, l'après-midi, j'ai pu profité de passer au service des macarons situé au Passage de l'Oratoire pour obtenir mon macaron. J'ai attendu qu'une place soit libre en bas de chez moi pour stationner ma voiture afin de décharger les cartons restants. Ben voilà la voiture est dorénavant une vauclusienne . J'en ai aussi profité pour contacter mon assurance pour la voiture afin de leur signaler mon changement de domicile et pour obtenir les nouveaux papiers (carte verte etc...)

Mardi 2009-08-25: France Telecom pour ouverture de la ligne

Toujours grâce à la facture EDF et une pièce d'identité, je me suis rendu chez France Telecom - toujours à proximité - pour récupérer la ligne de l'ancienne locatrice. Comme me l'a précisé la personne qui s'occupait du dossier, il faut 72h00 pour ouverture effective de la ligne...

Vendredi 2009-08-28: Banque et déménagement de la ligne Free

J'en ai profité pour faire le tranfert de mon comte sur Avignon. L'après-midi, j'ai appelé Free au 3244 pour faire le transfert de ligne. Je me souviens qu'en 2006, il fallait le faire par courrier mais apparement, ça c'est modernisé...Donc il faut pour le déménagement de la ligne

  1. se munir de
    • du nouveau /ancien numéro de l'appartement fraîchement ouvert
    • un RIB
  2. Appeler le 3244 et obtenir ses identifiants une première fois. Les identifiants sont ensuite envoyés par SMS
  3. Une fois les identifiants obtenus, rappeler le 3244 et suivre les indications.
  4. Une fois avec un opérateur/trice de chez Free, on fait le déménagement par téléphone. Selon la procédure, il faut compter de 10 à 15 jours pour que tout puisse se faire.

Week-end du 2009-08-29: montage du réseau.

En attendant que la ligne Free soit active, j'en ai profité pour remonter mon petit réseau, ce week-end. Ce fut la joie de déballer les cartons et de rebancher les câbles etc...

Conclusion:

Je ne me fais pas de plan sur la comète pour le moment. J'attends de voir comment va se dérouler ma première semaine de boulot pour faire un premier bilan. Mais déjà, je dirais que celà se passe assez bien pour le moment. Pour se détendre le soir, il y a les cafés dans la rue des teinturiers ou les bars en face des Halles. Et puis les services administratifs sont juste à côté et accessibles à pied.

Ce que j'apprécie pour le moment, c'est le côté ancien de l'appartement avec les vieux meubles et le tout à l'ancienne. Il n'y a que la plaque vitro-céramique qui est moderne...LOL...Ca a son petit charme assez coquet...J'en ai aussi profité pour m'acheter une belle marmite en Inox pour faire mes repas créoles: carry poulet, carry porc etc....Je peux donc cuisiner à l'ancienne comme à la Réunion.

Pour les épices (curcuma, massalé, curry...), il y a ce qu'il faut aux halles. Il y a aussi deux petites boutiques juste à côté des halles pour les courses de dernières minutes sans prendre la voiture.

Pour la vie de tous les jours, c'est pas mal. A voir maintenant pour le reste et les jours à venir mais je reste très confiant. Quelque part, je me sens vraiment chez moi à Avignon.

lundi 22 juin 2009

Denise Milani et son fameux téton

Petite rumeur qui circule sur le Web voulant que cette photo soit un fake...

car la charmante DM a toujours prêché ne jamais montrer ne serait-ce un bout d'un de ses tétons....

Elle que je pensais si pieuse et charitable ne l'est pas tant que ça.........

C'est donc d'un pas décidé et vaillant grâce à une simple commande en shell que je me décide donc de prouver le contraire . Donc à l'ancienne sans logiciel et sans état d'âme.

En fait non sur le site officiel elle a été retouchée par la suite, semblerait-il suite à unefuite. Mais sur DailyMotion, la vidéo originelle prouve le contraire http://www.dailymotion.com/video/x68t26_denise-milani-rock-chick_sexy. L'apparition a lieu vers 1min16. On va s'occuper ici d'extraire quelques images pour montrer que ce n'est pas un fake.

Pour la suite, on va utiliser

  1. wget pour téléchagrer la vidéo /li>
  2. On soumet la vidéo issue de dailymotion à keepvid.com, connu pour l'extraction des urls issues de sites comme youtube ou dailymotion
  3. linkextor s'occupera de nous extraire l'url en recherchant le texte "h264"
  4. ffmpeg s'occupera d'extraire les images de la vidéo

Ce qui donne les commandes suivantes qui vont télécharger la vidéo depuis keepvid.com une fois concverti en MP4 et ensuite extraire les images à la minute 1 min16 à 1min 16.9.

wget -q $(wget -q 'http://keepvid.com/?url=http://www.dailymotion.com/video/x68t26_denise-milani-rock-chick_sexy' -O  -|  \
./linkextor  -f 'a:href:h264' -b -) -O rock_chick_sexy.mp4;seq 0 9 | xargs -i ffmpeg -y -i rock_chick_sexy.mp4  -an -ss 00:01:16.{} -r \
1 -vframes 1  -vhook '/usr/lib/vhook/drawtext.so -c #000000 -f /usr/share/fonts/truetype/ttf-bitstream-vera/VeraBd.ttf -s 20 -x W/2 -y \
H/2  -t 00:01:16.{}' -f mjpeg /var/www/download/rock_chick_{}.png










dimanche 21 juin 2009

Bonne fête papounet :)

Si lé coup 16h35, le boug la pris son GSM pou appel un coup la Réinion, z'histoire cause un coup ek' son Daron...

Téléphone la sonné. La vieille la décroché. La parti rode le vieu dan' fon la coup. Le boug lé té en train arrose son band' plant' :)

Le Daron la pa trainé...Li la pri téléphone. Moin la di a li coma: "Bonne fête papa!"

La vé un ti momen silence après......Le Daron té content. Li la vi tout son band' z'enfan ce midi à table. Té gaillard. Son deuxième fils la offre a li un dizaine ti canard (no ra un ti kari dans 6 mois......Allé di partout). Li la vé un pé besoin piské li la di a moin coma ké la vé rien coq dans park' poule...un bon paquet coqs...Ca mêm' mêm son zézer!!!

Après moin la annonce a li po mon départ sir Avignon...La mand' a moin si lo' z'affair lé té sir....Moin la di a li oui piské lo band' papier lé té déza signé ek' lo rest'...Ensuite le Daron l'artourne dan son zardin pour arrose son band' plant'.

Le daron touzour pareil! Pas grand chose pou dire mé i fé touzour plézir diskit' som' li......Ah mon vieux.Boug la la pa chanzé depui li la parti la retraite...Li lé content lève tou les zours po li okkip' son zardin ek' son ti fawm'...Y fé pi boug coma maintenant...La longtemps moin la pa rent' la kaze mé bon. Moin nana 2 3 z'affair po moin faire ici après mi rent' poru voir la famille. Mé avant nana enkor' 2 3 z'affair po moin finir ici avant après mi rent' pou voir la famille

vendredi 19 juin 2009

C'est l'été qui arrive...Slideshow de Denise Milani "Polkadots" - Avignon dans quelques mois....

Ce week-end c'est donc la fête de lamusique et donc aussi la date qui marque le début de l'été 2009...

Et aujourd'hui Denise Milani nous offre quelques unes de ses plus belles photos. Pour la peine, je me suis occupé grâce à Ming et PHP de convertir ses photos en slideshow. Je sais qu'un de mes amis appréciera. Petit dédicace et cadeau à un certain ami H.B

Sinon ce week-end pour moi c'est les cartons à préparer pour le mois de juillet/août.

C'est officiel et sûr maintenant, normalement d'ici août je serais installé sur Avignon avec Simba.

Décidemment le mois de juillet sera vite arrivé. J'aurais donc passé un an et demi sur la côte d'Azur.

Jeudi soir, j'étais sur Juan-Les-Pins avec un ami pour prendre un verre. Il y avait beaucoup de jeunes..

.Ce n'est plus le même plaisir et le même délire que l'année dernière. C'était la belle époque, le bon vieux temps. Autour d'un café ce soir-là, l'ami en question a vu un petit brin de nostalgie remonté dans mes yeux. Mais bon c'est la vie, c'est comme ça. En évoquant ce fameux été, je me suis mis à lui parlé du Tché, le fameux Tché...Le Tché - le bar de l'année dernière - a laissé place à un autre type de bar l'Hemingway, un bar à l'allure très touristique et peu familial à mon sens. Ce n'est plus du tout la même chose. (..) Au moins comme dit une connaissance, ça me fera de bons souvenirs de la côte.... C'est vrai en plus.

Bon encore un à deux mois et ensuite on verra.

mercredi 17 juin 2009

[Ffmpeg] Révisions pour conversion vidéo et extraction d'images pour "Close to me" - Denise Milani

Celà faisait un bail que je n'avais pas manipulé ffmpeg - mon outil de conversion multimedia préféré -....Ce soir vu qu'il n'y avait rien à la TV d'intéressant , j'ai donc décidé de me changer les idées au lieu de revoir PostgreSQL. Ce me changera de mes occupations/révisions actuelles de PostgreSQL

Donc comme toujours, la belle Denise Milani a servi pour mes tests sur une de ses vidéos récentes parues en mai de cette année. Ca c'est pour la motivation .

Je me suis donc pris une vidéo en HD au format mov de 1280x720, reconverti en 512x288 au format mpt4, idéal pour le streaming. Pour la conversion du film rien de plus facile que

LD_LIBRARY_PATH=/opt/ffmpeg-0.5/lib/ /opt/ffmpeg-0.5/bin/ffmpeg -y -i ${file}.mov -vcodec libx264 \
-vpre normal -b 550k -qmin 10 -qmax 50 -s 512x288 -r 29.97 -ar 44100 ${file}.mp4

Bon ça va, je n'ai pas perdu la main . Je suis passé de 193M à 25M.

Téléchargement de la vidéo en mp4 (25M): http://www.davidgis.fr/download/close_to_me.zip

Quelques screens de ce petit film de 5 minutes généré en faisant

ss=1;for ztimes in 00:01:10 00:02:10 00:02:42;do ffmpeg -y -i close_to_me.mp4 -an -ss ${ztimes} -r 1 \
 -vframes 1  -f mjpeg close_to_me_$ss.png;ss=`expr 1 + $ss`;done

Et on obtient



Comme toujours il n'y aura qu'une seule chose à dire

dimanche 3 mai 2009

Requiem for a dream...Partie V

Ce week-end de 3 jours a été le bienvenu...Ca aura été l'occasion de se poser et de profiter comme il se doit d'un des deux grands week-end de mai...

Ce week-end s'est super bien passé. Jedui soir ça aura été un petit verre avec un ami sur Juan-Les-Pins...Samedi ça a été une soirée à Cannes bien sous tout rapport en bonne compagnie...

Il est dimanche soir 22h00 quand j'écris cette ligne la musique de "Requiem for a dream" passant en boucle sur le portable...Une petit pensée par ci par la famillia à la Réunion, notamment pour le frèro.

Ce soir je ne me suis pas ménagé pour manger à la créole. Vers 18h00 direction la cuisne, je me suis mijoté quelques plats bien de chez nous, notamment un carry crevette. Ca fait trop plaisir de manger ça. Bon faut bien dire que les crevettes par ici ne sont pas donnés mais bon celà ne fait pas de mal de se faire plaisir de temps en temps, une fois comme ça tout les deux mois. Le carry crevette fut accompagné comme il se doit d'un bon riz et de lentilles. Pendant que je préparais la cuisine, c'était la musique du groupe Ousanousa qui passait sur le portable. Je pense que les voisins ont du sentir la bonne odeur du carry crevette qui mijotait dans la marmite

Ce soir j'avais commencé à regarder la TV.Finalement j'ai zappé et me suis jeté sur mon portable en écoutant la musique de Too Late de Timberland. Ca m'a fait penser à une vieille amie que je n'ai pas revu depuis un bon moment(...). En fait j'alterne entre "requiem for a dream" et "too late"...

Ca doit sûrement être ce petit moment de mélodie qu'on entend quand on sait que le moment de calme avant la tempête va bientôt toucher à sa fin. De mon côté au fond je le sais bien...pour l'autre? C'est l'heure le moment comme on dit est enfin arrivé. Va falloir y aller...Comme si peu et beaucoup de choses allaient changer dans les semaines et mois à venir.

Là je viens d'allumer Amarok pour mettre la musique de Ennio Morricone - le maître - Ectasy of Gold...une petite musique que j'écoute toujours avant chaucun de mes retours à la Réunion...Ca fait voyager toutes ces musiques me ramenant à une époque où le monde me semblait encore inconnue avant ma venue en métropole à savoir le soir du 20 septembre 2001 avant ma première venue en métropole...Si je me passe cette musique c'est qu'au fond je sais sans le deviner que les choses vont vraiment changer. Rien à dire juste écouter et obtenir ce qui nous est dû....Et comme le disait cette très chère avocate avant que la partie ne soit entamée: Affaire classée quand l'exception déroge à la règle. Ce qui constitue une règle en soit en dépit du ressenti des autres!!! Pourtant la partie est loin d'être gagnée.

Là c'est "Mika - Relax" que je viens de me mettre. Ca me replonge à l'été dernier sur Juan-Les-Pins sur la piste du Tché quand le DJ me passait cette musique spécialement pour moi. Hé la...tout le monde s'arrêtait de danser parfois pour voir un Réunionnais danser comme il faut sur cette musique...Tu m'étonne!!! Je ne compte plus le nombre de fois où des gens m'ont interpelé à Juan me disant "Mais je vous connais...Vous êtes celui qui dansiez au Tché tous les samedis soir"...LOL...Faut rien de spécial pour rendre des gens heureux!!!

Mais bon redevenons sérieux une minute...Ce fut un très bon week-end. Simple comme je les aime . Pour un premier week-end ça aura été plutôt calme sur Antibes/Juan-Les-Pins (crise ...)...Vivement le prochain

mercredi 15 avril 2009

[FlowPlayer] Sortie de la version 3.1

La mouture estampillée 3.1 de ce famu est sortie aujourd'hui.

Toutes les novueautés sont disponibles ici...Ce qui a surtout retenu mon attention, c'est

  • barre d'outils facilement paramètrable au niveau du look ( barre de progession, bouton play etc...)
  • détection de la qualité de la bande passante

jeudi 9 avril 2009

[Apache] Lutter contre les messages "ad.yieldmanager.com" qui polluent les logs...

Avant hier Ludo m'a appelé en urgence pour me dire que ma machine avait redémarré...Rien d'urgent, si ce n'est qu'il a fallut que je rallume

grep "http://ad.yieldmanager.com/" /var/log/apache/access.log|grep "08/Apr/2009" > /tmp/manager.bad
sort -r /tmp/manager.bad|tail -n 1;tail  -n 1 /tmp/manager.bad
61.139.105.162 - - [06/Apr/2009:15:11:45 +0200] "GET http://ad.yieldmanager.com/imp?z=0&Z=0x0&s=500843&y=30 HTTP/1.1" 302 0 "http%3A%2F%2Fwww.freegameskingdom.com%2Findex.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)" "-"
61.139.105.162 - - [07/Apr/2009:23:09:52 +0200] "GET http://ad.yieldmanager.com/imp?z=0&Z=0x0&s=529628&y=30 HTTP/1.1" 403 289 "http%3A%2F%2Fwww.onlineea.com%2Findex.html" "Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)" "-"

L'attaque a donc duré plus de 33h00...

Avoir le paramètre ProxyRequests Off dans la conf d'apache a retourné des http_code=404 pour un moment mais celà n'a pas suffit.

Le mieux a donc été de faire comme suit en ajoutant ceci dans le fichier de configuration

order deny,allow
deny from ccteam.ru
deny from mobi-info.ru
deny from t35.com
deny from statcounter.com
deny from criticaldamageclan.tripod.com
deny from ad.yieldmanager.com
deny from vernet.lv
deny from apnic.net
deny from 64.92.199.0/24
deny from 64.13.192.0/18
deny from 69.56.128.0/17
deny from 79.112.0.0/13
deny from 137.226.0.0/16
deny from 193.219.28.0/24
deny from 220.129.0.0/16
deny from 220.130.0.0/15
deny from 220.132.0.0/14
deny from 220.136.0.0/13
deny from 222.32.0.0/11
deny from anonym.to
deny from 80.190.192.48
deny from 84.14.116.228
deny from 195.2.114.1
deny from 220.194.47.69
deny from 210.51.10.42
deny from 88.169.192.158
deny from 62.215.3.44
deny from 87.242.116. 
deny from 87.242.117.
deny from 81.177.26. 
deny from 81.177.27.
deny from 125.30. 
deny from 87.239.57. 
deny from 61.240.
deny from 61.139. # Pour la plage d'IP que je veux faire sauter
deny from 61.241.
deny from 61.242. 
deny from 61.243. #China Beijing China United Telecommunications Corporation
deny from 190.129. #Bolivia Cochabamba Entel S.a. - Entelnet
deny from 90.156.169. #Russian Federation Maxhosting Ltd
deny from 195.76.242.227 #Spain Barcelona Sati Grupo Textil S.a
deny from 41.206.160. #South Africa Neotel
deny from 212.72.30. #South Africa Neotel
deny from 83.222.22. #Russian Federation Moscow Masterhost-hst
deny from 83.222.23. #Russian Federation Moscow Masterhost-hst
deny from 85.115.112. #Latvia Riga Mits Lv Sia
deny from 85.115.113. #Latvia Riga Mits Lv Sia

On relance le serveur et el client reçoit

root@olivia:~# grep -e '61.139.105.162' /var/log/apache/error.log|grep -e 'denied' > /tmp/manager.denied
root@olivia:~# sort -r /tmp/manager.denied|tail -n 1;tail  -n 1 /tmp/manager.denied 
[Tue Apr  7 00:56:10 2009] [error] [client 61.139.105.162] client denied by server configuration: /var/www/imp
[Tue Apr  7 23:09:52 2009] [error] [client 61.139.105.162] client denied by server configuration: /var/www/imp

Bingo !!!

Depuis je n'ai plus revu cette IP...

samedi 4 avril 2009

[Lighttpd 1.4.20/Ffmpeg/FlowPlayer] Installation et configuration pour serveur de pseudostreaming en h264/faac mp4

Mise à jour du 2009-04-25: Je tenais à remercier les retours des utilisateurs concernant les installations nécessaires dans ce billet :). Je ferais donc les correctifs nécessaires en fonction des retours

Après mettre livré à des tests avec nginx, je me suis tourné vers lighttpd ces derniers jours vu que le module h264 de code-shop.com supporte ce serveur...Je fournis donc ici les commandes que j'ai utilisé pour mettre en place mes tests. Le but justement est d'utiliser le module h264 développé par code-shop sur un serveur comme lighttpd pour faire du pseudostreaming sur du mp4 (pouvori seeker (= se déplacer sur la vidéo), etc...). J'ai choisi le lecteur Flow Player car il se montre très simple dans son utilisation et est très paramètrable :)

Cet article est donc un condensé de tout ce que j'ai pu trouvé sur le web

Pré-requis

  1. Une version de ffmpeg compilée avec libx264 et libfaac. Si on est sous Ubuntu, on peut prendre ma version compilée en full static - quasiment peu dépendances à part les lib systèmes - disponible à http://www.davidgis.fr/download/ffmpeg-fullstatic-svnr17003.tar.bz2
  2. Une bonne machine (de préférence assez récente) pour faire la conversion
  3. Plan de l'article

    Le plan de cet article est le suivant

    • [Optionnel] Compilation de PHP en mode FastCGI et de xcache pour une question de performance
    • Installation de lighttpd et du module h264 développé par code-shop
    • Conversion en utilisant ffmpeg en mp4
    • Faire cohabiter apache et lighttpd avec mod_proxy: car mon serveur Web par défaut est Apache. Le but est donc de pouvoir afficher la vidéo sans déplacer l'intégralité de mon site par simple redirection.
    • Un exemple avec FlowPlayer

Remarque: comme on ne change pas une équipe comme pour l'un de mes précédents articles, le film en question est une petite vidéo sur Jana Defi....

0. Php et xcache

Lighttpd fonctionne parfaitemment avec une version de PHP compilée en version FastCGI. Ici je propose de l'installer en proposant ce mode

Php

Il faut mieux posséder une version de Php >= 5.2.Y où Y est un numéro de la version

Pour ceux qui souhaite en avoir une, vous pouvez télécharger la mienne un peu veillote mais bon à http://www.davidgis.fr/download/php-5.2.1.tar.bz2

On télécharge, on compile en précisant les 3 options minimums comme suite

wget http://www.davidgis.fr/download/php-5.2.1.tar.bz2 -O -|tar xjf -
cd php-5.2.1 && ./configure --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect && make && make install

A chaque fois que je réinstalle php, j'ai pour habitude de copier le binaire résultant /usr/local/bin/php vers /usr/lig/cgi-bin et de récupérer le fichier php.ini-dist dans ce même répertoire en le renommant en php.ini

mkdir -p /usr/lib/cgi-bin/
cp /usr/local/bin/php /usr/lib/cgi-bin/
cp php.ini-dist /usr/lib/cgi-bin/php.ini

Remarque: il faudra peut-être effectuer quelques réglages pour la suite dans le fichier php.ini en fonction de ce que vous utilisez

Concernant le fichier php.ini

Xcache

Ici je partirais du principe que cette section

wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz -O - | tar xzf -
cd xcache-1.2.2
phpize
./configure --enable-xcache
make
make install

make install aura pour effet de déployer la librairie xcache.so dans le répertoire des extensions de php. Chez moi le répertoire en question est obtenue en faisant

root@olivia:~# php-config  --extension-dir
/usr/local/lib/php/extensions/no-debug-non-zts-20060613

On vérifie donc que xcache.so a bien été installé

root@olivia:~/tmp/php-5.2.1# grep xcache -r $(php-config  --extension-dir)
Fichier binaire /usr/local/lib/php/extensions/no-debug-non-zts-20060613/xcache.so concorde

Bingo

Concernant xcache, il est nécessaire d'ajuster quelques paramètres pour la suite. Confomément à la littérature niveau performance que j'ai pu trouvé sur le Web et les diverses recommendations pour ma connexion derrière ma Freebox V4, voici ce que j'ai copié à la fin de mon fichier php.ini. Ce qui suit est donc à mettre et à adapter à la fin de votre fichier php.ini

[xcache-common]
extension = xcache.so
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "mOo"
xcache.admin.pass = ""
[xcache]
xcache.shm_scheme =        "mmap"
xcache.size  =                128M
xcache.count =                 1
xcache.slots =                8K
xcache.ttl   =                 0
xcache.gc_interval =           0
xcache.var_size  =            10M
xcache.var_count =             1
xcache.var_slots =            8K
xcache.var_ttl   =             0
xcache.var_maxttl   =          0
xcache.var_gc_interval =     300
xcache.test =                Off
xcache.readonly_protection = Off
xcache.mmap_path =    "/dev/zero"
xcache.coredump_directory =   ""
xcache.cacher =               On
xcache.stat   =               On
xcache.optimizer =           On
[xcache.coverager]
xcache.coverager =          Off
xcache.coveragedump_directory = ""
cgi.fix_pathinfo=1

1. LIGHTTPD

1. Lighttpd - Préparation avant compilation

Il faut suivre les indications de http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Lighttpd-Version2

On télécharge donc les sources remaniées de lighttpd version 1.4.18 ainsi que les sources du module h264 streaming

svn export http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.0/lighttpd-1.4.18 lighttpd-1.4.18
svn export --force http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.0/mp4split lighttpd-1.4.18/src

On télécharge ensuite les sources de lighttp 1.4.20

wget http://opensu.se/~darix/lighttpd/lighttpd-1.4.20.prerelease.r2303.tar.gz -O - | tar xzf -

Ensuite, il faut procéder à quelques modifications et copie de fichiers

  • Il faut copier les sources du modules h264 vers ceux de lighttpd 1.4.20
    cp lighttpd-1.4.18/src/moov.* lighttpd-1.4.20/src/
    cp lighttpd-1.4.18/src/mod_h264_streaming.c lighttpd-1.4.20/src/
    
  • Il est ensuite nécessaire de modifier le fichier lighttpd-1.4.20/src/Makefile.am afin que le module h264 soit compilé, en ajoutant les lignes suivantes
    lib_LTLIBRARIES += mod_h264_streaming.la
    mod_h264_streaming_la_SOURCES = mod_h264_streaming.c moov.c
    mod_h264_streaming_la_LDFLAGS = -module -export-dynamic -avoid-version -no-undefined
    mod_h264_streaming_la_LIBADD = $(common_libadd)
    	

2. Lighttpd - Compilation, Installation

On lance la configuration

./configure --enable-maintainer-mode --prefix=/opt/lighttpd-1.4.20
make
make install

3. Lighttpd - configuration pour h264 et demarrage

Personnellement, j'ai récupéré le fichier conf/lighttpd.conf contenu dans les sources et je l'ai copié vers /opt/lighttpd-1.4.20/conf

mkdir /opt/lighttpd-1.4.20/conf
cp ~/lighttpd-1.4.20/openwrt/lighttpd.conf /opt/lighttpd-1.4.20/conf

Conformément aux notes de http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Lighttpd-Version2, en fusionnant toutes les recommendations fournis, mon fichier de configuratione est

root@olivia:~# grep -v -e "^#" -e "^$" /opt/lighttpd-1.4.20/conf/lighttpd.conf 
server.modules              = (
			        "mod_access",
				"mod_expire",
				"mod_secdownload",
				"mod_h264_streaming"				
)
server.document-root             = "/www/"
server.indexfiles          = ( "index.php", "index.html",
                                "index.htm", "default.htm" )
mimetype.assign            = (
  ".pdf"          =>      "application/pdf",
  ".sig"          =>      "application/pgp-signature",
  ".spl"          =>      "application/futuresplash",
  ".class"        =>      "application/octet-stream",
  ".ps"           =>      "application/postscript",
  ".torrent"      =>      "application/x-bittorrent",
  ".dvi"          =>      "application/x-dvi",
  ".gz"           =>      "application/x-gzip",
  ".pac"          =>      "application/x-ns-proxy-autoconfig",
  ".swf"          =>      "application/x-shockwave-flash",
  ".tar.gz"       =>      "application/x-tgz",
  ".tgz"          =>      "application/x-tgz",
  ".tar"          =>      "application/x-tar",
  ".zip"          =>      "application/zip",
  ".mp3"          =>      "audio/mpeg",
  ".m3u"          =>      "audio/x-mpegurl",
  ".wma"          =>      "audio/x-ms-wma",
  ".wax"          =>      "audio/x-ms-wax",
  ".ogg"          =>      "audio/x-wav",
  ".wav"          =>      "audio/x-wav",
  ".gif"          =>      "image/gif",
  ".jpg"          =>      "image/jpeg",
  ".jpeg"         =>      "image/jpeg",
  ".png"          =>      "image/png",
  ".xbm"          =>      "image/x-xbitmap",
  ".xpm"          =>      "image/x-xpixmap",
  ".xwd"          =>      "image/x-xwindowdump",
  ".css"          =>      "text/css",
  ".html"         =>      "text/html",
  ".htm"          =>      "text/html",
  ".js"           =>      "text/javascript",
  ".asc"          =>      "text/plain",
  ".c"            =>      "text/plain",
  ".conf"         =>      "text/plain",
  ".text"         =>      "text/plain",
  ".txt"          =>      "text/plain",
  ".dtd"          =>      "text/xml",
  ".xml"          =>      "text/xml",
  ".mpeg"         =>      "video/mpeg",
  ".mpg"          =>      "video/mpeg",
  ".mov"          =>      "video/quicktime",
  ".qt"           =>      "video/quicktime",
  ".avi"          =>      "video/x-msvideo",
  ".asf"          =>      "video/x-ms-asf",
  ".asx"          =>      "video/x-ms-asf",
  ".wmv"          =>      "video/x-ms-wmv"
 )
h264-streaming.extensions = ( ".mp4", ".f4v" )

url.access-deny             = ( "~", ".inc" )
server.port                = ????
$HTTP["url"] =~ "\.(mp4|f4v)$" {
   expire.url = ( "" => "access 8 hours" )
}
secdownload.secret          = "secret"
secdownload.document-root   = "/var/www/video/"
secdownload.uri-prefix      = "/video/"
secdownload.timeout         = 3600

??? ligne server.port est le port pour lighttpd. On prendra soin de noter que contrairement aux recommendations, le paramètre h264-streaming.buffer-seconds = 10 n'est pas reconnu par lighttpd.

3.2 Lighttpd -test du fichier de configuration et démarrage de lighttpd

Pour tester, le fichier on fait

root@olivia:~# /opt/lighttpd-1.4.20/sbin/lighttpd  -t -f /opt/lighttpd-1.4.20/conf/lighttpd.conf
Syntax OK

Pour lancer le serveur sans le mettre en background:

root@olivia:~# /opt/lighttpd-1.4.20/sbin/lighttpd  -D -f /opt/lighttpd-1.4.20/conf/lighttpd.conf
2009-04-04 14:52:51: (log.c.97) server started 

sinon il suffit d'enlever le flag '-D'. Un simple [CTRL]+[C] pour arrêter le serveur...

3.4 Lighttpd - Intégration et activation de PHP

Comme j'ai déjà ma version de php compilé en CGI pour MapServer, il me suffit d'ajouter

  • pour la partie consacrée aux modules:
    server.modules              = (
                                    ...
                                    "mod_fastcgi",
                                    ...
    )
    
  • et pour fastcgi.server
    fastcgi.server = ( ".php" => ((
      "bin-path" => "/usr/lib/cgi-bin/php",
      "socket" => "/tmp/php.socket"
      ))) 
    

/usr/lib/cgi-bin/php est mon binaire php déjà disponible car utilisé avec MapServer (comme quoi mon expérience sous les SIG est utile ici )...

Version de développement 2.1 du module h264 - Notes personnelles

La version actuellement en cours de développement est la 2.1rc. Pour la tester

LIGHTTPD_VERSION="5.0";

cd $HOME
[-d "$HOME/lighttpd-1.${LIGHTTPD_VERSION}"] && rm -rf lighttpd-1.${LIGHTTPD_VERSION}

svn export http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc/lighttpd-1.${LIGHTTPD_VERSION} lighttpd-1.${LIGHTTPD_VERSION}
svn export --force http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc/mp4split lighttpd-1.${LIGHTTPD_VERSION}/src

cd lighttpd-1.${LIGHTTPD_VERSION}
./configure --enable-maintainer-mode --prefix=/opt/lighttpd-1.${LIGHTTPD_VERSION}
make
make install
cd

/opt/lighttpd-1.${LIGHTTPD_VERSION}/sbin/lighttpd -D -f /opt/lighttpd-1.${LIGHTTPD_VERSION}/conf/lighttpd.conf

Je me note ici lesdifférences suivantes par rapport à lighttpd 1.4.X (à tester plus tard quand j'aurais le temps )

  • la révision actuelle du dépot SVN est la 125
  • l'activation de PHP utilise deux autres modes autre que mod_fascgi; (mode_proxy??? et ??? pas encore tester)...
  • Au démarrage le serveur est en mode debug...beaucoup de traces concernant le déplacement pendant le lecture d'une vidéo.

Ffmpeg -conversion des films en h264/acc pour mp4

Pour la suite, il faut disposer d'une version assez récente de ffmpeg. Sur le site de code-shop.com, est proposé des options pour ffmepg disponibles à http://h264.code-shop.com/trac/wiki/Encoding. A partir de maintenant, il est aussi bien possible de reprendre les options proposées que d'utiliser les ffpresets de ffmepg.

L'utilisation depuis http://h264.code-shop.com/trac/wiki/Encoding suppose que les vidéos ne soients pas énormes en dimension ou d'avoir une bande passante assez conséquente. Elles sont adaptées pour la plupart des cas. Personnellement je me tourne maintenant vers les ffpresets.

Si on a les sources de ffmpeg, il suffit de les récupérer et de les mettre dans son home dans le sous-répertoire .ffmpeg

mkdir $HOME/.ffmpeg
cp /chemin/source/de/ffmpeg/ffpresets/*ffpreset $HOME/.ffmpeg/

Plusieurs modes sont disponibles

root@olivia:~# ls $HOME/.ffmpeg
libx264-baseline.ffpreset       libx264-hq.ffpreset       libx264-lossless_fast.ffpreset    libx264-lossless_slower.ffpreset     libx264-main.ffpreset    libx264-slowfirstpass.ffpreset
libx264-default.ffpreset        libx264-ipod320.ffpreset  libx264-lossless_max.ffpreset     libx264-lossless_slow.ffpreset       libx264-max.ffpreset
libx264-fastfirstpass.ffpreset  libx264-ipod640.ffpreset  libx264-lossless_medium.ffpreset  libx264-lossless_ultrafast.ffpreset  libx264-normal.ffpreset

Après quelques tests, j'ai donc jeté mon dévolu sur les modes normal et hq vu que mon serveur est derrière une FreeBox V4...Mais la qualité est satisfaisante

Exemple sur un avi

Sur le serveur j'ai un film de deux minutes de Jana Defi - que votre bienfaiteur aura trouvé sur le Web -. Avant de lancer la conversion, il me faut connaître les dimensions:

root@olivia:~# ffmpeg -i Jana_Defi_Nuts_Issue_3-2007.avi 2>&1|grep Video
    Stream #0.0: Video: mpeg4, yuv420p, 480x270 [PAR 1:1 DAR 16:9], 25.00 tb(r)

Déjà les dimensions sont width=480 et height=270. Si je lance la conversion immédiatemment, ffmpeg effectuera la conversion mais me renverra le message

libx264 @ 0x84d8970]width or height not divisible by 16 (480x270),compression will suffer.

Alors

  • 480 / 16 = 30...c'est OK
  • 270 / 16 = 16 x 16 + 14...pas OK....L'astuce va donc résider à jouer sur l'ajout horizontal de bande noir autour de la vidéo. Celà concerne les flags -padtop et -padbottom. Ces deux derniers doivent être des multiples de 2. Je vais me contenter d'opérer qu'une bande noire de longueur 2 en bas

Pour la conversion, on prend du HQ, ce qui donne donc

 ffmpeg -y -i Jana_Defi_Nuts_Issue_3-2007.avi -vcodec libx264 -padtop 0 -padbottom 2 -g 30 -vpre hq /tmp/tmpfile.mp4 ;
qt-faststart /tmp/tmpfile.mp4 Jana_Defi_Nuts_Issue_3-2007.mp4

REMARQUE:

Pour obtenir qt-faststart, il faut le compiler depuis les sources de ffmpeg et le copier dans un répertoire disponible du PATH

cd /chemin/source/de/ffmpeg/tools
gcc -o qt-faststart qt-faststart.c
cp qt-faststart /usr/local/bin

Note sur les keyframes

Pour jouer sur les keyframes, il faut paramètrer le flag -g de ffmpeg. A tester en fonction de vos vidéos!!!

Faire cohabiter Apache 1.3 et lighttpd: mod_proxy

Mon blog étant sous Apache, il est possible le temps de ce billet de les faire cohabiter, en activant le module proxy d'apache et en procédant à une redirection. Bien sûr, il est nécessaire que le port soit ouvert. Pour la suite, ici [PORT]désigne le port en question.

Dans le script /etc/apache/modules.conf, on active le mod_proxy:

root@olivia:~# grep proxy /etc/apache/modules.conf
LoadModule proxy_module  /usr/lib/apache/1.3/libproxy.so

Pour la suite, je vais me créer deux répertoires:

  • /www/movies qui contiendra mes films
  • /www/imagettes qui contiendra les imagettes de mes films avant le chargement de la vidéo

Pour procéder à la redirection, dans le fichier de configuration d'apache - /etc/apache/httpd.conf -, on effectue la redirection suivante

    ProxyPass  /movies http://www.davidgis.fr:[PORT]/movies
    ProxyPassReverse  /movies http://www.davidgis.fr:[PORT]/movies
    ProxyPass  /imagettes http://www.davidgis.fr:[PORT]/imagettes
    ProxyPassReverse  /imagettes http://www.davidgis.fr:[PORT]/imagettes

REMARQUE IMPORTANTE: S'assurer de laisser de ne pas activer le paramètre ProxyRequests Off

REMARQUE: Comme je parle d'imagette pour le film que j'ai précédemment converti, pour créer l'imagette, je fais

ffmpeg -y -i /www/movies/Jana_Defi_Nuts_Issue_3-2007.mp4 -an -ss 00:00:14 -r 1 -vframes 1 -f mjpeg /www/imagettes/Jana_Defi_Nuts_Issue_3-2007.png

Flow Player: lecteur Flash

Téléchargement

Récemment en date du 2009-03-07, une nouvelle version estampillé en 3.0.7 est disponible sur le site flowplayer.org...

Pour de plus amples renseignements concernant le pseudostreaming, il faut se rendre à http://flowplayer.org/plugins/streaming/pseudostreaming.html

Il est nécessaire de télécharger la version GPL ainsi qu'un le binaire swf disponible sur le précédent lien (voir fin de page)....

Bon allez, on se montre sympa, on peut tout récupérer directement tout ça à http://www.davidgis.fr/download/flowplayer-3.0.7-h264.zip

Le zip en question contiendra donc

  • flowplayer-3.0.6.min.js
  • flowplayer-3.0.7.swf
  • flowplayer.controls-3.0.4.swf
  • flowplayer.pseudostreaming-3.1.1.swf

Un exemple

<script type="text/javascript" src="flowplayer-3.0.6.min.js"></script>

<a style="display:block;width:480px;height:272px" id="jana">
	<img src='/imagettes/Jana_Defi_Nuts_Issue_3-2007.png'/>
</a>

<script type="text/javascript">
flowplayer("jana", "flowplayer-3.0.7.swf", {
  clip: {
    url: '/movies/Jana_Defi_Nuts_Issue_3-2007.mp4',
    provider: 'h264streaming'
  },
  plugins: {
    h264streaming: {
      url: 'flowplayer.pseudostreaming-3.1.1.swf'
    },
    controls: {  
      url: 'flowplayer.controls-3.0.4.swf',  
      play:false,       
      fullscreen:true,  
      scrubber: true          
    }               
  }
});

</script>

Ce qui donnera par exemple

Cliquez sur l'image pour lancer la vidéo. L'encodage est de qualité moyenne vu ma connexion chez Free!

Incorporer le button play à l'imagette

Ceci est une mise à jour de ce billet

Il faut récupérer le bouton en question à http://flowplayer.org/img/player/btn/play_text.png

donc
wget http://flowplayer.org/img/player/btn/play_text.png

Puis

ffmpeg -y -i Jana_Defi_Nuts_Issue_3-2007.mp4 -an -ss 00:00:14 -r 1 -vframes 1 -f mjpeg -vhook '/usr/lib/vhook/imlib2.so -x W/2-52  -y H/2-20  -i play_text.png' Jana_Defi_Nuts_Issue_3-2007.png

dimanche 22 mars 2009

[Firefox 3.0] Son pour Flash sous Ubuntu 8.04 - Résolu

Sur mon portable SONY VAIO VGN , j'ai le son pour firefox 3.0 lancé depuis root mais pas pour un user normal.En tentant de lire un page concernant une vidéo en Flash, j'ai eu plusieurs fois l'erreur

ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: Aucun fichier ou dossier de ce type
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: Aucun fichier ou dossier de ce type
ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM plughw:0,0
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'defaults.pcm.dmix.device'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: Aucun fichier ou dossier de ce type
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: Aucun fichier ou dossier de ce type
.etc... .etc...

La solution a consistée à faire

echo "defaults.pcm.device 3" > ~/.asoundrc

Ensuite on kille GDM [CTRL]+[ALT]+[SUPPR] et c'est bon. Le son est présent .

Remarque: Il n'est pas besoin de modifier les fichiers /etc/mozilla/mozillarc et /etc/firefox/firefoxrc comme indiqués sur des forums pendant mes investigations.

mercredi 18 mars 2009

Nettoyage du serveur cet après-midi...Reprise après redemarrage

C'est fait! Le petit tour a été nettoyée et est opérationnelle ...Cette petite coquine avait besoin d'un bon nettoyage.


Fig 1 - Olivia: ordinateur sur lequel tout tient: web, mail, freeradius, streaming vlc etc..avant nettoyage

Fig 2 - avant nettoyage

Fig 3 - avant nettoyage

Fig 4 - ventilo

Fig 5 - zoom sur ventilo avant nettoyage

Fig 6 - Ventilo après passage de bombe dépoussiérante

Fig 7 - La fifille enfin nettoyée

lundi 2 mars 2009

[Ffmpeg] Erreur "Audio resampler only works with 16 bits per sample, patch welcome" - version static pour convertir directement de .mov à .flv

Parfois avec mon appareil numérique dont les vidéos sont au format .mov, je suis obligé de faire la conversion suivante pour parvenir au flv

[.mov] -->mencoder-->[.avi]-->ffmpeg-->[.flv]

Tenter de faire la conversion directement à partir de ffmpeg se solde par l'erreur:

Audio resampler only works with 16 bits per sample, patch welcome

Ceci est due à un souci concernant la version de lame. Il faut compiler ffmpeg en prenant la version 3.97 de lame. Ici je vais compiler lame et recompiler ffmpeg sur mon serveur à Montpellier et le rapatrier chez moi à Antibes pour faire des tests.

0. Téléchargement d'une version full static corrigeant le problème

Je dispose maintenant d'une version de ffmpeg qui marche bien qu'on peut télécharger à http://www.davidgis.fr/download/ffmpeg-fullstatic-svn13000.tar.bz2

1. Compilation de lame 3.97

On télécharge, on compile mais pas besoin d'installer

wget http://freefr.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz -O - | tar xzf -
cd lame-3.97
./configure --enable-shared --enable-static
make

PAS DE MAKE INSTALL !!!

2. Compilation de ffmpeg en full static révision 13000

C'est la plus appropriée apparemment selon http://drupal.org/node/364269

On récupère donc la version

svn checkout --revision 13000 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-13000

Un petit configure pour la route avec quelques options dont --enable-libmp3lame

./configure --enable-libmp3lame --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-nonfree \
--enable-gpl --enable-static --disable-shared
make

PAS DE MAKE INSTALL !!!

On localise la ligne responsable pour l'édition de liens pour ffmpeg et on fait les remplacement adéquate (sinon on peut aussi modifier la ligne EXTRALIBS=... dans le fichier config.mak

Et une dernière commande pour la route

gcc -L"/mnt/ffmpeg-repository/ffmpeg-13000"/libavdevice -L"/mnt/ffmpeg-repository/ffmpeg-13000"/libavformat \
-L"/mnt/ffmpeg-repository/ffmpeg-13000"/libavcodec -L"/mnt/ffmpeg-repository/ffmpeg-13000"/libavutil -rdynamic\
 -export-dynamic -Wl,--warn-common -Wl,--as-needed -Wl,-rpath-link,"/mnt/ffmpeg-repository/ffmpeg-13000"/libavcodec \
-Wl,-rpath-link,"/mnt/ffmpeg-repository/ffmpeg-13000"/libavformat -Wl,-rpath-link,"/mnt/ffmpeg-repository/ffmpeg-13000"/libavutil \
-Wl,-Bsymbolic -o ffmpeg_g ffmpeg.o cmdutils.o -lavdevice -lavformat -lavcodec -lavutil /usr/lib/libz.a  /usr/lib/libm.a \
 /usr/local/lib/libamrnb.a  /usr/lib/libm.a /usr/local/lib/libamrwb.a  /usr/lib/libm.a /root/lame-3.97/libmp3lame/.libs/libmp3lame.a  /usr/lib/libm.a /usr/local/lib/libxvidcore.a  -ldl -ldl
On vérifie les dépendances
root@olivia:/mnt/ffmpeg-repository/ffmpeg-13000# ldd ffmpeg_g
	linux-gate.so.1 =>  (0xffffe000)
	libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7eeb000)
	libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7ed3000)
	libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d88000)
	/lib/ld-linux.so.2 (0xb7f0f000)

Bingo !

3. Réception sur Antibe et tests

On rapatrie le binaire tout chaudement compilé o coup de scp et on le teste sur un fichier .mov

./ffmpeg_g -i Desktop/tmp/PICT0952.MOV -acodec libmp3lame -ab 48k -ac 1 -ar 44100 -f flv \
-deinterlace -nr 500 -croptop 4 -cropbottom 4 -cropleft 8 -cropright 8  -aspect 4:3 -r 25 -b 270k \
-me_range 25 -i_qfactor 0.71 -g 500 Desktop/tmp/denise-bmp8807.flv

Nickel on a le son et la vidéo!

dimanche 8 février 2009

[FFMPEG/NGINX/FLOW PLAYER] Pseudo-streaming en h264/mp4

1. Le triplet [nginx|ffmpeg|flow player] et l'équipe de code-shop.com

Continuant sur ma lancée des outils qui tournent autour de ffmpeg -outil en ligne de commande pour la conversion vidéo que j'apprécie -, je me suis décidé à m'attaquer au triplet en question.Le but de ce billet est de proposer un moyen de faire du "streaming" en mp4 dans les grandes lignes.

C'est surtout sur le site http://h264.code-shop.com/trac que sont référencés les serveurs Web et lecteur Flash mp4. L'équipe de code-shop contribue beaucoup à proposer le pseudo-streaming

.

Au vu des informations récoltées sur le site en date du 2009-02-08:

  • Seuls Apache 2, lighthttpd et nginx sont supporté en tant que serveurs Web.
  • Pour ce qui est des lecteurs Flash, il y a les indétronables Flow Player et JW FLV Media Player.

Mon choix personnel par rapport à la configuration de mon serveur à Montpellier s'est porté sur

  1. au niveau du serveur Web:: nginx. C'est un outil qui peut faire aussi bien office de serveur Web que de proxy etc....Pour plus d'informations http://nginx.net;
  2. pour la conversion vidéo: ffmpeg. Pour la vidéo ce sera une petite vidéo de Jana Défi, histoire de motiver les troupes;
  3. pour le lecteur Flash: Flow Player

En pré-requis, on partira du principe qu'on dispose d'une version de ffmpeg compilée avec le support libx264 (--enable-libx264).


Exemple sur une vidéo de Jana Défi pour la motivation .

2. Nginx - installation/compilation avec le support pour MP4

Les informations sont disponibles à http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2. et à http://wiki.codemongers.com/NginxMP4StreamingLite. Personellement j'ai opté pour ceux de http://wiki.codemongers.com/NginxMP4StreamingLite

 mkdir /mnt/nginx
 cd /mnt/nginx/
 wget http://sysoev.ru/nginx/nginx-0.7.33.tar.gz -O - |tar xzf  -
wget http://i.6.cn/nginx_mp4_streaming_public_20081229.tar.bz2 -O - | tar xjf -
./configure --prefix=/opt/nginx --add-module=/mnt/nginx/nginx_mp4_streaming_public \
--with-zlib=/mnt/ffmpeg-repository/zlib-1.2.3 --with-http_flv_module --with-cc-opt='-O3' --with-http_perl_module
make
make install

Remarques:

  1. Conformément aux dires de Jian Hong à http://wiki.codemongers.com/NginxMP4StreamingLite, l'option--with-cc-opt='-O3' permet d'avoir de meilleures performances pour nginx.
  2. Pour avoir plus d'informations sur les possibilités époustonflantes de nginx, comme on dit google...

Comme indiqué, il faut modifier le fichier de configuration de nginx afin de pouvoir supporter le mp4. Il suffira d'ajouter

location ~ \.mp4$ {
  mp4;
}
dans /opt/nginx/nginx.conf.

Au passage, on notera les commandes suivantes

  • lancer le serveur
    /opt/nginx/sbin/nginx
  • recharger le serveur suite à modification du fichier de configuration s'il est déjà en cours
    kill -HUP `cat /opt/nginx//logs/nginx.pid`
  • arrêter le serveur
    kill `cat /opt/nginx//logs/nginx.pid`

On peut aussi l'installer en tant que service pour une prise en charge au démarrage/arrêt de la machine en s'inspirant de l'exemple de script fourni à http://www.red91.com/2008/02/06/beginning-nginx

3. Conversion au format mp4 en utilisant ffmpeg.

Ze l'outil que l'on ne présente plus . Afin d'avoir le meilleur taux profile High, level 3.1, on pourrra utiliser la version compilée personelle disponible sur mon site à http://www.davidgis.fr/download/ffmpeg-fullstatic-svnr17003.tar.bz2 compilée en full static. Je l'ai testée sur ma Ubuntu 86 et ma Fedora AMD 64

Pour la conversion, j'ai personnellement suivi les indications de http://h264.code-shop.com/trac/wiki/Encoding

L'encodage se faisant en deux passes le premier sans le son (option an), je me suis fait mon petit script maison

root@olivia:~# cat ffmpeg-to-mp4.sh 
if [ ! -f ${INPUT_FILE:="$1"} ]
then
{
	echo "fichier inexistant!";
	exit 1;
}
else
{
	PATH=/opt/ffmpeg-svn-static/bin/:$PATH

	TMP_FILE="/root/tmpfile.mp4";

	THX="${INPUT_FILE//*\//}";

	OUTPUT_FILE="/opt/nginx/html/${THX%.*}.mp4";

	FFMPEG_OPTIONS="-y -vcodec libx264 -b 512k -flags +loop+mv4 -cmp 256 \
	   -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 \
	   -me_method hex -subq 7 -trellis 1 -refs 5 -bf 3 \
	   -flags2 +bpyramid+wpred+mixed_refs+dct8x8 -coder 1 -me_range 16 \
           -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10\
	   -qmax 51 -qdiff 4"

	[ -f "$TMP_FILE" ] && rm -f "$TMP_FILE";

	ffmpeg -y -i "$INPUT_FILE" -an -pass 1 -threads 2 $FFMPEG_OPTIONS "$TMP_FILE"

	ffmpeg -y -i "$INPUT_FILE" -acodec libfaac -ar 44100 -ab 96k -pass 2  -threads 2 $FFMPEG_OPTIONS "$TMP_FILE"

	qt-faststart "$TMP_FILE" "$OUTPUT_FILE"
}
fi

On n'oubliera pas de faire chmod +x /chemin/vers/le/script avant de l'exécuter .

Le temps de conversion dure un certain temps. Pour une simple comparaison au niveau du temps de compression on a

root@olivia:~/busty.pl/inside9# du -hs mariaswan/fotel/video/full_movie.wmv /opt/nginx/html/full_movie.mp4
137M	mariaswan/fotel/video/full_movie.wmv
28M	/opt/nginx/html/full_movie.mp4

Soit un ratio de 20% donc 80%. Ce qui n'est pas négligeable!!!

Une autre remarque concerne aussi la dernière commande qt-faststart qui est en fait optionnel. Pour ceux qui seraint soucieux de l'obtenir et à condition d'avoir les sources de ffmpeg, il faut faire

cd /chemin/sources/de/ffmpeg/tools/
gcc -o qt-faststart qt-faststart.c

4. Flow Player

Pour la suite, il faut suivre les indications fournies à http://h264.code-shop.com/trac/wiki/FlowPlayer afin d'avoir le plugin nécessaire. Sinon vous pouvez télécharger les divers fichiers présents dans le zip disponible à http://www.davidgis.fr/download/flowplayer-h264streaming-3.0.3.zip (Fichiers SWF de FlowPlayer et plugin h264

samedi 7 février 2009

[FFMPEG/FLVTOOL2/JWPLAYER] Ajouter du texte défilant, un copyright sur une vidéo

Ffmpeg propose la librairie vhook ainsi que ses diverses possibilités pour pouvoir, ajouter un logo, du texte sur une vidéo. Bien que vhook soit deprecated, c'est normalement avfilter qui devait le remplacer. Malheureusement malgré bien des recherches sur le Web et une compilation réussie de libavfilter-soc, je n'ai trouvé aucun exemple intéressant sur le sujet.

Je propose donc dans ce billet un exemple sur vhook. C'est Simba qui est la vedette dans la vidéo . Il s'agit ici d'une ancienne vidéo quand j'étais à Montpellier.

Remarque: pour de plus amples renseignements sur les possibilités de vhook, il faut se rendre à http://www.ffmpeg.org/hooks.html

Contrairement à mon précédent billet où je faisais appel à flvmdi qui demandait de recourir à wine, les 3 outils utilisés ici sont

  1. ffmpeg pour permettre la conversion de la vidéo au format flv;
  2. fvltool2 pour l'injection des métadonnées dans le flv en remplacement de flvmdi. Ceci permettra donc de se déplacer (marche avant...) lors du film;
  3. JW Player le lecteur Flash;

On va commencer par installer flvtool2 puis à faire la conversion

1. Installation de flvtool2

Sous Ubuntu 8.04, le paquet est disponible. Un simple apt-get install suffira! Sinon il faut installer ruby en premier. Une fois ruby installé, on procède au téléchargement et installation de flvtool2 comme indiqué dans le README

wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz
tar xvzf flvtool2-1.0.6.tgz 
cd flvtool2-1.0.6
less README 
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

2. Conversion en utilisant ffmpeg/flvtool2

Comme j'utilise une version compilée personnelle de ffmpeg installé dans /opt/ffmpeg-svn-static, il faut commencer par mettre à jour les deux variables d'environnement

export LD_LIBRARY_PATH=/opt/ffmpeg-svn-static/lib/vhook/:$LD_LIBRARY_PATH
export PATH=/opt/ffmpeg-svn-static/bin/:$PATH

Le texte à faire défiler est contenu dans le fichier simb.txt dont le contenu est

           COMME TOUOURS LE FELIN SE MONTRE AUSSI FORT ET IMPRESSIONNANT QUE SON MAITRE....                                QUAND IL S'AGIT DE JOUER :)

Il ne reste plus qu'à procéder à la conversion en faisant

ffmpeg -i simba.mpg  \
-vhook 'imlib2.so -c white -F /usr/share/fonts/truetype/ttf-bitstream-vera/VeraBd.ttf/16  -x -3.5*N -y 10  -f simba.txt'\
 -vhook 'drawtext.so -c #ffffff -f /usr/share/fonts/truetype/ttf-bitstream-vera/VeraBd.ttf -s 20 -x 420 -y 440  -t www.davidgis.fr'\
 -b 800k -ar 11025 -ab 32k -f flv -s 320x240 -y - | flvtool2 -U stdin simba.flv

3. Installation de JW Player

Il suffira de suivre les indications de mon précédent billet à la section 3. JW Player: lecteur Flash adéquate

jeudi 5 février 2009

31 ans déjà

Dès 22h45 ce soir, j'aurais déjà 31 ans; Et oui le temps passe et déjà un an déjà jour pour jour (le 4 février 2008 pour être exact) que je suis sur la côte d'azur

Ce matin ma petite mama m'a reveillé en m'appelant depuis la Réunion pour me souhaiter mon anniversaire...Ca m'a fait trop plaize . Ce soir mon pote Ludo de Montpellier m'a laissé un petit message pour me souhaiter mon annif'

Ce matin au taf, ca a été distribution de pains aux chocolat et croissants, histoire de marquer gentillement le coup. Pour mon anniv', je préfère poser une semaine en mars, histoire de remonter à Montpellier pour voir mes amis et fêter tout ça avec eux et fêter aussi un autre évènement. Ce sera l'occasion d'avoir tout ça en même temps!

Avec le rythme que j'ai ces temps-ci, j'aurais plus l'envie de passer un bon moment quand le beau reviendra en mars!!! Le temps ne se prête pas trop ces temps-ci à tous ça!!!

mardi 3 février 2009

[Ffmpeg/Flvmdi/JW Player] Streaming en Flash avec pause, lecture avancée sur une vidéo flv d'un épisode d'Oggy et les cafards

Le but ici est de proposer une suite d'outils qui permettent de pouvoir regarder une vidéo avec avance rapide, arrêt sur image etc...

Le but est d'obtenir cette superbe vidéo sur laquelle on peut avancer, mettre sur pause, reculer etc...

1. Ffmpeg: conversion du avi en flv

L'épisode ayant une durée de 23 minutes pour un affichage en 352x288, on pourra rogner certaines paramètres dont qmax=31

./ffmpeg -i Oggy_2006-06-05-11-50-01.avi -y -b 700k -qmin 5 -qmax 31\
 -s 352x288 -acodec libfaac -ar 11025 -ab 92k -f flv Oggy_2006-06-05-11-50-01.flv

Bien sûr ici, j'utilise ma version ffmpeg full static compilée maison disponible à http://www.davidgis.fr/download/ffmpeg-fullstatic-svnr16921.tar.bz2 ou à http://www.davidgis.fr/download/ffmpeg-ffserver-fullstatic-svnr16676.tar.bz2

2 Flvmdi: ajout des metatags

L'ajout des metatags permet justement de pouvoir naviguer dans la vidéo.

Il faut utiliser une utilitaire comme flvmid.exe. Ce dernier est disponible à http://www.buraks.com/flvmdi/. Mon fichier ne dépassant pas la limite autorisée, je peux donc me livrer à la conversion. Bien sûr ce binaire étant prévu pour Windaube, il faut recourir à Wine

wine flvmdi.exe Oggy_2006-06-05-11-50-01.flv /k /l /p

qui affichera


Manitu Group FLV MetaData Injector 2.94
Copyright (c) 2004-2007 Manitu Group. http://www.buraks.com/flvmdi

 Loading FLV File...
  Reading FLV header
  Finished.
  Reading FLV tags
  4% done
  8% done
  11% done
  19% done
  26% done
... ....  
85% done
  89% done
  93% done
  97% done
  Finished.
 Finished.
MetaData injected (in memory).
 Saving FLV File...
 4% done
 8% done
 12% done
 16% done
 20% done
 ... ....
89% done
 93% done
 97% done
 Finished.
Completed.

3. JW Player: lecteur Flash adéquate

Ce lecteur est parfait pour ma lecture. Il s'installe en suivant les indications disponibles à http://nwayvideo.com/phpflvplayer/index.html

Dans l'exemple à télécharger (j'ai pris le n°2), il faut récupérer les fichiers disponibles dans le sous-répertoire scripts: flvprovider.php, phpsflvplayer.swf, playerProductInstall.swf, swfobject.js

Le code sera donc

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
var attributes = {};

var params = {};
// for fullscreen
params.allowfullscreen = "true";
var flashvars = {};
// the video file or the playlist file
flashvars.file = "video.flv";
// the PHP script (1.5 is a recommended value for PHP Streaming for bufferlength)
flashvars.streamscript = "flvprovider.php";
flashvars.bufferlength = "1.5";
// width and height of the player (h is height of the video + 20 for controlbar)
// required for IE7
flashvars.width = "352";
flashvars.height = "288";
// width and height of the video
flashvars.displaywidth = "352";
flashvars.displayheight = "288";
flashvars.autostart = "false";
flashvars.showdigits = "true";
// for fullscreen
flashvars.showfsbutton = "true";
// 9 for Flash Player 9 (for ON2 Codec and FullScreen)
swfobject.embedSWF("phpsflvplayer.swf", "flashcontent", "352", "288", "9.0.0","playerProductInstall.swf", flashvars, params, attributes);
</script>
<div id="flashcontent"></div>

samedi 31 janvier 2009

[Ffmpeg] Compilation en full static de ffmpeg sous Ubuntu

Un peu comme les distributions binaires de ffmpeg sous Windows qui existent pour ffmpeg, il est également possible decompiler ce dernier en static afin de se passer des dépendances par rapport aux librairies. Certes on perd en espace disque mais celà permer de le tester!

Afin de pouvoir utiliser le couple ffmepg/ffserver pour faire du serveur, j'ai descendu ma révision de SVN à celle de la 16676! C'est en effet la seule que j'ai pu compilé sans que ffserver bloque toute génération de flux de ffserver (ffmpeg -i ...http://...:..../feed1.ffm).

Intérêt: Mon serveur à Montpellier est sous Ubuntu et ffmpeg est compilé sur ce dernier. Etant sur Antibes, je pourrais donc faire mes manipulations vidéos uniquement sur mes deux binaires fétiches sans avoir besoin d'installer les dépendances au niveaux des librairies sur mon portable à Antibes

Le couple ffmepg/ffserver est disponible à http://www.davidgis.fr/download/ffmpeg-fullstatic-r16676.tar.bz2.

1. Pour la récupération du dépôt par SVN et patch pour libswscale

svn checkout -r 16676 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-SVNR16676

Pour la compilation, j'ai opté pour pour

cd ffmpeg-SVNR16676
LDFLAGS="-L/mnt/ffmpeg-repository/tools/lib/" CFLAGS="-I/mnt/ffmpeg-repository/tools/include/"\
 ./configure --enable-gpl --enable-pthreads --enable-libgsm --enable-debug --disable-shared \
--enable-static --enable-libmp3lame  --enable-libfaac --enable-libfaad --enable-swscale \
--enable-libtheora --enable-libvorbis --enable-zlib --enable-bzlib --enable-libx264 
--enable-libxvid --enable-libamr-nb --enable-libamr-wb --enable-nonfree  \
--prefix=/opt/ffmpeg-svn-16676  --enable-small --enable-libspeex

Afin de ne pas avoir l'erreur

libswscale/swscale.c: In function ‘sws_format_name’:
libswscale/swscale.c:461: erreur: ‘PIX_FMT_VDPAU_WMV3’ undeclared (first use in this function)
libswscale/swscale.c:461: erreur: (Each undeclared identifier is reported only once
libswscale/swscale.c:461: erreur: for each function it appears in.)
libswscale/swscale.c:463: erreur: ‘PIX_FMT_VDPAU_VC1’ undeclared (first use in this function)
libswscale/swscale.c:971:20: attention : « HAVE_AMD3DNOW » n'est pas défini
libswscale/swscale.c:979:7: attention : « HAVE_AMD3DNOW » n'est pas défini
J'ai opté pour un petit patch maison
root@olivia:~/ffmpeg-SVNR16676# wget -q http://www.davidgis.fr/download/ffmpeg-svn16676-libswscale.patch
root@olivia:~/ffmpeg-SVNR16676# patch -p0 < ffmpeg-svn16676-libswscale.patch
patching file libswscale/rgb2rgb.c
patching file libswscale/rgb2rgb_template.c
patching file libswscale/swscale.c
patching file libswscale/swscale_internal.h
patching file libswscale/swscale_template.c
patching file libswscale/yuv2rgb.c
patching file libswscale/yuv2rgb_template.c

Remarque: Pour les diverses dépendances, il faut se rendre sur divers sites de compilation que propose le Web - chose que je ne détaille pas ici.

Avant de continuer, il est nécessaire de modifier une ligne dans le fichier config.mak en remplaçant la ligne

EXTRALIBS=    /mnt/ffmpeg-repository/tools/lib/libz.a /mnt/ffmpeg-repository/tools/lib/libbz2.a \
-pthread -lm /mnt/ffmpeg-repository/tools/lib/libamrnb.a -lm /mnt/ffmpeg-repository/tools/lib/libamrwb.a \
-lm /mnt/ffmpeg-repository/tools/lib/libfaac.a /mnt/ffmpeg-repository/tools/lib/libgsm.a \
/mnt/ffmpeg-repository/tools/lib/libmp3lame.a -lm /mnt/ffmpeg-repository/tools/lib/libspeex.a \
/mnt/ffmpeg-repository/tools/lib/libtheora.a /usr/lib/libogg.a /usr/local/lib/libx264.a -lm\
 /usr/local/lib/libxvidcore.a /usr/lib/libvorbis.a /usr/lib/libvorbisfile.a /usr/lib/libvorbisenc.a \
/usr/lib/libfaad.a -ldl -ldl
make

2. Dépendances envers les librairies

Juste avant de faire make install, un petit ldd nous confirme les dépendances aux niveaux des librairies

root@olivia:/mnt/sources/ffmpeg-svn-16676# ldd ffmpeg ffserver
ffmpeg:
	linux-gate.so.1 =>  (0xffffe000)
	libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7ef2000)
	libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7eee000)
	libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7ed5000)
	libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d8b000)
	/lib/ld-linux.so.2 (0xb7f32000)
ffserver:
	linux-gate.so.1 =>  (0xffffe000)
	libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7f83000)
	libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f7f000)
	libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7f66000)
	libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e1c000)
	/lib/ld-linux.so.2 (0xb7fc3000)

Trop de la bombe !

En comparaison par rapport à la même version que j'ai de compilée et d'installée (dans /opt/ffmpeg) dépendances aux niveaux des librairies (option --enable-shared), on voit de suite la différence

root@olivia:~/ffmpeg-SVNR16676# LD_LIBRARY_PATH=/opt/ffmpeg/lib ldd /opt/ffmpeg/bin/ffmpeg
	linux-gate.so.1 =>  (0xffffe000)
	libswscale.so.0 => /opt/ffmpeg/lib/libswscale.so.0 (0xb7ef8000)
	libavdevice.so.52 => /opt/ffmpeg/lib/libavdevice.so.52 (0xb7ef1000)
	libavformat.so.52 => /opt/ffmpeg/lib/libavformat.so.52 (0xb7e03000)
	libavcodec.so.52 => /opt/ffmpeg/lib/libavcodec.so.52 (0xb75a4000)
	libavutil.so.49 => /opt/ffmpeg/lib/libavutil.so.49 (0xb7595000)
	libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7557000)
	libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb753f000)
	libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb73f4000)
	libdc1394_control.so.13 => /usr/lib/libdc1394_control.so.13 (0xb73e5000)
	libz.so.1 => /usr/lib/libz.so.1 (0xb73d0000)
	libbz2.so.1.0 => /lib/libbz2.so.1.0 (0xb73c0000)
	libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb73bc000)
	libamrnb.so.3 => /usr/local/lib/libamrnb.so.3 (0xb737f000)
	libamrwb.so.3 => /usr/local/lib/libamrwb.so.3 (0xb7352000)
	libfaac.so.0 => /usr/lib/libfaac.so.0 (0xb7341000)
	libfaad.so.0 => /usr/lib/libfaad.so.0 (0xb72f9000)
	libgsm.so.1 => /usr/lib/libgsm.so.1 (0xb72e9000)
	libmp3lame.so.0 => /usr/local/lib/libmp3lame.so.0 (0xb7270000)
	libtheora.so.0 => /usr/lib/libtheora.so.0 (0xb7237000)
	libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb713a000)
	libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb7112000)
	libx264.so.66 => /usr/local/lib/libx264.so.66 (0xb7046000)
	/lib/ld-linux.so.2 (0xb7f2c000)
	libraw1394.so.8 => /usr/lib/libraw1394.so.8 (0xb7040000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6f4d000)
	libmp4v2.so.0 => /usr/lib/libmp4v2.so.0 (0xb6ea7000)
	libogg.so.0 => /usr/lib/libogg.so.0 (0xb6ea2000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6e97000)

En résumé

[ -d "$PWD/ffmpeg-SVNR16676" ] && rm -rf "$PWD/ffmpeg-SVNR16676";

svn checkout -r 16676 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg-SVNR16676;

cd ffmpeg-SVNR16676/;

wget http://www.davidgis.fr/download/ffmpeg-svn16676-libswscale.patch
patch -p0 < ffmpeg-svn16676-libswscale.patch 

LDFLAGS="-L/mnt/ffmpeg-repository/tools/lib/" CFLAGS="-I/mnt/ffmpeg-repository/tools/include/" \
./configure  --enable-gpl --enable-pthreads \
--enable-libgsm --enable-debug \
--disable-shared --enable-static --enable-libmp3lame --enable-libfaac \
--enable-swscale --enable-libtheora --enable-zlib --enable-bzlib \
--enable-libx264 --enable-libxvid --enable-libamr-nb --enable-libamr-wb \
--enable-nonfree --prefix=/opt/ffmpeg-svn-16676 --enable-libspeex\
 --extra-libs="/mnt/ffmpeg-repository/tools/lib/libz.a /mnt/ffmpeg-repository/tools/lib/libbz2.a \
-pthread -lm /mnt/ffmpeg-repository/tools/lib/libamrnb.a -lm /mnt/ffmpeg-repository/tools/lib/libamrwb.a \
-lm /mnt/ffmpeg-repository/tools/lib/libfaac.a /mnt/ffmpeg-repository/tools/lib/libgsm.a /mnt/ffmpeg-repository/tools/lib/libmp3lame.a \
-lm /mnt/ffmpeg-repository/tools/lib/libspeex.a /mnt/ffmpeg-repository/tools/lib/libtheora.a /usr/lib/libogg.a /usr/local/lib/libx264.a \
-lm /usr/local/lib/libxvidcore.a /usr/lib/libvorbis.a /usr/lib/libvorbisfile.a /usr/lib/libvorbisenc.a /usr/lib/libfaad.a -ldl -ldl"

make

mardi 20 janvier 2009

[Freebox/VLC] Streaming vidéo pour le multiposte de Free ou autre source vidéo (depuis Montpellier) vers l'extérieur (à Antibes) grâce à VLC

VLC qu'on ne présente plus aujourd'hui est vraiment la roll's royce des outils sous GNU/Linux pour faire du streaming...

Depuis que j'ai lâché mon appartement à Montpellier, j'ai laissé ma Freebox à Montpellier connecté. Depuis Antibes maintenant, il m'est possible de regarder les chaines du multiposte. Un autre intérêt est de pouvoir regarder mes vidéos stockés sur mon ordinateur à Montpellier depuis Antibes.

Mon ordinateur qui est derrière la Freebox à Montpellier fera donc le streaming grâce à VLC. Depuis mon portable à Antibes, il m'est alors possible de regarder les flux vidéos. Le tout repose justement sur la redirection pour le flux - chose dont s'occupe VLC -. Je n'aurai donc qu'à autoriser le port de sortie vers l'extérieur.

Les ligneq de commande sont donc les suivantes

root@olivia:~# cat streaming.sh 
FILE="$1";
PORT="???";
vlc -vvv "${FILE}" --sout \
'#transcode{vcodec=mp2v,vb=384,scale=0.5,acodec=vorbis,ab=48,channels=1}:standard{access=http,mux=ogg,url=:${PORT}}'\
 -I ncurses 2> /dev/null
  • FILE désignera par exemple un flux rstp par exemple pour RTL9 "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=210".

    Remarque: Il peut aussi s'agir d'un fichier vidéo stocké sur l'ordinateur ou sinon peut récupérer la playlist du multiposte http://mafreebox.freebox.fr/ freeboxtv/playlist.m3u et avoir FILE="playlist.m3u";. Dans ce cas, il faut penser à mettre à jour ce fichier de temps en temps.

  • PORT est le port à ouvrir vers l'extérieur

Pour les configurations avec iptables, les quelques lignes suivantes semblent suffirent

IP_PUBLIC="82.236.??.??";
IP_HOTE_VLC="192.168.??.??";
PORT="??";
INTERFACE_INTERNET="eth?";
IPTABLES="/??/??/iptables";

$IPTABLES -A INPUT -i $INTERFACE_INTERNET -p tcp --dport $PORT -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport $PORT -j ACCEPT

$IPTABLES -t nat -I PREROUTING -p udp -d $IP_PUBLIC -j DNAT --to-destination $IP_HOTE_VLC
$IPTABLES -I FORWARD -p udp -s 212.27.38.253 -d $IP_HOTE_VLC -j ACCEPT

$IPTABLES -I INPUT -s $IP_PUBLIC -j ACCEPT
$IPTABLES -I INPUT -s 212.27.38.253 -j ACCEPT

Du coup à Antibes, sous ma Ubuntu, il me suffit de lancer

vlc http:/www.davidgis.fr:[PORT]

Très génial cet outil pour le streaming .

Résultat des courses:bien que le multiposte de Free ne propose pas toutes les chaines par rapport à la TV, j'ai quand même pu regarder quelques dessins animés sur la chaîne Mangas avant d'aller me coucher hier soir .


Exemple pour la Freebox: chaine Direct8, le 2009-01-23

Exemple pour une vidéo au format WMV: avec Jana Defi comme toujours , le 2009-01-23

mercredi 31 décembre 2008

Quake 3: torrent pour pak0.pk3 et ioquake3

Ioquake3.

Une fois rtorrent installé (voir l'article sur mon blog) , il faut installer ioquake3.

Donc sur bremko, je fais

wget http://ioquake3.org/files/ioquake3-1.34-rc3.run
sh ioquake3-1.34-rc3.run

Torrent pour le pak0.pk3

Il est nécessaire d'avoir le pak0.pk3 pour pouvoir jouer. Pour se faire, on télécharge le torrent adéquate pour obtenir le pak0.pk3

root@olivia:~# wget http://extratorrent.com/download/1273148/Quake+3+Arena+pak0.pk3+file.html
--12:48:13--  http://extratorrent.com/download/1273148/Quake+3+Arena+pak0.pk3+file.html
           => `Quake+3+Arena+pak0.pk3+file.html'
Résolution de extratorrent.com... 195.144.21.183
Connexion vers extratorrent.com|195.144.21.183|:80... connecté.
requête HTTP transmise, en attente de la réponse... 302 Found
Emplacement: http://static.extratorrent.com/download.php?file=1244/1273148.torrent&hash=9ffdc2a7abf01c73dd512a653a0416f4&name=Extratorrent+com+Quake+3+Arena+pak0.pk3+file.torrent [suivant]
--12:48:13--  http://static.extratorrent.com/download.php?file=1244/1273148.torrent&hash=9ffdc2a7abf01c73dd512a653a0416f4&name=Extratorrent+com+Quake+3+Arena+pak0.pk3+file.torrent
           => `download.php?file=1244%2F1273148.torrent&hash=9ffdc2a7abf01c73dd512a653a0416f4&name=Extratorrent+com+Quake+3+Arena+pak0.pk3+file.torrent'
Résolution de static.extratorrent.com... 195.144.21.176
Connexion vers static.extratorrent.com|195.144.21.176|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 36 875 (36K) [application/x-bittorrent]

100%[=====================================================================================================================================================================>] 36 875        88.38K/s             

12:48:14 (88.26 KB/s) - « download.php?file=1244%2F1273148.torrent&hash=9ffdc2a7abf01c73dd512a653a0416f4&name=Extratorrent+com+Quake+3+Arena+pak0.pk3+file.torrent » sauvegardé [36875/36875]

On le copie dans le répertoire adéquate

mv download.php\?file\=1244%2F1273148.torrent\&hash\=9ffdc2a7abf01c73dd512a653a0416f4\&name\=Extratorrent+com+Quake+3+Arena+pak0.pk3+file.torrent ~/torrent/torrent_active/quake3_pak0.pk3.torrent

On lance rtorrent. Le téléchargement se fait de lui-même vu la configuration faite pour rtorrent. On patiente un peu environ 1h10....

A la fin du téléchargement, on aura donc

root@olivia:~# find ~/torrent_finis/
/root/torrent_finis/
/root/torrent_finis/q3a-pak0
/root/torrent_finis/q3a-pak0/README.txt
/root/torrent_finis/q3a-pak0/pak0.pk3

On copie ensuite pak0.pk3 dans /var/lib/david/ioquake3/baseq3/ sur bremko. Il suffit ensuite de lancer ioquake3. Et rouler jeunesse !!!

J'ai même eu l'occasion de tester une vieille map que j'avais fait pour Quake en 2000. L'ancien descriptif est disponible sur mon ancien site à http://techer.pascal.free.fr/mamap.htm

Pour la liste des Quake3 Cd Keys, une belle liste est fournie à http://2pak.orconhosting.net.nz/quake3.html

samedi 27 décembre 2008

Requiem for a dream...Partie III

Hier j'ai décollé d'Antibes sur les coups de 7h30. J'ai pris le bus direction la gare d'Antibes ensuite le train TEOZ en direction de Montpellier.Le train est parti vers 10h20 avec quelques minutes de retard...Dans le train, deux charmantes demoiselles sont montées à la gare Saint-Charles de Marseille. L'un d'elles m'a gentillement proposé des bonbons...LOL...

Arrivé sur les coups de 14h30 à Montpellier, je me suis posé sur le bar de la place à Castelnau-Le-Lez, mon pote m'a ensuite rejoint...Finalement on a eu de la chance de pouvoir récupérer in extremis un battant de fenêtre pour remplacer celui de la cuisine...Gros souci en moins pour mon séjour. On est ensuite remonté à l 'appartement. J'ai ensuite matté les rois maudits - voir mon précédent billet - sur France 2 pour ma soirée TV...Je ne savais même pas que cette série avait été tourné en 2005...Ca aura été l'occasion de revoir mon histoire de France, vu que j'étais assez à la ramasse en histoire à l'école ...

Parler de celà me rappelle ma triste période au lycée Saint-Charles à Saint-Pierre à la Réunion...J'avais de bonnes notes en français en seconde mais vite divisé par 2 à mon arrivée en première. Mon prof de Français était vraiment assez spécial...A cette époque-là, généralement le jeudi après-midi, il nous rendait nos rédactions. C'était en 1994-1995. J'étais au fond de la classe avec mon pote Jean-Luc. Il y avait la tradition de la brochette de 5 alignés dont je faisais parti. On était toujours à savoir pourquoi toujours le dernier rang de la classe à avoir 5/20 à nos rédactions..........

Vincent lui était à l'opposé de ma place au dernier rang. Comme toujours, il demandait "Techer combien??? Velia Combien??? ..."... Et on répondait tout le temps...5...5......Lui répondait aussi 5.......Le sort en avait ainsi décidé!!! Ca a été comme celà toute l'année. Quant en bac de français, n'en parlons pas!!! Quoique 4/20 à l'écrit mais 6/20 au rattrapage et 16/20 à l 'oral sans rien préparer!!!

La terminale a été une réelle bénédiction une fois débarassé du français...La philosophie c'était le pied!!! Notre professeur était vraiment quelqu'un de bien. Son cours était interactif et intéressant. On mettait bien l'ambiance dans le cours. Une fois je me rappelle, il faisait un cours sur Kant. Un doigt au fond de la classe 'es levé...Le professeur dit alors "Oui Techer!!!"...Je lui ai rétorqué.."Monsieur vous pouvez venir une seconde???"...Il est venu...Là je lui ai demandé..."Monsieur, comment vous la trouver?"...Et la il me répondit "Elle est mignonne..."...On était en train de matter un magazine pendant son cours...Il s'en foutait. Il savait que moi et trois de mes potes, on bossait sans souci...On avait toujours la moyenne avec lui ...Simple formalité...Avec deux potes au bac, on a voulu lui rendre hommage en prenant le sujet le plus difficile: le commentaire composé. Au bac ca a été une belle brochette de 10/20 à nous trois...

De tous mes profs, c'est surtout mon professeur d'analyse numérique et cacul scientifique en licence et maitrise de maths qui m'a le plus marqué! Avec un pote, il m'a fortement soutenu lors de mon redoublement et mes sessions de rattrapage pour me pousser jusqu'au bout!!! Pour tout dire, il m'a tellement pousser que lorsqu'il enseignait en maitrise le calcul scientifique, j'allais fumer une clope avec lui l'entrée de l'IREMIA. Là je lui disais "Bon monsieur, je vais faire un tour à la caféteria...Je reviendrais plus tard pendant le cours...". J'avais pas besoin de venir à ses cours!!! Que de souvenirs!!! Bien que tout celà a plus de 10 ans aujourd'hui.

Le meilleur souvenir avec lui aura été le partiel de calcul scientifique. Nous étions en binome. Le sujet contenait une partie mathématique et une partie informatique. Nous étions en réseau clos dans la salle. Mon binome Tony est arrivé avec 10 minutes de retard. Tony a commencé, il a pris la partie mathématique et moi le calcul scientifique! Ensuite j'ai attaqué....Petite pose clope pendant le partiel et on réattaque...15/20 sans souci...simple formalité........Le plus fort cette année fut lorsque nous apprimes que Tony fut admissile au CAPES de maths. Ca en a bouché plus d'un...Depuis le début tout le monde dans la classe pensait que jamais quelqu'un comme lui l'aurait et pourtant il l'a eu...Celà m'a énormément fait plaisir pour lui...Je n'aime pas quand les ens ont des préjugés simplement en regardant les autres. Ca a bouché plus d'un et bien tant mieux!!!

Aujourd'hui je sais Tony est professeur. Et je suis très content pour lui...

Moi deux ans plus tard, j'étais dernier de mon DEA de mathématique, seul à repasser les sessions de rattrapages de septembre, seul à sacrifier mon été pour préparer les sessions, le seul à ne pas avoir pu continuer en thèse...La vie est ainsi. On ne se plaint que le temps nécessaire et ensuite il faut remonter les manches et bosser pour arriver à ce qu'on aspire. Y'a pas de secret

Mais la vie est parfois pleinne de surprise. Et justement celà me rappelle une petite anecdote...En 2006, je travaillais sur PostGIS depuis chez moi et j'avais besoin d'un renseignement en mathématique que seul mon responsable pédagogique DEA de l'époque en 2001-2002 pouvait me fournir. Je l'ai donc appelé pour lui demander le renseignement...Il était calme au téléphone. Puis vint la question de "Et vous faites quoi maintenant dans la vie???" Là je lui ai répondu que j'étais développeur en SIG. La question qui a suivit m'a fait sursauté "Mais comment avez-vous fait pour avoir ce poste?"...Ca m'a montré à quel point, il avait une belle image de moi. Mais bon c'est la vie, c'est comme ça! Purée je te jure , il y a des fois (sans commentaires).

Pas plus tard que la semaine dernière, j'ai eu les félicitations de mon équipe sur un souci technique. Venant d'eux celà m'a énormément fait plaisir vu que celà sortait du cadre officiel de mon poste. Autant dire que ca arrive pas tous les jours mais ca fait plaize de se dire qu'on a pu faire un piti truc...Comme toujours 974 en force héhé !!!

Posé à Montpellier vendredi soir dans la salle informatique à l'appartement de Ludo, je me suis remis la musique de "Requiem for a dream..." avant de commencer à regarder les rois maudits. Ce soir, je fais de même bien qu'il ne soit à peine 20h30!!! La force de cette musique à mon sens se trouve surtout dans le coup de violon, ainsi que du piano...Tambour battant, le rythme est vraiment entrainant...La première fois où je l'ai mise ce fut au bureau pendant la pause de midi, où je naviguais sur Google Maps en essayant de chercher ma maison à la Réunion, j'ai cherché, cherché au rythme de la musique...Rien et rien Et enfin je l'ai trouvé...C'est sûrement pour cette raison que cette musique est celle que j'écoute actuellement. Je n'ai vu qu'une image flou du toit de maison, une larme a coulé ! A ce moment j'ai vraiment été très heureux!!! Donc requiem for a dream...On fait ce qu'il y a à faire et on y va!!! Ce requiem je le jouerais chez moi à ma maison à la Réunion le moment venu!!!...Mais pas maintenant, pas maintenant. Terminons ce qui reste à faire et pour la suite que Dieu décide.

mercredi 17 décembre 2008

[PostGIS] PostGIS 1.3.5 is out! Tests avec MapServer 5.2.1 et PgRouting 1.03 pour le support de type LINE

Lundi 15 décembre 2008, PostGIS 1.3.5 est enfin sorti. Il s'agit une release mineur ayant pour but de rectifier des bugs notamment pour le TYPE LINESTRING avec MapServer, i.e. pour les layers de type LINE.

Conformément à l'un des mails relayés par Paul RAMSEY sur la mailing-list, Marc CAVE-AYLAND a fourni un sacré travail pour la correction de 3 bugs. N'ayons pas peur de lâcher les mots: il a déchiré sa race sur ce coup qui était un gros frein ces derniers mois pour MapServer...Et je pèse mes mots car depuis que la 5.2.0 de MapServer est sorti, parfois il fallait ruser en ayant recours à la fonction buffer() de PostGIS lorsque les données étaient de type LINE pour les convertir en POLYGON...Peut-être une petite ruse mais un mauvais plan dans le sens où le calcul debuffer impose des calculs géométriques assez important. Le calcul de buffer à la volée peut-être tolérable si la volumétrie en base est négligeable mais peut se révèler très pénalisant pour un serveur de production. Pour des données statiques, seul le stockage de buffer peut être envisagé mais peut aussi devenir contraignant si le stockage est aussi un frein (encombrement sur disque...)

En tentant de rendre hommage à MCA, je vais au travers de ce billet profiter du moment poru passer en revue de bonnes vieilles lignes de commandes à l'ancienne toujours à l'ancienne, comme toujours, histoire de lui rendre hommage

Let's go for ze tests!

Compilation de PostGIS 1.3.5

Comme à l'accoutumée.

wget http://www.postgis.org/download/postgis-1.3.5.tar.gz
tar xvzf postgis-1.3.5.tar.gz 
cd postgis-1.3.5
./configure 
make
make install
ldconfig

Compilation de MapServer 5.2.1

 wget http://download.osgeo.org/mapserver/mapserver-5.2.1.tar.gz
 tar xzf mapserver-5.2.1.tar.gz 
 cd mapserver-5.2.1
./configure --with-wms-client --with-wfsclient --with-wfs --with-postgis=/usr/local/pgsql/bin/pg_config --with-proj=/usr/local/ --with-geos=/usr/local/bin/geos-config --with-curl-config=/usr/bin/curl-config --with-fastcgi=/usr/lib/cgi-bin/ --with-proj=/usr/local --with-wfs --with-gd=/usr/local/ --with-ming=/usr/local/ --with-ogr=/usr/local/bin/gdal-config --with-gdal=/usr/local/bin/gdal-config --with-php=/root/php-5.2.1 --with-png --with-xml2-config=/usr/bin
make
cp mapscript/php3/php_mapscript.so  $(php-config --extension-dir)/

On vérifie juste que l'extension MapScript est bien prise en compte dans le php.ini

root@olivia:/mnt/sources/mapserver-5.2.1# grep php_mapscript.so /usr/lib/cgi-bin/php.ini 
extension=php_mapscript.so

Compilation de PgRouting 1.0.3

La pareil, j'ai tellement a flemme que rien ne vaut de belles captures d'écran. Donc on télécharge, on décompresse, et on fait un beau cmake

Et maintenant, on installe

Création d'une base de données PostGIS + PgRouting et d'un mini jeu de données

Comme toujours à l'ancienne, on crée la base avec les fonctionnalités de PostGIS et on vérifie grâce à postgis_full_version() que c'est bon.

createdb testrouting
createlang plpgsql testrouting
psql -d testrouting -f /usr/local/pgsql/share/lwpostgis.sql 
psql -d testrouting -f /usr/local/pgsql/share/spatial_ref_sys.sql 
psql -d testrouting -c "SELECT postgis_full_version()"
root@olivia:~# psql -d testrouting -c "SELECT postgis_full_version()"
                               postgis_full_version                               
----------------------------------------------------------------------------------
 POSTGIS="1.3.5" GEOS="3.0.0-CAPI-1.4.1" PROJ="Rel. 4.6.0, 21 Dec 2007" USE_STATS
(1 ligne)

Ok super!!!Maintenant on charge les fonctionnalités de PgRouting

for file in $(ls /usr/share/postlbs/*);do psql -d testrouting -f $file;done

On charge maintenant un petit jeu de données (voir l'article ici

 wget http://www.davidgis.fr/download/pgrouting_wr.sql
 psql -d testrouting -f pgrouting_wr.sql

MapServer: création de la MapFile et affichage en SVG

Conformément à l'article, on prendra la Mapfile suivante

Remarque: Conformément à la doc de PostgreSQL 8.2 pour le tuning, on prendra en considération ici que mes données sont très peu nombreuses donc je m'autorise pour le layer de nommé path de laisser mon ORDER BY sans reconfigurer mon serveur mais pour une mise en production , il est bon d'agir sur des paramètres comme work_mem de PostgreSQL - pour limiter l'écriture de fichiers temporaires sur disque - afin de fournir le meilleur tuning de base au niveau perf'...

MAP
  EXTENT 65.8612518310547 -88.3858108520508 300.999877929688 126.77375793457
  IMAGECOLOR 255 255 255
  FONTSET "/var/www/demo_routing/map/fonts.txt"
  SYMBOLSET "/var/www/demo_routing/map/symbols.sym"
  SIZE 500 457.336021282363



  IMAGETYPE svg

  OUTPUTFORMAT
    NAME svg
    MIMETYPE "image/svg+xml"
    DRIVER svg
    FORMATOPTION  "COMPRESSED_OUTPUT=FALSE"
    FORMATOPTION  "FULL_RESOLUTION=TRUE"        
  END

  STATUS ON
  NAME "wr"

  WEB
    IMAGEPATH "/var/www/tmp/"
    IMAGEURL "/tmp/"

    LOG /var/www/tmp/mapserver.log 
  END



LAYER
NAME "network"
    CONNECTION "user=postgres dbname=testrouting host=localhost"
    CONNECTIONTYPE POSTGIS
    DATA "the_geom from (select the_geom,gid from wr) as foo USING UNIQUE gid USING SRID=-1"
    TYPE LINE
    STATUS ON
    CLASS
	STYLE
          COLOR 0 123 0
          OUTLINECOLOR 255 255 0
        END
    END
END

LAYER
NAME "restrictions"
    CONNECTION "user=postgres dbname=testrouting host=localhost"
    CONNECTIONTYPE POSTGIS
    DATA "the_geom from (SELECT  the_geom,gid FROM wr  WHERE NOT (nullvalue(rule) AND nullvalue(to_cost)) ) as foo USING UNIQUE gid USING SRID=-1"
    TYPE LINE
    STATUS ON
    CLASS
        STYLE
          COLOR 255 0 0
          OUTLINECOLOR 255 255 0
        END
    END
END



LAYER
NAME "path"
    CONNECTION "user=postgres dbname=testrouting host=localhost"
    CONNECTIONTYPE POSTGIS
    DATA "the_geom FROM (SELECT the_geom,gid FROM wr RIGHT JOIN (SELECT edge_id FROM shortest_path_shooting_star('SELECT gid as id, source, target, cost, reverse_cost,x1, y1,x2, y2, rule, to_cost FROM wr order by id',20,8,true,true)) AS x(e) ON (x.e=wr.gid)) as foo USING UNIQUE gid USING SRID=-1"
    TYPE LINE
    STATUS ON
    CLASS
        STYLE
          COLOR 0 0 189
          OUTLINECOLOR 255 255 0
        END
    END
END


END

Et on aura donc


En vert le réseau, en rouge les tronçons inaccessibles, en bleu le plus court chemin pour joindre les deux extrémités du réseau tout en prenant en compte les tronçons inaccessibles

Tout ça pour ca!!

samedi 6 décembre 2008

[ Jana Defi ] Using Java Script / Rotate on images...

Images Loop...

This is my last contribution for Jana Defi...Have fun !!!

Source for animation: http://www.kawa.net.nyud.net:8090/works/js/animation/cube-e.html

vendredi 28 novembre 2008

En attendant le 24 décembre 2008....

Voilà le verdict est tombé depuis hier après-midi! Depuis plusieurs semaines déjà, j'attendais une nouvelle dont la suite pour savoir si je restais ou je partais dépendait d'un simple coup de fil...Un stress que j'ai cumulé ces deux dernières semaines....Beaucoup de questions restant dans le vide...Jeudi le téléphone a sonné vers 14h00~14h30. La personne que j'ai eu au téléphone a donné la réponse que j'attendais depuis un moment...

Voilà c'est fait. Je suis arrivé ici, je m'en souviens le dimanche 3 février 2008....Beaucoup de choses se sont écoulés depuis...Enormément...Bien plus que je n'aurais pu l'imaginer...Apparement, je vais rester dans le coin!!! A 90% , je m'y attendais un peu...Il est temps de se poser et de se déposer maintenant !!!

En tout cas, D.J si tu lis ce message, saches que celà m'aura fait plaisir de te revoir en octobre. A toi aussi, je te souhaite "bonne continuation" . Mais bon, un nouveau départ sonne le glas pour moi! Suite à ce coup de fil, j'ai très rapidement évacué mon stress. J'ai ensuite appeler ma mère pour lui dire que je restais sur la côte d'Azur. Il me reste plus avant la fin de l'année à aller chercher le chat sur Montpellier et ramener mes ordinateurs et ma vie administrative par ici...

Avec beaucoup de recul à mon réveil vendredi matin, j'ai fait un drôle de rêve...un réveil où j'étais assez optimiste pour la suite des évènements...Je verrais bien...Comme beaucoup de personnes me l'ont dit quand je leurs donne un résumé de mon arrivée sur la côte, tous me disent que je suis arrivé avec beaucoup de chance. Je les remercies!!! C'est vrai qu'on ne débarque pas comme celà avec un tel bagage par ici...Pas facile de faire sa place au soleil....Mais bon il faut la mériter et aller la chercher...

Et dire que c'est bientôt Noël!!! Pour la semaine du 24, je vais poser une semaine, histoire de monter à Montpellier, le fêter avec mes amis...Ce soir-là, comme l'année dernière j'ai quand même un rituel par rapport à quelqu'un de proche que je me dois d'honorer..Je l'ai fait l'année dernière. Je tâcherais de le reformuler cette année...

Pour la prochaine année, je ne prévois rien de spécial à part faire ma vie ici sur la côte d'Azur/d'usure comme disent certains!!! J'ai le temps maintenant...

mardi 25 novembre 2008

Un site sur les réunionnais de part le monde

C'est un excellent site sur laquelle on peut suivre le parcours de Réunionnais qui font honneur à notre chère île. De belles réussites en perspective ici et de part le monde. On voit aussi bien des étudiants que des cadres dans divers milieux. Certains sont quand même très loin de chez eux. Leur parcours est vraiment impressionnant.

Celà fait chaud au coeur de voir ses compatriotes parfois même de l'autre côté du monde, réussir leur vie ...974 en force and 4 ever!!!

Le site est http://www.reunionnaisdumonde.com/...On vient peut-être d'une île petite par la taille mais grande par son vivier innombrable de talents...On y voit aussi de belles réunionnaises . Té ouais té (A vous de fouiller sur le site )!

C'est sûrement pas moi - branleur et qui fout rien - qui mériterait d'être sur un tel site mais celà reste impressionnant de voir tous ces profils!!!

lundi 17 novembre 2008

[ClamAV] WARNING: Your ClamAV installation is OUTDATED! - Partie 1/2

1. Erreur obtenue

Erreur obtenue lors du lancement de Freshclam

root@olivia:~# freshclam 
ClamAV update process started at Mon Nov 17 10:52:21 2008
SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES
See the FAQ at http://www.clamav.net/support/faq for an explanation.
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.93.3 Recommended version: 0.94.1
DON'T PANIC! Read http://www.clamav.net/support/faq
Downloading main-48.cdiff [100%]
Downloading main-49.cdiff [100%]
main.cld updated (version: 49, sigs: 437972, f-level: 35, builder: sven)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 33, recommended = 35
DON'T PANIC! Read http://www.clamav.net/support/faq
WARNING: getfile: daily-7963.cdiff not found on remote server (IP: 212.180.1.29)
WARNING: getpatch: Can't download daily-7963.cdiff from database.clamav.net
WARNING: getfile: daily-7963.cdiff not found on remote server (IP: 193.218.105.9)
WARNING: getpatch: Can't download daily-7963.cdiff from database.clamav.net
WARNING: getfile: daily-7963.cdiff not found on remote server (IP: 193.218.105.9)
WARNING: getpatch: Can't download daily-7963.cdiff from database.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Downloading daily.cvd [100%]
daily.cvd updated (version: 8642, sigs: 26115, f-level: 35, builder: guitar)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 33, recommended = 35
DON'T PANIC! Read http://www.clamav.net/support/faq
Database updated (464087 signatures) from database.clamav.net (IP: 212.180.1.29)

L'erreur n'est pas blocante mais c'est freshclam qu'il faut pouvoir mettre à jour

2.Upgrade en Clamav 0.94.1

2-a. sans option spécifique

On fait habituellement

 wget http://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.94.1.tar.gz
 tar xzf clamav-0.94.1.tar.gz 
cd clamav-0.94.1
 ./configure --with-user=simscan
make
make install

On redémarre les services clamav-daemon et clamav-freshclam

root@olivia:~/clamav-0.94.1# /etc/init.d/clamav-daemon restart
 * Stopping ClamAV daemon clamd                                                                          [ OK ] 
 * Starting ClamAV daemon clamd                                                                                                                                                                                                                                                                                                                               [fail]
Running as user simscan (UID 3001, GID 3001)                                                            
ERROR: Can't open /var/log/clamav/clamav.log in append mode (check permissions!).
ERROR: Problem with internal logger. Please check the permissions on the /var/log/clamav/clamav.log file.
 

Il suffit de changer les permissions sur /var/log/clamav/clamav.log et on redémarre les deux services

root@olivia:~/clamav-0.94.1# chmod 777 /var/log/clamav/clamav.log
root@olivia:~/clamav-0.94.1# /etc/init.d/clamav-daemon restart
 * Stopping ClamAV daemon clamd                                                                                                                                                                          [ OK ] 
 * Starting ClamAV daemon clamd                                                                                                           
 Running as user simscan (UID 3001, GID 3001)
                                                                                                                                                                                                         [ OK ]
root@olivia:~/clamav-0.94.1# /etc/init.d/clamav-freshclam restart
 * Stopping ClamAV virus database updater freshclam                                                                                                                                                      [ OK ] 
 * Starting ClamAV virus database updater freshclam 

En rejouant freshclam, on aura noté le warning suivant

root@olivia:~/clamav-0.94.1# freshclam
ClamAV update process started at Mon Nov 17 11:04:31 2008
SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES
See the FAQ at http://www.clamav.net/support/faq for an explanation.
main.cld is up to date (version: 49, sigs: 437972, f-level: 35, builder: sven)
daily.cvd is up to date (version: 8642, sigs: 26115, f-level: 35, builder: guitar)

Ce WARNING est dû en parti à la levée rencontrée lors du configure

configure: WARNING: ****** GNU MP 2 or newer NOT FOUND - digital signature support will be disabled !

On va maintenant compiler en fontion de la librairie adéquate

2-b. avec option nécessaire pour signatures

Il est nécessaire d'ajouter une librairie

apt-get install libgmp3-dev

Et on reprend tout

 ./configure --with-user=simscan
make
make install
ldconfig

On redémarre les deux services (voir section précédente)

Enfin on rejoue freshclam

root@olivia:~/clamav-0.94.1# freshclam
ClamAV update process started at Mon Nov 17 16:38:08 2008
main.cld is up to date (version: 49, sigs: 437972, f-level: 35, builder: sven)
daily.cvd is up to date (version: 8642, sigs: 26115, f-level: 35, builder: guitar)

Bingo

samedi 8 novembre 2008

Enfin du soleil ce week-end...!

Vendredi soir

Suite à un RDV reporté pour la semaine prochaine au blot, je m'étais levé assez tôt vendredi matin. J'avais donc des heures de sommeil à rattraper.

Ayant quitté le boulot vers 18h00~19h00, vendredi soir, j'ai donc décidé de rentrer à l'appartement et de ressotir par la suite. Sur les coups de 22h15, j'ai donc décollé de l'appartement direction Juan-Les-Pins. Celà faisait au moins 2 bons mois que je n'étais pas sorti. Sur place j'ai croisé deux connaissances avec qui j'ai passé une partir de la soirée au Crystal. Il n'y avait pas grand monde pour un vendredi soir

Puis sur les coups de 23h00 direction le Zappata. Sur place au surprise , j'ai croisé des collègues de mon travail qui sortaient pour prendre un verre. Ils cherchaientVers une boîte pour finir la soirée. Vers 00h00~00h30, je suis rentré à l'appartement pour

Samedi

Enfin la grasse matinée ! Un plaisir si rare ces temps-ci! Debout vers 11h00, j'ai fumé une petite clope. J'ai ensuite pris ma caisse direction Juan pour aller petit-déjeuner et faire les courses.

Je me suis posé à la boulangerie situé à quelques pas du centre Le Clerc entre Juan et Golfe-Juan. Un petit café, et deux pains-chocolat aux amandes ont suffit pour me réveiller. J'ai profité sur la terrase du magnifique soleil qu'il y avait ce samedi midi. Un vrai plaisir par rapport au temps pourri de la semaine!

Je suis ensuite aller faire les courses, de quoi blinder le frigo pour les semaines à venir...

Ce soir je sais pas ce que je vais matter à la télé! J'avais commencé par suivre les premiers épisodes de JourneyMan sur M6 mais c'est vraiment décevant comme série ! Je penche plutôt pour un bon repas créole ce soir comme à l'accoutumée et me détendre devant les dessins animées de Gulli et de Mangas, chaînes disponibles sur la FreeBox!!!

Bon allez, il est 17h20. Le temps de me reposer un peu, ensuite je regarderais un peu la télé avant de commencer à cuisiner.

Ce soir-là, j'ai cuisiné

  • un bon carry poulet;
  • du blé;
  • des haricots rouges.

Quand on est passé à table, j'ai mangé avec une amie. Elle goûtait le carry poulet pour la première fois. Elle n'a pas tarri d'éloges sur mon carry poulet .

On a terminé la soirée par un apéro sur la terrasse de l'appartement: punch coco et granini aux letchis (un vrai délice ). On a passé un bon moment.

Dimanche on a profité pour sortir un coup sur Antibes et Juan-Les-Pins

Voici quelques photos

On a commencé par s'arrêter à une petite boulangerie, histoire de prendre un café et des croissants et un coca pour la fifille qui m'accompagnait ...Vu comme on était sapé sur la table d'à côté il y avait des poufiasses que ma pote avait du mal à blairer. Ca se comprend. Celà ne m'a pas empêché de bouffer mon pain aux chocolat tranquillement


Me toujours calme et posé!!!

Puis sur les coups de 13h30, on est allé faire un tour à Valbonne, histoire de prendre l'air frais de la campagne...On a visité un peu Valbonne et on a pris quelques photos. On s'est arrêté à une terrasse de café pour prendre respectivement un café pour moi et un coca pour mademoiselle. Je devrais plutôt me réorienter en tant que guide touristique le week-end!!! Comme on était à cour de clopes,finalement on est rentré...J'en connaîs une ce soir qui va rentrer en ayant pleins de saucisses de Toulouse dans la tête. (petit message perso pour qui comprendra ).

Voici un chti'te vidéo

Gros bisoux à une certaine Barbara dont on a plus que fait que m'en parler ce week-end...J'te jure les femmes! Ah les saucisses de Toulouse (Mort De Rire!!!)


Rasta-girl en pleine forme, une fille super sympa . Son site http://rasta-girl-production.skyrock.com/

jeudi 23 octobre 2008

Recherche sur Google sur moi et postgis parfois impressionnante

Je tape mon nom sur Google; Voilà ce que j'obtiens


Maintenant l'outil auquel j'ai contribué pendant plusieurs années à savoir postgis.


Pourtant

  • jJe n'ai touché à ma doc sur PostGIS depuis au moins 1 an et demi bien qu'elle soit depuis longtemps outdated . Ca prouve au moins qu'elle serre encore même si de mon côté, je ne trouve hélas pas le temps pour m'y consacrer. Merci aux visiteurs anonymes au passage! Tant que ca peut aider des gens au passage, c'est le plus important!;
  • J'ai très peu contribué cette année à mon outil préféré;
  • on usurpe mon nom sur un site pour du pur référencement sans ma permission (au passage merci les mecs!!!);
  • Mon serveur Web est sur un ordi de bureau à Montpellier (faut le faire! derrière une vielle Freebox V4). Il tient la charge car il gère mon serveur de messagerie perso sous Qmail, mon annuaire LDAP, mon serveur FreeRadius, mon serveur FTP, Squid pour mon réseau en local, Samba/LDAP en PDC, mes serveurs PostgreSQL qui tournent à mort etc...Elle fait pas dodo la machine!!! Comme me dit un collègue de bureau "l'essentiel c'est que ca tourne...aller au plus simple...limiter au maximum la casse..., le reste on s'en branle!!!"
  • Mon site Web est hyper pourri, loin des beaux sites à la skyrog ou les beaux blogs du Web...LOL...La présentation contribue à faire le meilleur d'un site mais n'est pas le seul atout!!!

Ca va google.fr est vraiment gentil avec moi , il est content. De mon côte, j'aime les solutions Linux pereines et stables!Donc tout le monde est content!

P.S: c'est ma mama à la Réunion qui sera contente ce week-end en lisant ce billet!

jeudi 16 octobre 2008

Petit "douceur" que je kiffe chez MySQL...

Les mots sont dans le titre. C'est surtout en lisant celà (http://dev.mysql.com/doc/refman/5.0/fr/char.html) ce matin que j'en ai appris plus sur MySQL. On se connecte à MySQL et on crée une table toto.

root@olivia:~# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 968
Server version: 5.0.38-Ubuntu_0ubuntu1.1-log Ubuntu 7.04 distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> connect test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Connection id:    969
Current database: test

mysql> drop table toto;
Query OK, 0 rows affected (0.02 sec)

mysql> create table toto(data varchar(10));
Query OK, 0 rows affected (0.02 sec)

Maintenant on fait deux petits insertions en douceur!

mysql> insert into toto values('maman');
Query OK, 1 row affected (0.01 sec)

mysql> insert into toto values('maman est mechant avec moi');
Query OK, 1 row affected, 1 warning (0.00 sec)

Un warning??? Peu importe!!!Et un petit SELECT pour la route:

mysql> select * from toto;
+------------+
| data       |
+------------+
| maman      | 
| maman est  | 
+------------+
2 rows in set (0.00 sec)

Trop fort !!!

mysql> exit

Maintenant à PostgreSQL,

routing_db=# CREATE TABLE toto(toto varchar(10));
CREATE TABLE
routing_db=#  insert into toto values('maman');
INSERT 0 1
routing_db=#  insert into toto values('maman est mechant avec moi');
ERREUR:  Valeur trop longue pour le type character varying(10);

Et un SELECT pour la route

routing_db=# select * from toto ;
 toto  
-------
 maman
(1 ligne)

Bingo !

source :http://dev.mysql.com/doc/refman/5.0/fr/char.html

dimanche 12 octobre 2008

Coup pour partionnement de tables avec opérations classiques (SELECT, INSERT,UPDATE) - Part VI

Suite à mes précédents billets, qui étaient assez empirique il est temps de se poser la question: pour une stratégie de partionnement de table, qu'est-ce qui s'avérer le plus coûteux?

Nous allons ici exploiter la possibilité qu'offre le formattage des fichiers de log de PostgreSQL vers le format CSV pour proposer ici un exemple d'illustration.

Serveur PostgreSQL et configuration

On prendra un serveur PostgreSQL 8.3

david@bremko:/var/lib/david$ pg_config --version
PostgreSQL 8.3.3

On a la configuration suivante

david@bremko:/var/lib/david$ grep -v '^#' $(PGDATABASE=test psql -At -p 5432 -h localhost -c "show config_file")|sed -e "s:#.*$::g"|grep '^[a-z]'
max_connections = 100			
shared_buffers = 32MB			
max_fsm_pages = 204800			
log_destination = 'csvlog'		
logging_collector = on		
log_directory = 'pg_log'		
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'	
log_min_duration_statement = 0	
log_checkpoints = on
log_connections = on
log_disconnections = on
log_duration = on
log_hostname = on
log_line_prefix = '%u'			
log_statement = 'all'			
datestyle = 'iso, dmy'
lc_messages = 'fr_FR.UTF-8'			
lc_monetary = 'fr_FR.UTF-8'			
lc_numeric = 'fr_FR.UTF-8'			
lc_time = 'fr_FR.UTF-8'				
default_text_search_config = 'pg_catalog.french'

Remarque:Il faut penser à créer ou vider le répertoire $PGDATA/pg_log si nécessaire

export PATH=/opt/postgresql-8.3.3/bin:$PATH
export PGDATA=/var/lib/david
rm -rf $PGDATA/pg_log;mkdir $PGDATA/pg_log

La structure de la base sera la suivante contenu du fichier mesure_schema.sql

BEGIN;
CREATE TABLE mesure(value float,repetition integer default 0);

CREATE TABLE mesure_100000 ( check (value >= 0 and  value<100000) ) INHERITS (mesure);
CREATE TABLE mesure_200000 ( check (value >= 100000 and  value<200000)) INHERITS (mesure);
CREATE TABLE mesure_300000 ( check (value >= 200000 and  value<300000)) INHERITS (mesure);
CREATE TABLE mesure_400000 ( check (value >= 300000 and  value<400000)) INHERITS (mesure);
CREATE TABLE mesure_500000 (check (value >= 400000 and  value<500000) ) INHERITS (mesure);
CREATE TABLE mesure_600000 ( check (value >= 500000 and  value<600000)) INHERITS (mesure);
CREATE TABLE mesure_700000 ( check (value >= 600000 and  value<700000)) INHERITS (mesure);
CREATE TABLE mesure_800000 ( check (value >= 700000 and  value<800000)) INHERITS (mesure);
CREATE TABLE mesure_900000 ( check (value >= 800000 and  value<900000)) INHERITS (mesure);
CREATE TABLE mesure_1000000 (check (value >= 900000 and  value<1000000) ) INHERITS (mesure);
CREATE TABLE mesure_out (  check (value < 0 or  value>1000000)) INHERITS (mesure);

CREATE OR REPLACE RULE mesure_insert_100000 AS ON INSERT TO mesure WHERE ( NEW.value>=0 and NEW.value<100000) DO INSTEAD INSERT INTO mesure_100000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_200000 AS ON INSERT TO mesure WHERE ( NEW.value>=100000 and NEW.value<200000) DO INSTEAD INSERT INTO mesure_200000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_300000 AS ON INSERT TO mesure WHERE ( NEW.value>=200000 and NEW.value<300000) DO INSTEAD INSERT INTO mesure_300000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_400000 AS ON INSERT TO mesure WHERE ( NEW.value>=300000 and NEW.value<400000) DO INSTEAD INSERT INTO mesure_400000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_500000 AS ON INSERT TO mesure WHERE ( NEW.value>=400000 and NEW.value<500000) DO INSTEAD INSERT INTO mesure_500000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_600000 AS ON INSERT TO mesure WHERE ( NEW.value>=500000 and NEW.value<600000) DO INSTEAD INSERT INTO mesure_600000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_700000 AS ON INSERT TO mesure WHERE ( NEW.value>=600000 and NEW.value<700000) DO INSTEAD INSERT INTO mesure_700000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_800000 AS ON INSERT TO mesure WHERE ( NEW.value>=700000 and NEW.value<800000) DO INSTEAD INSERT INTO mesure_800000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_900000 AS ON INSERT TO mesure WHERE ( NEW.value>=800000 and NEW.value<900000) DO INSTEAD INSERT INTO mesure_900000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_1000000 AS ON INSERT TO mesure WHERE ( NEW.value>=900000 and NEW.value<1000000) DO INSTEAD INSERT INTO mesure_1000000 VALUES (NEW.value);
CREATE OR REPLACE RULE mesure_insert_out AS ON INSERT TO mesure WHERE ( NEW.value < 0 or  NEW.value>1000000) DO INSTEAD INSERT INTO mesure_out VALUES (NEW.value);

CREATE INDEX m_idx ON mesure(value);
CREATE INDEX m_idx_100000 ON mesure_100000(value);
CREATE INDEX m_idx_200000 ON mesure_200000(value);
CREATE INDEX m_idx_300000 ON mesure_300000(value);
CREATE INDEX m_idx_400000 ON mesure_400000(value);
CREATE INDEX m_idx_500000 ON mesure_500000(value);
CREATE INDEX m_idx_600000 ON mesure_600000(value);
CREATE INDEX m_idx_700000 ON mesure_700000(value);
CREATE INDEX m_idx_800000 ON mesure_800000(value);
CREATE INDEX m_idx_900000 ON mesure_900000(value);
CREATE INDEX m_idx_1000000 ON mesure_1000000(value);
CREATE INDEX m_idx_out ON mesure_out(value);


CREATE VIEW mesure_all as 
SELECT * FROM mesure_100000
UNION ALL SELECT * FROM mesure_200000
UNION ALL SELECT * FROM mesure_300000
UNION ALL SELECT * FROM mesure_400000
UNION ALL SELECT * FROM mesure_500000
UNION ALL SELECT * FROM mesure_600000
UNION ALL SELECT * FROM mesure_700000
UNION ALL SELECT * FROM mesure_800000
UNION ALL SELECT * FROM mesure_900000
UNION ALL SELECT * FROM mesure_1000000
UNION ALL SELECT * FROM mesure_out;

CREATE TABLE t_time(t_id serial,t_cumul timestamp);

CREATE VIEW t_time_test AS SELECT b.t_id-1,date_part('second',b.t_cumul-a.t_cumul) FROM  t_time a JOIN t_time b ON (b.t_id-a.t_id=1);

CREATE TABLE postgres_log
(
  log_time timestamp(3) with time zone,
  user_name text,
  database_name text,
  process_id integer,
  connection_from text,
  session_id text,
  session_line_num bigint,
  command_tag text,
  session_start_time timestamp with time zone,
  virtual_transaction_id text,
  transaction_id bigint,
  error_severity text,
  sql_state_code text,
  message text,
  detail text,
  hint text,
  internal_query text,
  internal_query_pos integer,
  context text,
  query text,
  query_pos integer,
  location text,
  PRIMARY KEY (session_id, session_line_num)
);

END;

Préparation des données à tester - échantillon de 450 000 valeurs

Ici on a maintenant 200 000 lignes dans notre fichier

david@bremko:/var/lib/david$ wc -l values_all.data
200000 values_all.data

On en ajoute (au moins) quelques 150 500 de plus

echo "Début de la génération := $(date)";
export NbData=150000;
for((i=0;i<=${NbData};i++));
	do psql -At -F" " -c "SELECT (random()*1500000)::integer" -d test >> values_all.data;
done;

On a le rendu suivant

On va émettre un son quand le fichier sera remplit en faisant

while [ $(wc -l values_all.data|awk {'print $1'}) -lt 262000 ];
do 
      echo > /dev/null;
done;
while true; 
do cat /usr/share/doc/libsdl-erlang/examples/Beep.wav > /dev/audio;
done

Ce qui m'a permis d'aller faire une sieste en attendant ...A mon retour ceci tournait encore, j'ai donc arrêté la génératione faisant [CRTL]+[C]. Il me manquait une centaines de milliers de lignes

Astuce!: sinon pour aller bien plus vite

psql -d test -At -F" " -c "select (random()*1500000)::integer from generate_series(1,127045)" >> values_all.data

J'ai donc obtenu

david@bremko:/var/lib/david$ wc -l values_all.data 
450000 values_all.data

Nickel !

Exécution du script

....

dropdb test
createdb test
 psql -d test -f mesure_schema.sql
date;PGHOST=localhost ./pg_exec.pl values_all.data ;date
pg_ctl stop
mv data/pg_log data/pg_log.old

Génération des graphes

Population de postgres_log

<

Onn redémarre le serveur et on on charge les données dans la table postgres_log

pg_ctl start
mkdir $PGDATA/pg_log
cd $PGDATA/pg_log.old
 for file in $(ls *.csv);do psql -d test -c "COPY postgres_log FROM '$PWD/$file' WITH csv;";done

Il faut ensuite par créer et populer les tables nécessaires pour les trois opérations (SELECT, UPDATE,INSERT) en chargeant le contenu du fichier mesure_schema_2.sql

begin;

create table s_selects(id serial,s_duration real);

create table s_inserts(id serial,s_duration real);

create table s_updates(id serial,s_duration real) ;

insert into s_selects(s_duration) select case when command_tag='SELECT' then replace(replace(message,'duration: ',''),' ms','')::real else 0::real end as s_duration from postgres_log where command_tag in ('UPDATE','INSERT','SELECT') and message ~ 'duration';

insert into s_inserts(s_duration) select case when command_tag='INSERT' then replace(replace(message,'duration: ',''),' ms','')::real else 0::real end as s_duration from postgres_log where command_tag in ('UPDATE','INSERT','SELECT') and message ~ 'duration';

insert into s_updates(s_duration) select case when command_tag='UPDATE' then replace(replace(message,'duration: ',''),' ms','')::real else 0::real end as s_duration from postgres_log where command_tag in ('UPDATE','INSERT','SELECT') and message ~ 'duration';

end;

Ce qui se fait en faisant

psql -d test -f mesure_schema_2.sql

Nous sommes maintenant prêt pour générer nos graphes. Pour se faire, nous pouvons utiliser GnuPlot.

Il faut générer les fichiers qui contiendront les données à grapher

for query in selects inserts updates;do psql -At -F" " -d test -c "SELECT * FROM s_$query" > values.$query.data;done

Avec GnuPlot, on fait

gnuplot>set yrange [0:40]
gnuplot> set xlabel "Numero operation"                 
gnuplot> set ylabel "Temps en millisecondes" 
gnuplot> plot 'values.selects.data' w lines lc 2 title 'SELECT count(*) FROM mesure WHERE value=?'     
gnuplot> plot 'values.inserts.data' w lines lc 3 title 'INSERT INTO mesure(value) VALUES (?)' 
gnuplot> plot 'values.updates.data' w lines lc 1 title 'UPDATE mesure SET repetition=repetition+1 WHERE value=?'

On a alors les graphes suivants


Fig.1 - Opérations sur INSERT

Fig.2 - Opérations sur SELECT

Fig.3 - Opérations sur UPDATE

Mais attention, il ne faut pas sauter au plafon de suite. Par exemple en zoomant de l'opération 174200 à 174300, on a le graphe suivant


Fig.4 - Opérations de l'opération 174200 à 174300.

En zoomant de l'opération 150000 à 20000, on a le fichier suivant

Mais attention, il ne faut pas sauter au plafon de suite. Par exemple en zoomant de l'opération 174200 à 174300, on a le graphe suivant


Fig.5 - Opérations de l'opération 150000 à 200000.

jeudi 9 octobre 2008

[PostGIS] Liens les plus consultés pour la doc sur PostGIS (journée du mercredi 2008-10-08)

Ma doc sur PostGIS a beau ne pas avoir été mise à jour depuis un bon moment, celà fait plaisir de voir ce genre de statistiques. Ces dernières concernent la journée du mercredi 8 octobre 2008.

www_log=# select distinct count(ip_addr) as "Nombre de consultation",data as "Intitulé",link as "Lien"from analyze_log 
join postgis_doc_ref on (link=record) group by 2,3 order by 1 desc;


 Nombre de consultation |                                  Intitulé                                   |                 Lien                 
------------------------+-----------------------------------------------------------------------------+--------------------------------------
                     19 | Annexe I. Mémento sur les commandes SQL de PostgreSQL                       | /documentation/win32/html/api.html
                     18 | Guide de l'utilisateur de PostgreSQL/PostGIS                                | /documentation/win32/html/index.html
                     15 | Annexe J. Mémento sur les commandes internes de psql                        | /documentation/win32/html/apj.html
                     14 | Chapitre 3. Installation sous Ubuntu Edgy Eft                               | /documentation/win32/html/ch03.html
                     13 | Annexe B. Créer un modèle de base de données PostgreSQL contenant les       | /documentation/win32/html/apb.html
                     13 | Avant-propos                                                                | /documentation/win32/html/pr01.html
                     12 | Annexe C. Dblink: interroger plusieurs serveurs PostgreSQL distants         | /documentation/win32/html/apc.html
                     12 | Chapitre 2. Compilation et Installation                                     | /documentation/win32/html/ch02.html
                     12 | PostgreSQL - configuration et administration minimale                       | /documentation/win32/html/pt03.html
                     11 | Annexe H. Foire Aux Questions                                               | /documentation/win32/html/aph.html
                     11 | PostGIS                                                                     | /documentation/win32/html/pt04.html
                     10 | Annexe D. Pouvoir faire des sauvegardes des bases locales ou distantes d'un | /documentation/win32/html/apd.html
                     10 | Chapitre 1. Pré-requis                                                      | /documentation/win32/html/ch01.html
                     10 | Chapitre 6. Etudes de cas                                                   | /documentation/win32/html/ch06.html
                     10 | Chapitre 9. MapServer: faire une image avec zones réactives                 | /documentation/win32/html/ch09.html
                     10 | Installation sous GNU/Linux, Ubuntu Edgy Eft                                | /documentation/win32/html/pt02.html
                      9 | Chapitre 7. PostGIS et les languages                                        | /documentation/win32/html/ch07.html
                      8 | Annexe A. PgRouting pour le calcul d'itinéraire                             | /documentation/win32/html/apa.html
                      8 | Annexe F. Connaître l'espace disque occupé par les données (dbsize)         | /documentation/win32/html/apf.html
                      7 | Annexe G. PostgreSQL et Stunnel                                             | /documentation/win32/html/apg.html
                      7 | Annexe K. Suivi de PostGIS                                                  | /documentation/win32/html/apk.html
                      6 | Annexe L. PhpMapScript                                                      | /documentation/win32/html/apl.html
                      6 | Notes à l'intention des utilisateurs                                        | /documentation/win32/html/pr02.html
                      5 | Annexe M. Auteurs et contributeurs de PostGIS                               | /documentation/win32/html/apm.html
                      5 | Installation sous Windows                                                   | /documentation/win32/html/pt01.html
                      5 | Notes sur les annexes                                                       | /documentation/win32/html/pr03.html
                      4 | Annexes                                                                     | /documentation/win32/html/pt05.html
                      4 | Bibliographie                                                               | /documentation/win32/html/bi01.html
                      4 | Chapitre 8. Conclusion                                                      | /documentation/win32/html/ch08.html
(29 lignes)
Le petit plus à celà, on ajoute
  • concernant pgRouting, j'ai compté 11 téléchargements;
  • 10 consultations au gros pavé au PDF de ma doc.

Ca fait plaisir de voir que celà reste un must en dépit de son ancienneté . Promis quand le temps me le permettra, je remettrais à jour ma doc !

mardi 7 octobre 2008

[pgday 2008] Résumé de la journée pgday sur Toulouse du samedi 4 octobre 2008.

Thomas Petazzoni qui a filmé les conférences de cette journée propose un aperçu des faits marquants sur ce billet de son blog.

Le moins que l'on puisse dire c'est que PostGIS a souvent été mis à l'honneur dans au moins deux conférences : une par camptocamp et l'autre par Makina Corpus. Je vous laisse le soin d'aller lire son billet pour de plus amples informations.

jeudi 25 septembre 2008

Un petit mail qui fait bien plaisir pour une petite contribution personnelle sur PostGIS!

Voilà un mail qui fait super plaisir de la part de Kevin Neufeld, l'un des développeurs de PostGIS......Ca a du bon parfois la reconnaissance de ses pères .!!!

Great! Thanx.  I'll see if I can incorporate this into the Makefile and autobuild process
at some point.

Cheers,
Kevin

Jean David TECHER wrote:
>Hi Kevin,
>
>Thanks for your comments.
>
>The instructions are available on my Web Site at
>
>http://www.davidgis.fr/blog/index.php?2008/09/25/387-building-pdf-for-postgis-using-dblatex I've tried to write in English...Hope this
>helps!
>
>Best regards.
>
>--david;
>
>
>Quoting Kevin Neufeld :
>
>>Hi David,
>>
>>Is there any chance you remember the syntax and parameters used to
>>generate your pdf?  It would be sweet if we could incorporate such a
>>doc in our automatic build system so it stays current.
>>
>>Cheers,
>>Kevin
>>
>>Kevin Neufeld wrote:
>>>Very nicely done David.
>>>
>>>PaulR - are you really set on producing a PDF via Apache's FOP?   This looks far
>>>better than anything I've been able to reproduce  with FOP or Docbook's db2pdf.
>>>
>>>David, what exactly is your command line for generating the doc  (maybe I can put it
>>>in the autobuild process that gets updated on  every SVN commit)?  Assuming of course
>>>that folks are ok with  adding a new dependency with the build process ...
>>>
>>>Cheers,
>>>Kevin
>>>
>>>Jean David TECHER wrote:
>>>>Dear all,
>>>>
>>>>I've tried to compil the postgis.pdf using the svn tarball.
>>>>
>>>>The output is available at
>>>>
>>>>http://www.davidgis.fr/postgis-out.pdf
>>>>
>>>>AFAIK, the output seems to be beautifull since you can see the images.
>>>>
>>>>Hope these help people for a printing solution for postgis doc  ;)
>>>>
>>>>--david;
>>>>

Building PDF for PostGIS using dblatex

By default when you want to have the postgis.pdf taken from the source, you have to install fo or db2pdf. However, you can use a tool like dblatex. The solution is available at http://dblatex.sourceforge.net/. This project is maintaned by Benoît Guillon (a French guy too like me ).

The main goal is as followed

Install dblatex >=0.2.7

First of all you need dblatex. Please read the instructions taken from the dblatex's site. You need to have python, latex and so on..

When you're ready. It is time to install

./setup.py install

Building the pdf doc from PostGIS

  1. Download the sources from svn
    wget http://www.postgis.org/postgis-svn.tar.gz
  2. Untar the sources
    tar xvf postgis-svn.tar.gz
  3. Go to postgis directory, run configure and go to doc directory
    ./configure && cd doc && make
  4. The file reference.xml must be change. We have to replace the term entry by listitem before using dbaltex
    cp reference.xml reference.xml.orig; cat reference.xml.orig |sed -e "s:term:listitem:g" > reference.xml
  5. It's time to use dblatex. Here is the command and the output
    root@olivia:/mnt/sources/tmp/postgis-svn/doc# dblatex -T native -t pdf -o postgis-svn-1.4.0.pdf -I "$PWD/html" postgis-out.xml 
    Build the listings...
    XSLT stylesheets DocBook -  LaTeX 2e (0.2.9)
    ===================================================
    convert "/mnt/sources/tmp/postgis-svn/doc/html/images/st_crosses-math.gif" fig0.pdf
    convert "/mnt/sources/tmp/postgis-svn/doc/html/images/st_crosses01.gif" fig1.pdf
    convert "/mnt/sources/tmp/postgis-svn/doc/html/images/st_crosses02.gif" fig2.pdf
    convert "/mnt/sources/tmp/postgis-svn/doc/html/images/st_crosses03.gif" fig3.pdf
    convert "/mnt/sources/tmp/postgis-svn/doc/html/images/st_crosses04.gif" fig4.pdf
    convert "/mnt/sources/tmp/postgis-svn/doc/html/images/st_touches-math.gif" fig5.pdf
    Build postgis-out.pdf
    This is pdfeTeX, Version 3.141592-1.30.5-2.2 (Web2C 7.5.5)
    entering extended mode
    This is pdfeTeX, Version 3.141592-1.30.5-2.2 (Web2C 7.5.5)
    entering extended mode
    'postgis-svn-1.4.0.pdf' successfully built

Here is the final PDF http://www.davidgis.fr/download/postgis-svn-1.4.0.pdf...Beautifull isn't it ???

samedi 20 septembre 2008

Bilan des 3 premières semaines de septembre - Repos de 4 jours sur Montpellier

Bilan

Après 3 semaines assez hard sur Antibes, j'ai décidé de revenir me poser sur Montpellier ce week-end....Celà fait déjà 3 semaines que je suis en coloc' avec Fabrice sur Antibes et il n'y a rien à dire celà me change vachement de mon ancienne colocation (...). Retrouver le calme le soir quand on rentre chez soi celà fait un bien fou comme pas possible.

Depuis lundi 15 septembre, le froid s'est invité sur la côte. C'est marrant de voir les locaux de là-bas sortir le pull ou le gilet juste pour quelques degrés en moins...LOL..

J'ai eu ma mère au téléphone ce matin tout le monde à la Réunion (= ma famille) va bien! On a justement parlé du froid qui commençait à s'installer ici. Elle m'a sorti une phrase qui m'a bien fait marré: "C'est l'hivers, ta saison préférée qui s'installe...!" Là-dessus elle a bien raison .

début de week-end...

Samedi matin, ayant pris la route sur les coups de 11h15, ce matin j'ai pris au moins 3h30 pour faire la route (arrêt pour manger, me dégourdir les jambes etc...). Arrivé à 'Hyper-U du Crès, j'en ai profité pour me prendre un p'ti remontant (diabolo menthe)....Celà faisait déjà depuis le 3 septembre que mes bécanes (=ordinateurs) à la maison déconnaît un peu. J'en ai profité pour les réparer comme il se doit! Quand je pense que j'ai appelé mon très cher coloc' de Montpellier pour essayer de me le réparer, j'avoues que je dois le remercier d'avoir passer tout ce temps à essayer de m'aider.

Mais mes deux bécanes (olivia - mon serveur principale - et jenna - mon serveur de mails - ) comme tout geek qui se respecte ne se laisse pas faire facilement. Il a fallut que je sois là pour les réparer.

Arrivé sur les coups de 16h30 à l'appart, mon gros bâtard d'amour de siamois m'a fait ma fête comme il se doit. Il est bien le digne fils de son père...!


Mon siamois qui m'a accueilli comme il se doit aujourd'hui à l'appart

Bon le point 1 du week-end étant terminé,je vais en profiter demain pour aller voir un couple d'amis que je n'ai pas vu depuis au moins 9 mois....Ca me fera du bien de les voir...!

vendredi 29 août 2008

Déraciné mais touzour lo même!

A tou lo band' bougs la réunion en métropol, exkiz' lo ga si mon l'écritir' lé mové mais oussanousava la raizon......Lo band' moun' en france nana 2 3 z'affair zot y gagne pas comprend. Zot' la pa véki sak mon papa ek mon momon lé véki qaund zot lé té jeune.......974 en force!

Com' i di la chanson "Pouqué néna do moun' i comprend pas??? Zot' lé né sous la coup' lo' diabl'...", dixit Progression, Ker maléré

Lo boug' lé déraciné par sak néna ici mais pas dan son ker...Zordi moin nana 30 ans mé mi rest le même. Pa l'air ek la modernité et lo band' zalousi, l'arzent, lo vanité...Mon ker' i rest' et i restera touzour lo mêm ...Pa l'air avek'..Partou mi part mi traîn' mon ker ek mon band' valer ensemb' moin...


...Mon bureau...(Sérieux je reste le midi pour taffer avant d'aller manger comme tout le monde!)

Bon dié la donn' a moin un chance ici sir' la cot' l'azir'...au bout de 7 ans...Na war' pou lo rest'...


...Lo boug' au travail... (le travail se limitant à faire la pause pour la photo )..;avec la gros doigt du collègue dessus

Bonn' chanc' a tout' mon band' kamarad' à la Réunion et mon band' camarad' de l'E.M.P.R - po sa ki konné !-, ainsi qu'à Stéphane Jolivet...

Oh oh...
oh oh..

Ton sévé com' fouzer
Mé la pli la po gaté
Son z'ié kouler' fénwar
And'an na la rozé

Oté ti kafrine
Arrêt boire l'aspirine
Quand ou na la migraine
Racont' a moin plitot ton problem'

Ti conné dan'tan ma rozer
Dan'tan nout' grand papa
Un boug', un fam', un boug( mon kouleur
Dé moun' té kri a li koun'ta

La lontan li la fini allé
Mais nou port' touzours son douler
Nout' froi té takine 'té
Son ker té ki bat' com' la douler

Et moin mi di
oh oh
oh oh

Té mon ancêt'
Dia moin kel coté i fo être
po moin arrrêt' pléré
ké mi vé être dan la liberté
Si not' ker coul' sans douler
Mé li zamais dédeint' mon kouler
Mou kouler, kouler l'amour, un kouler pou touzours

Et moin mi di
oh oh
oh oh

Mon kouler, kouler l'afrik'
Mon l'oder, l'oder zamaik'
Bob Marley la fin' alé
Avan lé té po takine'té
Bob marley la chanté
servic' zamaik', service raggae

Dan maloya, moin va santé

ek' la mizik nwar, melodi gawe

liberté, liberté, aid'' a moin rêvé
aid' a moin rêvé

liberté, liberté, laiss' a moin chanté
laiss' a moin chanté

...un zaventir' oublié....

....
...
...


A cauz' moin lé nwar
A cauz' moin lé vilain
Li di a moin, camouf' à moin dan' fénwar
Evit sort dan somin

A cauz' moin lé vilain
A cauz' mi grat tang'
Li di a moin, evit' sort dan somin
Po moin la poin fam'!

Et mi di oh oh...
oh oh...

mercredi 27 août 2008

Mardi soir: Soirée au Tché

Sur les coups de minuit, j'avais RDV avec Fab' pour lui rendre les papiers qu'il m'avait passés...Julie venait lundi soir de terminer sa saison au Tché en tant que serveuse...C'est en cours de soirée que ces dames sont arrivées. Elles étaient assises à la table juste derrière nous avec des verres et un bonne bouteille de rosée. Nous on était au p'ti punchs, bière et whisky-coca...

Comme c'est la fin de la saison bientôt, on s'est dit qu'on prendrait des photos, histoire de se rappeler nos belles soirées de l'été...


Fabrice et moi...Ze cool bad boys


Fabrice et Bérénice


Fabrice et Julie, la serveuse de l'été du Tché qui a su mettre du charme cet été au Tché.........


Moi et Bérénice...avec son éternelle et beau sourire qui nous a fait une démonstration de danse dans la soirée!

Moi et Julie...

Que dire si ce n'est que ces soirées au Tché cet été ont vraiment et sincèrement bien...La saison se termine, le travail a repris. J'ai rencontré des gens bien et d'autres moins bien (comme partout!) à Juan-Les-Pins...Celà déjà 7 mois que je suis sur la côté! Le temps passe trop vite! Je n'ai pas l'impression que ce fait autant de temps que celà...Septembre c'est pour bientôt! D'autres choses aussi à faire qui se profilent à l'horizon...Mais on verra tout celà le moment venu .

dimanche 24 août 2008

Week-end sur Juan-Les-Pins - bar le Tché et Parc Exflora

Le week-end avait bien commencé vendredi soir. Avec Fabrice, nous nous sommes donnés rendez-vous au Tché, le temps pour lui de finir son travail vers minuit. Rendez-vous fut donc pris au Tché vers minuit. Avant de venir, j'avais passé la soirée sur Juan-les-Pins en m'arrêtant au restaurant "côté jardin" de Juan-Les-Pins devant le parc Exflora, tenu par l'équipe de Christian...

Ayant commandé quelques whisky-coca, deux petits punchs et une boutielle rosée, la soriée fut bien alcoolisée! On a bien bavardé tous les deux et dansé comme des fous aussi...Bref un bonne soirée comme d'habitude. La veille nous étions passé et un couple d'amis nous avait tenu compagnie.


Fabrice - toutjours en forme...!

Moi - une petite coupe de rosée à la main ...Le boug' lé touzour en form'...Ti bouz' enkor' ???

Mon samedi, je l'ai passé au parc Exflora de Juan à dormir à l'ombre d'un arbre, histoire de me reposer et de rettraper mes heures de sommeil....Je n'avais plus envie de bouger par rapport à mes deux précédentes sorties nocturnes.

Samedi finalement, je ne suis pas sorti, trop fatigué par ma soirée de la veille. Ces temps-ci je traîne plutôt du côté du parc Exflora, loin des commerces (boîtes et cafés de Juan)...C'est plus calme et ca me rappelle mes récentes vacances sur Montpellier, passé le long du Lez à me reposer sur un banc...Fabrice est passé me voir rapidement à côté de la villa en sortant de son taf. Sans +.

En tout cas, le réveil samedi matin s'est fait par un coup de téléphone qui m'a fait plaisir!...Ce n'est pas tous les jours que l'on reçoti ce genre de coup de fil.

Comme la connexion à la villa est actuellement indisponible, c'est depuis un cyber café que j'ai rédigé cet article...Là il est 13h20...Je me reprends un café. J'irais ensuite me reposer ensuite au parc. Ensuite en fin d'aprem' ce sera lessive - chose qui n'a pas été faite depuis longtemps.

jeudi 21 août 2008

TAPES JUSTE "TECHER" DANS GOOGLE...

Parfois des gens me cherchent sur Internet pour obtenir des informations sur PostGIS ou sur moi. Et je leurs dis juste...LOL...

Tapes juste "techer" dans google...

Et hop, tu m'as trouvé!...

Ah une époque fallait taper Postgis maintenant mon nom de famille suffit pour qu'on me trouve...! Ca fait trop plaisir quand je vais dire ca à mon piti papa ! La réunion 974 en force!

Ah...les algorithmes de Google me feront toujours marrer !!!

jeudi 14 août 2008

Week-end: sieste au parc exflora - mardi soir: Soirée au "Tché" et "Whisky à Gogo" de Juan-Les-Pins

C'est vraiment le genre de soirée qui commence bien mais on ne sait jamais où on va finir...!

Mardi soir la soirée avait bien commencé! Petit repas au "Côté Jardin" (restaurant à l'entrée du parc exflora de Juan). J'ai mangé seul. Je me suis pris une salade de jambon cru en entrée puis une assiette de kebab. A la fin d'un bon café, je suis parti continuer la soirée au Tché de Juan. La route m'a permis de digérer un peu

Sur place, j'étais au début seul. Mon pote antillais m'a rejoint par la suite. Trois merveilleuses demoiselles de sa connaissance nous ont rejoint par la suite . On a tapé la discut'...Les whisky-coca et p'ti punchs se sont enchainés à la suite. On a commandé deux bouteilles de rosée vu que pour une fois, on était assez nombreux pour les finir.


Mon pote Fabrice...Vive les îles! Le boug' bouz' pendant que je prends la photo......J'ai raté la photo mais je pa lair avek' !

Par contre à un moment la pluie est venue se présenter pour la soirée. Celà n'a pas trainée: dès les premières gouttes les tables les plus occupées de la terrasse ont vite été désertées et les gens sont venus s'abriter à l'intérieur! Comme il y avait du monde, il faisait un peu chaud mais il n'y avait pas que sur ce sujet là que la température était en train de monter...LOL! (No comment!)

Avec Fab', on s'est bien défouler sur la piste avec les jeunes filles! Exceptionnellement le bar devait fermé plus tôt ce soir-là! A la fermeture, avec l'équipe du bar, on a eu la consigne (pour ceux qui le voulait) d'aller à la boîte (le whisky à gogo), pour terminer la soirée. Comme j'étais en short, normalement je n'aurais pas pu entrer mais le videur m'a quand même laisser entrer (exceptionnellement de la part du gérant du Tché - que je remercies au passage et que je suis allé remercier par la suite!-)

Dans la boîte, un mec nous a offert plusieurs verres. J'ai sympathisé avec lui. On a bien discuté et dansé...Il y avait aussi une amie dont c'est l'anniversaire mercredi à qui j'ai fait un gros bisou en passant.

A l'heure de la fermeture en sortant de la boîte, c'est en voyant qu'il faisait déjà jour que j'ai compris qu'il était déjà assez tard! 7h00 du mat'...Tor mol! J'avais pas vu le temps passé. Sur la route du retour, je me suis arrêté pour prendre un café, histoire de rester éveillé pour arriver à la villa. A une boulangerie, j'ai pris deux croissants et une part de flan pour tenir. J'étais assez bien entamé mais à pied!

Résultat des courses: débarqué vers 14h00 au taf! Bah démerdes son cadavre...Moin la pa l'ai ek' ça!

Au retour du taf, mercredi soir, j'ai mangé un morceau et me suis arrêté au "Côté jardin", histoire de changer de soirée pour m'aérer l'esprit!Sur la terrasses dans un pliant comme à la Réunion, j'avais les yeux rivés vers le ciel en pensant à cet été exceptionnel que je passe contrairement et bien éloigné de l'été dernier.

Je ne connaissais pas ce coin de Juan-Les-Pins - parc exflora - jusqu'au week-end dernier où en me baladant je 'lai découvert. J'en ai aussi profité donc samedi après-midi et dimanche aussi pour venir faire la sieste dans le parc, allongé sur une serviette! C'est reposant et relaxant d'alterner entre nature et sortie dans les bars! Un peu comme mes vacances récentes sur Montepllier.

Puis je suis rentré à la maison....

mercredi 13 août 2008

Champion de balles de golf

Ce mec est un champion pour les balles de golf...Une balle l'une sur l'autre....Un gars tout en puissance ! C'est mon collègue de bureau

dimanche 27 juillet 2008

Un petit lien pour la traduction en anglais pour les itinéraires

Voici un lien que je me mets de côté vu mon merveilleux niveau en anglais . Très utile pour quelqu'un qui taffe sur le calcul d'itinéraire...

Le lien est http://www.anglaisfacile.com/exercices/exercice-anglais-2/exercice-anglais-17096.php

samedi 26 juillet 2008

Vendredi soir: dernière soirée au Tché avant retour sur Montpellier, ce samedi

Vendredi soir, vers les 18h30-19h00, je suis parti du boulot. Je me suis diriger vers le "Quai Sud" d'Antibes, histoire de prendre un café et prendre des nouvelles de Julia, la serveuse. Fille très charmante et très spontanée de nature, avec un très beau sourire...Je lui ai offert une clope, on a taillé la discut', ensuite retour à la villa de Juan-Les-Pins.

C'est sur les coups de 23h30~00h00 que je suis arrivé au quartier des bars de Juan. Sur place, comme je n'avais pas encore bouffé, je me suis pris un sandwich et une canette d'oasis tropicale au snack du coin. Puis direction le Tché...

A peine assis que mon pote Antillais m'interpelle pour me faire comprendre qu'il était là. Je l'ai rejoint. Le reste de la soirée, on a discuté , dansé avec des amis etc...Il y avait deux charmantes demoiselles qui en fin de soirée avaient une charmante danse du ventre. Monté sur le bar, elles ont fait un malheur (que des mâles heureux autour d'elles).

On a partagé notre table avec des gens avec qui ont à très bien sympathiser.

Sur les coups de 5h00 du mat', je suis rentré. J'ai fait un gros bisou à toute l'équipe du bar en leur disant que je les reverrais d'ici une semaine, après mes vacances.

Voilà après une semaine de boulot intensif, c'est les vacances le temps d'une semaine....Ca me fera du bien!!!

Celà fait exactement 7 ans bientôt que je suis en France métropolitaine. C'est mon premier été à profiter un peu de la vie. J'ai toujours été à fond dans le taf alors je lâche un peu, comme on dit.

Et oui 30 ans cette année, mais 30 ans à vouloir profiter de la vie un moment - si Dieux me l'accorde-, chose que je n'ai pas toujours eu le plaisir de m'offrir l'année dernière, à galérer comme pas possible! Enfin c'est la vie...

Spirituellement ces 3 dernières semaines, je suis vraiment posé comme pas possible, prenant la vie avec beaucoup de recul. Celà doit sûrement venir du fait que ma petite soeur chérie se marie, vendredi prochain. Ca doit sûrement me tranquiliser quelque part...Je suis à 10 000km.

Vendredi soir, j'évoquais à mon ami Antillais le fait que vendredi à l'heure où ma soeur sera dans l'église de mon quartier à l'île de la Réunion, moi ici je serais aussi dans une église à prier pour elle. Je n'ai pas ajouté plus d'arguments que celà. Mon ami m'a de suite compris! A lala!!! Les îles...Réunion, Antilles en force sur la côte d'Azur...

J'évoquais justement au gérant du Tché, avant de partir que quelque part, Juan me rappelle un quartier de la Réunion que j'aime énormément. C'est sûrement poru celà que je me sens posé. Comme il me le disait lui-même l'essentiel c'est d'être posé!

Actuellement mes seuls projets c'est de rentrer à la Réunion quand je pourrais soit en fin de cette année ou l'année prochaine pour une période de d'au moins deux semaines. Quelque part, je comble le manque de mon île que j'affectionne tendrement et plus que tout par ce que je rencontre ici ! C'est pour celà que je tenterais de mener à bien ce projet sans me presser et guetter le bon moment pour rentrer.

jeudi 24 juillet 2008

[PgRouting 1.02] Shooting star - usage example with turn restriction

This is my favorite function in PgRouting . Here we will see an example. For more info, please see http://pgrouting.postlbs.org/wiki/ShootingStar

Let's suppose that we have the following network with two roundabouts as shown in the following picture. The SQL file used here is available at http://www.davidgis.fr/download/pgrouting_wr.sql


The network
The associated table is named wr. The wr's content is
routing=# SELECT gid as id, source, target, cost, reverse_cost,x1, y1,x2, y2, rule, to_cost FROM wr order by id;
 id | source | target |       cost       |   reverse_cost   |        x1        |        y1         |        x2        |        y2         | rule | to_cost 
----+--------+--------+------------------+------------------+------------------+-------------------+------------------+-------------------+------+---------
  1 |      1 |      2 | 14.2572101668807 |             1000 | 76.7176891326003 |   33.775246780918 | 87.3962905382969 |  43.2217018705726 |      |        
  2 |      2 |      3 | 11.0893168443772 |             1000 | 87.3962905382969 |  43.2217018705726 | 87.3962905382969 |  54.3110187149498 |      |        
  3 |      3 |      4 | 13.9884637834871 |             1000 | 87.3962905382969 |  54.3110187149498 | 76.7176891326003 |  63.3467583659239 |      |        
  4 |      4 |      5 | 14.2572101668807 |             1000 | 76.7176891326003 |  63.3467583659239 | 67.2712340429456 |  52.6681569602273 |      |        
  5 |      5 |      6 | 10.6864968606796 |             1000 | 67.2712340429456 |  52.6681569602273 |  66.860518604265 |  41.9895555545307 |      |        
  6 |      6 |      1 | 12.8311604873812 |             1000 |  66.860518604265 |  41.9895555545307 | 76.7176891326003 |   33.775246780918 |      |        
  7 |      7 |      1 | 53.8753258085636 | 53.8753258085636 |               80 |               -20 | 76.7176891326003 |   33.775246780918 |      |        
  8 |      8 |      4 | 62.5380849791951 | 62.5380849791951 | 73.0212501844746 |  125.775505045381 | 76.7176891326003 |  63.3467583659239 |      |        
  9 |      7 |      9 |               40 |               40 |               80 |               -20 |              120 |               -20 |      |        
 10 |      9 |     10 | 33.4201752293529 | 33.4201752293529 |              120 |               -20 | 141.610728444141 | -45.4928328844451 |      |        
 11 |      9 |     11 |               60 |               60 |              120 |               -20 |              180 |               -20 |      |        
 12 |     11 |     12 | 25.9044654619518 | 25.9044654619518 |              180 |               -20 | 180.217979680121 | -45.9035483231257 |      |        
 13 |     12 |     10 | 38.6094358307609 | 38.6094358307609 | 180.217979680121 | -45.9035483231257 | 141.610728444141 | -45.4928328844451 |      |        
 14 |     13 |     12 | 29.5829181472758 | 29.5829181472758 | 181.039410557482 | -75.4750599081316 | 180.217979680121 | -45.9035483231257 |      |        
 15 |     13 |     14 | 39.4286821133412 | 39.4286821133412 | 181.039410557482 | -75.4750599081316 | 141.610728444141 | -75.4750599081316 |      |        
 16 |     14 |     10 | 29.9822270236865 | 29.9822270236865 | 141.610728444141 | -75.4750599081316 | 141.610728444141 | -45.4928328844451 |      |        
 17 |     15 |     13 | 39.2224758594282 | 39.2224758594282 |              220 |               -80 | 181.039410557482 | -75.4750599081316 |      |        
 18 |     15 |     16 | 38.0005743220152 |             1000 |              220 |               -80 | 251.682466010552 | -79.1714988562574 |      |        
 19 |     16 |     15 | 38.0539027874633 |             1000 | 251.682466010552 | -79.1714988562574 |              220 |               -80 |      |        
 20 |     17 |     16 | 48.3246366252935 | 48.3246366252935 |              300 |               -80 | 251.682466010552 | -79.1714988562574 |      |        
 21 |     11 |     18 |  115.27849852631 |  115.27849852631 |              180 |               -20 | 295.218302510699 | -23.7249146343713 |      |        
 22 |     18 |     17 | 56.4778705670458 | 56.4778705670458 | 295.218302510699 | -23.7249146343713 |              300 |               -80 |      |        
(22 rows)

I. Roundabouts

We have two roundabouts. First done with (1,2,3,4,5,6) and secund done with (18,19). So that is the reason why reverse_cost is enough expensive: reverse_cost=1000

In a first time, we want the path from edge=20 to edge=8. Using shooting_star, we have
routing=# SELECT * FROM shortest_path_shooting_star('SELECT gid as id, source, target, cost, reverse_cost,x1, y1,x2, y2, rule, to_cost FROM wr order by id',20,8,true,true);
 vertex_id | edge_id |       cost       
-----------+---------+------------------
        31 |      20 | 48.3246366252935
        29 |      19 | 38.0539027874633
        27 |      17 | 39.2224758594282
        23 |      14 | 29.5829181472758
        21 |      13 | 38.6094358307609
        17 |      10 | 33.4201752293529
        15 |       9 |               40
        12 |       7 | 53.8753258085636
         1 |       1 | 14.2572101668807
         2 |       2 | 11.0893168443772
         4 |       3 | 13.9884637834871
         6 |       8 | 62.5380849791951
(12 rows)
We have

Shortest path using shooting star from edge=20 to 8

II. Turn restrictions

Let's suppose now that we have following restrictions:

  1. from edge from 17 to 14 ;
  2. from edge from 16 to 10;
You can' tgo from 17 to 14 and from 16 to 10. The restricted edges are shown on the following picture


Restricted edges: You can't go from 17 to 14 and from 16 to 10

So we have to do

routing=# update wr set to_cost=100,rule='17' where gid=14;
UPDATE 1
routing=# update wr set to_cost=100,rule='16' where gid=10;

So we have
routing=# SELECT edge_id FROM shortest_path_shooting_star('SELECT gid as id, source, target, cost, reverse_cost,x1, y1,x2, y2, rule, to_cost FROM wr order by id',20,8,true,true);
 edge_id 
---------
      20
      19
      17
      15
      16
      13
      12
      11
       9
       7
       1
       2
       3
       8
(14 rows)
Beautifull...The final result is

Shortest path from edge=20 to 8

dimanche 20 juillet 2008

Vendredi soir et samedi soir: soirée au Tché de Juan-Les-Pins avec un pote antillais

En semaine j'avais fait la connaissance d'un ami antillais avec qui j'ai vite sympathisé. Sincèrement ça fait dun bien que d'être sur lacôte et de bouger avec quelqu'un des îles comme moi. Vendredi soir ca a été bien.Arrivé vers 00h30~1h00, ons'est retrouvé, on a commandé une bouteille de rosée, puis ti'punch etc...

Sincèrement nous avons passé une très bonne soirée. Nous sommes arrivé que depuis quelques mois sur la côte avec notre parcours à chacun, nos soucis, nos projets etc...mais on a su se trouver pour bouger ensemble et penser à autre chose le temps d'une soirée...Mais j'ai surtout noté et bien des gens de la place nous l'on fait remarqué, on s'est bougé! Pourtant rien d'extraordinaire, que ce soit à la Réunion, à Montpellier, ou à Juan, j'ai toujours bougé pareil. Je ne m'encombre pas des mentalités locales ou surfaites pour essayer de m'intégrer, mon pote aussi. C'est sûrement ça qui doit faire la différence! Tout à notre honneur, nous qui sommes des îles

Par contre contrairement à mes habituelles soirées, pour une fois le boss de la place nous a mis de la musique des îles. On a bougé comme des gamins enragés et heureux le temps d'une soirée.

Samedi soir, en début de soirée, je suis allé au Quai Sud d'Antibes histoire de prendre un truc frais à boire. Et là j'ai discuté avec la serveuse -qui au pasage était très charmante-. Et là elle me parle comme si elle me connaissait déjà sans gêne. J'ai été quelque peu surpris. Et quand elle m'a dit qu'elle m'avait déjà vu au Tché et qu'elle y allait souvent. Là je me suis dit..Houla apparement bouger et danser ca marque les esprits !

Samedi soir, on a remis ça de 1h00 à la fermeture à 5h00. Là aussi c'est resté très festif . Mon pote et moi ont été chauds comme de la braiseLOL....Y'a pas à dire faire la fête c'est sûrement gravé dans les gênes. On a cassé la blague avec des gens de la place en fin de soirée mais tout celà restait enfantin. Pas de prise de tête, histoire de parler ouvertement et faire connaissance.

Sincèrement on été pa l'er ek' lo band' moun' autour de nou! C'était Réunion et Antilles en force...! Kawo fé ti ma!? Ti bouz' enkor' ?

Y'a même eu à notre demande un bon son raggae rien que pour nous. J'en ai profité pour demander au DJ de me passer Relax de Mika, histoire de bouger une dernière fois ! Il sait que je kiffe grave cette chanson. D'ailleurs quand elle est passée, j'étais le seul sur la piste dans mon délire.

Pour conclure, j'ai passé un week-end très très agréable. Aujourd'hui dimanche, je me repose. Dehors il fait pas beau. J'ai eu mon coloc' de Montpellier au tél' aujourd'hui. Lui aussi va bien et tout se passe bien pour lui.

[OpenLayers] Une bibliothèque J.S de l'enfer de la mort qui tue le diable pour les SIG.

Hier soir avant de sortir pour aller rejoidnre Fabrice (mon pot' antillais au Tché) , j'ai voulu adapter le workshop de CampToCamp (équipe de David Jonglez que je salue au passage pour leur travail sur le FOSS4G2007 pour pgrouting) à mes propres petites données. J'ai retouché les scripts comme il le fallait. Après mes modifications, j'ai regardé les résultats dans le navigateur Opera et là..........

J'ai été très surpris par ce qu'est capable de faire cette librairie c'est complètement bleuffant

Il y a plus d'un an de celà, j'avais entendu parler de cette fameuse librairie. Mais de là, à voir qu'elle affiche le résutlat d'un calcul d'itinéraire sans souci est complètement sidérant! Les manipulations possibles en SIG sont incroyables. J'ai beaucoup de retard à combler par rapport à mon manque de connaissance sur cette librairie. Elle est incontestablement surprenante! Je ne manque par ici de qualificatifs pour en parler et ne cache pas non plus mon grand étonnement de son interaction avec beacoup de choses: Google Maps, Virtual Earth etc...

En me rendant sur le site, j'ai aussi parcouru la galerie des projets existants reposant sur cette librairie. pas mal du tout! Cet après-midi, j'ai google-isé opelayers sur le Web francophone. J'ai certes trouvé des liens intéressants mais pas beaucoup de tutoriaux.

Site du projet: http://www.openlayers.org/

vendredi 18 juillet 2008

A Dalox et à sa petite famille...

Après avoir manzé zordu, je me suis connecté qaund j'ai vu le commentaire d'un ami réunionnais qui vit à Montpellier http://www.davidgis.fr/img/smiley/ExtraHappy.png en la personne de Dalox http://www.davidgis.fr/img/smiley/SunGlasses.png. Un boug que j'ai pas vu depuis un bon moment déjà:

"Té mounoir komen i lé??? Ti bouz' enkor'?? Trop heureux de voir le blog de ton fiston! Il ressemble à quelqu'un (ou à deux) personnes que je connais "

Ca fait trop plaize que de voir que tu es encore là ! Je vous passe le bonjour à tous: ta petite femme, ton fils et surtout ton chat ! Je remonte la semaine du 28, j'aurais je pense l'occasion de vous revoir.

Bisoux http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png http://www.davidgis.fr/img/smiley/Kiss.png

mercredi 16 juillet 2008

Week-end de 3 jours bien mérité , et mizik créol' la Réunion de youtube

Ce week-end du 14 juillet a vraiment été le bienvenu http://www.davidgis.fr/img/smiley/Happy.png.

J'ai profité de ce lundi pour parfaire la démo en flash (en utilisant Ming) pour A*. Aujourd'hui j'ai profité d'appeler la famille à la Réunion pour voir où en sont les préparatifs du mariage; Tout va pour le mieux (tant mieux http://www.davidgis.fr/img/smiley/Kind.png!). Ca fait du bien de prendre des nouvelles fraîches de la famille vu que le grand jour approche à grand pas. Ce petit coup de téléphone a bien aiguailé ma journée .

Ces temps-ci au boulot dans les oreilles c'est les chansons de Ousanousa que j'arrête pas d'écouter (pompé sur youtube en utilisant un add-on de FireFox qui extrait la musique en flv et reconvertie en mp3 par ffmpeg http://www.davidgis.fr/img/smiley/Teeth.png). Ca fait bizarre quand j'ai ma mère au téléphone j'ai l'impression qu'elle est juste à côté de moi.

Sûrement que le fait d'être à Antibes/Juan-Les-Pins me rappelle un peu quelque part la Réunion. Mais c'est qui est vraiment prenant c'est de lire les commentaires http://youtube.com/watch?v=LMRjwnLge-M&feature=related ca fait vraiment trop plaize et donne envie de rentrer! Té ouai té.

A ousanousava et les zot avec ca fait vraiment trop plaisir http://www.davidgis.fr/img/smiley/Touched.png!J'ai trouvé quand même le temps entre deux test en SQL pour convertir tout ça. Le boug lé bon té pou fé son travail ek' son band' z'affair mizik http://www.davidgis.fr/img/smiley/SunGlasses.png!!! Y'a un de mes vieux ptes de fac (Yannick) qui serait content je pense de voir ce que je suis devenu grâce à lui par rapport à toutes mes soirées passer à l'IREMIA (salle informatique la fac des sciences de la Réunion) entre 1996-2001 . Une fameuse salle que j'ai lontemps squatté de mon DEUG à ma maîtirise de maths . C'est ce boug qui m'a appris à me démerder sous GNU/Linux.

Ah en parlant musique, y'a même un collègue de bureau qui a été à la Réunion qui doit me ramener un CD de Basse Terre http://www.davidgis.fr/img/smiley/Wink.png. Ca lé bon mounwar! Ca me permettra d'agrandir ma collection

Sur les coups de 23h00 ce soi, je suis allé prendre à la température de Juan en prenant un verre au Tché avant de rentrer me couche!r

lundi 14 juillet 2008

Chaudes journées mais agréable fraîcheur en soirée sur Juan pour la semaine du 7 juillet

Oh non pour une fois je ne me plaindrais pas du temps que j'ai eu la semaine du lundi 7 juillet au dimanche 13. En soirée tous les soirs de la semaine, il a fait agréablement bon en soirée! Ni trop froid ni trop chaud, un temps idéal pour sortir comme je les aime

Contrairement aux nuits chaudes de la semaine précédente, j'ai dormi d'un trait tous les soirs de cette semaine avec une certaine difficulté je l'avoues à quitter mon matelas le matin. Résultat des courses: arrivée assez tardive au boulot cette semaine ...sauf vendredi matin où pour la première fois - et fait si rarissime que celà vaut bien un billtet sur le blog - j'ai été le premier à être arrivé à mon bureau ..y'avait personne vers 8h45

Cette semaine en rentrant du taf, je me susi habitué à m'arrêter au quai sud d'Antibes, histoire de prendre un café et laisser les voitures passer. En effet madi, mercredi et jeudi, il y avait beaucoup de circulation par rapport aux semaines précédentes à la sortie de Sophia vers 19h30~20h30

Pour faire suite à mon précédent billet, où il fut question du repas de la soirée avec rougail saucisse, riz et haricos rouges, une bonne heure et demi a été nécessaire avant de décoller pour rejoindre mes connaissances du Tché! Je suis arrivé sur place vers 2h00 du matin.

Sur place, comme d'hab, discut' avec une gadjique j'ai rencontré qui m'a offert un verre! La gadji en question est une charmante dame de la région de Bordeaux qui est arrivée comme moi récemment sur la région. En discutant on en ait arrivé à la même constatation. On dirait qu'ici il faut attendre vraiment les 1h00~2h00 du matin pour voir les gens vraiment se lacher. Comme s'il y avait une certaine heure réglementaire pour se lâcher ..LOL..Mais bon chaque région ses us et coutumes. Ca m'a fait du bien de sortir! Un peu de relax parfois ca motive

Dimanche pas bougé de la villa sauf pour mon rituel au café du coin! Le mieux ca a été vers 20h20 pour matter un épisode de Zorro. Episode certes vu et revue mais celà n'enlève rien quant au plaisir de revoir quelque chose qui vous rappelle votre tendre jeunesse !

Lundi c'est jour férié: au programme café au bar du coin, bouffe et dodo ! Pas plus ni moins !

vendredi 11 juillet 2008

Tutorial for PgRouting 1.02 on Win32 updated!

Today I've updated my tutorial about pgrouting on win32 (for PostgreSQL 8.3.Y). TSP is now available. I've to change tsp_astar_directed() function (using astar_sp_directed() instead of astar_sp_delta_directed()

The tutorial is available at http://www.davidgis.fr/documentation/pgrouting-1.02/

As usual, link for binaries is http://www.davidgis.fr/download/pgRouting-1.02_pg-8.3.3.zip

Have fun !

mardi 8 juillet 2008

[ffmpeg]Chanson créole sur youtube "La rosée tombée" + conversion flv / mp3

Ca c'est de la muzik http://fr.youtube.com/watch?v=Qs1p0HdmZ8k

J'ai utilisé un plugin fast video download de firefox pour extraire la musique au format flv

Puis pour la convertir de flv vers mp3, je l'ai envoyé sur mon serveur à Montpellier et ensutie

ffmpeg -i la_rosee_tombe.flv la_rosee_tombe.mp3

Il a suffit de la ramener à mon ordi de bureau ensuite à coup de scp...Cool . Ca fait plaisir d'avoir ce genre de musique à disposition au bureau. J'en ai profité pour récupérer aussi d'autres chansons

samedi 5 juillet 2008

Soirée devant Oggy et repas créole, visite de sites youtubes sur chansons de la Réunion, et virée sur Juan

Sur les coups de 20h05, ce soir j'attendais avec impatience le début de mon dessin animé préféré du samedi. Mais ces c... de chez Gulli , on commencé sa diffusion que vers 20h20. Du coup je n'ai pu regarder qu'un seul épisode. Ouin Ouin...!

Ce soir épisode "Solitude" où Oggy s'était enfin débarassé de ses cafards.


Oggy dans toute sa splendeur, flemmard, gros

Joe et son pote: petit par leur taille de cafard mais vicieux comme pas possible

Le plus marrant c'est qu'il arrive en effet à s'en débarasser en les enfermant dans une boîte. A la fin habitué à leur présence, il décide de réouvrir la boîte qu'il avait abandonné au milieu de la rue. Et puis le drame. Un camion contenant le même type de boîte se retourne sur la route. Les boîtes se mélangent à sa boîte. La dessus, il essait de réouvrir toutes les boites

Après celà, je suis allé discuté avec ma coloc, fumant une clôpe sur la terrasse. Je susi ensuite allé me préparer mon repas du soir. J'ai commencé l'écriture ce billet. Je suis allé mangé: riz, lentilles, carry poulet et salade...

Pour la soirée, direction les bars de Juan (Iguane, Tché etc...)...J'espère que Gérald sera là ce soir (un habitué du Tché). Celà fait un moment que je ne l'ai pas croisé. Un mec fort sympathique et drôle . Pour un samedi soir, il risque d'y avoir du monde ce soir à Juan. Tant mieux...!

Avant de sortir ce soir, je suis allé écouter sur youtube des chansons de mon île chérie, des groupes comme Ousanousava, baster. Ca fait trop plaisir d'entendre cette belle musique qui vous prend aux tripes. Notamment de lire les commentaires de mes compatriotes exilés loin de l'île.

Ce qui me fait super plaisir ces temps-ci, c'est de pouvoir aller au taf en tongues. Té ouais té! Celà à l'air con et ridicule mais pouvoir mettre la paire de savates que mon compatriote Dalox m'a rapporté de l'île il y a deux ans déjà, celà me fait trop plaisir. C'est juste un bout' de plastique mais c'est mon siper paire savate deux doigts de la Réunion . Aussi autre chose, c'est de pouvoir bouger dans des bars comme l'Iguana et le Tché où en tongue, je peux rentrer sans me prendre la tête, contrairement à d'autres endroits de la côte d'azur où il faut être sapé comme un commercial pour rentrer! Sincèrement laisse tomber!

Chemin le plus court de mon appart' à Castelnau-Le-Lez à la maison de la télédétection de Montpellier

Mardi 17 juin, j'avais une formation sur MapServer/PostGIS à donner à la maison de la télédétection de Montpellier. Je me suis dis que j'allais tester la version 1.02 de PgRouting pour voir si je pouvais trouver le meilleur chemin (bien que je connaisse un chemin pour m'y rendre.

Il faut commencer par trouver mon point de départ. Moi c'est la rue Aristide Briand sur Castelnau-Le-Lez

Point de départ

On allume Google Earth, on localise un point sur la carte pour identifier le tronçon adéquate. J'ai donc choisi le point ;POINT(3.896206 43.631734)

testgis=# select id,nom,distance(transform(setsrid(the_geom,27572),4326),'SRID=4326;POINT(3.896206 43.631734)'::geometry) from 
routing_cll order by 3 asc limit 1;
  id  |          nom           |      distance       
------+------------------------+---------------------
 9568 | AVENUE ARISTIDE BRIAND | 1.2514044022887e-05
donc id=9568

Point d'arrivée

La Maison de la télédétection étant situé dans la rue Jean-François Breton, toujours sur Google Earth, j'ai cette fois-ci pris le point POINT(3.876753 43.646214)
testgis=# select id,nom,distance(transform(setsrid(the_geom,27572),4326),'SRID=4326;POINT(3.876753 43.646214)'::geometry) from 
routing_cll order by 3 asc limit 1;
  id  |           nom            |       distance       
------+--------------------------+----------------------
 1137 | RUE JEAN-FRANÇOIS BRETON | 5.92607633717804e-06
(1 ligne)

Création d'une table temporaire et export en KML avec ogr2ogr

On se crée une petite table temporaire aller qui contiendra le trajet. Pour celà, on utilise la fonction shortest_path_shooting_star()
psql -d testgis -c "begin;\
drop table aller;\
create table aller(gid int4) with oids;\
SELECT AddGeometryColumn( 'aller', 'the_geom', 4326, 'MULTILINESTRING', 2 );\
insert into aller(the_geom) select transform(setsrid(the_geom,27572),4326) from (select * from routing_cll where id in\
 (SELECT edge_id FROM shortest_path_shooting_star('SELECT id, source, target, cost,reverse_cost, x1, y1, x2, y2, rule, to_cost\
 FROM routing_cll',9568,1137,true, true))) as foo;end;"
On exporte le tout en KML
ogr2ogr -f KML detection.kml PG:'host=localhost dbname=testgis user=postgres password=***' -sql "select * from aller"
On affiche le tout dans Google Maps

Chemin pour aller de chez moi à la maison de la télédétection
En plus celà m'a permis de trouver un raccourci que je ne connaissais pas !

vendredi 4 juillet 2008

Premières semaines d'été sur Antibes/Juan-Les-Pins

Ca fait déjà deux semaines que la languette sa marraine de saison d'été est arrivée sur Antibes/Jua- Les-Pins. Il fait chaud depuis deux bonnes semaines bien comme il faut ...!

Résultat des courses: pour éviter de me farcir l'heure de pointe 8h30~9h25 vers Sophia, je démarre assez tôt pour aller au travail (ou soit vers 10h00 )...Certains soirs je sors me balader dans les ruelles de Juan, histoire de voir passer du monde, front de mer etc...Ca change par rapport à la période de février/mars où il n'y avait personne.

Pour un premier été, il y a du beau monde! J'en ai profité aujourd'hui pour appeler mon colocataire sur Montpellier, histoire de voir si mon bâtard d'amour de siamois allait bien. Aux dernières nouvelles, il se porte comme un charme ainsi que mon coloc'...Tant mieux!

Mardi soir, l'Iguana ouvrait ses portes pour l'été, car ils ont changé la formule pour l'été en proposant des plats à emporter ainsi que leurs horaires d'ouvertures. J'ai revu un couple d'amis à qui j'avais donnée RDV pour la soirée! Mais il a fait bien chaud mardi soir. Au moins 25 à 28°C jusqu'à minuit bien que l'on soit à proximité de la mer.

Sinon au niveau taf, tout se passe bien pour le moment! Hier j'avais posté un mail sur la mailing-list de postgis pour prévenir que j'avais compiler la version win32 de pgRouting 1.02. Aussitôt les mecs de chez pgrouting ont mis mes fichiers en lien sur le site

Bon ce soir, c'est vendredi. Il est déjà 22h40. Je pense que je vais aller traîner du côté du Tché, boire un ou deux verres ensute rentrer à la villa. C'est le début du week-end !

samedi 28 juin 2008

Hardy Heron: Pinnacle PCTV DVB-T Stick et Kaffeine (TNT 1/2)

Levé vers 8H20, ce samedi matin, celà faisait un moment que l'idée de m'offrir un récepteur TNT portable me trottait dans la tête. Ni une ni deux, je suis allé me renseigné sur le site http://doc.ubuntu-fr.org/ concernant les cartes compatibles linux. Je me suis pris un petit café, en bas de chez moi. J'ai pris la voiture et direction le carrefour d'Antibes

Sur place, je n'avais le choix entre trois cartes proposées à la vente:

  • pinnacle pctv dvb-t stick;
  • WinTV digital terrestrial TV stick;
  • un autre pas compatible
Finalement, j'ai pris la première. De retour à la maison, j'ai suivi les indications de http://doc.ubuntu-fr.org/pinnacle_pctv_dvb-t_stick_72e. Ca a marché du premier coup !
mkdir pinnacle_pctv_dvb-t_stick
cd pinnacle_pctv_dvb-t_stick
wget http://linuxtv.org/hg/v4l-dvb/archive/tip.tar.gz
tar -xvzf tip.tar.gz
cd v4l-dvb-aef02567c2d9/
make
make unload
make install
cd /lib/firmware/
wget http://www.wi-bw.tfh-wildau.de/~pboettch/home/linux-dvb-firmware/dvb-usb-dib0700-1.10.fw
Un petit coup de dmesg
[ 5514.855410] dib0700: loaded with support for 7 different device-types
[ 5514.855836] dvb-usb: found a 'Pinnacle PCTV 72e' in cold state, will try to load a firmware
[ 5514.884817] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.10.fw'
[11952.135587] dib0700: firmware started successfully.
[11952.340041] dvb-usb: found a 'Pinnacle PCTV 72e' in warm state.
[11952.340121] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[11952.341366] DVB: registering new adapter (Pinnacle PCTV 72e)
[11952.487138] DVB: registering frontend 0 (DiBcom 7000PC)...
[11952.579838] DiB0070: successfully identified
[11952.579983] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb5/5-5/input/input15
[11952.606709] dvb-usb: schedule remote query interval to 150 msecs.
[11952.606721] dvb-usb: Pinnacle PCTV 72e successfully initialized and connected.
[11952.607280] usbcore: registered new interface driver dvb_usb_dib0700
Nickel! Ensuite, on installe kaffeine
apt-get install kaffeine
On demande à kaffeine de trouver les chaines, en étant en AUTO. Et on admire le résultat

Voili voilou! Maintenant je pourrais regarder les chaînes généralistes sur mon portable depuis ma chambre sans avoir à demander à mes colocatrices qui squattent le salon (journée et soirée) .

Comme je suis fan d'oggy et les cafards, je me suis précipité sur http://www.gulli.fr/Chaine-TV/Programme-tv pour voir les heures de diffusion...Rendez-vous donc aujourd'hui sur Gulli à 13h55, 16h39, 16h55, et 20h15...LOL l'été commence bien...

vendredi 27 juin 2008

Repas pour le départ d'un collègue. Lendemain au taf assez difficile...

Mercredi soir, rendez-vous fut pris avec mes collègues de travail de chez F.T pour aller manger au Quai Sud d'Antibes (pas trop loin du Carrefour d'Antibes) pour aller manger ensemble.

Ayant quitté le boulot sur les coups de 19h00~19h10, je suis arrivé chez moi, une petite douche et en route pour le restaurant. Nous étions au moins une bonne vingtaine. La star de la soirée est arrivée un peu plus tard. Nous sommes passé à table. Pas d'entrée pour tous, direct le plat de résistance. Je me suis pris un magret au canard accompagné de riz. Ayant fini mon plat, tous en observant certains de mes collègues nous sommes quand même resté sur notre faim .

Le dessert heureusement a permis de faire passer l'envie et apaiser ma faim:une belle banane flambée .

Je suis rentré sur les coups de 22h30~23h00. Le lendemain, j'avais oublié de mettre le réveil. J'suis donc arrivé un peu en retard au taf. Dire que depuis lundi je m'efforce d'arriver entre 8h00 et 9h00 , histoire de ne pas tomber dans les embouteillages pour que la voiture ne chauffe pas!.

La matinée fut assez rythmée, notamment par rapport à un souci technique que j'ai quand même réussi à résoudre sur les conseils et l'expérience d'un collègue. C'est le deuxième jour que j'ai avec des remontés d'erreur sur PostgreSQL que j'avais jamais rencontré auparavant.

Mais bon tout est rentré dans l'ordre. Ce qui m'a le plus gêné c'est d'être en train de gérer plusieurs choses à la fois - chose que je sais faire mais qui parfois sont assez intenables -. Il faut relativiser. J'en ai profité pour apprendre des choses sur mon SGDB favori que je ne soupconnais pas. Comme quoi on apprend tous les jours!...

Pour me changer les idées le soir, je suis allé à Tché d'Antibes. J'ai revu la troupe habituelle, 2 petits verres, je me suis posé, pris deux sandwichs au snack d'à côté puis retour à la villa. Comme c'est l'été, j'en ai aussi profité pour changer ma fond d'écran. Un beau fond d'écran consacré à la star des stars, jana defi


Fond d'écran de Jana Defi sur mon portable bremko

Remarque: au taf j'ai fait de même rien ne vaut vi, psql et jana en fond d'écran comme IDE de travail . Ma nouvelle collègue de travail a rougi en voyant Jana...mdr

Vivement vendredi soir que je sois en week-end. Vendredi ca devrait être plus relax au taf, cool!

mardi 24 juin 2008

Petite virée sur les plages de Juan en début de soirée...Petite pensée vers mon île de la Réunion et mes amis de Juan-Les-Pins et de Castelnau-Le-Lez!

Ce soir, je nana sorti du taf assez tard vers 20h00, histoire de ne pas connaître lo band' ralentissements que j'ai connu ce matin vers 9h00. Une fois rentré à la villa, j'ai mangé avec mes colocataires: émincé de veau à la sauce créole, riz et petis poids verts...Par la suite, histoire de digérer un peu, je suis allé bat' un carré sur la plaze de Juan.

Mounwar' navé do moun su le bord la plaze !!! Je me suis posé un moment, histoire de profiter de la vue, fumer une ou deux clopes , attendre que les températures s'adoucissent avant de rentrer....Il est vrai que ces temsp-ci j'ai quand même une ou deux décisions assez importantes à prendre concernant les mois à venir. Celà me fait du bien d'être au calme, posée, voir le sourire revenir au visage des gens depuis samedi, vu que l'été a commencé

A l'heure où j'écris ces quelques lignes, il est déjà 2h00 du matin à la Réunion (minuit en métropole). Dans deux heures, le coq dans le poulailler va se mettre à chanter, comme à son habitude. Mon père va se lever sur les coups de 5h00~6h00. Il prendra son café que ma mère aura préparer et conserver dans une bouteille au frigo....

..quand j'étais petit et que je n'avais pas encore le droit de boire du café, je me remémore ce moment où je voyais mon père déposer sa tasse dans levier! Il restait toujours une gorgée dans le fond de sa tasse. Une fois tout le monde parti, je récupérais la tasse pour boire cette gorgée. Aux yeux du monde, celà peut paraître absurde! Le café était froid mais ce n'était pas la froideur du café qui me génait...Loin de là!

Aujourd'hui encore à l'âge de 30 ans, j'ai gardé cette habitude de boire du café froid. J'en ai connu des gens que celà pertube, pas moi! Une fois habitué à quelque chose, celà sert de repère! C'est aussi simple que celà...

"Ce sont parfois les choses les plus simples qui forgent un homme. Une fois forgé, il peut à son tour forger son épée avant d'aller croiser le fer sur les champs de bataille et revenir sur ses propres terres(...) - sur les terres de mon île, l'île de la Réunion en son sein et en son nom -...."

Dédiace personnelle à toutes les personnes qui se reconnaîtront que j'ai rencontré cette année qui m'ont aidé, accueilli chaleureusement sur la côte d'azur et ceux de Montpellier/Castelnau-Le-Lez (hormis certains sales trous du cul...) , soutenu, accordé de leur temps et bien plus et aussi mon gros siamois d'amour Simba. L'été est là et je compte bien en profiter . A vous tous merci!

C'est sur les coups de 22h30~23h00 que je suis rentré à la villa! J'ai traîné un peu sur le Web et je suis allé me coucher

dimanche 22 juin 2008

LIRC: lirc et lircmd en service sous Hardy Heron

Je suis passé récemment sous Hardy (Dapper vers hardy heron). Sous Dapper j'avais déjà configuré ma télécommande ATI Remote Wonder I pour qu'elle démarre proprement avec Xorg. A celà, j'avais lirc pour lancer mes applications et lircmd pour que ma télécommande émule ma souris. Depuis sous Hardy, obligé de redémarrer en deux fois gdm pour que lircmd marche

Pour faire mieux, on peut tout installer en service. Le fichier en question est /etc/init.d/lirc dont le contenu est

#! /bin/sh
#
# This is an init script for Debian 2.1 Slink distribution.
# Copy it to /etc/init.d/lirc and type
# > update-rc.d lirc defaults 20
#


test -f /usr/local/sbin/lircd || exit 0
test -f /usr/local/sbin/lircmd || exit 0

case "$1" in
  start)
    echo -n "Starting lirc daemon: lircd"
    start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --device=/dev/lirc/0 -L /var/log/lircd.log
    echo -n " lircmd"
    start-stop-daemon --start --quiet --exec /usr/local/sbin/lircmd /etc/lircmd.conf
    echo "."
    ;;
  stop)
    echo -n "Stopping lirc daemon: lircmd"
    start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircmd
    echo -n " lircd"
    start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircd
    echo "."
    ;;
  reload|force-reload)
    start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircd
    start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircmd
    ;;
  restart)
    echo -n "Stopping lirc daemon: lircmd"
    start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircmd
    echo " lircd"
    start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircd
    sleep 1
    echo -n "Starting lirc daemon: lircd"
    start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd  -- --device=/dev/lirc/0 -L /var/log/lircd.log
    echo -n " lircmd"
    start-stop-daemon --start --quiet --exec /usr/local/sbin/lircmd /etc/lircmd.conf
    echo "."
    ;;
  *)
    echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}"
    exit 1
esac

exit 0
Ceci est un script que j'avais trouvé sur le Web avec mes propres configurations mis en évidence ci-dessus. Il lance comme il se doit lirc et lircmd mais Xorg ne reconnaît pas lircmd. Du moins le périphérique en question /dev/lircm n'est pas détecté, ce qui explique qu'il faille lancer gdm en deux fois....Par rapport à ce qui est mentionné,et pour ne plus avoir à faire celà (lancer deux fois gdm), il ne faut pas faire
update-rc.d lirc defaults 20
mais
update-rc.d lirc defaults 10
donc 10 à la place de 20. Et it is Ok

mardi 17 juin 2008

Formation PostGIS/MapServer à la maison de la télédétection de Montpellier

Ayant bénéficié d'un congé et autorisation exceptionnelle de la part de ma boîte, j'en ai profité pour donner aujourd'hui une formation sur PostGIS dispensée à la maison de la télédétection de Montpellier. Contacté par M. BARBE, il y a quelques temps de celà, j'ai pu mené à bien cette formation.

Il y avait du monde (plus de 10 personnes). Commencé vers 9h15 au lieu de 9h00 (j'arrive toujours en retard ...), la formation s'est très bien passée! On m'en posé des questions plus que pertinentes sur l'utilisation de PostGIS. Ca m'a quand même fait très plaisir de donner cette formation! J'en ai profité le midi pour aller voir mes anciens locaux de vert-bois (mon ancienne citée universitaire).

Sur la formation , il est vrai qu'il y avait beaucoup de choses à voir mais bon j'ai essayé autant que peut se faire de ne pas trop entrer dans les détails techniques! La journée s'est clôturé par une séance de questions! D'un point de vue strictement personnel, celà m'a beaucoup plu de la faire. Sans rien préparer , tout s'est très bien passé! Celà faisait plus d'un an que je ne m'étais pas livré à ce genre de formation et le retour des participants m'a énormément fait plaisir...D'un point de vue professionnel, quelque part j'avais une revanche à prendre envers un certain Monsieur qui résumait mes compétences professionnelles à cette phrase, il y a plus d'un an

de tout façon tu n'es doué que pour faire de la documentation sur PostGIS

Aujourd'hui les gens ont bien vu que mes compétences vont bien plus loin que tes dires!, tiens-le toi pour dit! J'avais besoin de me prouver à moi-même sur mes propres terres à Montpellier que j'étais encore capable de donner des formations, éprouver le plaisir de la faire sans penser rentabilité uniquement comme toi! Ce qui explique aussi ma sortie du circuit!

Je suis modeste de nature mais pour un fois, cher Monsieur quand tu liras ceci, laisse moi te dire que tu t'es sacrément mais vraiment gourré sur mon compte! J'ai vraiment du mal à croire ce que je peux entendre sur les retours que tu donnes lors de tes formations sur PostGIS ou de la part de tes collègues, sincèrement mais vraiment! C'est vraiment prendre les participants pour des vaches à lait, comme on dit!!! Plus que scandaleux quand on prétend être dans l'Open-Source. Faudrait d'abord que tu apprennes à avoir l'esprit open!!!! Etant sorti du circuit depuis un bon moment déjà, j'ai vraiment du mal à entendre ce que j'entends des formations que tu donnes.

Aujourd'hui j'ai au moins le sentiment d'avoir essayé de former des personnes sans essayer de les induire en erreur ou leur raconter des idioties! D'avoir le sentiment de leur offrir un peu de mon savoir sans penser qu'au fric! Chose qui me dégôute profondément!

Quand je donne une formation sur PostGIS que je n'arrive pas à répondre, je répond simplement que je ne sais pas et ne cherche pas à me sentir vexer ou à me la péter comme toi ou tes collègues! Mais bon je ne m'étalerais pas plus sur ce sujet! Tout ca c'est du passé depuis que je suis sorti du circuit!

Vers 18h30, je suis rentré à l'appart sur Castelnau et ai décollé sur les coups de 21h00, direction Antibes.

dimanche 15 juin 2008

Retour sur Montpellier

Hier j'ai pris la route pour Montpellier sur les coups de 14h15~14h30. Je suis arrivé au Crès. Je me suis arrêté à Hyper U du Crès, histoire de prendre un café. Il a fait chaud sur la route, j'étais en nage. Cette semaine, j'ai pu faire une mise au point pour la suite sur Antibes et lundi et mardi je profite de ce congé exceptionel (merci boss ) pour deux rendez-vous

  • lundi: rdv administratif (depuis le temps que je devais le faire);
  • mardi: donner une formation sur PostGIS/MapServer à la Maison de la télédétection de Montpellier. Dix-sept personnes sont prévues pour la formation . Celà fait du monde.... Mais bon rançon de la gloire oblige

lundi 9 juin 2008

Script Wifi automatique pour la connexion en fonction de Castelnau-Le-Lez ou Juan Les Pins

Que je sois sur Juan Les Pins ou à Castelnau, j'emmène toujours mon portable avec moi. Ce qui devenait assant c'était de devoir préciser à chaque démarrage les paramètres pour la connexion. Mais que celà ne tienne

Déjà pour mémo

  • connexion à Castelnau-Le-Lez: Il s'agit d'un connexion mettant un oeuvre FreeRadius+OpenLDAP. Le contenu du fichier sera la suivant
    ctrl_interface=/var/run/wpa_supplicant
    ap_scan=1
    network={
            ssid="belkin54g"
            scan_ssid=1
            key_mgmt=WPA-EAP
            phase2="auth=PAP"
            identity="david.techer"
            password="XXXXXXX"
            ca_cert="/etc/wpa_supplicant/certs/root_maison_CA-cacert.pem"
    }
    
    avec XXXX désignant mon mot de passe LDAP.
    Remarque: la configuration de FreeRadius avec OpenLDAP est quant même assez hard! J'ai bien galéré avant de réussir à tout configurer, notamment en ce qui concerne l'authenfication avec LDAP. J'avais passé une bonne partie de mes vacances de Noel pour réussir à le faire. FreeRadius commande un routeur BELKIN 54 G
  • Connexion à Juan Les Pins: une connexion en WPA des plus classiques. Le contenu est
  • ctrl_interface=/var/run/wpa_supplicant
    ap_scan=1
    network={
    	ssid="BOUZIANE"
    	scan_ssid=1
    	proto=WPA
    	key_mgmt=WPA-PSK
    	pairwise=TKIP
    	group=TKIP        
    	psk=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    }
    
#!/bin/sh
INTERFACE="eth1"
WIFI_LOG="/var/log/wifi.log"
IP_TEST="192.168.2.8"
TEST="true"
TENTATIVE=1
export PATH=/sbin/:$PATH
echo > $WIFI_LOG
echo "###################################################################" >> $WIFI_LOG
iwlist $INTERFACE scan|grep ESSID| awk '{print $1}'|sed -e "s:ESSID\:\"::g;s:\"::g"|\
while read essid
	do      #
		# Cas 1. connexionà castelnau-le-lez
		#
		if [ "$essid" = "belkin54g" ]		
			then 
				echo " Reseau := $essid" >> $WIFI_LOG;
				while $TEST
				do 
					rm -f /var/run/wpa_supplicant/eth1;
					/usr/bin/killall wpa_supplicant;
					echo " [ Test n°$TENTATIVE]">> $WIFI_LOG
					echo " * [redemarrage du wifi - $(date) ]" >> $WIFI_LOG
					/sbin/wpa_supplicant -i $INTERFACE -c /etc/wpa_supplicant/wifi_belkin54g.conf -D wext -B
					sleep 2
					echo " * [ connexion au wifi - $(date) ]" >> $WIFI_LOG
					dhclient $INTERFACE
					echo " * [ connexion au resau := $(date) ]" >> $WIFI_LOG
					IP=$(ifconfig $INTERFACE|grep adr:|awk '{print $2}'|cut -d ':' -f 2)
					if [ "$IP" = "$IP_TEST" ]
						then 
							cat /usr/share/doc/libsdl-erlang/examples/Beep.wav > /dev/audio
							echo " * [montage des repertoires des utilisateurs - $(date) ]">> $WIFI_LOG
							mount /home/user
							echo " Succes à la tentative n° $TENTATIVE" >> $WIFI_LOG
							export TEST="false";
					fi
					export TENTATIVE=$(expr $TENTATIVE + 1)
				done
	        fi
		#
		# Cas 2 .connexion à Juan Les Pins
		#
		if [ "$essid" = "BOUZIANE" ]
			then	
			echo " Reseau := $essid" >> $WIFI_LOG;
			rm -f /var/run/wpa_supplicant/eth1;
			/usr/bin/killall wpa_supplicant;
			echo " [ Test n°$TENTATIVE]">> $WIFI_LOG
			echo " * [redemarrage du wifi - $(date) ]" >> $WIFI_LOG
			/sbin/wpa_supplicant -i $INTERFACE -c /etc/wpa_supplicant/wifi_bouziane.conf -D wext -B
			sleep 2
			echo " * [ connexion au wifi - $(date) ]" >> $WIFI_LOG
			dhclient $INTERFACE
			echo " * [ connexion au resau := $(date) ]" >> $WIFI_LOG
			cat /usr/share/doc/libsdl-erlang/examples/Beep.wav > /dev/audio
		fi
	done
echo "###################################################################" >> $WIFI_LOG	

Par exemple ce soir, je suis sur Juan Les Pins. Le fichier de log - /var/log/wifi.log - sera alors le suivant

###################################################################
 Reseau := BOUZIANE
 [ Test n°1]
 * [redemarrage du wifi - lundi 9 juin 2008, 23:18:46 (UTC+0200) ]
 * [ connexion au wifi - lundi 9 juin 2008, 23:18:48 (UTC+0200) ]
 * [ connexion au resau := lundi 9 juin 2008, 23:19:11 (UTC+0200) ]
###################################################################
L'intérêt du script réside surtout dans la ligne
cat /usr/share/doc/libsdl-erlang/examples/Beep.wav > /dev/audio
qui émet un son lorsqu'une connexion est prête. L'idée par la suite est donc d'invoquer ce script dans les lignes du script de démarrage de GDM dans la partie "start)". Par la suite, en entendant le bip, je saurais que je suis connecté et donc je pourrais me connecter à ma session Gnome avec la connexion en Wifi déjà éablie

Upgrade de ma Dapper 6.06 LTS vers Hardy Heron 8.04 LTS

Hier je me suis décidé à passer à Hardy heron 8.0.4. Pour se faire, il a fallu lancer en deux fois la commande

gksu "update-manager -d"

A prévoir avant toute migration: au moins 2 Go de disponibles!

L'invocation de la première commande servira pour mettre à jour certains paquets. Quant à la seconde, il faudra cliquer directement sur le bouton qui propose la migration. Cette seconde étape s'avère assez longue et il vaut mieux patienter un bon moment et surtour le téléchargement de paquets et leur mise en place.

Pour le téléchargement, j'ai eu le temps d'aller au Mac Do, de revenir. Il faut compter au moins 2h00 à 3h00 de téléchargement.

Pour la mise en place, il faut compter au moins 1h30~2h00 d'installation. Ceci explique pourquoi j'ai matté le film Transformers le temps de l'installation en attendant juste histoire de cliquer sur le bouton adéquate pour la mise à jour/conservation de certains de mes paquets quand celà est demandé.

Les soucis rencontrés sont

  1. mauvaise résolution de l'écran: mon portable est en 1280x800, j'aurais penser quand tripotant en peu mon fichier /etc/X1/xorg.conf celà aurait suffit. Rien de celà! Un simple
    dpkr-reconfigure xserver-xorg
    aura sufit. Il faudra faire attention de répondre correctement aux questions posées.
  2. connexion au serveur LDAP: j'arrivais plus à contacter mon serveur LDAP qui est utilisé avec Samba pour en faire un PDC. En fait maintenant Hardy Heron ne prend plus en compte le fichier /etc/ldap/ldap.conf mais /etc/ldap.conf. Rien de plus simple que
    grep -v '^#' /etc/ldap/ldap.conf > /etc/ldap.conf
    On redémarre aussi NSCD (ou on reboot carrément la bécane)
    /etc/init.d/ncsd restart
    et c'était bon . Un petit getent pour vérifier que c'est bon
    david@bremko:~$ su david.techer
    Password: 
    david.techer@bremko:/var/lib/david/$ getent passwd|grep ^$USER
    david.techer:x:1009:513:Jean David TECHER:/home/user/david.techer:/bin/bash
Au niveau des nouveautés: c'est FireFox 3 beta 5 qui est installé et qui tourne du feu de Dieu (livré avec pleins de plugins), le gestionnaire système a été refait etc.....

Lundi matin sur Castelnau-Le-Lez (journée de repos)...le midi le long du Lez....

Levé sur les coups de 7h20, j'ai glandé un peu au lit avant de me lever. Je suis allé prendre mon café sur les coups de 8h20 ce matin au café de la place de Castelnau-Le-Lez. De retour à l'appart, j'en ai profité pour appeler la famille et savoir comment se passait les préparatifs du mariage de ma petite soeur prévu en août. Tout le monde là-bas va bien, tant mieux :) sauf qu'ils ont la grippe - l'hivers est en train de rentrer en ce moment à la Réunion donc chute de température...

Et comme dit mon papa: "le boug lé oblizé sort palto pour allé bataille dans la fré et pou allé nourrir canard dan' fon la cour ....Alors qu'ici c'est l'été. A ce titre l'emploi du terme "cagnard" ici me fait délirer quand je l'entends vu que chez moi, celà désigne autre chose -

Ce midi comme je faisais tourner une machine, j'en ai profité pour aller me promener au parc "Mon Plaisir" (à côté de la clinique) histoire de prendre la'ri et profiter de la fraîcheur du Lez. Je ne suis pas resté bien longtemps mais au moins 1/2 heure. A le Lez, c'est l'un de mes endroits préférés à Castelnau....toujours aussi calme et apaisé.

Hier soir, je me suis fait plaisir en regardant Transformers disponible sur les services VOD CANAL+ de la FreeBox. Je l'avais déjà vu mais j'ai bien aimé le rematter. Comment les robots se transforment, ca me fait halluciner! En tout cas, ce week-end de 3 jours m'aura fait un bien fou.

Ce soir, sur les coups de 17h00, je dois passer chez une amie de mon coloc' qui garde Simba pendant ses vacances. Hier elle m'a appelé et apparement Monsieur se plait là où il est . Je passerais lui faire un gros calin à mon gros bibou d'amour de siamois de la folie - que je kiffe - ce soir avant de rentrer sur Juan Les Pins.

dimanche 1 juin 2008

Un blog sur Jana Defi et des nouvelles de Montpellier

0. Mise à jour du 2009-11-17

Petite vidéo de lacharmante Jana Defi


Vidéo "Jana Defi Day With Part 01 / Pinupfiles.com"

1. Le blog sur Jana Defi

Il y en a des sites sur Jana Defi alias Maria Swan pour les connaisseurs., charmante fille d'europe de l'Est qu'on ne présente plus.

Mais il y en a un site qui a particulèrement retenu mon attention car c'est vraiment celui d'un vrai fan. Le site est http://jana-defi.blogspot.com/... ....Les images sont assez belles et on voit que c'est un fan le mec , comme moi avec mes fonds d'écran. Car y'a pas dire rien ne remplace ce bon vieux vi et un bon fond d'écran comme IDE pour développeur......Personnellement je suis fan...et là comme fonds d'écran y'a ce qu'il faut...Je me suis même amusé à faire le slideshow ci-dessous en utilisant Ming/Php






Petite slideshow de Jana Defi réalisé à partir de Ming/Php et la classe FlashSlideshow
Comme je dis toujours "On en fait de belles choses avec l'open source et tout ce qui est open d'ailleurs ! (à méditer)"

2. Simba et mon prochain week-end sur Montpellier

A part ça, mon coloc' de Montpellier devrait s'absenter une semaine. Celà lui fera du bien que de bouger un peu de Montpellier. Nous avons pu nous arranger pour garder Simba chez une de ses copines pendant son absence. Nous avons passé un moment à parler au téléphoe, histoire de tout planifier à nouveau pour l'appart et le reste le temps de son absence. A mon bibou d'amour ,


Mon gros bibou d'amour, au plaisir de te revoir le week-end prochain sur Montpellier...ton piti papa qui t'embrasse fort!.

Le week-end du 7 juin, celà fera un mois que je ne suis pas remonté sur Montpellier mais celà ne saurait tardé. Un mois c'est bien long loin de ceux qu'on aime même si certains sont à quatre pattes...

Ca me fera du bien que de retourner au pays même si ce n'est qu'à pas moins de 300km d'Antibes. Cette semaine au taf les après-midi m'ont paru bien long à ne plus en finir avec le temps de m... qu'on a eu...Vivement le beau temps!

Faire un collage de plusieurs images

ImageMagick fournit un utilitaire montage qui peut s'avérer très puissant pour coller à la suite des images et en faire un fond d'écran Par exemple pour coller les images

montage JANA-EXPERIMENTAL05-SET1-01.JPG JANA-EXPERIMENTAL02-SET1-03.JPG JANA-EXPERIMENTAL02-SET1-04.JPG\
 JANA-EXPERIMENTAL02-SET1-09.JPG JANA-EXPERIMENTAL05-SET1-03.JPG ../jana6/JANA17.JPG JANA-EXPERIMENTAL02-SET1-10.JPG \
JANA-EXPERIMENTAL02-SET1-12.JPG JANA-EXPERIMENTAL02-SET1-13.JPG ../jana6/JANA19.JPG \
-geometry 330x527 -tile 5x2 JANA.JPG
Ici j'ai listé les images de gauche à drote pour qu'elle tienne sur deux rangées de 5 images par ligne. L'image finale est JANA.JPG Pour obtenir les dimensions de l'image d'output, on installe libimage-size-perl
apt-get install libimage-size-perl
puis on fait
for img in JANA.JPG;do echo "dimension de $(basename ${img}):$(imgsize -r ${img})";done
dimension de JANA.JPG:1650 1054
Pour obtenir une imagette (réduire l'image d'un rapport de 4 par exemple), il faut d'abord calculer les nouvelles dimensions
 for dim in $(imgsize -r JANA.JPG);do echo $(expr ${dim} / 4);done
412
263
On utilise ensuite convert pour obtenir l'imagette
convert JANA.JPG -resize 412x263 jana.jpg
Au finale, on a l'image suivante

Imagette résultante du collage d'images
On en fait de belles choses avec Linux......notamment avec Jana Defi...

dimanche 11 mai 2008

(Petit )week-end de 5 jours de jeudi 8 mai à lundi 12 mai (2/2)

Samedi

Cinéma: Iron-Man

La matinée, j'avais des photocopies à faire pour Antibes. Je suis passé au coiffeur vers 14h00, histoire de dégager ma tête de la touffe de cheveux énorme qui commençait à pointer.

Petit sieste d'une 1/2 heure au retour et vers 16h30, j'ai tracé au Gaumont Multiplexe pour aller regarder Iron Man. Des collègues du taf m'en avaient parlé et m'en avais dit que du bien. Et j'ai pas été déçu d'aller le voir


IRON MAN: ze film ki déchire grave sa race

L'action et l'humour étaient au rendez-vous. Par contre pour un week-end de pont (voir de viaduc), il n'y avait pas grand monde samedi. Dans la salle quelques gamins étaient exité avant le début ddu film mais ils se sont vite calmés par la suite.

Samedi soir: Resto du bouzou puis verres à l'Australian Café

Samedi soir, mon colloc' m'a fait découvrir le bouzou (restaurant de gastronomie des îles et d'exotisme)..pourtant je vis sur Castelnau depuis plus de 3 as déjà et je ne connaissais pas....Je me suis régalé...J'ai calé et dut partir sur la terrasse au moins 3 à 4 fois pour fumer une clope et digérer. Il y avait de la bouffe réunionnaise, delicious

Sur les coups de 23h00-23h30, on a tracé à l'Australian Café, il y avait du monde et du beau petit cul......J'ai calé dans un fauteuil histoire de terminer la digestion, ai bu un p'ti punch et un martini. Sur les coups de 2H00 (heure de la fermeture), on est rentré à la maison...

jeudi 8 mai 2008

Lundi soir: anniversaire d'une amie au Ché de Juan-Les-Pins

Lundi j'ai attendu avec hâte de partir du travail pour aller rejoindre deux amies au Crystal. On a bu quelques vers. Plus tard dans la soirée, on est allé au Tché pour attendre une amie qui fêtait son anniversaire.

Elle a eu de beaux cadeaux de la part de tout le monde . Moi je me suis contenté de lui offrir une rose, le samedi précédent. J'en ai profité pour remercier son ami de l'accueil qu'il m'avait fait quand je susi arrivé il y a quelques mois à Juan-Les-Pins. Une petite larme a coulé pour le remercier d'un simple geste de bienvenue qu'il m'a offert pour me souhaiter la bienvenue.....c'était trop sympatithou de sa part

J'ai passé un agréable soirée mais j'ai du partir assez tôt car je devais retravailler le lendemain...

lundi 24 mars 2008

Week-end de Pâques...

Vendredi soir

Ce petit week-end de Pâques a commencé vendredi soir par un bon couscous vendredi soir avec mes coloc's d'Antibes...On était au moins 9 à tables au tour d'un délicieux couscous . Je me suis resservi au moins 3 fois. Terrible, le bide rempli comme pas possible! Pour prolonger la soirée je suis aller faire un tour à mes rendez-vous nocturnes habituels: la réserve, le crystal et l'iguana. J'ai terminé la soirée au crystal en charmante compagnie (...), un peu bourré mais bon. D'ailleurs, je dois offrir une coupe de champagne à une de ces dames comme je me suis engagé à le faire. Quand on est bourré mais bon vivant, on fait vraiment n'importe quoi!

Samedi

Le réveil pour reprendre la route pour tracer sur Montpellier a été assez difficile. J'ai du ingurgité plusieurs cafés avant de reprendre la route. C'est dans le bar de la veille que je l'ai pris. Mais sur le coup celà m'a vraiment fait drôle de voir les bars que je fréquente la nuit le jour. Pas les mêmes équipes, pas la même clientèle . On a bien l'impression que la nuit les démons sont lâchés, les gens plus relax ;) . Depuis deux mois que je suis ici, ca change vachement.

Sur les coups de 16h45, j'ai finalement décollé. J'suis arivé sur les coups de 20h00~20h30 à mon appart' de Montpellier. Simba m'a fait ma fête en me voyant: 15 jours sans me voir ils s'est affalé sur moi quand je me suis assis dans mon fauteuil . Le corps n'a pas fait long feu devant la télé: direction le clic-clac du salon pour dormir

Dimanche et lundi

J'ai pu profité de ces deux jours pour répondre au courrier, faire ma lessive, appeler la mama à la Réunion pour avoir des nouvelles de la famille, taper la discut' avec mon coloc'. Dimanche aprem', on en a profité pour sortir le batard de Simba en voiture, vu que celà faisait un long moment que je ne l'avais pas sorti! Royalil s'est vite fait à la voiture .

Un bon week-end de 3 jours pour se poser et se relaxer avant d'entamer les choses sérieuses. Celà m'a aussi permis de faire le point sur plusieurs choses pour la suite! Ces deux premiers mois ont vraiment été géniaux!

dimanche 14 octobre 2007

Samedi soir: Bouffe à la maison avec un pote et match rugby france-angleterre

Jeudi soir, j'avais croisé Ludo au bar de la Place. Je lui avais proposé de passer à la maison samedi soir, pour grailler et venir matter le match à la maison.

Le samedi arrivé, j'ai filé au Leader Price de Castelneau, pour faire des courses rapide, en m'arrêtant en chemin pour prendre un café au bar de la Place.

J'étais au fourneau vers 19h00. Au menu riz, cari poulet et rougail haricots rouges! Ludo s'est pointé vers 20h00 comme prévu !

Apéro, clope et discut' entre potes pendant au moins 3/4 d'heure avant de passer à table pour matter le match...On s'est régalé! Ludo qui me disait que c'était bon! Pourtant j'ai fait ça à la va-vite et à l'ancienne ! On a pris le match en cours!

Puis on s'est affalé dans le clic-clac avec Simba entre nous deux! Il venait de quémender à manger pendant que nous étions à table et là il digérait comme nous! Hélas on a perdu!

C'était une bonne soirée, après avoir passé tout mon aprem' à corriger des copies et préparer mes cours pour la semaine qui vient, ça m'a fait du bien de faire un petit break bien mérité simple et convivial à la fois.

dimanche 16 septembre 2007

Soirée resto au bar de Castelnau-Le-Lez

Après une semaine de taf bien rempli, nous sommes sortis au bar de Castelnau hier soir. J'en ai profité pour inviter Madame! Au menu: brochette, frites et salades. Purée ça fait du bien que de se poser ! Samedi aprem' et samedi soir ont été les seuls moments de la semaine où j'ai pu me poser pour faire autre chose que de penser au taf!

Y'avait pas grand monde au café de la place de Castelnau samedi soir mais une bonne ambiance bien sympathique: les habitués du samedi soir etc...! Enfin bref une semaine bien chargée! Et les autres à venir seront aussi du même style!

samedi 1 septembre 2007

Comment configurer votre firewall iptable pour recevoir le Multiposte de Free?

Après avoir squatté plusieurs tutoriaux sur le Web, j'ai enfin trouvé mon bonheur à http://forum.hardware.fr/hfr/reseauxpersosoho/Tutoriels/configurer-multiposte-free-sujet_27_1.htm.
Chez moi, j'ai simplement ajouté à mon script de firewall:
iptables -t nat -I PREROUTING -p udp -d 82.236.232.184 -j DNAT --to-destination 192.168.2.5
iptables -I FORWARD -p udp -s 212.27.38.253 -d 192.168.2.5 -j ACCEPT
Kool

dimanche 12 août 2007

Un week-end de tout repos et avancée dans la préparation de mes cours.

Bon ce début de week-end commence assez bien!

Vendredi soir: Soirée pizza

Ce vendredi j'ai eu la flemme de faire à bouffer! Résultat des courses: avec Cat' on a commandé des pizzas pour vendredi soir chez notre pizzaiolo préférée, situé au 6 rue Pasteur à Castelnau-Le-Lez (un peu de pub au passage car ses pizzas sont vachement bonnes). Commandées pour 19h50, elles sont arrivées pile poil à la maison vers 20h30. On s'est régalé! Puis ça a été soirée repos devant la téloche

Samedi: courses et pique-nique sur la plage

Comme j'ai pas voulu conduire aujourd'hui c'est Cat' qui a pris le volent et en a profité pour conduire. J'en ai donc profité pour me faire conduire (pour une fois ...Ca fait du bien.)...En début d'aprem' ensuite ça a été direction, Décathlon pour aller s'acheter des lunettes solaires! J'en ai pris une. On dirait un caïd en lunette, style mec de la mafia.

Puis course à intermarché à Jacou et retour à la maison. En début de soirée, virée au Petit Travers vers les plages. Y'avait pas grand monde mais on voyait que c'était des Héraultais sur la plage. Tout le monde autour de nous avait emmené son petit pique-nique! Arrivés sur les cours de 20h30, il commençait déjà à faire légèrement nuit. On est de suite passé à table: petite salade et poulet rôti, et des fruts en dessert. J'avais la panse bien pleinne.

Seulement, on est pas resté longtemps, comme il y avait des moustiques! Nous sommes arrivés à la maison sur les coups de 22h00. J'ai mâté New York Unité spéciale puis deux épisodes de 24h00

Sinon actuellement dans l'avancée des cours que je prépare pour la rentrée, je suis assez bien avancé. Le plus dur c'est surtout de rédiger et de préparer les séances de TD et de TP. Comme me disait un sale petit trou du cul de merde en mai - quand je passais un entretien pour une recherche d'emploi en mai - De toutes façons tu es doué que pour faire de la documentation et à qui j'ai rétorqué "J'ai d'autres chats à fouetter que de m'intéresser à ta boite.", depuis que je taffe, je peux dire que j'ai retrouvé la joie de vivre! Ca se ressent comme me le disent les amis autour de moi. A tous merci!

J'ai pu apprécié l'envers du décors quand on es dans la merde et que professionnellement, on ne peut compter sur personne à - à part une personne à Nîmes qui elle se reconnaitra -! Sincèrement l'ancien milieu professionelle que j'ai fréquenté (et surtout mon avant-dernière expérience professionnelle avec un con comme pas possible), je suis content de m'en être barré! Et pour rien au monde, je n'y retournerais. Je suis trop bien là où je suis maintenant!

Les gens qui ne pensent qu'au mot rentabilité, fric, à leurs petites affaires ou à leurs petites personnes à longueur de journée et qui n'ont vraiment rien à branler du facteur humain - important quand on doit travailler avec quelqu'un - je ne les fréquente pas! J'en ai eu ma tasse pendant ces 4 dernières années et ca m'a suffisament gavé, et fait vômir!

Voilà pas de race comme on dit! Business is Business à quoi je rétorque militaro execuadeo! La vie continue et elle continue bien !

samedi 28 juillet 2007

du 28 juillet au 20 août: 3 semaines de repos bien méritées

Ouf! Après 3 semaines de travail à apprendre à administrer mon futur réseau, j'ai enfin droit à 3 semaines de repos bien méritées ! Ca va me faire du bien . Ces deux dernières semaines ont été consacrés à des révisions sur Samba, LDAP, NFS...Ca va, je commence à appréhender tout ça ! Cette semaine, j'ai du me consacrer à l'installation d'un nouveau serveur! Lourde responsabilité que je n'ai pas rechigner

Du 28 juillet au 20 août, je suis en repos. Ce sera pour moi l'occasion de finir de préparer mes cours et de me plonger plus longuement dans les petits subtilités qui me manquent! Cat' est en arrêt jusqu'au 5! Ce sera l'occasion de se retrouver un peu, après tous ces jours à rentrer et à être facilement fatigué le soir, à cause de la chaleur!

J'en ai bien souffert ces deux dernières semaines avec ces 34°C! Vivement des températures plus clémentes! Bon à la maison, j'ai essayé de reproduire à l'arrache, ce que j'ai au bureau: Samba+LDAP+NFS pour avoir un beau PDC! Et ca marche nickel ! J'suis content! Le petit win2k que j'ai installé grâce à VMWare répond à mes attentes.

Au programme des congés:

  • repos;
  • profiter d'être en famille et recevoir la belle-famille comme il se doit;
  • affiner mes connaissances sur la Mandriva;
  • finir de rédiger mes cours pour la rentrée.

dimanche 1 juillet 2007

Atelier de peinture MALENA

Je profite ici de noter un lien sur un atelier de peinture auquel ma chérie a participé du 18 au 20 juin 2007 sous la direction de Malerna MERLO au CEMEA de Palavas-Les-Flots. Elle en a profité lors de cette séance pour faire cette ravissante peinture
Y'a pas à dire, ma chérie est douée . La version agrandie de la photo est disponible ici

vendredi 1 juin 2007

Théatre hier soir à Castries au foyer communal Henri Paulet

Avec ma chérie hier soir, nous sommes allés assister à une pièce de théatre "Un temps pour ...." au foyer communal H. PAULET de Castries. Pièce de Ruben Garcia Jeau, et avec la participation de plusieurs jeunes acteurs aussi bien de Castries que de Castelnau-Le-Lez, nous avons passés un bon moment. Nous sommes arrivés un peu en retard avec le mauvais temps qu'il y avait.

A notre arrivée, nous avons eu droit à un sketch de Sammy sur des jeux de mots trop bien fait . Malgré le mauvais temps, la salle était bombée . Après le sketch, nous avons eu droit à une pièce sur la jeunesse, la destinée et la fatalité. Parsemée de chansons interprétés par un chanteur et une chanteuse en herbe, ça valait le déplacement. Douces voix bien ennivrantes par des artistes en herbe...

C'était tellement bien fait que je n'ai pas vu le temps passé: la pièce s'est terminée aux alentours de 23h00....

vendredi 25 mai 2007

Compilation de PgRouting 1.0.0.a sous Windows - 2ème partie: téléchargement disponible

Bon je viens de terminer cet après-midi la compilation sous Windows. La version avec gaul, bgl et cgal est disponible à http://www.davidgis.fr/download/pgRouting-1.0.0.a-0_win32.zip.

Ou sinon l'installeur http://www.davidgis.fr/download/pgRouting-1.0.0.a-0_win32.exe dont voici une screenshot


Mon installeur perso pour PgRouting 1.0.0.a

ATTENTION: N'A ETE COMPILE QUE POUR POSTGRESQL 8.2.4!!!. Le répertoire d'installation par défaut sera C:\Program Files\PostgreSQL\8.2. Pour avoir les fonctionnalités: S'ASSURER EN PREMIER LIEU QUE VOTRE BASE CONTIENNE DEJA LES FONCTIONNALITES DE POSTGIS

psql -d VOTRE_BASE -f C:\Program Files\PostgreSQL\8.2\share\contrib\routing.sql
psql -d VOTRE_BASE -f C:\Program Files\PostgreSQL\8.2\share\contrib\routing_postgis.sql
Pour la suite http://www.davidgis.fr/documentation/win32/html/apa.html

Avec les pauvres vielles machines que j'ai à la maison, je n'ai pu la testé que sur windows XP roulant sous VMWare et sur un de mes deux portables. S'il y a des âmes charitables pour essayer de l'installer, ce serait vraiment sympa! Merci .

Infos: si j'ai pu faire les tests c'est surtout grâce à Anton de l'équipe de PgRouting qui m'a donné ce lien http://pgrouting.postlbs.org/wiki/CreateWindowsBinary

mercredi 23 mai 2007

Entre deux lignes de code...Ingrid Chauvin chez Marco sur M6 et Lazlo sur CartoonNetWork

Hier soir pendant que je programmais sous PostGIS/PostgreSQl, j'ai décidé entre deux lignes de code de faire une pause. Allé zou! Télécommande ATI Remote Wonder, on allume TVTIME,. Télécommande Freebox dans l'autre main, on allume la TV sur la freebox!

Et là je suis tombé sur Ingrid Chauvin venue faire la promotion pour son rôle dans la saga de l'été dans l'émisson de Marco sur M6. J'ai pas résisté à faire une petite copie d'écran d'un SMS qui passait par là:



No comment...

Finalement à la suite de son interview j'ai zappé sur Cartoon NetWork pour aller regarder «Camp Lazlo»



Après des heures de programmation...Ca c'est un bon programme...

dimanche 20 mai 2007

PHPMyWMS - un projet de Web Carto bien prometteur

Quand je suis tombé sur le projet SUAS Mapserver/PHPMyWMS développé par Easywms, je me disais «aller encore un outil comme CartoWeb ou pmapper ou un autre...». En fait pas du tout, celà n'a rien a voir avec ce genre de projet. Les petits plus:

  • on peut avoir un rendu basé sur openlayers qui fait un tabac ces temps-ci dans la communauté open-source;
  • sortie en SVG;
  • sortie en Flash statique avec MinG, un truc qui me botte ;
  • sortie en 3D en VRML, ça aussi ça me botte

Sortie en 3D de SUAS MAPSERVER.

Les petits moins c'est que c'est basé sur du MySQL. Bon ca marché sous Windows avec des projets comme xamp etc.. Sous GNU/Linux, faut quand même connaître, c'et vrai! J'ai jetté un coup d'oeil dans le code PHP. Bien codé en POO sans souci et bien fait, notamment pour le flash et le 3D! De la base!

Petite précision quand même pour les utilisateurs sous Linux, faut installer Ming, PDFlib (ainsi que d'autres outils basés sur cette extensions comme rosz ezpdf), connaître la compilation avec php etc...Le truc classique quoi !

Je pense que je vais m'attarder un peu sur le code de ce projet et bosser un peu son code car il m'intéresse personnellement .

Samedi: barbecue, petit soirée en amoureux et Ken le survivant

Samedi après-midi avec ma chérie, nous sommes resté un bon moment - au moins une petit heure - au café tenu par Christophe à Castelnau - place de la Liberté -. Nous sommes ensuite allés faire les courses au Leader Price. Nous sommes rentrés et avons fait un petit barbecue: cuisses et manchon de canard . Ouf celà m'a fait du bien de me poser comme ça un samedi, histoire de me retrouver posé avec ma belle tout un après-midi . Nous avons mangé assez tard, passé un bon moment à discuter de tout et de rien...

Ensuite sur les coups de 23h00, direction ma salle informatique pour mon nouveau rendez-vous du samedi sur Mangas, ich habe nommé Ken le survivant.... j'ai eu droit à 3 épisodes à la suite. C'était les épisodes où il rentre dans la citée de Kassandra. Un must pour les connaisseurs comme moi ! A ce propos, Ken est programmé le samedi soir et dimanche soir sur Mangas.


Ken le survivant le samedi soir et dimanche soir sur la chaine Mangas.

Par contre à un moment, je me suis devant la télé. Je me suis réveillé au beau milieu de la nuit ensuite. Là je poste ce billet avant d'aller me coucher à 6h00 de matin. J'ai regardé la télé en zappant sur toutes les chaines de dessins animés possibles. Par contre ce qui me ravit ces temps-ci , c'est que les Shadocks sont de retour sur Boomerang. Enfin c'est pas trop tôt depuis le temps que je les attendais en reprogrammation. Par contre, ce sont les tous derniers shadocks de 1999 qui sont rediffusés. C'est cool cà!

Conclusions: Un bon début de week-end comme je les aime! Dimanche ma chérie conduit vu qu'elle a eu son permis récemment! Kool! C'est Simba - notre chat - qui va trouver bizarre de voir sa mama conduire à la place de son papou .

dimanche 6 mai 2007

SpiderMan 3 et les films de cet été.

Hier je suis allé le voir au Gaumont Multiplexe de Montpellier. Pour la séance de 16h30 - première semaine -, y'avait un de ces mondes ! J'suis arrivé, j'ai fait la queue. Les panneaux interactifs qui fournissaient le nombre de places restantes mentionnait 94 places restantes. Même pas deux minutes plus tard, il en restait 84.

Du coup dans la salle, j'ai été aux premièrs rangs. Mais celà ne m'a pas emêché de matter le film . Que dire si ce n'est que c'était un bon film d'action. Moi qui a baigné dans l'univers de Marvel quand zétais petit: Iron-Man, X-Men. Comme troisième opus, c'était vraiment pas mal. C'est surtout Venom qui m'a fait craqué aussi bien fait que dans la BD avec ses nombreuses dents asserrées. Pour le reste, c'était plutôt pas mal que d'avoir 3 super-vilains que d'un seul pour une fois.

Par contre avant le film, j'ai vu la bande-annonce de Transformers. De la balle, ça promet en juillet cet été. Un de mes dessins animés préférés porté à l'écran. Je ne manquerais pas le RDV. Ce qui est dommage c'est que dans la bande-annonce, on ne devine pas les robots. C'est uniquement à la fin en voyant le symbole suivant

Y'a aussi Pirates des Caraïbes 3 qui devrait bientôt sortir. On aura droit à de bons films cette année. Au moins j'aurais l'occasion de partir plus souvent au cinéma cet été.

dimanche 29 avril 2007

Regarder la télé depuis internet quand on a râté le journal de france2 - televidilo

Hier soir, j'étais en train de préparer le repas - carry lapin, carri chouchou et riz - quand le journal de 20h00 a commencé. J'étais occupé à surveiller les marmites. Malheureusement je n'ai pas pu suivre - par les temps qui courent - le résumé sur le reportage entre Ségolène et Bayrou . Donc ce matin j'ai essayé d'aller sur le site de france2 pour matter tout ça! Bah ca passait pas !

Finalement j'ai trouvé un super logiciel, televidilo réalisé par Thomas Petazzoni.

En passant on notera qu'un .deb pour Ubuntu Dapper est disponible à http://thomas.pub.enix.org/debian/pool/dapper/televidilo_0.6-1_i386.deb. Pour l'installer, rien de plus simple que

su
wget http://thomas.pub.enix.org/debian/pool/dapper/televidilo_0.6-1_i386.deb
dpkg -i televidilo_0.6-1_i386.deb

Pour le lancer, rien de plus simple que

televidilo
Voilà par exemple des screenshots

Fig 1. Televidilo sous Dapper.


Fig 2. Journal de France 2 lancé par mplayer.


Fig 3. Le reportage que j'avais partiellemet râté.

Conclusion: Enfin un bon petit logicel connaître et garder dans ses favoris quand les journaux sur les autres sites sont inaccessibles!. Un must !

vendredi 27 avril 2007

Autre programme en C pour la fonctionnalité TSP de PgRouting

Après libpgeasy, je me suis penché sur l'équivalent avec la C-API de PostgreSQL. Celà m'a donné le code suivant

Le code
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <libpq-fe.h>

int main(int argc, char * argv[])
{
  PGresult *result,*result2;
  PGconn *conn;
     char query1[600]="DROP TABLE ALLER;CREATE TABLE aller(gid int4) WITH oids;\
SELECT AddGeometryColumn( 'aller', 'the_geom', -1, 'MULTILINESTRING', 2 );\
SELECT  vertex_id::int from tsp('select  distinct source as source_id\
, x1::double precision as x, y1::double precision as y from \
troncon_route_edges where source in (";
  
  if (argc != 4)
   {
	printf("Usage:%s \"dbname=XXX user=XXX host=XXX\ password=XXX\"  \"liste de points\" startpoint\n\
Exemple %s \"dbname=routing user=postgres\"  \"43,30,18,41,1\" 30\n", argv[0],argv[0]);
       return EXIT_SUCCESS;
  }

  conn = PQconnectdb(argv[1]);

  if(PQstatus(conn) == CONNECTION_OK) {
    printf("Connexion OK\n");
    strcat(query1," ");
    strcat(query1,argv[2]);
    strcat(query1,")','");
   strcat(query1,argv[2]);
   strcat(query1,"',");
   strcat(query1,argv[3]);
   strcat(query1,")");
    printf("%s\n",query1);

    result = PQexec(conn, query1);
    
   switch(PQresultStatus(result))
    {
      case PGRES_TUPLES_OK:
        {
             int r, n;
             int nrows = PQntuples(result);
             int nfields = PQnfields(result);
              for(r = 1; r < nrows; r++) 
              {
	        for(n = 0; n < nfields; n++)
                {
           char	query2[800]="INSERT INTO aller(the_geom) SELECT the_geom FROM troncon_route_edges\
  WHERE edge_id IN (SELECT edge_id FROM shortest_path_astar('SELECT  id,source,target,cost,reverse_cost,\
 x1,y1,x2,y2 FROM troncon_route_edges',";
		      strcat(query2,PQgetvalue(result, r-1, n));
                      strcat(query2,",");
		      strcat(query2,PQgetvalue(result, r, n));
                      strcat(query2,",false,true))");
	              printf("%s\n",query2);
                      result2 = PQexec(conn, query2);
                }
               }
        }
    }
   PQclear(result);PQclear(result2);
  }
  else 
    printf("connection failed: %s\n", PQerrorMessage(conn));

  PQfinish(conn);
  return EXIT_SUCCESS;
}


Le Makefile
Mon Makefile a l'allure suivant
INC=/opt/pgsql/include
LIB=/opt/pgsql/lib

CFLAGS=-I$(INC)
LDLIBS=-L$(LIB) -lpq

ALL=calcul_trajet
all: $(ALL)

clean:
	@rm -f *.o *~ $(ALL)
Pour la compilation , un simple make suffira amplement.
Utilisation

Là il me suffit de faire par exemple

./calcul_trajet "dbname=routing user=postgres host=localhost password=empr888" "25,7,41,28,42" 7
Par exemple, ici pour connaître le meilleur chemin passant par les noeuds (sources) 25,7,41,28,42, et en partant du noeud 7, j'aurais

Chemin retourné par TSP en partant de 7 pour passer par les noeuds 25,7,41,28 et 42.

Par rapport à mon code avec libpgeasy, les commandes SQL sont directement envoyées au serveur. Inutil donc de faire un affichage sur l'écran, croisé d'un "|psql -U postgres -d routing" . Il est vrai que le code ici n'est pas complet dans la mesure qu'il serait mieux d'incorporer l'ensemble des instructions SQL dans une transaction . Mais bon je redécouvre la C-API de PostgreSQL. Je prends note de cette remarque malgré tout .

mercredi 25 avril 2007

PgRouting: Nouvelle version 1.0.0.a et utilisation de la fonctionnalité TSP

Nouvelle version 1.0.0a

Anton A. Patrushev annonçait aujourd'hui que la version 1.0.0a de PgRouting était disponible sur le site http://www.postlbs.org/. Je l'ai compilé aujourd'hui, pas de problème particulier sous Ubuntu Dapper.

fonction TSP

Dans ma doc pour le moment, je m'étais arrêté à l'utilisation de la fonctionnalité shortest_path_astar() - qui utilise l'algorythme A* -. Ce soir, j'ai essayé la fonctionnalité tsp(). TSP signifie Traveling Salesman Problem, désignant ainsi le problème du voyageur du commerce. Pour une définition plus profane, il s'agit du problème du père Noël, ou de l'agent commercial qui doit visiter des clients dans un trajet professionnel en essayant d'optimiser son parcours - un peu de théorie des graphes, celà ne fait pas de mal que les puristes de la discipline m'excusent -.

Exemple
Pour rappel dans ma doc, j'ai le graphe avec les noeuds

Fig 1. Noeuds de mon graphe.
Supposons que je veuille trouver le chemin de longueur totale minimale passant par les noeuds 43,30,18,41,1,13. Mon point de départ sera le noeud 41.

Fig 2. Noeuds par lesquels je souhaite passer en commençant par le noeud 41.
La requête sera tout simplement
routing=# SELECT  * from tsp('select  distinct source as source_id, x1::double precision as x, y1::double precision as y from 
troncon_route_edges where source in (43,30,18,41,1,13)','43,30,18,41,1,13',41);
 vertex_id |  edge_id  |         cost
-----------+-----------+-----------------------
        41 | 138321080 |                     0
        30 |         0 | 2.12199579047121e-314
         1 |         8 | 6.84394238386657e-316
        18 |        16 | 2.12199611507234e-314
        13 | 138523056 | 6.79720117142741e-313
        43 |       406 | 1.23516411460312e-322
(6 lignes)
Les colonnes edge_id et cost n'ont pas d'importance. Seul compte la colonne vertex_id. Selon l'ordre énuméré des valeurs des lignes de la colonne de vertex_id, il me faudra donc pour optimiser mon parcours aller de 41 à 30, puis de 30 à 1, puis de 1 à 18, de 18 à 13 et de 13 à 43. Pour la suite, pour trouver le parcours finale, il suffira par exemple d'appliquer de proche en proche la fonction shortest_path_astar() sur les couples (source,target) avec dans l'ordre d'énumération (41,30), puis (30,1), puis (1,18) etc...

Et on obtiendra par exemple le parcours suivant


Fig 3. Parcours à effectuer dans l'ordre 41,30,1,18,13,43 en partant du noeud 41.
Je m'excuse si l'exemple n'est pas des + convaincants mais c'est juste pour le fun .

TODO: A ajouter dans la doc

vendredi 20 avril 2007

Au menu ce soir: rougail saucisse et repos.

Après deux semaines de recherche assez speed et à rythme soutenu, aujourd'hui et jusqu'à dimanche je fais une pause. J'en ai grandement besoin. Donc ce soir au menu du chef :

  1. rougail saucisse;
  2. cari chouchou. Le chouchou c'est ce qu'on appelle ici en métropole la christophine ou la chayotte. Un petit lien pour les amateurs http://www.supertoinette.com/fiches_recettes/fiche_chayotte_christophine.htm;
  3. un complément de blé ou de riz. Je verrais

Tiens celà me fait penser que cet après-midi, je dois aller en course pour faire la cuisine de ce soir: oignons, tomates...Comme on dit, ce sera un bon début de week-end. Et dire que pas plus tard que hier un copain m'avait appelé pour me demander de venir avec lui dans un restaurant qui sert des plats réunionnais pour me demander mon avis sur la qualité des plats .

En semaine, j'avais fait un cari crevette et comme toujours Madame a toujours le bon mot: «A chaque fois que tu cuisine, tes plats sont toujours réussis!». Moi c'est quand elle me fait son plat à base de planche de cabillaud assortie avec sa sauce que je me régale . Echange de bon procéde!

Le site est à nouveau opérationnel

Depuis au moins une semaine, ma petite olivia (surnom de mon SONY VAIO PCG-FR215E ) à la maison faisait des siennes. Elle arrêtait pas de chauffer en atteignant des pointes à 90°C ....Avec la chaleur de cette semaine, elle était comme une saucisse Sa temperature était de

olivia:~# cat /proc/acpi/thermal_zone/THRM/temperature
temperature:             88 C
Et avant chaque extinction, j'obtenais le message
Critical temperature reached (90 C), shutting down
Ce que confirme ACPI pour le kernel, par
olivia:~# cat /proc/acpi/thermal_zone/THRM/trip_points
critical (S5):           90 C
passive:                 80 C: tc1=2 tc2=3 tsp=40 devices=0xdfff7338

Il faut dire aussi que par rapport à certains types de portable, ce sony évacue l'air chaud par l'arrière et non par dessous. Du coup dimanche, j'ai dévissé tout ce que je pouvais et passer un bon coup de bombe à gaz dépoussiérant. Je l'ai ensuite revissée. Mais elle ne voulait rien entendre . Résultat, mon site était donc inaccessible par intermittence . C'était sûrement le ventilo qui devait être encrassé. Oui mais comment l'atteindre? J'ai donc commencé par la surélever, même à la mettant en position inclinée. Rien n'y faisait. Mardi, j'ai même sortie l'aspirateur de Catherine pour essayer d'aspirer la poussière.

Donc hier soir, j'ai eu une notre idée! Je l'ai éteinte, j'ai attendu qu'elle soit froide! Au lieu de la nettoyer selon sa postion horizontale sur le bureau, je l'ai donc mis en position verticale, l'arrière du portable pointant vers le bas et l'avant du portable pointant vers le haut. Je l'ai tenu dans cette position de ma main gauche. De ma main droite, je lui ai appliqué un bon coup de bombe à gaz dépoussiérant. Et j'y suis allé sans pitié en enfonçant légèrement le tige blanche de la bombe dans l'évacuation d'air chaud. Et là est retombé des débris blancs qui apparement obstruaient le système d'évacuation.

Du coup, je l'ai redémarré! Et depuis tout marche nickel du moins depuis mercredi soir avec une température stable autour de 65-67 °C, sa température habituelle.

mercredi 4 avril 2007

Ubuntu Ultimate Edition 1.3

J'avais téléchargé l'iso de ce LiveDVD ce week-end histoire d'essayer la gravure sur mon nouveau graveur DVD . La gravure a marché nickel ! Au premier abord, il est vrai que ce livedvd est vraiment bourré de pleins de logiciels. Certains sont utiles, d'autres pas! A titre d'exemple, le logiciel concernant les recettes de cuisine «Gestionnaire de recettes de gourmet», je ny vois pas vraiment l'intérêt.

Niveau logiciel multimédia, j'ai été gâté: TvTime, Xawtv, VLC, Mplayer...que du bonheur c'est déjà ça! Elle est vraiment pas mal! Au moins celà fait un livedvd assez intéressant! Au moins ça prouve que mon graveur dvd marche!

PgRouting et les jeux de tests d'évaluation GEOROUTE de l'IGN...enfin ça marche!

Bon vu que je me consacre à PgRouting ces temps-ci, j'ai ressorti mon CD que j'avais reçu gratuitement de la part de l'IGN pour tester les données. Et là bingo ça marche . Du coup j'en ai profité pour mettre à jour ma documentation . Depuis le temps que j'attendais de pouvoir faire marcher un truc sur leurs données de GEOROUTE. L'explication est ici. Comme on dit la preuve en image :


Parcours à l'aller


Parcours au retour

lundi 2 avril 2007

Un week-end bien sympa

Samedi soir, nous avions invité un de nos amis Ludo qui devait venir le week-end dernier à passer la soirée à la maison. C'était la première fois qu'il venait à la maison passer la soirée! Purée par rapport à son 20-25M carré, il était content de voir un appartement bien plus grand que le sien. De prime à bord, il est à la recherche d'un appart' plus grand. Je le comprend car j'ai été dans la même résidence que lui. Mais bon venir chez nous, lui a donner une idée de comment voir s'il veut se trouver un appart' d'au moins 35 m carré.

Arrivé vers 20h15 à la maison, apéro servi comme il faut (...), nous avons passé une bonne partie de la soirée à discuter de tout: la vie, la famille, politique, foot etc...etc...Ce n'est pas comme on dit les sujets qui ont manqués. Comme il venait pour la première fois à la maison, je me suis dit qu'un bon repas créole lui ferait sûrement plaisir. Et ça a pas loupé ...! Au menu donc carri poulet, cari chouchou, riz, lentille . Il s'est resservi deux fois! Ce qui m'a fait plaize ! Et oui la cuisine du chef, on y résiste pas. Catherine nous avait concocté en dessert une belle salade de fruits: ananas, mangue...A la fin nous étions tous les 3 affalés dans le clic-clac tellement nous nous étions si bien régalés . Celà a été une agréable soirée. Pour preuve, il nous a quitté sur les coups de 01h30 du matin.

Dimanche comme il faisait pas beau , c'était mon tour d'être de corvée de croissants au chocolat - que nous commandons tout les dimanches chez notre patissier habituel à Castelnau- Bon c'est surtout la motivation du petit-déjeuner qui m'a motivé d'aller les chercher sous la pluie. Finalement nous avons passés une bonne partie de l'après-midi à nous reposer et pris 1h30 pour trier toutes les pièces jaunes que j'avais de stocker dans ma salle informatique depuis au moins 2001. Mamam, il y en avait des pièces! Bah ce sera l'occasion pour moi d'aller les déposer en semaine à la banque centrale BNP de Montpellier.

J'ai ensuite pris une petit heure en fin d'après-midi pour finir de rédiger deux petits billets sur pgrouting!

dimanche 1 avril 2007

PgRouting - test sur un jeu de données réelles - 3/3

Ici, je vais considérer le réseau suivant que je me suis amusé à extraire de données réelles. Avant de commencer les tests, j'ai du effectuer quelques modifications mineurs des données. Je ne cache pas non plus que j'ai du ici vérifier pour chaque noeud inverse au sens de circulation.

Pré-traitement: tronçons de rond-poind à l'envers.
J'ai eu avec ces données quelques tronçons de rond-points (MULTILINESTRING) dont l'acquisition géométrique a été faite dans le sens opposé au sens de circulation . Rien de bien méchant. J'ai pu résoudre celà grâce à la fonction reverse() de PostGIS :
UPDATE troncon_test SET the_geom = reverse(the_geom)  WHERE gid in (74,75,174,175,186,54);
Mais bon là il s'agit d'un petit jeu. Si j'avais du effectuer celà sur un énorme jeu, bonjour la galère! Mais bon quand on vous livre des données rien ne garantit qu'elles soient déjà configurées comme on voudrait.
Mon réseau et mes noeuds.

Fig 1. Le réseau routier.

Dans QGIS, je vais charger les noeuds que j'ai crée en suivant les mêmes commandes SQL de mon précédent billet

Fig 2. Une portion des noeuds du réseau.

Exemple 1: avec deux rond-poins
Dans un premier temps, on va essayer d'aller du noeud 188 au noeud 143. Là je dois traverser deux rond-points comme le montrent les images suivantes

Fig 3. Parcours aller - image au un niveau du réseau.


Fig 3. Zoom dans le réseau, parcours aller et retour.
Exemple 2: un rond-point et une route à sens unique.
Maintenant je vais aller du noeud 167(=source) au noeud 76(=target) de mon réseau. Les images pour le parcours aller/retour vue à l'échelle du réseau sont présentées sur les figures n° 4.a et 4.b.

Fig 4.a Parcours aller.



Fig 4.b Parcours retour
Maintenant dans le sens du retour, j'ai

Fig 5.a r.Zoom sur le noeud 76. Le rond-point est pris dans le bon sens.



Fig 5.b Zoom sur le noeud 76. Le rond-point est pris dans le bon sens.

Conclusion: La fonction shortest_path_astar a bien été éprouvé - comme on dit - ces deux derniers jours. L'utilisation de cette fonctionnalité de pgRouting s'avère des plus efficaces. Je ne regrette pas de l'avoir tester. A un moment, j'ai eu un doute quand j'ai vu notamment certains rond-points pris en sens inverse. Mais bon celà marche. C'est le plus important .

samedi 31 mars 2007

Installation de mon graveur DVD-RW Philips SDP2411BD - comme quoi fallait lire la notice :)

Purée tout fier d'avoir récemment fait l'acquisition de mon graveur - pour 45 € -, j'ai décidé ce soir de l'installer sur mon ordinateur de bureau. Tout fier de moi, je sors mon tournevis, un chiffon, ma bombe à gaz dépoussiérant - pour enlever la poussière -, je débranche mon ancien graveur de cd qui a rendu l'âme depuis bien longtemps. Je branche le câble IDE - le fameux cable plat tout grisé -, le câble d'alimentation. Je rebranche tout. Allé zou on redémarre. .........Il est bien reconnu sous Dapper mais quand j'insère un CD ou un DVD, rien ne se produit !.... Bon pas de panique, direction le chan IRC de Ubuntu au cas où il y aurait un topic pour ce genre de graveur ou d'essayer de bidouiller quoique ce soit. Et là je tombe sur The_Marauder - ze master of ze master - qui veut bien me donner un coup de main! A 00h30, faut le faire quand même! Il est cool ce mec !

Ben on a pas cherché longtemps! L'idiot que je suis aurait dû lire la notice avant de tout monter comme un bourrin! ==> Les lecteur/graveur sont montés et vendus généralement en étant en mode master alors que sur mon PC, il fallait juste le mettre en slave! La honte! Ben oui étant donné que je remplaçais mon ancien graveur de cd, il faut mettre le nouveau dans la même configuration! CQFD. Comme quoi...no comment

mardi 27 mars 2007

Petit bidouille éléctrique sur un adaptateur péritel pour avoir la couleur sur une télé, reliée la sortie TV-out/S-Vidéo du PC.

Hier soir, j'avais décidé de brancher mon PC à ma TV. J'ai pour celà pour bien faire utiliser mon câble S-vidéo branché sur la sortie s-video de mon ordi de bureau. La jonction entre le câble svidéo et la prise péritel de TV se fait à l'aide d'un adaptateur péritel. Malheureusement la sortie sur l'écran était en noir et blanc. J'ai cru au début à une erreur Nvidia. En allant rechercher sur des forums dédiés, j'ai trouvé la solution, le super-lien suivant: http://forum.generation-nt.com/faq-materiels/sortie-tv-noir-and-blanc-151616/ . Au lieu de souder ou d'essayer de joindre par un petit fil de cuivre - pas si facile que ça - la borne 15 à la borne 20, j'ai tout simplement pris mon briquet pour brûler une petite portion de la gaine en plastique afin de dénuder une petite portion des deux fils qui sont reliés aux bornes 15 et 20. J'ai ensuite torsadé les petites portions de cuivres entre elles. J'ai ensuite pris une petite portion de scotch afin de faire tenir le tout.

Et ça marche nickel ce petit truc . Vraiment sympa cette petite astuce!!!.

dimanche 25 mars 2007

Le village opensource au géoévènement 2007 du 3 au 5 avril 2007

L'ami Gérald avait déposé une brève cette semaine concernant cet évènement. Et en plus ce sera une première en France. Je ne fais ici que le reprendre. Le communiqué de presse fait état de 12 sociétés participantes. Un nombre bien intéressant de la communauté S.I.G Open Source française. A lire le communiqué, il y a plus de 40 conférences plus ou moins gratuites, sur des thème ayant attrait à l'Open Source et aux S.I.G.

Le moins que l'on puisse dire c'est que du beau monde est attendu ces 3 jours. Hélas, je ne pourrais m'y rendre pour des raisons personnelles cette semaine-là .... Mes collègues de travail devraient y être .

Cari poulet, riz safrané,lentilles et soirée devant la chaine manga

Samedi soir, nous attendions un de nos amis - Ludo - pour venir manger à la maison. Mais il a décommandé , car il a été invité à un anniversaire entre temps! Bah que celà ne tienne! Nous avions prévu de lui faire goûter à la cuisine créole. Finalement, nous nous sommes fait plaisir sans lui . Ce n'est que partie remise comme on dit .

Donc je me suis en cuisine vers 17h30 pour en sortir vers 20h00. Nous étions parti pour un cari de haricot rouge. Finalement, Cathy a eu la bonne idée - comme toujours - de me proposer de faire des lentilles. 2h30 de cuisine pendant que madame roupillait, puis regardait son match de football...Y'en a qui se font plaisir pendant que d'autres travaillent. Mais le tout a été des plus succulents - comme toujours -. En plus pendant pour le repas, madame avait mis une belle pitite bougie sur la table . Comme on dit: faut faire simple pour être heureux!

«Y'a des jours je me dis que je devrais passer une annonce pour proposer des plats réunionnais sur Montpellier et ses alentours ».


Le bon cari poulet.

Le chef cuisto en train de poser .

La table: riz safrané, cari poulet et lentille..

Après le repas, j'étais tellement pris par ma digestion, affalé dans le clic-clac du salon comme mon chat que j'en suis presque venu à oublier le début de ma soirée de Oggy et les cafards sur gulli. Houla, houla ...Vite en moins de temps qu'il ne fallait pour le dire, j'ai foncé en direction de la salle informatique, allumé tvtime, zappé sur gulli. Le temps de jeter les affaires qui trainaient ca-et-là sur le clic-clac je memettais en postion pour prendre les épisodes en cours! Ouf il était 21h30! Il me restait encore une bonne petite heure pour apprécier les épisodes qui allaient suivre.

J'ai ensuite zappé vers 10h30-10h45 sur Manga pour regarder Ken le survivant et Ulysse 31. J'ai du terminé ma soirée aux environs de 00h00-00h30, je crois. Ah un petit samedi soir au calme comme je les aime !

vendredi 23 mars 2007

Un mod pour la télévision à base de Mplayer et de PHP-GTK

FreeTiVi a été codée en mars 2007. En dépit de son caractère bien jeune et quelques bugs ici et là, il apparait comme un mini projet intéressant. J'en ai profité pour tester son installation sous Dapper. L'installation ne pose pas de problème. En pré-requis, bien sûr il faut avoir mplayer :). Il subsiste quelques petits bugs pour le moment mais rien de bien méchant.
Les notes sur le wiki pour php, on peut les suivre sans problème. Mais ca marche aussi avec la version 5.1.6 de php On télécharge les sources, on décompresse les sources, on compile et on installe. Parc ontre chez moi, les "make install" ne sont pas accompagné de sudo car "j'ai mon compte root d'activé".
wget http://www.davidgis.fr/download/php-5.1.6.tar.bz2
tar xjf php-5.1.6.tar.bz2
cd php-5.1.6
./configure --prefix=/opt/php_5_1_6 --disable-cgi
make
make install
Comme indiqué sur le wiki,
echo extension=php_gtk2.so >> /opt/php_5_1_6/lib/php.ini
/opt/php_5_1_6/bin/php-config --extension-dir |xargs echo 'extension_dir='>>/opt/php_5_1_6/lib/php.ini
Par contre le répertoire des extensions de PHP, c'est pas automatique - non indiqué sur le wiki - donc on fait
mkdir $(/opt/php_5_1_6/bin/php-config --extension-dir)
J'ai eu un souci pour le CVS de php-gtk, donc je suis descendu en alpha, il faut télécharger les sources à [url]http://gtk.php.net/do_download.php?download_file=php-gtk-2.0.0alpha.tar.gz[/url]. Puis
cd ..
tar xvzf php-gtk-2.0.0alpha.tar.gz
cd php-gtk-2.0.0alpha
./buildconf --with-phpize=/opt/php_5_1_6/bin/phpize
./configure --with-php-config=/opt/php_5_1_6/bin/php-config --prefix=/opt/php-gtk
make
make install
On télécharge les scripts de freetivi
cd ..
wget http://php.classes.free.fr/php/gtk/freeTiVi/freeTiVi-php.txt
wget http://php.classes.free.fr/php/gtk/freeTiVi/mplayer-FE-php.txt
Et on lance l'application
/opt/php_5_1_6/bin/php freeTiVi-php.txt

Un cours interactif sur les bases de données

C'est en fouillant dans un forum que je suis tombé la-dessus: http://asi.insa-rouen.fr/SIG/CoursBD/. Vraiment bien fait avec divers intervenants. Un cours magistral gratuit ! A mettre dans ses favoris comme on dit . Celà reste du cours magistral théorique mais je le mets quand même dans ma catégorie PostgreSQL et PostGIS

lundi 19 mars 2007

Ce week-end: Oggy ,mpeg4ip et darwin server samedi soir et barbecue dimanche...et...beaucoup dormi.

«Quel week-end atypique et bien rempli!» je me dis ce lundi matin en écrivant ce billet!...Tout en commencé déjà samedi matin

Samedi

Ayant passé tout le soirée de vendredi à essayer d'installer un serveur de streaming vidéo, j'étais crevé déjà samedi matin ... Je me suis couché finalement que vers 9h00 du matin! «Je serais debout vers 15h00» me suis-je dis avant de me coucher! Finalement je me suis réveillé vers 18h00 - j'aurais donc passé tout la journée à dormir

Et comme chaque samedi soir, je me suis donc mis en position pour regarder «Oggy et les cafards» ......Houlala houlala, c'était de nouveaux épisodes que je n'avais pas encore vu! Que du bonheur! Je me suis tellement marré que je pense que j'ai du réveillé les voisins du dessus ! C'était vraiment trop génial! J'aurais du les enregistrer.

Dans la nuit de samedi à dimanche: serveur de streaming vidéo avec mp4live et Darwin Server pour récupérer le flux de la télévision de la Freebox depuis une carte PCTV USB2 Pinnacle

Ensuite zou! Installé sur bremko - mon VAIO -, j'avais décidé ce soir de réussir à installer au moins une des diverses solutions software proposées pour installer un serveur de streaming vidéo pour tout ce qui attrait à V4L2! J'ai la prise péritel de ma Freeox V4 reliée à un de mes ordis par le biais de ma carte pctv usb2 50e de chez pinnacle - ce qui me permet de regarder la télé sur l'ordi grâce à TVTIME. Et comme j'ai mon portable en wifi, j'aurais voulu au moins pouvoir trimballer avec moi mon protable dans le salon de manière à pouvoir regarder la télé au moyen par exemple de VLC en tant que client. Celà me permettrait aussi de passer l'ordi à a chérie lors de ses soirées de foot. J'ai donc tout essayé cette semaine:

  • VLC mais apparement un souci pour le chroma YUYV et les autres pour ma carte PCTV USB2. J'ai même essayé les diverses solutions de sortie vidéo possibles mais rien à faire;
  • flumotion que j'avais en paquet .deb pour ma Dapper mais j'ai eu l'erreur «gstreamer could not read from resource»;
  • spook: l'image passait mais elle était en vert, rose! Et dans le fichier de configuration pas moyen d'aller plus loin notamment pour essayer d'avoir une meilleur image;
  • ffmpeg/ffserver aussi n'a pas marché...

......Mais je n'ai pas baissé les bras pour autant. Je suis aussi revenu à une des solutions proposées à savoir mpeg4ip...J'ai eu une petite erreur de faac comme quo, il était mal compilé chez moi. Que celà ne tienne. J'ai quand même réussi à l'installer et aussi Darwin Server de chez Mac de mes couilles


mp4live de MPG4IP et Interface de gestion de Darwin Server.

Note pour plus tard: penser à faire un billet sur ces installations !

Dimanche

Dimanche, nous avons été invité à participer à un barbecue chez nos amis Dalox et sa chérie! On s'est fait un petit apéro à 13h00 et on est passé à table à 14h00~14h30. Mama, après le repas je me suis affalé dans son canapé pour digérer. Au retour, je suis allé me poser dans le clic-clac histoire de regarder un peu la téloche! Ben celà n'a pas raté: je me suis endormi! Cathy m'a réveillé, il était déjà 20h00......Faut dire aussi que j'étais bien crevé! Finalement j'ai passé la soirée à regarde la télé sur RTL9 - une des chaines préférées de comme mon vieux -. Y'avait pas vraiment de grand film. Au menu de la soirée deux films! Le premier c'était «Strip-tease» avec Demi Moore et le second un film d'horreur tout pourri «L'étoile du mal» ...Je voulais juste quelque chose à regarder juste pour passer le temps, sans rien de plus mais je ne regrette pas ma petite soirée

Quel week-end !

P.S: C'est vrai que ces temps-ci, en dehors de ma vie professionnelle - comme j'ai beaucoup de temps libre en ce mois de mars 2007 - je m'adonne beaucoup à tout ce qui touche à la geekattitude et au multimédia sous GNU/Linux.

  • projet lirc avec les télécommandes ATI Remote Wonder I et II;
  • projet aircrack-ng pour briser une clé wep;
  • projet de serveur de streaming vidéo personnel;
  • faire des petits films en flash avec Ming/PHP

Que de choses faites en moins de 3 semaines ...Je ne maîtrise pas tout ce que j'ai fait mais j'apprends énormément de choses et c'est ça qui me fait vachement plaisir ! Avoir souvent entendu parler de tout ces projets sans jamais trouver le temps nécessaire pour s'y intéresser - comme maintenant j'ai le temps qu'il faut -, celà aussi me plait ces temps-ci.

Je me suis découvert un second sujet d'intéressement en informatique - après PostGIS bien sûr - que je ne soupçonnais pas chez moi! En tout cas, je ne regrette pas de mettre l'énergie nécessaire de mon temps-libre dans ce genre de sujet puisque v'est vraiment intéressant même si je suis un gros newbie en tout ! C'est décidé cette semaine je vais m'attaquer à Elisa, Freevo,et à lire la doc sur mplayer/mencoder, transcode etc...! Il est temps de mettre à profit le temps que j'ai attendu pour pouvoir tester des trucs!

vendredi 16 mars 2007

Tsearch2 et PostgreSQL 8.2.3 - soucis pour le stemmer en français pour l'UTF-8 [Résolu!]


Hier soir, j'ai testé rapidement l'installation de tsearch pourr le stemmer en français! Il m'est apparut que sur le site de snowball les fichiers ont été mis à jour récemment au cours du mois de février 2007. Hors moi, je les avais testé en début de février! Ce qui m'a empêché de faire mes tests.

Cependant celà marche pour les fichiers stem.c et stem.h d'avant . Les deux fichiers en question sont donc disponibles à http://www.davidgis.fr/download/stem.h et http://www.davidgis.fr/download/stem.c

Donc rapidement ici, je marque mes notes pour me rappeler comment j'ai fais sous UBUNTU DAPPER . Petit rappel: mes locales sont en UTF-8 donc celà ne marchera que pour des bases encodées en UTF-8!!!

postgres@bremko:~/tmp$ echo $LANG
fr_FR.UTF-8

INSTALLATION RAPIDE DE TOUT LE TOUTIM: SERVEUR+TSEARCH2+STEMMER+ISPELL

So Let's go

#
# Installation de PostgreSQL
# 
export PATH=/opt/pgsql/bin:$PATH
export PGDATA=/opt/pgsql/data
wget ftp://ftp.fr.postgresql.org//source/v8.2.3/postgresql-8.2.3.tar.bz2
tar xvjf postgresql-8.2.3.tar.bz2
cd postgresql-8.2.3
./configure --prefix=/opt/pgsql/ --enable-nls=fr
make
make install
mkdir $PGDATA
chown postgres:postgres $PGDATA
#
# Installation de Tsearch et du stemmer français
#
wget http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/tsearch_snowball_82.gz
gunzip tsearch_snowball_82.gz
patch -p0 < tsearch_snowball_82
cd contrib/tsearch2/
make install
cd gendict
wget http://www.davidgis.fr/download/stem.c
wget http://www.davidgis.fr/download/stem.h
./config.sh -n fr -s -p french_UTF_8 -i -v -c stem.c -h stem.h -C'Snowball stemmer for French'
cd ../../dict_fr && make install
#
# Initialisation du serveur et lancement
#
su postgres
export PATH=/opt/pgsql/bin:$PATH
export PGDATA=/opt/pgsql/data
initdb -A trust
pg_ctl start
sleep 3
#
# création d'une base en y chargeant les fonctionnalités de tsearch et du stemmer
#
createdb test
psql -d test -f /opt/pgsql/share/contrib/tsearch2.sql
psql -d test -f /opt/pgsql/share/contrib/dict_fr.sql
cd
mkdir tmp
cd tmp
wget http://www.davidgis.fr/download/tsearch2_french_files.zip
unzip tsearch2_french_files.zip
#
# Chargement du ispell
#
echo "BEGIN TRANSACTION;

UPDATE pg_ts_dict SET dict_initoption='$PWD/french.stop' WHERE dict_name = 'fr';

INSERT INTO pg_ts_cfg (ts_name, prs_name, locale) VALUES ('default_french', 'default', 'fr_FR.UTF-8');


insert into pg_ts_cfgmap values ('default_french','email','{simple}');
insert into pg_ts_cfgmap values ('default_french','file','{simple}');
insert into pg_ts_cfgmap values ('default_french','float','{simple}');
insert into pg_ts_cfgmap values ('default_french','host','{simple}');
insert into pg_ts_cfgmap values ('default_french','hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','int','{simple}');
insert into pg_ts_cfgmap values ('default_french','lhword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','lpart_hword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','nlhword','{simple}');
insert into pg_ts_cfgmap values ('default_french','nlpart_hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','part_hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','sfloat','{simple}');
insert into pg_ts_cfgmap values ('default_french','uint','{simple}');
insert into pg_ts_cfgmap values ('default_french','uri','{simple}');
insert into pg_ts_cfgmap values ('default_french','url','{simple}');
insert into pg_ts_cfgmap values ('default_french','version','{simple}');
insert into pg_ts_cfgmap values ('default_french','word','{fr_ispell,fr}');
insert into pg_ts_cfgmap values ('default_french','nlword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','lword','{fr_ispell,fr,simple}');


 INSERT INTO pg_ts_dict
               (SELECT 'fr_ispell',
                       dict_init,
                       'DictFile="$PWD/french.dict",'
                       'AffFile="$PWD/french.aff",'
                       'StopFile="$PWD/french.stop"',
                       dict_lexize
                FROM pg_ts_dict
                WHERE dict_name = 'ispell_template');




END TRANSACTION;" | psql test

Quelques vérifications rapides

postgres@bremko:~/tmp$ psql -d test  -c "SELECT lexize('fr','anticonstitutionnellement');"
        lexize
-----------------------
 {anticonstitutionnel}
(1 ligne)

postgres@bremko:~/tmp$ psql -d test  -c "select ts_debug('Je m appelle David ,j'' habite à Montpellier et mon e-mail est davidtecher@yahoo.fr');"
                                        ts_debug
-----------------------------------------------------------------------------------------
 (default_french,lword,"Latin word",Je,"{fr_ispell,fr,simple}","")
 (default_french,lword,"Latin word",m,"{fr_ispell,fr,simple}","")
 (default_french,lword,"Latin word",appelle,"{fr_ispell,fr,simple}","'peler' 'appelle'")
 (default_french,lword,"Latin word",David,"{fr_ispell,fr,simple}",'david')
 (default_french,lword,"Latin word",j,"{fr_ispell,fr,simple}","")
 (default_french,lword,"Latin word",habite,"{fr_ispell,fr,simple}",'habite')
 (default_french,nlword,"Non-latin word",à,{fr_ispell},"")
 (default_french,lword,"Latin word",Montpellier,"{fr_ispell,fr,simple}",'montpellier')
 (default_french,lword,"Latin word",et,"{fr_ispell,fr,simple}","")
 (default_french,lword,"Latin word",mon,"{fr_ispell,fr,simple}","")
 (default_french,lhword,"Latin hyphenated word",e-mail,{fr_ispell},'mail')
 (default_french,lpart_hword,"Latin part of hyphenated word",e,{fr_ispell},"")
 (default_french,lpart_hword,"Latin part of hyphenated word",mail,{fr_ispell},'mail')
 (default_french,lword,"Latin word",est,"{fr_ispell,fr,simple}","")
 (default_french,email,Email,davidtecher@yahoo.fr,{simple},'davidtecher@yahoo.fr')
(15 lignes)

jeudi 15 mars 2007

Ségolène faut pas lui parler de la retraite! Une petite vidéo pour le souvenir :)

Mama, il était 22h37 hier soir quand le visage de Ségolène a changé directement quand notre Arlette nationale et le journaliste sur le plateau ont abordé ce sujet ...Oh purée je me dis que j'ai râté ma vocation, j'aurais dû travailler pour Voici

Une petite vidéo faite par votre serviteur


Cliquez sur "Play" pour lancer la vidéo. Par contre baissez le micro avant de lancer la vidéo ;).

Et quelques petites photos pour immortaliser le moment


Arlette et le journaliste posent des questions pas trop appréciées par la Ségo

A voir le thon de son visage, on comprend qu'elle n'aime pas trop qu'on aborde ce sujet en profondeur

Arlette essayanr de calmer le jeu

Aircrack-ng (suite) - Amélioration du temps d'injection. 57 minutes pour le temps d'injection d'ARP sur mon PROPRE RESEAU

Bon par rapport à mon poste précédent, j'ai réussi à améliorer mon temps d'injection pour aircrack-ng.. Je suis passé de 3 heures 45 minutes à 57 minutes ..........Comme on dit «Y'a pas photo!».... Au bout de 20 minutes, j'avais déjà 280000 IVs....Allez une petite capture d"écran pour la route et pour le plaisir


J'ai d'abord commencé par faire une mise à jour du module madwifi en suivant le lien suivant http://www.aircrack-ng.org/doku.php?id=madwifi-ng. Par contre maintenant pour passer en mode monitor, il me faut d'abord faire

airmon-ng stop ath0 <------- atho est crée une fois la carte insérée!
aimon-ng start wifi0 <-------- comme indiqué dans le lien ci-dessus.

Donc par rapport auw commandes fournies dans le lien, en les adaptant à ma Dapper

apt-get install linux-headers-$(uname -r)
ifconfig ath0 down
ifconfig wifi0 down
rmmod wlan_wep ath_rate_sample ath_rate_onoe ath_pci wlan ath_hal ath_rate_amrr 2>/dev/null
svn checkout http://svn.madwifi.org/trunk/ madwifi-ng
wget http://patches.aircrack-ng.org/madwifi-ng-r1886.patch
cd madwifi-ng
patch -Np1 -i ../madwifi-ng-r1886.patch
make KERNELPATH=/usr/src/linux-headers-$(uname -r)
make install KERNELPATH=/usr/src/linux-headers-$(uname -r)
depmod -ae
modprobe ath_pci

mercredi 14 mars 2007

Correctifs pour Tsearch2, levée de soleil sur Castelnau-Le-Lez et repas créole le soir!

Purée ce matin à 9h00, j'avais rendez-vous avec mon boss et j'étais pas encore couché !

A 3h00 du matin, sur IRC quelqu'un m'avait prévenu que quelques erreurs s'étaient égarées dans mon tout dernier billet sur Tsearch2 ! Bon j'ai essayé de corriger ça vite fait pour tout remettre à plat !

Résultat j'ai pas dormi! Je suis allé directo à mon rendez-vous ...Le temps ensuite de passer à la banque, faire ceci celà ensuite etc...etc.. et rentrer à la maison

Par contre,entre 8h00 et 9h00 ce matin , le soleil au travers des volets de ma salle informatique était d'un rouge vif orangé, agréable à la vue! Occasion m'était donner de prendre une ch'tite photo


Le petit soleil qui pointait le bout de mon nez ce matin-là!

J'suis rentré! J'ai dormi un peu entre 14h30 et 17h45. J'suis ensuite allé prendre un café avec une clope. J'ai ensuite pris la voiture pour aller acheter des chouchous dans un commerce de légumes au Crès! Tiens -note pour plus tard -, j'ai remarqué qu'en passant par la RN113, j'allais beaucoup plus vite qu'en empruntant mon parcours haibtuel pour aller à ce commerce!

Au menu, ce soir, c'était riz, rougaille saucisses, et cari chouchoux! Nous sommes donc passés finalement à table vers 21h30! Hum! Je me suis régalé

A la vue des photos qui suivent, on comprend mieux pourquoi


L'assiette du chef

La table du chef

J'ai débuté la soirée par me détendre dans le clic-clac du salon à matter le reportage sur Staline. Ca m'a même surpris qu'en tel reportage passe sur la 6! Tiens en voyant les tortures qu'il infligeait à ses semblables à son époque, je ne cache pas que je me voyais faire subir la même chose à certains de mes profs de fac la même chose ...... - surtout le truc par les couilles pour la pendaison - . Humour noire toujours!

dimanche 11 mars 2007

Aircrack-ng - tester la solidité de sa clé WEP 128 bits sur son PROPRE RESEAU local chez mon FAI Free. Clé brisée en 3h45 minutes

AVERTISSEMENT

Le contenu de ce billet n'a rien avoir avec du hacking ou quoique ce soit qui pourrait être pris pour de là provocation! Je publis ce poste uniquement dans le but de tester la solidité de mon PROPRE RESEAU WIFI à titre d'expérience et d'enrichissement personnelle. Mon réseau en Wifi a été activé temporairement dans la matinée du dimanche du 11 mars 2007 en WEP afin de mener à bien cet travail à mon sens pédagogique. Je publis ce billet d'abord pour me rappeler les commandes que j'aurais utilisé ce jour-là pour mes tests afin de me convaincre par moi-même de l'intérêt de passer en WPA. Comme un Saint-Thomas de l'informatique, je ne saurais convaincu quand l'ayant tester par moi-même. Le réseau wifi en question n'a été activé que le 11 mars 2007!

CONTRAINTES

Disposant d'un VAIO VGN-FS315H, le récepteur WIFI incorporé est un Intel Centrino 802.11 b/g. Malheureusement, ce matériel n'est pas adéquate pour le moment, pour utiliser aircrack-ng notamment pour l'injection de paquets avec aireplay-ng. Donc j'ai du investir dans une carte procurée sur ebay pour tester aircrack-ng.

MATERIEL

Pour tester aircrack-ng:

  • aircrack-ng il suffit de télécharger les sources pour la version à http://download.aircrack-ng.org/aircrack-ng-0.7.tar.gz . On décompresse, compile et on installe
    wget http://download.aircrack-ng.org/aircrack-ng-0.7.tar.gz
    tar xvzf aircrack-ng-0.7.tar.gz
    cd aircrack-ng-0.7
    make
    make install
  • la carte pcmcia pour aircrack TP-LINK TL-WN610G compatible b/g, chipset atheros. Je l'incorporerais à mon SONY VAIO VGN;

    Carte TL-WN610G utilisé pour aircrack
  • distribution linux: Ubuntu Dapper qui reconnaît parfaitement cette carte
  • la cible

    Carte PCMCIA incorporée à ma freebox V4 pour simuler le réseau wifi!
  • Deux portables: l'un qui sera connecté en wifi à mon réseau wifi. J'appellerais celui-là olivia. Un autre utilisé pour aircrack. Je l'appellerai bremko. Vous l'aurez compris olivia servira de station.

    Premier ordinateur olivia: l'ordi utilisé comme STATION pour se connecter à mon réseau WIFI

    Second ordinateur bremko: l'ordi utilisé pour aircrack

Interface de gestion de mon FAI

Je me rends sur mon interface de chez Free. Et je clique sur Fontionnalités Wifi de la Freebox. Je vais mettre mon réseau sur le canal 11, mon résau s'appellera davidwifi, je me mets en WEP et je mets mon mot de passe sur 26 caractères. Et ensuite, je redémarre ma freebox. Petite précision, chez Free il n'y pas de filtrage d'adresse mac.


Interface FreeBox - Photo N°1

Interface FreeBox - Photo N°2

Interface FreeBox - Photo N°3

Interface FreeBox - Photo N°4

TRAVAUX

Tous mes tests ont lieu sous Dapper en temps que root. En tant que root, je vais me mettre dans mon home et créer un répertoire tmp. Je ne ferais pas de commentaires sur les commandes utilisées - voir la section "SOURCES" à la fin de ce billet -..

cd
mkdir tmp
cd tmp
airmon-ng

On saisit depuis un terminal:

airmon-ng start ath0 11


Les deux diodes clignotent, c'est bon signe. La carte est en mode monitor! C'est bon signe

Pour airodum-ng:

dans le même terminal, je saisis

airodump-ng --write wep --ivs --channel 11 ath0

Chez moi, airodump-ng a été lancé à 07h17 du matin J'obtiens ensuite l'affichage suivant au bout d'une minute d'attente.


Je vais laisser le terminal d'airodump-ng ouvert pour suivre le nombre de IVs récoltés .

Pour aireplay-ng:

J'ai attendu qu'olivia soit visible dans l'interface avant de commencer à lancer l'injection de paquet (aireplay -3 ....). Elle fut visible lorque j'ai vu son adresse mac apparaître dans la colonne STATION.

L'authentification a été lancé par la commande suivante:

aireplay-ng -1 0 -e davidwifi -a 00:07:CB:52:F3:9B  -b 00:07:CB:52:F3:9B -h 00:40:F4:BA:7E:4D -x 500 ath0

L'authenftiication a été immédiate! J'ai directement obtenu le message "Assocation successful"


Association successful

L'injection de paquets a été ensuite possible grâce à la commande

aireplay -3 -e davidwifi -a 00:07:CB:52:F3:9B  -b 00:07:CB:52:F3:9B -h 00:40:F4:BA:7E:4D -x 500 ath0

Aireplay-ng: injection de paquets

Effectivement, le nombre de paquets IVs récoltés a augmenter! Par exemple au bout de 5 minutes


Airodump au bout de 5 minutes...Le nombre d'IVS commence a augmenté.

Ensuite, j'ai laissé tourner le programme d'injection. Pour donner un idée de son évolution, voici quelques screenshots découpées




Au bout de plus de 400 000 IVs récoltés soit plus de 2h00, j'ai donc décidé de lancer aircrack-ng

Pour aircrack-ng:

Au bout de 400000 IVs récoltés,j'ai donc lancer aircrack-ng. Pour celà j'ai fait comme je sais que ma clé est une clé de 128 bits

aircrack-ng -x -0 -n 128 -f4 -b 00:07:CB:52:F3:9B wep-01.ivs

-----------

J'ai donc ajouté la commande kill $(pidof airdodump-ng) pour tuer le processus de airodump-ng. Ainsi à mon retour, je serais exactement le nombre d'IVS qu'il m'aura fallu pour mon attaque.

Donc pendant ce temps au lieu d'attendre, je suis aller faire une sieste - normal on est dimanche. A mon retour, j'ai eu l'affichage suivant


-----------

-----------

Maintenant, je prends la télécommande de ma Freebox. Je maintiens au moins 3 secondes la touche [?]. Celà a pour effet de m'afficher des informations sur mon réseau. Dans l'onglet WIFI, j'ai alors


Interface d'interrogation de la Freebox sur la télévision pour le WIFI.

BINGO!

Donc pour me connecter sur le réseau, il me suffit de faire dans mon fichier /etc/network/interfaces

auto eth1
iface eth1 inet dhcp
wireless-essid davidwifi
wireless-key 0e:14:a4:53:8e:72:3d:19:f0:24:70:46:ad
wireless-channel 11

CONCLUSION

Testé ces outils est vraiment intéressant, je l'avoue! Il est vrai que la grande tentation se serait d'aller voir ce qui se passe chez le réseau du voisin d'à côté mais là n'est pas mon but, voire même aller pour s'amuser essayer de cracker sa clé! J'y ai songé c'est vrai! La tentation est bien grande! Mais ce serait être hors-là loi. Or je milite pour GNU/Linux et non pas pour aller finir mes jours en prison. D'ailleurs mes voisins sont des gens charmants prêt à rendre service! Alors question de principe oblige, ma tentation s'est vite estompé. De plus, j'ai ce qu'il me faut chez moi comme matériel avec mon FAI pour tester le réseau en WEP.

SOURCES

Ce billet est largement inspiré de

samedi 10 mars 2007

Le week-end commence bien....au menu soirée de geeks sur IRC et Nouveau fond d'écran pour bremko

Décidemment, j'aurais passé une bonne partie de la soirée à discuter avec les mecs du chan #ubuntu-fr sur irc. J'ai même pas vu le temps passé! 3h00 sans voir le temps qu'il est! On a parlé de tout politique, souci des distrib etc...etc..Intéressants sujets de temps en temps! Le genre de soirée où j'aime bien discuter sans que le moindre des intervenants ne soient trop agressifs ou ait un parti pris! A si toutes les soirées pouvaient être ainsi! Y'avait même un développeur Gentoo

Ceci dit, j'aurais passé au moins 2h00 à rechercher un bon fond d'écran pour mon VAIO. Pas facile avec tous les trucs sexy qu'il y a sur le web! Bon là je suis resté soft! Rechercher une belle brune avec la mer derrière pour faire penser à mes belles plages de l'île de la Réunion et des couleurs qui soeint en harmonie avec la couleur noir et argenté de mon VAIO! La dure tâche à accomplir! Le choix fut rude !


Mon nouveau fond d'écran pour mon VAIO . Mignonne cette petite brune quand même non?

A remarquer de près, la couleur blanche que porte cette ravissante demoiselle se marie très bien à la perfection avec les couleurs de mon ordi! «Candice You roulaize!» Je dois avouer qu'avec moi changer de fond d'écran c'est comme les jeunes filles qui vont passer leur samedi après-midi en ville pour changer de fringues! Il me faut du temps!

A titre d'information, ce wallpaper provient du site http://www.desktopgirls.com. Une fois sur le site, il faut rechercher Candice Michelle - comme écrit sur l'image ci-dessus -.

Bon ce week-end, c'est repos, courses et farniente, farniente!

mardi 6 mars 2007

Réveil musical avec beep-media-player

Hier, j'avais rendez-vous avec mes collègues de travail vers 12h30. La veille je me suis dis «Tiens pour une fois, je vais tester le plugin de réveile de beep-media-player ». Donc

apt-get install bmp-alarm

J'ai ensuite lancer beep-media-player. Dans la liste de musique, j'ai choisi ma musique.

Un petit clic-droit sur la fenêtre. Dans le menu, on choisit Préférences. Dans la fenêtre suivante, on clique sur Plugins, puis on choisit l'onglet Général, on active le plugin. Et on clique sur Préférences

Et on choisit son heure!

Et on se fait réveiller sur une chanson trankilou de Ousa Nousava Savannah!

dimanche 4 mars 2007

Un tutoriel pour effectuer les divers branchements nécessaires pour pourvoir regarder les programmes de la FreeBox sur l'ordinateur sans le multiposte/VLC

Le lien en question est ici!

Ah je me rappelle c'était le bon vieux temps, l'époque où je débutais avec tous mes branchements à la maison pour pouvoir relier la sortie péritel de ma freebox V4 à mes ordis . Je ne compte plus le nombre d'heures que j'ai passé en début de l'année à écumer le Web pour pouvoir réaliser ce genre d'installation à la maison: installation de v4l (video4linux),c'était sous Debian Testing...Un petit rêve pour un petit bonhomme comme moi devenu réalité ! Il y a déjà + de deux ans, j'avais suivi cet excellent tutoriel pour pouvoir le faire. Certes avec VLC, on peut suivre certains programmes. Cependant le multiposte de chez Free ne propose pas tous les chaines que l'on souhaiterait par exemple pourvoir enregistrer ses émissions préférées.

A là maison par rapport à ce tutoriel, j'ai remplacé le Dazzle que propose l'utilisateur sur son site par le Dazzle DVC90 que reconnait facilement la Ubuntu Dapper. «Raison pour pour laquelle j'évoquais que c'était le bon vieux temps car le module em28xx est impeccablement installé/chargé pour la Dappe et qu'il reconnait facilement le Dazzle DVC90.»


Dazzle DVC90

Mieux encore avec ma nouvelle télécommande ATI Remote Wonder II utilisable avec LIRC, - dont je ne cache pas que je ne peux plus me passer - regarder la télé en utilisant TVTIME, est un vrai plaisir sans avoir à bouger de son clic-clac!, écouter de la musique en lançant rhythmbox, VLC, matter des vidéos avec totemt... - Feignant je suis, je l'avoue «GNU/Linux ça rend feignant»


Mon piti bijoux du moment

«GNU/Linux ça rend feignant»

vendredi 2 mars 2007

Le site ilsonttoutvu.com - vu sur la chaine Direct8 - Au moins une bonne excuse pour justifer son retard

Ce midi je regardais l'émission direct midi sur direct8 quand la présentatrice suivante a parlé du site http://ilsonttoutvu.com


Remarque 1: au passage les animatrices de direct8 maintenant sont plus professionnelles qu'au début
Remarque 2: je ne me plains pas de voir une belle petite brune présentée cette partie de l'émission

Donc direction le site! Trop de la balle, bien marrant à souhait, notamment l'excuse avec le policier et la soucoupe volante ou le témoignage de Yolande au marché avec l'histoire des chimpanzés! En plus vous pouvez coller votre photo.

Un petit site à montrer à ses amis!


Yolande en pleinne explication

Les radios débarquent sur le multiposte

Je bossais hier soir quand j'ai reçu un mail du site de http://www.freeplayer.org/ signalant que les radios sont maintenant disponibles avec VLC/Multiposte

Génial au moins ça me motivera pour travailler ...Rires et chansons, Skyrock...oh trop de la balle !

Ca motive pour bosser surtour avec un bon son de zikmu dans les enceintes autour de mon portable - la table vibre des fois - !

Enfin mon FAI me propose un truc intéressant! A quand par exemple la gratuité des appels passés à appeler la hotline.. Mais bon, là je sais que je rêve.


Liste des radios disponibles sur le multiposte de Free (VLC)

Source: http://www.freeplayer.org/portal.php?pid=1&article=8270

mercredi 28 février 2007

Télécommande ATI Remote Wonder II: 5ème partie - Installation sous Dapper de A à Z

AVERTISSEMENT

Les notes qui suivent sont mes notes personnelles pour ma bécane mais je ne garantis pas qu'elles puissent fonctionner pour vous! Il s'agit donc d'un résumé de mes postes précédents, voir un condensé concernant l'utilisation de LIRC en fonction des diverses sources - voir en fin de ce billet - trouvées sur le Web. Comme je n'aime pas de faire de copier-coller, je me permet de citer les sources en rendant à César ce qui appartient à César.

PRESENTATION - OU L'ACHETER?

Une fois déballé, notre beau produit se présente ainsi


Déballage du produit: Le carton, le récepteur usb et la télécommande.

Vendu dans le commerce sous le nom de SAPPHIRE Remote Control Bob - Version 2, on peut la trouver sur ebay.fr et chez d'autres vendeurs internet comme ldlc.com

EXEMPLE ET SOLUTIONS POSSIBLES

Le but ici est d'utiliser la télécommande pour pouvoir par exemple lancer mes applications préférées sans bouger du canapé. Il existe bien un module ati_remote2 qui propose une préconfiguration pour la télécommande mais à un moment, cette solution ne me convenait pas trop! - voir ce billet-. Finalement, j'ai opté pour lirc - Linux Infrared Control Remote - qui offre beaucoup plus de possibilités et une meilleure souplesse avec la télécommande


Exemple d'utilisation pour TVTIME


Le récepteur de la télécommande

Pré-requis

Avoir les sources du noyau. Chez moi, j'ai uname -a qui me renvoit 2.6.15-26-386

apt-get install linux-headers-$(uname -r) hwinfo

Installation de LIRC

On télécharger les sources de lirc pour la version 0.8.1 sur le site http://www.lirc.org

tar xvjf lirc-0.8.1.tar.bz2
cd lirc-0.8.1
./configure --with-driver=atiusb --with-kerneldir=/usr/src/linux-headers-2.6.15-26-386 --with-x
make
make install

Ici, j'aurais donc préciser à configure de prendre en considération le driver pour ATI.

  • Le répertoire d'installation par défaut sera donc /usr/local
  • Un fichier de configuration générique pour toutes les télécommandes ATI sera copié à /etc/lircd.conf mais je prendrais un autre.
  • Les modules lirc_atiusb et lirc_dev sont installés à /lib/modules/$(uname -r)/misc

Configuration de LIRC et de LIRCMD

Désactiver le module ati_remote2

Par défaut, Dapper reconnaît quand le récepteur usb est connecté à la machine et charge automatiquement le module par défaut (voir un des précédents billets). Pour le désactiver proprement

echo blacklist ati_remote2 >> /etc/modprobe.d/blacklist

Pour charger nos nouveaux modules au démarrage, nous ferons

echo lirc_atiusb >> /etc/modules
echo lirc_dev >> /etc/modules
UDEV

Pour Dapper, un mount|grep sysfs me renvoit

root@jenna:~# mount |grep sysfs
/sys on /sys type sysfs (rw)

Donc d'après [1],, il me faut copier le fichier lirc-0.8.1/contrib/lirc.rules dans /etc/udev/rules.d

cp /depuis/les/sources/de/lirc-0.8.1/contrib/lirc.rules /etc/udev/rules.d/

dont le contenu est

root@jenna:~# cat /etc/udev/rules.d/lirc.rules
KERNEL=="lirc[0-9]*",   NAME="lirc/%n"
Lancer lircd, lircmd au démarrage, gestion avec Gnome

Lircd permet d'affecter une action à une touche de la télécommande en fonction du logiciel lancé. Quant à lircmd, ce dernier permet d'émuler une souris en utilisant certains boutons de la télécommande. En dépit de mes recheches sur le Web, je n'ai rien trouvé qui puisse permette de l'avoir d'activer lors de ma première session d'utilsation de Gnome. Ce n''est qu'en utilisant une deuxième session de gnome sur laquelle j'ai redémarré depuis une première session que je pouvais avoir accès a mes fonctionnalités de lircmd.. Sûrement une bonne utilisation de upate-rc.d devrait permettre de résoudre ce problème, où de lancer lirc depuis mon ~/.bashrc, je n'en sais rien. Quoiqu'il en soit, j'ai directement modifier mon script /etc/init.d/gdm pour pouvoir à la fois utiliser lircd/licmd au démarrage de gdm. J'ai donc opté pour un appel sans installation par service, ce qui me suffit amplement pour mes besoins.

Voici donc mes modifications pour /etc/init.d/gdm

--- /etc/init.d/gdm.orig        2007-02-28 04:33:26.000000000 +0100
+++ /etc/init.d/gdm     2007-02-26 01:18:37.000000000 +0100
@@ -58,6 +58,8 @@
                log_begin_msg "Starting GNOME Display Manager..."
                start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --name gdm $SSD_ARG -- $CONFIG_FILE >/dev/null 2>&1 || log_end_msg 1
                log_end_msg 0
+               /usr/local/sbin/lircd --device=/dev/lirc/0
+               /usr/local/sbin/lircmd
        fi
   ;;
   stop)
Fichiers de configuration

On trouve aisément des fichiers de configuration de cette télécommande sur Internet. [2],sur son site propose ces fichiers dont je me suis inspiré ici

  • lircd.conf - fichier d'affectation des boutons - qu'il faut placer dans /etc/;
  • lircmd.conf - fichier d'affectation pour émuler la souris - qu'il faut placer dans /etc/;
  • En ce qui concerne le fichie de configuration lircrc, vous pouvez facilement vous inspirer de [3] ou récupérer les miens. Ces fichiers-là sont à placés dans votre home directory /home/XXX/.lircrc,/home/XXX/.lircrc.vlc etc...Par exemple chez moi, la touche [TV] me permet de lancer tvtime

Mon fichier principale /home/david/.lircrc contient les lignes suivantes:

Prenons par exemple le cas maintenant avec TVTIME géré dans mon fichier .lircrc.tvtime. Je dois quand même dire que chez moi, le flux TV de la Freebox est obtenu une carte pinnacle pctv usb2 50e. Le son, je l'ai branché directement sur l'entrée Micro de mon ordi. Voici donc mon fichier /home/david/.lircrc.tvtime

Emulation de la souris: modification du fichier xorg.conf

En référence à ce que propose [2], dans mon fichier /etc/X11/xorg.conf, j'ai ajouté les lignes suivantes

Section "InputDevice"
        Identifier  "LIRC-Mouse"
        Driver          "mouse"
        Option          "Device" "/dev/lircm"
        Option          "Protocol" "IntelliMouse"
        Option          "SendCoreEvents"
        Option          "Buttons" "2"
        Option    "ZAxisMapping" "4 5"
EndSection

Et dans la section ServerLayout

Section "ServerLayout"
    ...   ...
    ...   ...
    InputDevice   "LIRC-Mouse"
EndSection
Irexec pour pouvoir lancer ses application préféres prises en compte pra lirc dès le démarrage de la sessions de Gnome

En référence à [4], on ouvre un fichier /home/david/ir.sh - par exemple - et on colle le texte suivant dedans

#!/bin/bash
killall irexec
/usr/local/bin/irexec -d /home/david/.lircrc

Puis depuis le menu de Gnome, Système ---> Préférences --> Sessions --> Onglet "Programme au démarrage", on choisit d'ajouter un programme. On y met le contenu suivant

sh /home/david/ir.sh

TESTS

Reconnaissance du récepteur

Au rédémarrage de la machine, si l'on connecte le récepteur usb, un hwinfo --usb nous renvoit

17: USB 00.0: 0000 Unclassified device
  [Created at usb.123]
  UDI: /org/freedesktop/Hal/devices/usb_device_471_602_noserial_if0
  Unique ID: rg_L.JYGbF+L_KO7
  Parent ID: zPk0.NPZbmpoZGj2
  SysFS ID: /devices/pci0000:00/0000:00:10.2/usb4/4-2/4-2:1.0
  SysFS BusID: 4-2:1.0
  Hardware Class: unknown
  Model: "Philips Unclassified device"
  Hotplug: USB
  Vendor: usb 0x0471 "Philips"
  Device: usb 0x0602
  Speed: 12 Mbps
  Module Alias: "usb:v0471p0602d0000dc00dsc00dp00icFFisc00ip00"
  Driver Info #0:
    Driver Status: lirc_atiusb is active
    Driver Activation Cmd: "modprobe lirc_atiusb"
  Driver Info #1:
    Driver Status: ati_remote2 is not active
    Driver Activation Cmd: "modprobe ati_remote2"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #16 (Hub)

Philips est le nom du fabricant de la télécommande. Un dmesg|grep lirc_atiusb nous confirme aussi que le module a bien été chargé.

[17179587.812000] lirc_atiusb: USB remote driver for LIRC v0.5
[17179587.812000] lirc_atiusb: Paul Miller 
[17179587.828000] lirc_dev: lirc_register_plugin: sample_rate: 0
[17179587.828000] lirc_atiusb[2]:  on usb4:2
[17179587.828000] usbcore: registered new driver lirc_atiusb
Lircd, et lircmd tournent?

Un petit ps aux|grep lirc renvoit

root@jenna:~# ps -eo cmd|grep lirc
/usr/local/sbin/lircd --device=/dev/lirc/0
/usr/local/sbin/lircmd
/usr/local/bin/irexec -d /home/david/.lircrc
grep lirc

donc les daemons de lircd et de lircmd tournent!

Reconnaissance des touches de la télécommande

En tapant irw depuis un terminal, on obtient

david@jenna:/root$ irw
0000000002010000 00 1 /etc/lircd.conf
0000000002010000 01 1 /etc/lircd.conf
0000000002020000 00 2 /etc/lircd.conf
0000000002200000 00 ch+ /etc/lircd.conf
0000000002210000 00 ch- /etc/lircd.conf
00000000028e0000 00 ati /etc/lircd.conf
00000000028e0000 01 ati /etc/lircd.conf
00000000025c0000 00 ok /etc/lircd.conf
00000000025c0000 01 ok /etc/lircd.conf

Les touches sont donc bien reconnues !

Emulation de la souris

En appuyant sur la touche [ATI], on active/déactive le curseur de souris. Le panel multidirectionnel fonctionne

Vérification pour irexec

Une fois connecté sous ma session de gnome, l'appui sur la touche [TV] me lance tvtime comme attendu .

Elle est pas belle la vie

Conclusion

Maintenant, je vais pouvoir me poser depuis mon clic-clac confortablement pour matter la télé sur l'ordi - surtout mes dessins animés -, écouter de la musique ou matter la télé grâce à VLC, regarder mes films préférés etc.... Je ne regrette pas mon investissement.

Sources

mardi 27 février 2007

Télécommande ATI Remote Wonder II: 4ème partie- Liens intéressant sur Ubuntu-fr

C'est vraiment par hasard que j'ai trouvé ce lien qui a été mis à jour récemment: http://doc.ubuntu-fr.org/applications/lircrc

Je m'en suis inspiré pour peaufiner mes propres fichiers .lircrc. Je pense poster dans un future billet une installation personnel de LIRC pour ATI Remote Wonder II bientôt. Un petit + par rapport à avant a été la possibilité de pouvoir avoir main mise sur le curseur de la souris (-cf lircmd) dès le démarrage de Gnome sans installer LIRC en service.

Je ne cache pas que c'est un petit + que je cherchais depuis longtemps mais j'ai enfin réussi. Pour celà, il m'a fallut modifier mon fichier /etc/init.d/gdm . Je mettrais totu celà prochainement dans un futur billet pour Dapper.

Au moins maintenant, je prend plaisir à

  • regarder les programmes de la freebox sur jenna avec tvtime;
  • avoir le curseur de la souris opérationnel;
  • lancer vlc pour zapper entre les chaines du multiposte;
  • écouter ma musique avec rhythmbox;
  • matter mes vidéos avec totem ou gmplayer.

Tout ça depuis le clic-clac! Elle est pas belle la vie!

Dimanche: cuisine carry de sauté de dinde, lapin et de cabillaud / Lundi: bricolage

Après la formation sur Dijon, la semaine derrière, j'ai eu droit à un jour de repos lundi. Donc j'en ai profité pour m'occuper. J'ai cuisiné 3 plats dimanche après-midi et fait un peu de bricolage lundi.

Lundi: bricolage

J'ai profité de cette journée pour faire un peu de bricolage dans l'appart: un truc à accrocher au mur pour Cat, ajouter une planche entre mes deux tables en salle informatique. J'ai tout sorti: scie-sauteuse, perceuse, marteau, mètre, ! Fouiller un trou dans la planche pour faire passer les câbles qui trainainet ici et ailleurs autour de la freebox! Eh oui! Les informaticiens aussi savent bricoler !


Bricolage maison: planche qui tient avec une baguette chinoise coupé en morceau emboitée entre chaque table et la planche. n°1


Bricolage maison.
Dimanche: au menu

Au menu, j'ai concocté

  • un carry de sauté de dinde;
  • un carry lapin;
  • un carry poisson à base de cabillaud.
Préparation

Sur la table de la cuisne, on a donc sorti le jeu de cuisine de monsieur:


Plan de cuisine

J'ai donc commencé par découper 7 belles grosses tomates, et hachés 5 oignons


Tomates et oignons finements hachés.

En fait, c'est Catherine qui m'a donné un coup de main ( merci ma chérie) pour préparer tout ça, le temps que je découpe la viande. J'ai ensuite épluché 1,5 têtes d'ail. Dans un mixeur, j'ai mélangé 6 piments Oiseaux - variété de piment de la Réunion -, l'ail, du gros sel


Ail, piments et sail mixés.

Pour la suite, il nous faudra aussi du gingembre en poudre ainsi que du curcuma


Gingembre en poudre.


Curcuma en poudre.

Dernière précaution: Le chat!


S'assurez que le chat est occupé pendant ce temps. Un morceau de viande est si vite parti .
Le carry de sauté de dinde

Après avoir hâché en petits morceaux le sauté de dinde, dans une poêle anti-adhésive, on fait revernir 2 fois la viande pour bien la cuire et pour qu'elle perde bien de son eau Après le premier passage à la poêle, à l'aide d'une passoire, on filtre la viande. Pour le second passage, on ajoutera cette fois-ci un peu d'huile de pépins de raisins.

On refiltre à nouveau la viande au-dessus d'une passoire. On récupère le jus et l'huile dans une marmite. On met la marmite sur le feu. Une fois, l'huile bien chaude, on rajoute les oignons. Les oignons une fois bien dorées, on ajoute le mélande d'épices mixés. On ajoute ensuite une cuillère de gingembre. On remue rapidement avec une cuillère.

On ajoute ensuite les morceaux de viande, ainsi qu'une demi-cuilleré de curcuma. On remue encore un peu. On ajoute de l'eau! Et on obtient cette belle photo


Le sauté de dinde en train de mijoter.


Le sauté de dinde une fois terminé.

Simple et rapide à préparer

Le carry Lapin

C'est exactement la même préparation que pour le sauté de dinde sauf qu'il faut veiller lors du passage sur la poêle à ajouter de l'huile, vu que la viande de lapin est une viande différente de celle de la dinde. Une fois le mélange effectué, on ajoute des tomates quand on incorpore l'eau. Le temsp de cuisson est d'au moins une demi-heure.

Une variante possible pour ajouter plus de gôut au carry lapin est de préparer le mélange suivant:

Dans un poêle, faire revenir des grains de funegrec, avec des graines de cardamones, du cumin, et de la coriandre. Laisser chauffer! Une fois les graines de funegrec bien revenu, mixez le tout! Incorporez le tout en même temps que le mélange de ail, piment, sel mixé dans la marmite. On peut aussi relever le plat en ajoutant du quatre-épice moulu. Si lors de la cuisson, le mélange se relève trop dur au goût, un soupçon de gingembre permet d'atténuer le tout. Comme quoi, quand on essaie des mélanges, on trouve de ces astuces

samedi 24 février 2007

Formation sur Dijon en semaine, retour vendredi matin

Toute la semaine, j'ai été à Dijon pour donner une formation avec Djay et le boss! Une formation sur PostGIS comme il y en aura d'autres cette année . Ca a été l'occasion d'essayer les diverses spécialités de Dijon. Mais je suis fais aussi une semaine à me gaver de canard. Par contre mardi soir, je suis tombé malade pour une raison que j'ignore! Sûrement le plat des oeufs à la meurette qui est mal passé! Ca a pas été de tout repos, surtout mardi mais bon j'ai tenu la route . Mercredi et jeudi j'ai assuré au niveau de la formation pour PostGIS - comme d'hab -. Mais ma petite famille m'a manqué ces derniers jours.

Donc finalement, je suis rentré plutôt que prévu, vendredi matin en prenant le train de 5h15 avec une correspondance à Lyon. Je suis arrivé à la maison vers 9h00. Mama quand j'ai vu Simba, je n'ai même pas pris le temps de défaire mes affaires. Un gros bisoux à mon ptiti chat adoré !

J'aurais à peine eu le temps de dormir jeudi soir à peine 4h00 de suite.

Il m'a réclamé mon petit poussin quand je suis rentré à la maison . J'ai ensuite passé le reste de la journée à attendre que ma chérie rentre du travail pour la serrer dans mes bras, le soir. Bon ce week-end ce sera course, farniente, famille, ordi et pas plus! Quel beau programme pour un repos bien mérité.

jeudi 15 février 2007

La Saint-Valentin

A la fête des amoureux ! Bon hier soir, j'ai fait à manger pour ma chère et tendre! Nous avons commencé à la fêter hier soir. Nous la terminerons ce week-end comme nous travaillons en semaine! Je suis rentré en cuisine vers 17h30 pour terminer tout ça vers 20h00. Pour une fois que j'avais le temps de cuisiner - 2h30 en cuisine - et de bien faire ma cuisine . Donc je lui ai mitonné de bons petits plats réunionnais et autre:

  • rougail haricots rouges;
  • carry poulet ;
  • côtes de porcs à la poudre de manioc et à la sauce de soja ;
  • du riz, un rougail tomate, et un rougail avocats;

Elle s'est régalée et moi aussi d'aillleurs ! Après le repas, je me suis affalé dans le clic-clac à matter les experts. Pour la suite de la Saint-Val', on verra ce week-end. Faut dire aussi que c'est la saint-val' tous les jours à la maison .

Nicolas Sarkozy à la Réunion

C'est en regardant le site du journal de la Réunion que j'ai appris que Nicolas Sarkozy serait en visite sur l'île ce matin. Bon apparament, il y aurait des sujets comme la surrémunération des fonctionnaires en Outre-Mer, les prix des billets d'avion, le prix de la vie (qui est quand même assez cher chez nous), qui seront abordés. Bon là je dois taffer mais je l'irais son interview plus tard dans la journée et y reviendrais plus tard pour compléter ce billet.

Pour une fois que celà se passe chez moi !

dimanche 4 février 2007

Mon anniversaire lundi - 29 ans déjà, quand votre chérie vous fait une belle surprise

Et oui que le temps passe vite! 29 ans déjà! Samedi avec Cat', j'avais prévu de fêter mon anniversaire en sortant au cinéma ou un truc comme ça! Elle aurait préféré qu'on reste à la maison pour fêter ça! Elle m'a tellement touché que Finalement je lui ai dit oui! Donc samedi aprem' on va faire les courses! En début de soirée, y'a des gens qui sonnent en bas de notre immeuble! «Bahl! Ca doit encore être quelqu'un qui est pas de l'immeuble et qui cherche à rentrer!» Je me suis dit. Cat' appuie sur l'interrupteur pour ouvrir la porte d'entréee. Quelques secondes plus tard, je m'appête à aller fumer une cigarrette quand quelqu'un frappe à la porte. Cat' ouvre! Purée c'est Dalox et Mimie qui débarque ....??? Purée elle a voulu me faire a surprise de les inviter pour mon anniversaire...Quel belle surprise ! Alors là je suis tombé des nues. Mes plus proches amis ici


Dalox et Mimie qui sont venus en invités surprise à mon anniversaire

Photos de groupe...

Nous avons passés une agréable soirée! Je n'avais pas fêté un tel anniversaire dans une telle ambiance depuis très longtemps. En plus celà faisait au moins deux moins que nous ne les avions pas vu!

samedi 3 février 2007

Cuisses de canard confit à la sauce soja

Hier soir avec Cat', nous avons essayé une variante des cuisses de canard confit. Vous savez les belles cuisses qui sont vendus dans de belles grosses boites vertes. J'ai dit à Catherine de gouter et que ce n'est qu'àprès que je lui dirais ce que j'ai mis dedans!

Ben rien de compliqué:

  • de la sauce de soja;
  • une pincée de gingembre;
  • deux morçeaux de sucre;
  • un oignon.

On s'est régalé ! Sinon on peut aussi remplacer le sucre par du miel. Un bon petit mélange sucré/salé à essayer en tout cas!

En tout cas les compliments n'ont pas manqués hier soir: «Tu es un chef!»,«Tu t'améliore dans ta cuisine!».......

Un geek qui s'est faire de la bonne cuisine est un geek en puissance ...! Ich bin ze best of les bests. Nous ne sommes pas que des grands enfants stochés devant l'ordi 24h/24h..Nous avons en réserve des talents bien cachés/insoupçonnés .

A ben tiens! La prochaine fois, je ferais un billet sur mon mélange d'épices pour un cari poulet massalet .

jeudi 1 février 2007

Utilisation de Tsearch2 avec PostgreSQL (Suite)

Bon dans mes tests avec Tsearch, je commence enfin à voir le bout du tunnel notamment pour les fichiers de stemmer!

MISE A JOUR DU BILLET le 2007-03-13

Suite à des erreurs signalées par un utilisateur - que j'ai croisé sur IRC - , je mets donc à jour ce billet! Les mises à jours concernent surtout

  • Les fichiers french.aff, french.dict, french.stop que vous pouvez désormais télécharger à http://www.davidgis.fr/download/tsearch2_french_files.zip => IL Y A UNE SECTION DANS MON BILLET QUE JE VOUS DEMANDERAIS DONC DE BIEN VOULOIR IGNORER "changement dans la base"! MERCI
  • j'ai corrigé le fichier article.sql utilisé ici en exemple dans ce billet
Le cadre

A la maison, j'ai PostgreSQL 8.2.1 sous Ubuntu Dapper avec des bases encodées en UTF-8

I-Installation

On s'assure que tsearch est installé comme il faut

Pour tsearch ici, il y a d'abord un patch à télécharger et à utiliser

cd /mnt/sources/postgresql-8.2.1/src/
wget http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/tsearch_snowball_82.gz
gunzip tsearch_snowball_82.gz
patch -p0 < tsearch_snowball_82

puis on installe tsearch2

cd /mnt/sources/postgresql-8.2.1/src/contrib/tsearch2/
make
make install 

On va générer les modèles de dictionnaire avec stemmer de snowball. Pour se faire, on peut consulter le fichier tsearch2/gendict/README.gendict

cd /mnt/sources/postgresql-8.2.1/src/contrib/tsearch2/gendict
wget http://snowball.tartarus.org/algorithms/french/tarball.tgz
tar xvzf tarball.tgz

La décompression donne un répertoire «french» contenant des fichiers stem_....{c,h}. Dans ce répertoire, ce sont les fichiers stem_UTF_8.{c,h} qui vont nous intéressés. Il faut copier les fichiers gendict/french/stem_UTF_8.{c,h} en gendict/stem.{c,h}. Cette étape est importante notamment pour le paramètre -p de ./config.sh. J'avais à un moment copier bêtement les fichier, dans le répertoire même de gendict et celà me générait beaucoup d'erreur.

cp french/stem_UTF_8.h stem.h 
cp french/stem_UTF_8.c stem.c
./config.sh -n fr -s -p french_UTF_8 -i -v -c stem.c -h stem.h -C'Snowball stemmer for French'

Celà aura pour effet de créer le répertoire contrib/dict_fr avec les stem.{c,h} attendus ainsi que le Makefile adapté.

cd ../../gendict
make
make install 
! ! ! PARTIE ANTERIEURE AU 2007-03-14: MERCI DE SAUTER CETTE SECTION ! ! !
Chargement dans une base

Ok Let's go ! On a besoin pour continuer d'utiliser des fichiers de IPSELL que l'on peut trouver sur le site de tsearch2 à l'url http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/. Nous allons téléchargés http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/dicts/ispell/ispell-french.tar.gz

wget http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/dicts/ispell/ispell-french.tar.gz
tar xvfz ispell-french.tar.gz

Attention!une fois les fichiers, il faut vérifier que ces derniers soient bien encodées en UTF-8 pour nous:

root@bremko:/home/david/test# tar xvzf ispell-french.tar.gz
ispell-french/
ispell-french/french.aff
ispell-french/french.dict
root@bremko:/home/david/test# file ispell-french/*
ispell-french/french.aff:  ISO-8859 text
ispell-french/french.dict: ISO-8859 text

Ah merde, chez moi c'est en UTf-8 , mais pas de souci, on a la solution grâce à recode

root@bremko:/home/david/test# apt-get install recode >> /dev/nul
root@bremko:/home/david/test# recode l9..u8 ispell-french/*
root@bremko:/home/david/test# file ispell-french/*
ispell-french/french.aff:  UTF-8 Unicode text
ispell-french/french.dict: UTF-8 Unicode text
root@bremko:/home/david/test#

Avant de continuer, je dois signaler que j'avais à un moment bêtement importer ces deux fichiers dans ma base! Et quand je faisais

SELECT lexize('fr_ispell','école')

j'obtenais l'erreur

ERROR:  Affix parse error at 130 line 

J'ai donc envoyé un mail à a mailing-list de OpenFTS. Et c'est Oleg qui m'a donnée les raisons pourquoi mon fichier french.aff n'était pas bon. Finalement plus tard, c'est klando sur le IRC de PostgreSQLFR qui m' a expliqué pourquoi. Le fichier de Oleg en fait à l'origine (dans le fichier compressé ispell-frenc.tar.gz) était mal formaté. Voilà pour la petite histoire. Entout cas merci à toi klando pour ton travail

Donc comme convenu dans le mail en question, il faut donc télécharger le nouveau fichier french-over.aff, le réencoder en UTF-8 et le renommer en french.aff. Ce qui ce fait en faisant:

cd /home/david/test/ispell-french
wget http://mira.sai.msu.su/~megera/french-over.aff
recode l9..u8 french-over.aff && mv french-over.aff french.aff
! ! ! FIN PARTIE ANTERIEURE AU 2007-03-14: MERCI D'AVOIR SAUTER CETTE SECTION :) ! ! !
II - TEST

Faisons nos tests

su postgres
createdb test
psql -d test -f /opt/pgsql/share/contrib/tsearch2.sql 
psql -d test -f /opt/pgsql/share/conrib/dict_fr.sql 

Une petite connexion à la base grâce à psql. Les tables que crée tsearch sont préfixées en pg_ts_

test=# \dt
            List of relations
 Schema |     Name     | Type  |  Owner
--------+--------------+-------+----------
 public | pg_ts_cfg    | table | postgres
 public | pg_ts_cfgmap | table | postgres
 public | pg_ts_dict   | table | postgres
 public | pg_ts_parser | table | postgres
(4 rows)

Un premier test

test=# select lexize('fr','hôpitaux');
  lexize
-----------
 {hôpital}
(1 row)

Un autre

test=# select lexize('fr','anticonstitutionnellement');
        lexize
-----------------------
 {anticonstitutionnel}
(1 row)

Très de bavardages, passons aux choses sérieuses. On va maintenant charger une table

CREATE TABLE article(id serial primary key,contenu text);

Pour le contenu, j'ai pris une page internet au hasard par exemple cellec-ci http://fr.wikipedia.org/wiki/Discussion_Wikip%C3%A9dia:Usage_raisonn%C3%A9_des_sources_de_presse. J'ai un peu modifié le contenu pour que ca passe sur ma machine. Vous pouvez trouvez le fichier SQL correspondant de la page. Pour le charger, il suffit de faire

psql -d test -f article.sql

Bon maintenant le plat de résistance. Avant de continuer, il me faur un fichier french.stop que j'ai trouvé ici (fichier à renommer en french.stop)

Avant de passer à la suite, nous avons besoin de télécharger des fichiers auxilaires http://www.davidgis.fr/download/tsearch2_french_files.zip

Nous allons les télécharger et les mettre par exemple dans le home directory de postgres

su postgres
cd
wget http://www.davidgis.fr/download/tsearch2_french_files.zip
unzip tsearch2_french_files.zip

Ok !


BEGIN TRANSACTION;

UPDATE pg_ts_dict SET dict_initoption='/home/postgres/french.stop' WHERE dict_name = 'fr';

INSERT INTO pg_ts_cfg (ts_name, prs_name, locale) VALUES ('default_french', 'default', 'fr_FR.UTF-8');


insert into pg_ts_cfgmap values ('default_french','email','{simple}');
insert into pg_ts_cfgmap values ('default_french','file','{simple}');
insert into pg_ts_cfgmap values ('default_french','float','{simple}');
insert into pg_ts_cfgmap values ('default_french','host','{simple}');
insert into pg_ts_cfgmap values ('default_french','hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','int','{simple}');
insert into pg_ts_cfgmap values ('default_french','lhword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','lpart_hword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','nlhword','{simple}');
insert into pg_ts_cfgmap values ('default_french','nlpart_hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','part_hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','sfloat','{simple}');
insert into pg_ts_cfgmap values ('default_french','uint','{simple}');
insert into pg_ts_cfgmap values ('default_french','uri','{simple}');
insert into pg_ts_cfgmap values ('default_french','url','{simple}');
insert into pg_ts_cfgmap values ('default_french','version','{simple}');
insert into pg_ts_cfgmap values ('default_french','word','{fr_ispell,fr}');
insert into pg_ts_cfgmap values ('default_french','nlword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','lword','{fr_ispell,fr,simple}');


 INSERT INTO pg_ts_dict
               (SELECT 'fr_ispell',
                       dict_init,
                       'DictFile="/home/postgres/french.dict",'
                       'AffFile="/home/postgres/french.aff",'
                       'StopFile="/home/postgres/french.stop"',
                       dict_lexize
                FROM pg_ts_dict
                WHERE dict_name = 'ispell_template');




END TRANSACTION;

??? C'est quoi toutes ces lignes me demandiez-vous? Un exemple étant plus parlant qu'autre chose, prenons donc un exemple. Considérons par exemple la phrase pour laquelle je vais introduire la fonction ts_debug()

test=# select 'Je m appelle David ,j''habite à Montpellier et mon e-mail est davidtecher@yahoo.fr';
                                     ?column?
-----------------------------------------------------------------------------------
 Je m appelle David ,j'habite à Montpellier et mon e-mail est davidtecher@yahoo.fr
(1 ligne)

Maintenant, si je fais

test=# select ts_debug('Je m appelle David ,j'' habite à Montpellier et mon e-mail est davidtecher@yahoo.fr');
                                        ts_debug
-----------------------------------------------------------------------------------------
 (default_french,lword,"Latin word",Je,"{fr_ispell,fr,simple}","")
 (default_french,lword,"Latin word",m,"{fr_ispell,fr,simple}","")
 (default_french,lword,"Latin word",appelle,"{fr_ispell,fr,simple}","'peler' 'appelle'")
 (default_french,lword,"Latin word",David,"{fr_ispell,fr,simple}",'david')
 (default_french,lword,"Latin word",j,"{fr_ispell,fr,simple}","")
 (default_french,lword,"Latin word",habite,"{fr_ispell,fr,simple}",'habite')
 (default_french,nlword,"Non-latin word",à,{fr_ispell},"")
 (default_french,lword,"Latin word",Montpellier,"{fr_ispell,fr,simple}",'montpellier')
 (default_french,lword,"Latin word",et,"{fr_ispell,fr,simple}","")
 (default_french,lword,"Latin word",mon,"{fr_ispell,fr,simple}","")
 (default_french,lhword,"Latin hyphenated word",e-mail,{fr_ispell},'mail')
 (default_french,lpart_hword,"Latin part of hyphenated word",e,{fr_ispell},"")
 (default_french,lpart_hword,"Latin part of hyphenated word",mail,{fr_ispell},'mail')
 (default_french,lword,"Latin word",est,"{fr_ispell,fr,simple}","")
 (default_french,email,Email,davidtecher@yahoo.fr,{simple},'davidtecher@yahoo.fr')
(15 lignes)

Revenons maintenant à notre table article. Nos premières manip' seront d'après les diverses docs sur tsearch2

SELECT set_curdict('fr_ispell');
 ALTER TABLE article ADD COLUMN contenu_vectors tsvector;
UPDATE article SET contenu_vectors = to_tsvector(contenu);
VACUUM FULL ANALYZE ;
CREATE INDEX contenu_idx on article using gist(contenu_vectors);
VACUUM FULL ANALYZE ;

Par exemple maintenant si je cherche le mot «source» aussi bien au singulier qu'au pluriel

test=# SELECT id,contenu FROM article WHERE contenu_vectors @@ to_tsquery('source');
 id |                                                                                     contenu 
----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 59 | exemple, les résultats du recensement, la source officielle c'est l'INSEE, mais qui sont repris dans chaque canard) et parfois d'une exactitude approximative. Nguyenld 12 mai
 48 | Le journal est une source particulièrement utilisée pour le traitement de l'histoire immédiate c'est-à-dire pour des articles qui relèvent plus ou moins du journalisme. Les
 57 | C'est une source d'information incontournable, en particulier pour la vie locale : fêtes et manifestation d'un village, rappels historiques sur un monument, un personnage
  6 | L'encyclopédiste doit donc citer comme "source de l'article" l'historien qu'il a effectivement lu pour écrire l'article, et mettre un lien sur le texte de "j'accuse".
  7 | Dans la pratique, les contributeurs sont tentés de prendre les journaux comme source en matière d'histoire immédiate. Quelle sont les règles à observer pour le traitement de l
 10 | en aucun cas le point de vue, l'analyse ou la déclaration d'un journaliste peut être considéré comme une source pour un article encyclopédique sans être mis en perspective
 24 | Exemple de cas : Antiquus Mysticusque Ordo Rosae Crucis#Relation avec l'Ordre du Temple Solaire ?. Faut-il enlever les sources citées sous le motif que Libé ou l'AFP ne sont
 25 | spécialisée ni en droit ni en ésotérisme ? Et si on supprime ces sources, faut-il supprimer ce paragraphe (pour absence de source et d'attribution de PdV) ? Turb 5 mai 2006 à
 29 | Salut. A mon avis, il y a d'autres cas qui peuvent être admis dans "Comment utiliser les sources de presse à l'appui d'un article encyclopédique":
 31 | * Article citant des sources pouvant servir de présentation d'un POV sur une situation (ex. : selon l'ONG X, le tremblement de terre a fait tant de victimes)
 33 | En ce qui concerne "Dans quels cas les sources de presse sont-elles déconseillées ?", on peut ajouter :
(11 rows)

Mais on peut aussi essayer de ne retourner que les lignes qui ne contiennent que le mot source et le mot avis

test=# SELECT id,contenu FROM article WHERE contenu_vectors @@ to_tsquery('source&avis');
 id |                                                                      contenu
----+----------------------------------------------------------------------------------------------------------------------------------------------------
 29 | Salut. A mon avis, il y a d'autres cas qui peuvent être admis dans "Comment utiliser les sources de presse à l'appui d'un article encyclopédique":
(1 ligne)

Ou bien encore les phrases qui contiennent soit le mot avis ou histoire

test=# SELECT id,contenu FROM article WHERE contenu_vectors @@ to_tsquery('histoire|avis');
 id |                                                                                     contenu 
----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 47 | Histoire immédiate, journalisme, j'insiste [modifier]
 48 | Le journal est une source particulièrement utilisée pour le traitement de l'histoire immédiate c'est-à-dire pour des articles qui relèvent plus ou moins du journalisme. Les
 49 | usages autorisent ce genre d'articles, alors qu'à mon sens, la synthèse de l'histoire immédiate s'apparente à un travail de recherche prohibé par les principes fondateurs de
 51 | Cette page à l'usage des débutants prend parti clairement dans le débat: Elle légitime le journalisme. Mon avis personnel sur la question: Il faut déporter tous les articles à
 54 | Je suis d'accord avec toi, mais ce genre de proposition ne sera jamais acceptée à mon avis Le gorille Houba 8 mai 2006 à 15:55 (CEST)
  1 | L'histoire immédiate
  7 | Dans la pratique, les contributeurs sont tentés de prendre les journaux comme source en matière d'histoire immédiate. Quelle sont les règles à observer pour le traitement de l
  8 | 'histoire immédiate ? C'est une autre question, une vaste question, mais qu'on ne peut pas éluder dans cette page. --EdC / Contact 5 mai 2006 à 13:11 (CEST)
 15 | journaliste ou d'une organisation partisane nuit gravement à votre santé et à celle de votre entourage, à consommer avec modération". Mon avis est qu'on crève de
 29 | Salut. A mon avis, il y a d'autres cas qui peuvent être admis dans "Comment utiliser les sources de presse à l'appui d'un article encyclopédique":
(10 lignes)
III - QUE FAIRE SI LE MOT EST ECRIT SANS ACCENT

Une solution simple semble de rajouter une colonne qui duplique la colonne «contenu» ici qui enlève les accents

Un bon compromis serait aussi de créer un trigger sur la colonne contenu qui à chaque nouvelle insertion, insère aussi le code sans accent dans la colonne correspondante. La solution proposée ici est que pour des tests et pour le fun.

test=# ALTER TABLE article ADD column contenu_sans_accent text;
ALTER TABLE
test=# UPDATE article SET contenu_sans_accent=translate(contenu,'àéèêëîïù','aeeeeiiu');
UPDATE 66
test=# ALTER TABLE article ADD column contenu_sans_accent_vectors tsvector;
ALTER TABLE
test=# UPDATE article SET contenu_sans_accent_vectors = to_tsvector('simple',contenu_sans_accent);
UPDATE 66
test=#  VACUUM FULL ANALYZE ;
VACUUM
test=# CREATE INDEX contenu_sa_idx on article using gist(contenu_sans_accent_vectors);
CREATE INDEX
test=#  VACUUM FULL ANALYZE ;
Des exemples

Suppons que le cherche le mot "matière" mais qu'ici au lieu de l'écire comme il faut on a saisi "matiere". On supposera de même pour le mot synthèse

test=# SELECT id,contenu FROM article WHERE contenu_sans_accent_vectors @@ to_tsquery('simple','matiere');
 id |                                                                                     contenu 
----+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  7 | Dans la pratique, les contributeurs sont tentés de prendre les journaux comme source en matière d'histoire immédiate. Quelle sont les règles à observer pour le traitement de l
(1 row)

test=# SELECT id,contenu FROM article WHERE contenu_sans_accent_vectors @@ to_tsquery('simple','synthese');
 id |                                                                                    contenu 
----+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 49 | usages autorisent ce genre d'articles, alors qu'à mon sens, la synthèse de l'histoire immédiate s'apparente à un travail de recherche prohibé par les principes fondateurs de
(1 row)

mardi 30 janvier 2007

Le blog de Paul RAMSEY - FOSS4G 2007

C'est sur le blog de Paul aujourd'hui que j'ai appris que le FOSS4G 2007 aurait lieu en Victoria au Canada! Bonne nouvelle! Apparement du beau monde serait attendu cette année!

Pour une fois c'est le grand manitou qui sera aux commandes pour piloter le projet , ça me fait plaisir!

Le FOSS4G devrait se tenir du 24 au 27 septembre 2007.

Le site du FOSS4G 2007: http://www.foss4g2007.org

lundi 29 janvier 2007

Rédaction de la version 10.1 - erreur remontée par un utilisateur pour la version de MinGW

Vendredi soir, un utilisateur m'a envoyé un mail me faisant par d'une erreur concernant la compilation de PostgreSQL 8.2.1 sous Win32. Aussitôt dit, je me suis hâté à trouver l'erreur! En fait il s'agissait de la version de MinGW qui n'était pas compatible. Erreur de ma part que de ne pas avoir mis à jour le chapitre 1! Et oui je parlais de la version 5.0.0 de MinGW alors que c'était la version 4.1.0 qu'il fallait utiliser!

J'ai donc posté un billet sur le site de Postgis.fr pour prévenir de mon erreur. En fait ce qui m'a mis la puce à l'oreille après une recherche intensive sur internet, c'est cette page qui contenait l'erreur que je cherchais

Voilà! C'est fait! Au moins tout est au propre !

dimanche 28 janvier 2007

Le cultissime dessin animé: «Oggy et les cafards»

Y'avait un petit reportage qui ce soir me bottait pour la 5 ce soir! Finalement en zappant sur Gulli, je suis tombé sur «Oggy et les cafards».........Oh le rêve, 1h30 de dessins animés...Le rêve!

Confortablement installé dans mon clic-clac après avoir souhaité la bonne nuité à ma chérie et au chat, je m'installe donc trankilétoupépère devant la star du Samedi soir: Oggy

Pour ceux qui ne connaissent pas c'est un gros chat fainéant, vivant chez lui, ennuyé tout le temps par une bande de 3 cafards aussi méchants que stupides! Un bon programme en somme! Plus en détail ici


Oggy


Les cafards qui arrêtent pas de l'embêter!


Joe le cafard vraimet méchant qui veut se débarasser d'Oggy

Conclusion: un bon petit samedi soir trankil passé à regarder la télé...ensuite j'ai trainé sur internet pour et mis ma doc de PostGIS un peu à jour!

mardi 23 janvier 2007

Soirée devant les dessins animés!

Oups! Bon ce week-end, j'aurrais bien travaillé: mise à jour de ma documentation pour la communauté, finalisation de projets pour le travail que le boss devait rendre.

Levé à 15h30, le boss l'a débarqu' la kaze vers 16h00. Il devait repartir pas tarder. Finalemnt il est reparti vers 20h15. Oh ça m'a fait plaisir de voir qu'ils'est lui aussi mis à GNU/Linux: une Ubuntu Edgy Eft d'installée sur sa machine ! Au moins le travail demain pourra être rendu et montré au client! Finalement j'ai pas bossé ce soir! J'ai matté le dessin animé "Les mésaventures du roi Arthur sur Cartoon NetWork" sur (Canal Sat) à 01h50 du matin ensuite "Les contes du cimetières".


Les mésaventures du roi Arthur - ScreenShot 1


Les mésaventures du roi Arthur - ScreenShot 2


Les contes du cimetière.

A part entre 16h00-20h00 aujourd'hui, où il a fallut taffer cela aura été une bonne journée de repos bien méritée !

Ce qui m'a un peu attristé, ça a été d'entendre aux infos ce soir la disparition de l'abbé Pierre. Eh oui un brave homme nous quitte! Au moins il y aura des gens pour reprendre le flambot. C'est déjà ça au moins.

lundi 15 janvier 2007

Simba à la belle étoile dans un arbre

Purée Simba nous a fait vivre de belles frayeurs hier et hier soir . Hier après-midi nous sommes allés le promener à Clapier en face du camping du Plein Air des Chênes. En discutant avec Cat', il a échappé à notre surveillance deux minutes. Résultat, nous le voyons plus tard sur un arbre! On essait de le faire redescendre en l'appelant. Mais de son propre chef, comme il est craintif, il voit que l'écorce est trop fragile pour redescendre (ne pas assez de quoi s'agripper). Donc il a fallut que j'aille voir au camping si des gens avaient une échelle, on s'est adressé à des gens qui passaient etc...

Et plus le temps passait et plus il montait de plus en plus haut. Nous avon appelés les pompiers. Cat' les appelle un première fois au 112. Elle tombe sur une grosse connasse (...#...)qui lui dit que ce numéro est réservé aux urgences. J'étais désespéré ne sachant plus quoi faire!

Je suis rentré m'allonger pour décompresser un bon coup. Catherine est retournée sur place en attendant. Et la nuit commençait à tomber! Je l'ai rejoins. Et là sur le coup, je décide de rappeler les pompiers. Là je tombe sur un mec qui me dit que j'aurais du appeler bien plus tôt pour intervenir (vous comprenez pourquoi je me permet de dire que la gonzesse d'avant était une grosse connasse). Et en + il me confirme que c'est le bon service qui s'occupe bien des animaux. Et là j'étais en pleinne contradiction avec la connasse que Cat' a eu au tél avant. Je repère les lieux en lui fournissant des information sur notre localisation (adresse, rue etc...)

Finalement nous nous sommes mis d'accord avec lui pour intervenir le lendemain...Mais bon nous n'avons pas fermé l'oeil pour autant. j'ai dormi à peine 4h00 hier soir . Au petit matin vers 7h00-7H30, avant le lever du soleil j'ai donc fait un bilan sur place. Simba était toujours sur l'arbre. Il a fait froid en + ce soir là ! J'ai donc rappelé les pompiers au 18. Il m'a proposé d'attendre le lever du soleil pour intervenir. Nous sommes repartis.

Je suis revenu vers 9h00, je les ai rappelé comme convenu. Ils sont venus, ont monté l'échelle. Simba était au moins à 5 à 7 mètres d'hauteur. A la première tentative, sur la branche il a reculé. Mais ce n'est que lorsque le pompier a voulu redescendre qu'il est revenu vers lui. Il a pu le prendre et le ramener vers moi. Ouf !..Un des pompiers m'a même dit:«Purée! Vous l'aimez votre chat! Vous avez de la chance d'avoir pu le récupérer»

Ah que j'étais content de récupérer mon gros bébé d'amour De retour à la maison, il a mangé une ration entière d'une journée . Le pauvre ça faisait plus de 18h00 qu'il avait pas mangé. Il a fait sa petite toilette et puis finalement, il est allé se reposer sur le lit toute la journée comme un bon vieux pépère .

Cat' est rentrée manger à midi. La pitite famille est maintenant au complet...

samedi 13 janvier 2007

1ère journée de l'année sans ordi!

Et oui c'est possible même pour un informaticien en télétravail! Mais que ça fait du bien! Après une bonne semaine de travail bien chargé, rien ne vaut une journée à préparer un bon petit déjeuner bien rempli au lieu du tradidtionnel café et clope du matin! En repos le week-end! A la joie de faire la cuisine, la lessive, jouer avec le chat, manger un bon repas créole, matter Patrick Sébastien toute la soirée devant France2!

Et oui j'ai matté l'émission de Patrick Sébastien du début à la fin ce soir! J'avoues j'ai apprécié son émission . Cette journée restera à tout jamais gravé dans les anales de l'empire!", dixit Dark Vador. Bah j'avais besoin de décrocher un bon cette semaine! Le télétravail a ses bons côtés comme ses mauvais côtés.

On a la grande satisfaction de pouvoir travailler à la maison, gaspiller moins d'essence pour aller au travail (par les temps qui courent...),concevoir son propre emploi du temps (tant que le travail est rendu en heure au boss, ca va!), faire de la R&D etc...

Mais c'est aussi un exercice et une expérience qui comme bon nombres d'expérience est à tenter. On voit ses limites, on apprend à connaître les autres et aussi se connaître. Mais il ne faut avant tout ne pas tomber dans la facilité! Style se dire que "Bah de toute façon je vois la vie comme bon me semble au détriment des autres et tant pis si les autres ne comprennent pas.". Sur un plan personnel, au bout de plus d'un an en télétravail, j'ai quand même appris à mieux me connaître aussi.

Quelque part aussi ce n'est pas une expérience à mettre entre les mains de n'importe qui, l'expérience peut s'avérer castastrophique! Je tiens pour preuve des témoignages lus ici et là sur le Web. Si on ne se sent pas apte à un moment pour ce genre de conditions de travail, il ne faut pas aller plus loin. Il faut savoir se fixer des limites car on peut facilement devenir accro. Un peu comme les gens qui découvrent le chat, les jeux en lignes etc...Personnellement quand j'ai bien taffé à donf, je me fais une petit sortie, une virée (cinoche, petite bouffe sympa à la créole, soirée entre amoureux, ....) enfin ce genre de trucs. C'est une sorte de repère que je me fixe. Me consacrer à se blog aussi est quelque part une façon de faire autre chose comme simple exemple à la con !

Parfois on en arrive même à oublier les rapports humains! J'ai eu et je l'avoues une phase comme ça envers mes propres amis. J'ai ensuite appris à me modérer par rapport à celà. Donc autre conseil bon à prendre: garder les pierres sur terre, bien que télétravail peut rimer avec plus de libertés.

Autre point important savoir gérer son emploi du temps! Personnellement je travailles la nuit! la nuit j'ai l'impression comme tout le monde dort que je suis encore plus libre, que le monde m'appartient. Mais je garde les pierres. Quand on vit en couple, il faut savoir le faire comprender à l'autre moitié (un exemple ici par rapport à ce que je disais plus haut !). Tandis que d'autres arrivent à se cantonner à des horaires de bureau, personnellement moi j'y arrive pas. J'ai essayé au début et au final, je me suis rendu compte que c'était mieux pour moi de travailler la nuit. En parfaite harmonie avec ma personnalité!

D'autres points peuvent être relater mais je vais pas m'étaler plus longtemps là-dessus! Si un jour on vous propose de telles conditions de travail, c'est comme tout, il faut un temps pour apprendre, apprécier ses capacités, apprendre à se connaître! Mais ce temps dépend de tout un chacun, il n'y a pas vraiment de réponse à dire quel est le temps d'adaptation! Moi il m'a fallut deux bons mois pour m'y faire il y a un an! Autre facteur aussi à prendre en compte, c'est les conditions dans lequel vous exercez votre travail: matériel (une salle de la maison que pour vous ou pas pour être trankil), relationnel (vos amis passent vous voir souvent, le dérangement extérieur, etc...), les impératifs professionels mais aussi les impératifs personnels! Voilà ça fait beaucoup de paramètres à prender en compte...Le mieux est de trouver le meilleur des équilibres .

On poura le dire! Je me sens d'humeur philosophique ce soir .

mardi 9 janvier 2007

Des résolutions pour 2007?

Hum! Excellente question! Alors voyons!

  • Etre plus gentil,patient avec les gens! Hum..... on va essayer!
  • Passer moins de temps sur l'ordi! Impossible c'est mon taf, ma vie, ma raison d'être !
  • Appeler plus souvent pour demander des nouvelles de la famille...Oh oui !
  • Arrêter de fumer! J'y compte bien mais après les élections présidentielles!
  • Rester sincère en amitié! No soucy, c'est le cas!
  • Arrêter de regarder des dessins animés sur Cartoon NetWork à 3h00 du matin! Impossible, c'est un de mes repères pour me détendre quand je bosse le soir.

Ah si j'ai trouvé ! Rester le même en dépit de tout comme je l'ai toujours été! Yes . Ca ca me convient

Eragon

Samedi dernier, ca a été sorti au cinéma, histoire de se changer les idées pour avoir taffer comme il faut toute la semaine ! Donc la séance de 22h15, j'ai débarqué là-bas vers 20h00. J'ai pris mon billet. J'suis allé ensuite me prendre un petit martini (ça me fait penser à Djay ) au 3 Brasseurs! Puis j'suis allé manzé au resto chinois juste derrière! Mama je me suis goinfré comme pas possible! Une bonne petite demi-heure de digestion avec un café avec une clope puis ça a été direction le film!

Bon faut dire aussi dès le début que le jeune acteur faisait vraiment "puceau de campagne" ! Quand au dragon quand je l'ai vu, c'est pas ce que je pensais après avoir vu la bande-annonce! Une dragonne ! J'ai pas trop aimé comment elle a été réalisé ! Purée je me suis dit "Mais c'est quoi ce dragon-tapette?" Moi qui a toujours été habitué à voir des dragons avec des yeux méchants, féroces! Enfin bref passons! A part ces deux détails, le film a tenu ses promesses ! Mais bon c'est un peu dommage que le vieux dragonnier il crève à la fin.

En somme, ça a été une assez bonne soirée! Mais sur la fin quand même, on a quand même hate de voir le second volée Au moins ça m'aura permis de me changer les idées pour bien attaquer la semaine!

lundi 8 janvier 2007

Sécurité avec PostgreSQL - Stunnel

Introduction

Pour protéger ses données lors d'une connexion entre un serveur et un client avec PostgreSQL, il existe plusieurs façons de faire. Soit en utilisant PostgreSQL compilé avec OpenSSL en natif, uriliser un tunnel SSH avec redirection de Port ect...Un des moyens que j'aime bien et d'utiliser Stunnel/OpenSSL.

Stunnel est une enveloppe SSL, permettant donc d'étendre les fonctionnalités de SSL à un démon qui à l'origine n'est pas prévu pour être une couche de sécurité. On peut donc par exemple créer une connexion sécurisée entre vers une base de données, consolidant ainsi la connexion du système,

Un autre intérêt de l'installation avec Stunnel est qu'il peut-être installé en tant que service (automatiquement relancé au démarrage de la machine). Ce que ne propose pas une redirection par SSH. Je ne propose pas ici l'installation de stunnel avec xinetd, trop contrariant à mon sens.

1. Pré-requis

Je pars du principe ici que les configurations réseaux avec PostgreSQL sont acquises par le lecteur. Pour les test ici, nous aurons besoin de deux machines. Sur mon réseau domestique, j'ai deux machines dont les noms sont respectivement jenna et bremko:

  • jenna dont l'IP est 192.168.0.5 fera office de serveur. Je lui ai installé un serveur PostgreSQL 8.1.5;
  • bremko dont l'IP est 192.168.0.4 fera office de client PostgreSQL 8.1.5 pour lequel je n'aurais besoin que de psql fourni par la 8.1.5 de PostgreSQL;

Pour vérifier que les données sont bien chiffrées où non, nous avons besoin d'installer un sniffer comme nast ou etherreal (...) entre jenna et bremko! J'opte ici pour NAST (Network Analize Sniffer Tool/http://nast.berlios.de/) que j'installe en faisant - en tant que root - sur bremko

apt-get install nast

Pour les besoins de mes tests, je crée un super-utilisateur damien sur jenna dont le mot de passe sera 'morphine'

root@jenna:/root$ su postgres
postgres@jenna:/root$createuser -sEPe damien
Entrez le mot de passe pour le nouvel rôle :
Entrez-le de nouveau :
CREATE ROLE damien ENCRYPTED PASSWORD 'morphine' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
CREATE ROLE

Remarques: mes machines sont ici toutes les deux sous Ubuntu Dapper. Pour de plus amples informations sur nast, n'oubliez pas de faire man nast

2. Motivations: sniffer une connexion non sécurisée avec NAST, limites d'une connexion par mot de passe en md5!

2.1 Test sans mot de passe

Commençons donc par vérifier que si je laisse le mot de passe par défaut sur à 'password' sur le réseau on arrive quand même à le récupérer. Pour celà, dans le pg_hba.conf de jenna, je fais la modification suivante

host 192.168.0.4 255.255.255.255 password

et je redémarre ensuite mon serveur

/etc/init.d/postgresql restart

Sur bremko, dans un terminal pour sniffer les connexion je fais

nast -i eth0 -pd -f "dst 192.168.0.5" -f  "port 5432"

Dans un autre terminal (toujous depuis bremko), j'ouvre ma connexion à jenna en faisant

psql -h jenna -U damien template1

Dans le terminal que contient le processus actif de nast, je vois a un moment passé le message

---[ TCP Data ]------------------------------------------------------

   (    user damien database template1
---[ TCP ]-----------------------------------------------------------
192.168.0.5:5432(postgresql) -> 192.168.0.4:50884(unknown)
TTL: 64         Window: 1448    Version: 4      Lenght: 61
FLAGS: ---PA--  SEQ: 1495197601 - ACK: 923679297
Packet Number: 26

---[ TCP Data ]------------------------------------------------------

R
---[ TCP ]-----------------------------------------------------------
192.168.0.4:50884(unknown) -> 192.168.0.5:5432(postgresql)
TTL: 64         Window: 1460    Version: 4      Lenght: 66
FLAGS: ---PA--  SEQ: 923679297 - ACK: 1495197610
Packet Number: 27

---[ TCP Data ]------------------------------------------------------

morphine
---[ TCP ]-----------------------------------------------------------

preuve que ça ne suffit pas!

2.2 Test avec MD5

Allons donc! Changeons donc le mot-clé 'password' par 'md5' dans le fichier pg_hba.conf de jenna,

host 192.168.0.4 255.255.255.255 md5

et redémarrons le serveur (/etc/init.d/postgresql restart). Relançons donc une connexion au serveur depusi bremko. Maintenant depuis nast, j'obtiens

---[ TCP Data ]------------------------------------------------------

   (    user damien database template1
---[ TCP ]-----------------------------------------------------------
192.168.0.5:5432(postgresql) -> 192.168.0.4:45585(unknown)
TTL: 64         Window: 1448    Version: 4      Lenght: 65
FLAGS: ---PA--  SEQ: 1852264915 - ACK: 1258303094
Packet Number: 85

---[ TCP Data ]------------------------------------------------------

R         +F
---[ TCP ]-----------------------------------------------------------
192.168.0.4:45585(unknown) -> 192.168.0.5:5432(postgresql)
TTL: 64         Window: 1460    Version: 4      Lenght: 93
FLAGS: ---PA--  SEQ: 1258303094 - ACK: 1852264928
Packet Number: 86

---[ TCP Data ]------------------------------------------------------

p   (md5063971165646bb85c855953e66c01196
---[ TCP ]-----------------------------------------------------------

Gagné ! Enfin ne nous réjouisson pas trop vite car si je tape une requête depuis le client je vois apparaître par exemple

---[ TCP Data ]------------------------------------------------------

Q   %select * from geometry_columns ;
---[ TCP ]-----------------------------------------------------------
192.168.0.5:5432(postgresql) -> 192.168.0.4:48508(unknown)
TTL: 64         Window: 6091    Version: 4      Lenght: 52
FLAGS: ----A--  SEQ: 2056534420 - ACK: 1484467451
Packet Number: 161

---[ TCP ]-----------------------------------------------------------
192.168.0.5:5432(postgresql) -> 192.168.0.4:48508(unknown)
TTL: 64         Window: 6091    Version: 4      Lenght: 1500
FLAGS: ----A--  SEQ: 2056534420 - ACK: 1484467451
Packet Number: 162

---[ TCP Data ]------------------------------------------------------

T      f_table_catalog                   f_table_schema                   f_table_name                   f_geometry_column                  
 coord_dimension                   srid                   type                "  D   E          public    apb_lr    the_geom    2   
 -1    MULTIPOLYGOND   U          public   a_cours_d_eau_n2_v3    the_geom    2    -1    MULTILINESTRING

Oups!

Première conclusion Bon md5 protège bien mon mot de passe mais pas mes requêtes ainsi que les résultats renvoyés par le serveur! Et c'est là justement qu'intervient Stunnel !

3. Stunnel: sécurisation de la connexion

3.1 Pré-requis: OpenSSL

Stunnel a besoin de OpenSSL pour pouvoir fonctionner

apt-get install openssl libssl-dev
3.2 Installation de Stunnel

Le site de stunnel est http://www.stunnel.org. Nous aurons besoin ici de l'installer à la fois sur le serveur et sur le client. Je fournis ici les commandes que j'ai utilisé pour l'installer sans plus de détails

wget http://www.stunnel.org/download/stunnel/src/stunnel-4.20.tar.gz
tar xvzf  stunnel-4.20.tar.gz
cd stunnel-4.20
./configure --with-ssl=/usr --prefix=/opt/stunnel
make
make install

Lors de l'installation un fichier stunnel.pem sera généré dotn voici une copie d'écran de ce que j'ai renseigné pour jenna

Generating a 1024 bit RSA private key
.................++++++
............++++++
writing new private key to 'stunnel.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [PL]:FR
State or Province Name (full name) [Some-State]:Hérault
Locality Name (eg, city) []:Castelnau-Le-Lez
Organization Name (eg, company) [Stunnel Developers Ltd]:01MAP
Organizational Unit Name (eg, section) []:01MAP
Common Name (FQDN of your server) [localhost]:jenna

Je renouvelle l'instalaltion sur bremko, en changeant la ligne Common Name (FQDN of your server) [localhost]:bremko

3.3 Mise en oeuvre

J'ouvre maintenant un terminal sur jenna et j'y tape

root@jenna:/opt/stunnel/sbin/stunnel3 -D 7 -f -P /opt/stunnel/stunnel.pid \
-o /opt/stunnel/log/stunnel.log -p /opt/stunnel/etc/stunnel/stunnel.pem -d 9000 -r localhost:5432

Sur bremko, je lance

root@bremko:/opt/stunnel# /opt/stunnel/sbin/stunnel3 -D 7 -f \
-P/opt/stunnel/stunnel.pid -o /opt/stunnel/log/stunnel.log -c -d localhost:5433 \
-o /opt/stunnel/log/stunnel.log -c -d localhost:5433 -r 192.168.0.5:9000

Et pour m'assurer que les connexions seront chiffrées dans un troisème terminal sur bremko, je fais

nast -pd -i eth0 -f "dst 192.168.0.5" -f "port 9000"

Dans un nouveau terminal toujours - sur bremko - j'ouvre maintenant une connexon PostgreSQL en faisant

psql -h localhost -p 5433 -U damien template1

Je saisis quelques requêtes et j'apprécie le travail en regardant les lignes retournées par nast depuis le troisième terminal en question

3.4 Installation de Stunnel en tant que service

Pour l'installtion en service sur les deux machines, il suffit de modifer le script de démarrage de Ubuntu à savoir /etc/init.d/rc.local. J'y ai par exemple effectuer les modifications suivantes sur jenna

#! /bin/sh
# Modications du PATH pour accéder à stunnel
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/stunnel/sbin
[ -f /etc/default/rcS ] && . /etc/default/rcS
. /lib/lsb/init-functions

do_start() {
        if [ -x /etc/rc.local ]; then
                log_begin_msg "Running local boot scripts (/etc/rc.local)"
                /etc/rc.local
                log_end_msg $?
        fi
}
# Ma ligne pour lancer stunnel sur jenna
# à adapter en conséquence sur bremko (voir ci-dessus dans la doc)
/opt/stunnel/sbin/stunnel3 -D 7 -f -P /opt/stunnel/stunnel.pid -p /opt/stunnel/etc/stunnel/stunnel.pem -d 9000 -r localhost:5432 -o /opt/stunnel/log/stunnel.log

case "$1" in
    start)
        do_start
        ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
    stop)
        ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

Liens

Utilisation de Tsearch2 avec PostgreSQL

Introduction

Tsearch est une extensions utilisable avec PostgreSQL pour la recherche de textes dans les colonnes d'une base de données, comme pour les moteurs de recherche, comme google, yahoo etc... Pour une meilleure présentation de Tsearch, merci de consultez le lien http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/

Nous allons ici essayer de l'utiliser sur une table contenant pas moins de ??? enregistrements. Les tests ici ont lieu avec PostgreSQL 8.1.5

Pré-requis

Avoir PostgreSQL d'installé!

Installation

Les sources de tsearch se trouvent dans le sous-répertoire contrib des sources de PostgreSQL. Pour l'installation, il suffira de faire en tant que root

cd contrib/tsearch2
make
make install

Pour charger les fonctionnalités de tsearch dans notre base - que nous appelerons ici testdb -, il suffira de faire

su postgres
psql -d testdb -f /usr/local/pgsql/share/contrib/tsearch2.sql

Dans notre base, nous avons une table bdnyme dont un des champs est nom dont voici un extrait

testdb#select distinct nom from bdnyme where like(nom,'%Castelnau%') limit 4;
                  nom
---------------------------------------
 Aérodrome de Castelnaudary-Villeneuve
 Aérodrome de Castelnau-Magnoac
 Barrage de Castelnau-Lassouts
 Bois Communal de Castelnau-de-Médoc
(4 lignes)
ALTER TABLE public.bdnyme ADD COLUMN nom_vectors tsvector;
UPDATE public.bdnyme SET nom_vectors=to_tsvector('simple', nom);
VACUUM FULL ANALYZE;
CREATE INDEX nom_idxv ON public.bdnyme USING gist(nom_vectors);
VACUUM FULL ANALYZE;

Je tiens quand même à préciser ici que les lignes UPDATE et CREATE INDEX m'ont pris quand même un sacré temps pour une table de plus de 1.4 millions de lignes! Au moins entre 9h00 à 12h00 sur mon pauvre SONY VAIO FS315H. Mais bon je n'ai pas de grosse machine à la maison

Pour le fun, par exemple recherchons par exemple le caractère 'castelnau' sans tenir compte de la casse dans la colonne nom de ma tabe

testdb=# explain analyze select nom from bdnyme where nom ~* 'castelnau';
                                                 QUERY PLAN
------------------------------------------------------------------------------------------------------------
 Seq Scan on bdnyme  (cost=0.00..85066.32 rows=4 width=16) (actual time=600.210..18545.878 rows=51 loops=1)
   Filter: ((nom)::text ~* 'castelnau'::text)
 Total runtime: 18546.257 ms
(3 lignes)

Soit 18 secondes mama !!!

Bon au tour de Tsearch maintenant !

testdb=# explain analyze select nom from bdnyme where nom_vectors @@ to_tsquery('simple','castelnau');
                                                       QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
 Bitmap Heap Scan on bdnyme  (cost=39.74..5164.24 rows=1449 width=16) (actual time=38.356..38.739 rows=49 loops=1)
   Filter: (nom_vectors @@ '''castelnau'''::tsquery)
   ->  Bitmap Index Scan on nom_idxv  (cost=0.00..39.38 rows=1449 width=0) (actual time=38.299..38.299 rows=49 loops=1)
         Index Cond: (nom_vectors @@ '''castelnau'''::tsquery)
 Total runtime: 39.047 ms
(5 lignes)

Soit 0.03 secondes. Purée ...... ! Requête de l'enfer de la mort qui du le diable !

Promettant comme on dit! Bon je n'ai pas encore essayé les index GIN à la place de GiST pour le moment bien que la rumeur veuille que leur création prennent beaucoup de temps! Mais bon à tester, à tester!

Utilisation du dictionnaire fançais

Pour utiliser le dictionnaire, on fera

BEGIN TRANSACTION; 

INSERT INTO pg_ts_cfg (ts_name, prs_name, locale) VALUES ('default_french', 'default', 'fr_FR.UTF-8');


insert into pg_ts_cfgmap values ('default_french','email','{simple}');
insert into pg_ts_cfgmap values ('default_french','file','{simple}');
insert into pg_ts_cfgmap values ('default_french','float','{simple}');
insert into pg_ts_cfgmap values ('default_french','host','{simple}');
insert into pg_ts_cfgmap values ('default_french','hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','int','{simple}');
insert into pg_ts_cfgmap values ('default_french','lhword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','lpart_hword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','nlhword','{simple}');
insert into pg_ts_cfgmap values ('default_french','nlpart_hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','part_hword','{simple}');
insert into pg_ts_cfgmap values ('default_french','sfloat','{simple}');
insert into pg_ts_cfgmap values ('default_french','uint','{simple}');
insert into pg_ts_cfgmap values ('default_french','uri','{simple}');
insert into pg_ts_cfgmap values ('default_french','url','{simple}');
insert into pg_ts_cfgmap values ('default_french','version','{simple}');
insert into pg_ts_cfgmap values ('default_french','word','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','nlword','{fr_ispell}');
insert into pg_ts_cfgmap values ('default_french','lword','{fr_ispell,simple}');


 INSERT INTO pg_ts_dict
               (SELECT 'fr_ispell',
                       dict_init,
                       'DictFile="/home/david/download/ispell-french/french.dict",'
                       'AffFile="/home/david/download/ispell-french/french.aff",'
                       'StopFile="/home/postgres/french.stop"',
                       dict_lexize
                FROM pg_ts_dict
                WHERE dict_name = 'ispell_template');

END TRANSACTION;

On peut vérifier tout ça en faisant par exemple

ignportal=# select to_tsvector('default_french','mon village écolé');
     to_tsvector
---------------------
 'mon':1 'village':2
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village école');
          to_tsvector
-------------------------------
 'mon':1 'école':3 'village':2
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village ecole');
          to_tsvector
-------------------------------
 'mon':1 'ecole':3 'village':2
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village ecole d\'avant là guerre');
                           to_tsvector
-----------------------------------------------------------------
 'd':4 'là':6 'mon':1 'avant':5 'ecole':3 'guerre':7 'village':2
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village école d\'avant là guerre');
                           to_tsvector
-----------------------------------------------------------------
 'd':4 'là':6 'mon':1 'avant':5 'guerre':7 'école':3 'village':2
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village écolu d\'avant là guerre');
                      to_tsvector
-------------------------------------------------------
 'd':3 'là':5 'mon':1 'avant':4 'guerre':6 'village':2
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village écoles d\'avant là guerre');
                           to_tsvector
-----------------------------------------------------------------
 'd':4 'là':6 'mon':1 'avant':5 'guerre':7 'école':3 'village':2
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village écol d\'avant là guerre');
                      to_tsvector
-------------------------------------------------------
 'd':3 'là':5 'mon':1 'avant':4 'guerre':6 'village':2
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village écolier d\'avant là guerre');
                            to_tsvector
-------------------------------------------------------------------
 'd':4 'là':6 'mon':1 'avant':5 'guerre':7 'village':2 'écolier':3
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village écoliers d\'avant là guerre');
                            to_tsvector
-------------------------------------------------------------------
 'd':4 'là':6 'mon':1 'avant':5 'guerre':7 'village':2 'écolier':3
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village écolières d\'avant là guerre');
                      to_tsvector
-------------------------------------------------------
 'd':3 'là':5 'mon':1 'avant':4 'guerre':6 'village':2
(1 ligne)

ignportal=# select to_tsvector('default_french','mon village écoliers d\'avant là guerre');
                            to_tsvector
-------------------------------------------------------------------
 'd':4 'là':6 'mon':1 'avant':5 'guerre':7 'village':2 'écolier':3
(1 ligne)

ignportal=# select to_tsvector('default_french','ils sont beaux les nouveaux écoliers dans leur nouvelles école');
                                                to_tsvector
------------------------------------------------------------------------------------------------------------
 'il':1 'le':1,4 'dan':7 'les':4 'beau':3 'leur':8 'sont':2 'école':10 'nouveau':5 'nouvelle':9 'écolier':6
(1 ligne)

ignportal=# select to_tsvector('default_french','ils sont beaux les nouveaux écoliers dans leur nouvelles école mais école prend un accent');
                                                                                    to_tsvector 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 'ce':15 'il':1 'le':1,4 'un':14 'dan':7 'les':4 'mai':11 'beau':3 'cens':15 'leur':8 'mais':11 'sont':2 'accent':15 'prends':13 'école':10,12 'nouveau':5 'nouvelle':9 'écolier':6
(1 ligne)

ignportal=# select to_tsvector('default_french','ils sont beaux les nouveaux écoliers dans leur nouvelles école mais école prend un accent, pas ecole!');
                                                                                              to_tsvector 
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 'ce':15 'il':1 'le':1,4 'un':14 'dan':7 'les':4 'mai':11 'pas':16 'beau':3 'cens':15 'leur':8 'mais':11 'sont':2 'ecole':17 'accent':15 'prends':13 'école':10,12 'nouveau':5 'nouvelle':9 'écolier':6
(1 ligne)

ignportal=# select to_tsvector('default_french','ils sont beaux les nouveaux écoliers dans leur nouvelles école de Castelnau-Le-Lez mais école prend un accent, pas ecole!');
                                                                                                        to_tsvector 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 'ce':18 'de':11 'il':1 'le':1,4,12 'un':17 'dan':7 'les':4 'lez':13 'mai':14 'pas':19 'beau':3 'cens':18 'leur':8 'mais':14 'sont':2 'ecole':20 'accent':18 'prends':16 'école':10,15 'nouveau':5 'nouvelle':9 'écolier':6

Maintenant on remet tout en place

ignportal=# drop INDEX nom_idxv ;
DROP INDEX
ignportal=# alter TABLE bdnyme drop COLUMN nom_vectors;
ALTER TABLE
ignportal=# ALTER TABLE public.bdnyme ADD COLUMN nom_vectors tsvector;
ALTER TABLE
ignportal=# explain ANALYZE UPDATE public.bdnyme SET nom_vectors=to_tsvector('default_french', nom);
                                                      QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------
 Seq Scan on bdnyme  (cost=0.00..49545.33 rows=1449466 width=95) (actual time=15.996..215115.297 rows=1449466 loops=1)
 Total runtime: 20318651.206 ms
(2 lignes)

Soit déjà 5h38m38s pour cette dernière requête

Maintenant un petit Vacuum sur la table

VACUUM FULL ANALYZE

Puis on crée l'index

postgres@bremko:/home/david$ time psql ignportal -c "CREATE INDEX nom_idxv ON public.bdnyme USING gist(nom_vectors)"
CREATE INDEX

real    4m44.361s
user    0m0.024s
sys     0m0.000s

dimanche 7 janvier 2007

GDAL vesion 1.4.0

GDAL a donc sortie sa version 1.4.0 récemment! L'un des nouveautés qui m'intéresse surtout c'est la possibilité pour le format KML avec ogr2ogr! Oh yeahh ! Apparement cette nouvelle mouture supporte aussi l'utilisation des schémas pour OGR mais pas encore essayé!

Vous pouvez voir les nouveautés de la 1.4.0 à cette adresse http://www.gdal.org/NEWS.html

jeudi 21 décembre 2006

TF1 et M6 débarque le 5 janvier 2007 sur Free!

A voir sur ici! Pour une nouvelle c'est une bonne nouvelle! Sur canal + le bouquet aussi il est possible aussi de matter ces chaines


M6 en live sur canal+ le bouquet

Au moins ça m'évitera de regarder TF1 et M6 dans le salon . Ah la flemme quand tu nous prends

dimanche 10 décembre 2006

Installation de QGIS

Let's go

Gdal 1.3.2

Ici j'ai fait l'installation sans python car ce dernier me posait problème

wget http://www.gdal.org/dl/gdal-1.3.2.tar.gz
tar xvzf gdal-1.3.2.tar.gz
cd gdal-1.3.2
 CC=gcc-3.4 CXX=g++-3.4 ./configure --without-python
make 
make install
QGIS

En faisant un petit svn sur Repository en date du 10/12/2006,

svn co https://svn.qgis.org/repos/qgis/trunk/qgis qgis_unstable

un petit souci comme quoi maintenant il fallait QT 4.2 et pour moi ça marche pas, j'ai QT .4.1 !

Donc la solution? Ben j'avais déjà un repository que j'avais sur une de mes bécanes qui réclamait elle la QT 4.1 que j'ai mis sur mon site

En premier lieu, on charge les paquets 4.1.2 dont on a besoin

apt-get install automake1.8 autoconf2.13 libltdl3-dev libtool qt4-dev-tools libqt4-dev qt4-qtconfig qt4-designer

On lance la compilation/installation de QGIS

wget http://www.davidgis.fr/download/qgis_unstable-0.8.0.tar.gz
tar xvzf qgis_unstable-0.8.0.tar.gz
cd qgis_unstable/
CC=gcc-3.4 CXX=g++-3.4 ./configure --with-qtdir=/usr --with-wfs
make
make install

avec les options

  • --with-qtdir=/usr: pour lui préciser le répertoire de QT;
  • --with-wfs: pour avoir le support/plugin en WFS (Web Features Services).

Pour le fun quelques screenshots


image de lancememnt de QGIS 0.8.0


Connexion à une base de données PostGIS


Visualisation de données: communes de la Bourgogne

Lien pour les sources de la documentation française de PostgreSQL 8.1.5

Récupération par svn

Bon je mets la commande ici, il sera utile plus tard pour récupérer les sources de la documentation française maintenue par Guillaume LELARGE

svn co svn://svn.kryskool.org/pgfr/traduc/branches/bv81x/manuel manuel
Guide de compilation

le lien à connaître pour compiler la doc

http://svn.postgresqlfr.org/wiki/GenerationManuel
Suppléments par rapport au guide

Il faut aussi (ceci n'est pas précisé dans le lien ci-dessus

Astuce - Souci avec Java pas assez de mémoire

La génération du pdf sur mon laptop à générer une errreur Java comem quoi je lui allouais pas assez de mémoire. Un moyen de résoudre le problème est d'éditer le fichier fop-0.20.5/fop.sh et à la dernière ligne du fichier

$JAVACMD -classpath "$LOCALCLASSPATH" $FOP_OPTS org.apache.fop.apps.Fop "$@"

d'ajouter -Xmx512M :

$JAVACMD -Xmx512M -classpath "$LOCALCLASSPATH" $FOP_OPTS org.apache.fop.apps.Fop "$@"

Et ca marche nickel ! On obtient un beau PDF!

vendredi 8 décembre 2006

Article concernant PgAdmin dans le Linux+ DVD de ce mois-ci

Ce mois-ci j'ai achété le magazine "Linux+". En feuilletant la table des matières qu'elle ne fut ma surprise en voyant un article consacré à PgAdmin3 1.6.0 dans ce nuémro! Contentant de mois je vais donc sur irc (channel #postgresqlf) pour en parler autour de moi aux gars de l'équipe de postgresqlfr (histoire de faire mon intéressant . Je tombe sur Guillaume. Il me demande comment je trouve l'article!

Qu'elle ne fut pas ma surprise en découvrant qu'en fait, c'était lui l'auteur de cet article! Purée je suis tombé des nus! Pris dans son jeu de savoir comment était l'article à mon goût je me suis ratrappé par la suite dès que j'ai sus que c'était lui l'auteur en disant que "c'était bien"...De Fayot il m'a traité - sur un thon bien taquineur sans soucy-!

Comme dans un précédent billet que j'avais posté concernant, l'article est vraiment bien. Là je fais pas mon fayot par contre

Bon 8,50 euros c'est pas donnée quand même pour acheté un magazine sous Linux, mais les nouveautés de ce nouveau PgAdmin vallent le coup! Un must !

Source Magazine Linux+ Décembre 2006

Merci à toi Guillaume pour ton article, il me sera utile!

jeudi 7 décembre 2006

Animation concernant la Dapper

A ben j'ai pas résisté !


Récupéré sur internet! Converti grâce à libsvgtoswf, travaillé avec Ming pour PHP

J'ai trouvé le logo de la Dapper sur ce lien http://siteinternet.perso.cegetel.net/dapper.svg dont je tiens à remercier l'auteur pour le splendide travail de dessin qu'il a fait!. De très belle qualité, il faut le dire! Je me suis donc renseigner sur Inkscape pour pouvoir ajouter des trucs en plus sur la conversion SVG vers SWF. Finalement j'ai opté pour libsvgtoswf que l'on peut trouver à http://gordon.sourceforge.net/libsvgtoswf/. J'ai téléchargé/compilé/installé ce dernier! C'est passé !

apt-get install libming-dev
cd /home/david/download/0
tar xvzf libsvgtoswf-0.3.0.tar.gz
cd libsvgtoswf-0.3.
./configure && make && make install

L'utilitiare swgtoswf livré avec a marché à merveille! Il m'a suffit de copier dapper.svg dans le répertoire test des sources ensuite de faire

root@bremko:/home/david/download/libsvgtoswf-0.3.0/test# svgtoswf
Converting ./svg/*.svg to ./swf/*.swf...
converting svg/tiger.svg to swf/tiger.swf...
converting svg/tux.svg to swf/tux.swf...
converting svg/dapper.svg to swf/dapper.swf...

Par contre pour ramener le SWF en code php avec swftophp de Ming 0.3.0 ça passait pas trop bien! Du coup sur une autre machine, j'ai installé la cvs, je l'ai compilé et c'est ce dernier que j'ai utilisé!

swftophp dapper.swf > dapper.php

Il a fallut faire quelques modifications à ce script: redimensionnement, ajout pour la décompositon des diverses frames! J'ai ajouté un petit message en haut, ainsi qu'une bulle de dialogue, façon débutant! Pour les lunettes, j'ai fait le dessin sous Inkscape! Voili voilou pour mes premiers pas de graphiste en Flash pour le gros débutant que je suis

mercredi 6 décembre 2006

Nouveautés de la 8.2

Sur le channel irc de postgresqlfr.org (serveur irc.freenode.net/canal #postgresqlfr), j'ai pu remercier gleu (alias Guillaume ) pour un article qu'il a rédigé sur son wiki concernant les nouveautés de la 8.2! De la balle !l'article est ici

Purée les nouveautés sont vraiment intéressantes concernant notamment la possibilité d'avoir le fameux IF EXISTS qui peut par exemple servir pour autre chose que le fameux DROP TABLE

DROP TABLE matable IF EXISTS

qui permet notamment d'ajouter cette fonctionnalité que MySQL ( # ! )qu'avait déjà à notre cher PostgreSQL . Et il y en d'autres concernant notamment:

  • Clause RETURNING - un vrai petite merveille;
  • COPY TO à partir d'un SELECT;
  • etc...

Une nouveauté aussi intéressante concerne la création des index en parallèle que je me suis empressé d'aller consulter dans la doc !

source: http://wiki.guillaume.lelarge.info/trac.cgi/wiki/PostgreSQL%208.2

samedi 2 décembre 2006

Soucis avec xawtv (résolus)

xawtv a un moment m'affichait ce message d'erreur

david@bremko:~$ xawtv
This is xawtv-3.94, running on Linux/i686 (2.6.15-23-386)
X Error of failed request:  XF86DGANoDirectVideoMode
  Major opcode of failed request:  136 (XFree86-DGA)
  Minor opcode of failed request:  1 (XF86DGAGetVideoLL)
  Serial number of failed request:  65
  Current serial number in output stream:  65

Pourtant mon Pinnacle Dazzle VC90 est bien reconnu/vu par xawtv

david@bremko:~$ xawtv -hwscan
This is xawtv-3.94, running on Linux/i686 (2.6.15-23-386)
looking for available devices
port 202-202
    type : Xvideo, image scaler
    name : NV17 Video Texture

port 203-234
    type : Xvideo, image scaler
    name : NV05 Video Blitter

/dev/video0: OK                         [ -device /dev/video0 ]
    type : v4l2
    name : Pinnacle Dazzle DVC 90
    flags:  capture

En fouinant sous Google, j'ai réussi à trouver une astuce pour

xawtv -nodga -device /dev/video0

Et ça marche !


Xawtv roulaize

J'ai même maintenant la possibilité de modifier mon source vidéo par rapport à


Xawtv: changement de la source-vidéo maintenant modifiable depuis le menu avec les nouvelles options

lundi 27 novembre 2006

sourci avec Nvidia installé par automatix suite à une mise à jour, résolu par la doc d'Ubuntu.

Bon récemment j'ai voulu faire une mise à jour de ma Ubuntu sur Jenna mais ca a foiré mon X. J'ai voulu installé mon ancien binaire usuel de NVIDIA mais rien à faire même en désinstallant nvidia-glx. Auparavant Automatix m'avait installé/configuré comme il se doit NVIDIA. Chique je me suis dis! Ca va m'éviter de me casser la tête pour l'installer -vu que d'habitude je l'installe avec mes binaires sous Debian testing. Donc j'ai suivi ce lien à la lettre http://doc.ubuntu-fr.org/materiel/nvidia.run et ca roulaize .

Donc deux liens que je conseille vivement pour installer nvidia:

Un grand merci à Pierre son auteur et contributeur pour cette doc .

vendredi 24 novembre 2006

Importer un shapefile français dans une base encodée en UTF-8

Un petit souci que j'ai eu à régler dernièrement dans mon taf concernant une grosse base. J'ai suivi ce lien http://docs.moodle.org/en/UTF-8_PostgreSQL. Donc pour ce faire

shp2pgsql -DI [shapefile] [table] | iconv -f LATIN1 -t UTF-8 -c | psql [base]

Ca roulaize ! Les Shapefiles qu'on me donnent sont français donc rentre dans le cas de l'encodag en LATIN1 (Europe de l'Ouest)

mercredi 22 novembre 2006

Une cari poulet de choix à essayer, une belle variante

Y'a pas longtemps, je suis tombé sur cette page http://bonappetitbiensur.france3.fr/recettes.php3?id_article=1695. Sincèrement depuis que je suis revenu de mon voyage à la Réunion, nous nous sommes mis à cuisiné! Et sincèrement aussi ce plat est un vrai délice, une onctueux cari poulet au goût sucré/salé que je ne saurais vous conseiller .

Le seul hic c'est que l'idiot que je suis au lieu de lire "huile de pépin de raisin", j'ai lu "pépin de raisin" je sais pas pourquoi! Peut-être avais-je les yeux plus gros que le ventre . Quoiqu'il en soit, j'ai mis des raisins secs à la place de l'huile de pépin et de l'huile végétale aussi en guise d'huile. N'yant pas de combava sous la main, j'ai du m'en passer. .

J'ai donc eu moi aussi mes quelques petites variantes et quelques notes aussi:

  • huile de pépin remplacé par de l'huile végétal et des raisins secs;
  • le temps de marinade pour le poulet, je l'ai laissé à une après-midi au lieu des 12h00 conseillées;
  • Le garam massala, c'est tout simplement le massalé chez nous à la Réunion (pour plus d'infos consultez ce lien);
  • le sirop de canne a été remplacé par 3 morceaux de sucres;
  • mette du citron dans un cari ! Comme dit une vielle chanson de chez nous "l'assassin la met safran dans bred morom'!. Au premier abord ça m'a surpris mais ca passe bien sans souci!

Mais franchement ce plat est vraiment harmonieux pour un plat croisant notre cuisine réunionnaise et la cuisine française. Un must à essayer. On l'a tresté ce soir à la maison! On s'est bien régalé!

CONCLUSION: Que je récapitule! Y'a pas longtemps j'ai fais mon premier cari boucané, maintenant un cari poulet digne des plus grands chefs . Y'a pas à dire je commence à exceller en cuisine . Ma chérie aussi d'ailleurs!

Installation de mon imprimante en réseau

Bon j'ai galéré ma race avec ma Dapper sous bremko depuis que bremko - surnom de mon SONY VAIO FS315H - a perdu sa Debian (sur laquelle maintenant je dois chrooter). Comme mon imprimante est connectée sur Jenna (voir page d'accueil de mon site), il m'a fallut + de 3h00 pour trouver comme il fallait faire pour pouvoir utiliser mon imprimante EPSON STYLUS DX4850 depuis bremko. Mais bon j'ai trouvé ce lien Et comme le dit si bien son auteur c'est le petit détail que fait la différence car citation "C'était tout bêtement ce petit fichier qui empêchait de faire fonctionner les imprimantes sur le portable avec ubuntu!"

Comme jenna a pour IP 192.168.0.5, il m'a suffit donc de faire en tant qu'utilisateur david

echo ServerName 192.168.0.5 >> .cups/client.conf 

Et donc j'ai pu imprimer mes pages...Ouf ! Ca a aussi été un aprem' pour faire un peu de rangement dans ma salle de travail et aussi pour changer les cartouches d'encre de l'imprimante! Obligé d'ouvrir le manuel de l'EPSON - heureusement je ne l'avais pas jeté -. Je le précise car c'est vraiment le genre de détail/manip' que j'oublies facilement!

Remarque: Ca semble stupide de faire un billet là-dessus mais le fait d'avoir galérer me fait dire qu'il vaut mieux le noter! On ne sait jamais , ça peut toujours (res)servir.

lundi 20 novembre 2006

Les vacances (à la Réunion) c'est fini , c'est la rentrée!

Bon ben voilà, après 3 semaines 1/2 de vacances bien mérités, aujourd'hui c'est la rentrée pour moi! Nous avons atterri jeudi dernier, arrivé à 11h15 à la maison. On a défait les valises et au programme du week-end grosse farniente . Samedi soir, on a invité un couple d'amis à venir manger créole à la maison. Au menu, il y avait

  • Riz;
  • rougail bringelle;
  • une salade;
  • rougail d'haricots rouges;
  • rougail boucané.

Bien sûr, on a commencé la soirée par le traditionnel apéro avec punch goyave (spécialement ramené de la Réunion ), vin etc...C'était une bonne soirée même si à la fin, Cat' avait laissé le gâteau trop longtemps au frigo, résultat il a fondu. Donc on a mangé un gâteau fondu! Ca a été un grand fou rire quand on a servi le gâteau .

Dimanche ça a été farniente, farniente...J'ai passé mon aprem' à naviguer sur le web où j'ai trouvé un site vachement sympa http://www.copinedegeek.com Top délire comme site mais quelque part je me retrouve sur ce site en tant que geek: donner des noms à ses ordis, câbles et disques durs qui trainent partout, oiseau de nuit etc..etc...!

Mais là aujourd'hui c'est la reprise du travail : + les factures+ les courses+ préparer la bouffe+ ménage à faire en semaine .etc...etc...Chose que nous avons délaissé pendant ces 3 dernières semaines! En plus il fait froid! Hier soir à la météo, ils ont dit qu'on aurait un temps pourri cette semaine! Bref de bonnes conditions pour reprendre le travail! D'ailleurs je v pas me plaindre comme je bosse en télétravail à la maison .

samedi 18 novembre 2006

Simba de retour à la maison

Hier soir, j'ai récupéré ma voiture que j'avais confié à un pote! Une fois récupéré, nous sommes allés chercher notre gros matou qui était chez son tonton Alain! Trois semaines pépère chez son tonton ! Il était dans le salon allongé devant le canapé! Sur le coup, il faisait mine de nous ignorer! Alain m'a dit qu'il s'était montré très calme et très joueur avec les autres chats! Monté sur les abres du jardin, joueur, curieux mais aussi aventurier! Il s'est même permis d'aller chez le voisin une ou deux fois! Ce qui a donné des sueurs froides à Alain mais rien de grave!

De retour à la maison, il s'est montré des plus calins! On l'avait jamais vu comme ça avant à demander qu'on le pouponne et qu'on lui montre notre affection. Calin, calme, joueur réclamant sans arrêt notre présence! Il a dormi près de nous comme s'il voulait qu'on reste plus près de lui qu'avant bien que je travaille à la maison et que de l'affection ça il en a! C'est bien ce qu'on dit, les siamois sont de vrais chien-chat


Le fauve de retour à la maison

Assis dans le clic-clac du salon, il s'est mis à nos côtés comme s'il voulait des calins de + en + ces temps-ci. Mignon à croquer notre gros matou. C'est sûrement sa façon à lui de nous montrer qu'on lui a manqué et qu'il ne veut plus qu'on le quitte, du moins je pense. Bah il est content de nous retrouver! La famille maintenant est au complet

lundi 13 novembre 2006

J-2 avec la retour sur Montpellier

Ayé! Le temps du retour sur Montpellier arrive ! Ces trois semaines seront passées trop vites! Le temps m'est apparu bien court! C'est comme si que nous avions posé nos valises hier que déjà aujourd'hui nous avons commencés à tout réemballer! On a tout pesé, on part quand même chargé de souvenirs aussi bien dans les valises que dans nos têtes !

Depuis 2003, puis 2005 cette années aura été la troisième fois que je reviens chez moi pour passer mes vacances! Ca aura été la première fois que j'aurais autant apprécié mon séjour dans ma famille! J'aurais revu ma famille, ma petite nièce, la dernière de la famille! Que de souvenirs!

Avec Catherine cet aprem' je suis allé faire les dernières emplettes pour notre retour à Saint-Pierre! On s'est pris deux petites flûtes pour son neveu et sa nièce, un jeu africain et une belle nappe aux couleurs de la Réunion pour notre salon ainsi que le boucané pour un ami qui me l'a demandé. On s'est arrêté sur le front de mer de Saint-Pierre en fixant la mer le regard dans le vide quelques minutes! Ca sent le départ mais on s'imaginait déjà notre prochain voyage! Quand on ne sait pas mais on verra bien quand avec le temps! 2007?2008? Nous verrons! Nostalgie quand tu nous tiens...!

Avant de descendre sur Saint-Pierre cette après-midi, on a surtout pensé à notre petit Simba qui nous manque terriblement! C'est peut-être qu'un chat mais pour certains mais pour nous jeune couple c'est notre gros bébé à nous qui nous manque terriblement. Je sais qu'il est entre de bonnes mains chez son tonton Alain à qui nous l'avons confié durant notre absence! Ben ca a pas raté! On est allé faire un tour sur internet pour trouver des photos de notre gros matou adoré et de celles de ses congénères que lui ressemblent physiquement mais notre Simba il est unique! Au toi mon Simba quand je vais rentré je vais de prendre dans mes bras, mon BB d' et de faire pleins de gros zoubis! Smack !!!

En tout cas ça aura été de belles vacances !

dimanche 12 novembre 2006

Journée de farniente

Aujourd'hui j'étais pas super existé/motiver pour bouger ! Comme on dit, j'ai gratté ma fesse! J'ai pas réussi à faire la sieste cet aprem' comme mon paternel! Faisait trop chaud !

Résultat j'ai passé tout le clair de mon aprem' à glander sur l'ordi! Cat' est sortie avec ma soeur et son copain pour aller faire un tour à une fête organisée à Saint-Joseph. Elle en a profité pour me ramener un super-autocollant à l'éphigie d'un beau dragon ...Quand elle l'a acheté le vendeur lui a demandé "C'est pour mettre sur une voiture ou une moto?", elle a répondu "Non, c'est pour un ordinateur, c'est pour mon copain".........Normal elle connait mes goûts ma chérie et l'usage que je fais des autocollants !

Sinon elle a ramené quelques courses , d'ailleurs ça me rappelle que demain on redescend à Saint-Pierre pour voir si on peut trouver des derniers souvenirs de notre voyage! Ca nous fera un petite sortie ...Le repas de la journée à consister à rougail bringelle + cari z'oie! Je me suis régalé! Etre un bon vivant quand on prend ses vacances, ça se paye !

Pour terminer la soirée, on a matté le DVD de UnderWorld 2 - Evolution avec mon père, ma soeur et Cat'! Film asses sympa! Je connaissais pas! Ca m'a permis de digérer le repas du soir! Mais croyez-moi ou non ma petite soeur s'est endormi devant le film! Ce qui me m'étonne pas vu qu'elle a le sommeil assez léger! Bref un bonne journée de farniente!

samedi 11 novembre 2006

Dapper roulaize sur mon Sony VAIO VGN FS315H

Bon je suis pas un geek comme il faudrait mais je dois bien avouer ce soir que j'ai réussi à résoudre mon gros problème de son avec Skype sous Dapper! J'ai appelé Catherine sur son téléphone portable et enfin ca passe! Kool au moins ca sera un souci en moins

 
Bremko avec Ubuntu Dapper parfait pour le multimédia! No regret

Xine, VLC, xawtv,tvtime,mplayer,mencoder,php+ming pour le flash, flash player 9 tous mes logiciels multimédia que j'aime etc...etc...kool Mon laptop tourne! Ca fait plaize

Virée dans le Sud Sauvage: coulée de laves et Grand d'Anse

Zordu on a décidé d'aller faire un tour dans le Sud Sauvage vers Saint-Philippe, Saint-Joseph pour aller voir les coulées de lave du volcan et batt' un carré ver Grand d'Anse au retour.

Aujourd'hui le boug s'est levée pour aller plume le z'oie avec le fitir beau-frère, Henri-Paul! Je me suis levé quand même assez tôt! 7h30 pour être exact , le temps de prendre un café et ensuite j'ai fumé une clope et allons plumer le z'oie:


Le boug' en trin plim' un z'oie ensam' son bofrèr

Seulement ça faisait au moins 1 an que j'avais pas plumé d'oie, donc ça m'a un peu nické le doigt, surtout mon pouce. Que voulez-vous quand on travaille dans l'informatique on perd dans la rudesse de ses doigts pour plumer surtout les petites plumes la moucate! Même Henri-Paul m'a dit que lui aussi qui a l'habitude de travailler dans la terre c'est pas facile de plumer le z'oie! N'empêche demain ça fera un bon cari z'oie à manzer

Après on a pris le 4x4 du vieux avec Catherine, Aurélie et Henri-Paul pour aller se balader dans le Sud Sauvage! La route était assez longue et il faisait chaud! On s'est arrêté à la première coulée et la deuxième qu'on a trouvé dont voici quelques photos


Photo d'une ancienne coulée de laves N°1

Photo d'une ancienne coulée de laves N°2

Photo d'une ancienne coulée de laves N°3

Sur ces quelques prises de photos, on a aussi profité pour se prendre aussi en photos


Henri-Paul et Aurélie ma soeur

Le trio avec le boss au milieu avec son casquette Rebook

Autre trio mais toujours avec le boss au milieu avec son casquette Rebook

Les coulées étaient vraiment impressionnantes! On s'est attardé un bon moment à contempler la vue! Puis sur le chemin du retour, direction Grand d'Anse. Y'avait du monde et beaucoup de voitures! On a dû se garer un peu plus loin dans la montée et redescendre! Y'avait un de ces mondes! Tout le monde en train de pique-niquer dans la bonne humeur!

On s'est un moment arrêté à un snack-bar pour manzer car il était déjà 14h00 et la fin dans le ventre se faisait ressentir. On a pris une petite barquette de frites et limonade, Sambo pour se remplir la panse et un barquette bouchons!


Henri-Paul et Aurélie au Snack-Bar

Moi et Catherine au Snack-Bar

Je veux pas faire de pub mais on s'est arrêté au premier snack-bar quand on arrive à Grand d'Anse car jai bien mangé! Sur le chemin on s'est arrêté pour faire quelques courses! Ona acheté de la confiture coco - je ne savais même pas que ça se faisait - et en + c vachement bon, très délicieux mais faut pas en abuser! Ensuite retour à la kaze, y'avait un cari poulet et un rougail brinzelles qui nous attendaient ==> Je me suis resservis deux fois! C'était trop bon té! Normal c'est momon que la fé a lu !

CONCLUSION: Une bonne journée! Là ce soir au moment où j'écris ce billet j'écoute de la zikmu réunnionaise!

vendredi 10 novembre 2006

Achat de souvenirs pour le retour

Cet aprem' avec Cat', on a pas chômé! Direction Saint-Pierre vers 14h00 pour un petit tour sur la plage et faire quelques emplettes pour le retour!

Sur la plage, même s'il faisait couvert y'avait du monde sur le front de mer! On a sorti les serviettes et on s'est posé au moins une 1h30! On a papauté et on est allé se mouiller les pieds dans l'eau! Seulement on a pas trainé trop longtemps les pieds dans l'eau car y'avait des cagnards (cairella) qui voulait foute la merde sur l a plage! Donc on est revenu vers les affaires, histoire de vérifier que tout était là! Y'avait quelquess cagnards qui se donnaient en spectacle mais ça ne m'a pas assuré, Cat' non plus!

On s'est posé à un snack-bar pour boire deux Sambo au goût exotique (miam un régal cette boisson) puis direction le marché couvert de Saint-Pierre, histoire d'acheter des souvenirs pour décorer le salon, la famille et les amis! Cat' a pris des petits souvenirs pour sa famille et quelques connaissances de son travail! Moi je me suis pris un beau Boudha taillé dans la roche volcanique, un lézard qui se tient sur une branche d'arbre (assez bienfait je trouve)...Mais on est pas resté très longtemps vu qu'il commençait à pleuvoir! Je me suis surtout démerdé pour essayer de trouver du funegrecque pour essayer d'em mettre dans le cabris massalet que je veux essayer une fois rentré



Nos petits souvenirs de la Réunion: ça en fait à ramener !

Une fois rentré, on a fait le bilan: ouais largement de quoi comme cadeau dont notamment:

  • un petit pilon pour écraser nos épices pour nos futurs repas
  • essence de géramium et de Ylang-Ylang: senteurs de mon enfance quand on avait un pied de géranium dans la cours!
  • un petit tamtam quand on sera à la maison !
  • diverses confitures dont lcell au coco, à la papaye etc...
  • bouteilles de punch: planteur, goyave, letchis, tamarin
  • épices: massalé, curcuma, cardamone, cumin,
  • une petite carte en relief bien sympa de la Réunion

Demain on va faire un tour du côté de Saint-Joseph, Petit-Ile (le Sud Sauvage comme on dit ici) , j'essairais donc de faire quelques photos!

mardi 7 novembre 2006

Des petits mots touchants de la part de la famille

Il y a plus d'une semaine on avait fait un repas avec toute la famille (samedi 28 octobre)! Ca m'a fait plaisir de voir tous les membres frères et soeurs comme avant! J'ai bien discuté avec ma grande soeur et ca m'a fait vachement plaisir de discuter avec elle comme ça! Au détour d'une conversation, elle m'a confié "Je trouve que tu as bien changé...!" ??????................... Merci ma soeur chérie! Sur cette simple petite phrase, nous nous sommes compris tous les deux! Et le week-end dernier c'est de la part de mes deux cousins que j'ai entendu cette même phrase! Purée ca m'a fait trop plaisir! Merci beaucoup à vous tous!

J'ai passé toute la journée de hier à penser à tout ça! Mais ce qui m'a aussi fait réfléchir c'est cette phrase qu'on dit souvent! C'est ce qui en disent le moins qui en font le plus!" Personnellement cette fois-ci, c'est plutôt cette phrase que je retiendrais à la place "C'est ceux qu'on voit le moins qui le remarquent le plus!"

Je suis rentré à la Réunion déjà comme je l'avais déjà dit pour revoir ma petite nièce que je n'avais jamais vu jusqu'ici, revoir ma famille! En résumé, celà m'a couté:

  • 4 mois de travail personnel;
  • un billet d'avion aller-retour;
  • 10 000km à parcourir;

Et en retour:

  • l'immense plaisir de revoir tout le monde;
  • serrer dans mes bras de mastodonte ma petite nièce chérie;
  • visiter mon île en touriste + de bons petits plats créoles de ma mama

Ce qu'on peut donc appeler jusqu'ici des vacances réussies! Kler ! Mais la cerise sur le gâteau, ça a été d'entendre ces quelqes mots de la part vraiment de certains membres de ma famille de manière si inattendue et spontanée ! Pourquoi me demanderiez-vous? Et bien c'est assez simple à comprendre! Moi ce travail je l'avais fait pour moi et je ne le regrette pas! Ca me touche énormément que des gens aient pu remarquer que j'ai pu changé à ce point! J'aurais pas pensé que celà ce remarque à ce point! Mais venant de la famille, ça fait encore plus plaisir!

dimanche 5 novembre 2006

Ma Debian est morte mais chroot pour tout sauver depuis Dapper - Episode 2

Petit rappel des faits! Récemment j'ai foiré ma Debian donc contraint d'installer une Dapper pour survivre ou tout autre solution GNU/Linux !

Heureusement que sur ma p'tite mémoire de fourre-tout, je me suis souvenu de l'astuce de Djay pour survivre

mount /dev/hda3 /media/hda3
chroot /media/hda3

Comme quoi le travail des autres peut parfois vous être util! Allons bon je v pas pleurer j'ai eu un excellent maître de part le passé en la personne de Djay sous GNU/Linux!

vendredi 3 novembre 2006

En direct de la Réunion - Jours 13 et 14

Hier après-midi avec ma chérie, on est allé se balader à la Maison du Volcan à la Plaine des Cafres, on a vu de belles projections vidéo et des animations ludiques concernant le volcan de la Fournaise! Mais il se faisait tard ! Finalement on a rebroussé chemin le soir! On s'est dit qu'on reviendrait le lendemain pour aller en balade au Volcan !

On s'est levé donc assez tôt 8h30 (enfin assez tôt à mon goût !). Vers 10h00, on a décollé de la kaze! On a pris un petit sandwich en partant! Et let's go .... Sur la route, on s'est arrêté pour faire un loto pour la mama aussi! Direction la route du volcan, j'ai pris quelques photos sur la route! Bien au moins 5 à 6 km (à la plaine des sables) avant d'arriver à l'observatoire, on a pris une séance de belles photos! On aurait dit un paysage lunaire tiré d'un film comme celui de Mad Max!


Sur la route pour le Volcan - photo n° 1

Sur la route - photo n° 2

La plaine des Sables - photo n° 1

La plaine des Sables - photo n° 2

La plaine des Sables - photo n° 3

Une fois arrivée sur place, la vue était vraiment imprenable


Volcan de la Fournaise - photo n° 1

Volcan de la Fournaise - photo n° 2

Volcan de la Fournaise - photo n° 3

Puis ensuite, vers 13h30-14h00, on a rebroussé chemin. On s'est arrêté chez un petit resto créole juste avant de prendre la route du volcan - juste après la Maison du Volcan -. Au menu y'avait riz, rougail boucané bringelle, poids jaunes et une petite pâtisserie en dessert

Ensuite, j'ai pris la 4xvoies depuis le Tampon et ensuite direction l'Etang-Salé et sa belle plage! Purée, on est resté un bon moment dans l'eau à rigoler comme des foux en vacances


Plage de l'Etang-Salé - photo n° 1

Plage de l'Etang-Salé - photo n° 2

Puis sur les coups de 17h30-18h00, nous sommes rentrés à la kaze! Le soir on est allé pique-niquer sur la plage de Saint-Pierre! Au menu, riz, rougail mangue et cari bichique (oh yeahhhhhhhhh!) le must du must comme repas! Seulement c t pas bichique la réunion mais j'ai fais avec et c t bien bon! Normal c mama ke la prépar' a lu

mercredi 1 novembre 2006

Jamendo et Eva Garcia

Hier je me suis laissé séduire par le site de jamendo où on peut télécharger de la musique en toute légalité!. J'ai découvert Eva Garcia. Elle chante trop bien cette artiste: Mellow et Juste en avance d'une hirondelle et les autres, c'est trop de la balle ! J'ai téléchargé sa musique, un coup de client torrent (bittornado client par exemple) pour télécharger sa musique et allélunixia!

Eva Garcia
Eva Garcia

J'ai même découvert qu'on pouvait faire un don aux artistes! C kool ça comme idée! Elle et eux le méritent! J'ai pas eu le temps de tous les écouter mais je peux dire que je suis fan! C de la belle musique

Site officiel d'Eva Garcia: http://www.evagarcia.fr

Le site est à nouveau opérationnel

Ah yé! Bernd est passé à la maison pour me redémarrer ma petite bécane chérie olivia! She is roulaized ! Bernd my friend du bist ze best de tous les bests! Ich libe you ! Merci merci enkor'!

On est resté un moment au tél pour se parler! De tout même du taf! Les nouvelles n'étaient pas trop bonnes! Mais courage l'ami, je partage avec toi et comprends tes frustrations. Djay si tu lis ces quelques lignes saches que je suis au courant! Je suis vraiment déçu , vous pouvez pas savoir à quel point! Toi qui m'as tout appris en GNU/Linux, je comprends pas que des imbéciles ne savent pas de quoi ils parlent mais toi je sais que tu comprendras

lundi 30 octobre 2006

Ma Debian est morte, dapper pour la remplacer

La semaine dernière, j'ai voulu tester Ubuntu Dapper spécial 3 DVD sur mon VAIO en l'installant à la place de mon Windows! Mais une erreur fatale est survenue! Au moment de faire l'installation sur le disque dur, comme le con que je suis j'ai oublié de vérifier ma table de partition! Comme ma Debian est sur mon /dev/hda3, j'y ai pas fais gaffe sur le moment! Croyant que c t ma partition Windaube, j'ai lancé l'install! Ce n'est qu'au bout de 2 à 3 minutes que je me suis aperçu de mon erreur !

Donc j'ai arrêté l'install au beau milieu, redémarré mon laptop! Mais erreur de disque Multiple claimed bloc inode me disait ma Debian! Donc du coup, j'ai réfléchi! J'ai réessayé de réinstaller/reconfigurer même avec un fsck ma Debian mais rien

Allez zou! J'ai opté pour la Dapper finalement! Pas de race! Pas grave! L'essentiel c'est que ca passe ...Oh miracle de la sainte bonté:

  • je peux monter manuellement mon ancienne partition Debian (le faire manuellement n'est pas un problème);
  • 'j'ai pu recupérer mon ancienne archtecture des dossiers de mon ancien thunderbird ainsi que mes courriers sans souci:
    cp -r /media/hda3/home/david/mozilla-thunderbird /home/david/
  • carte wifi reconnu comme il faut;
  • ma WebCam Logitech passe sans problème;
  • en installant automatix spécial pour Dapper: VLC, amule, AcroBat Reader, Google Earth, ndiswrapper, nvidia (etc...) installés sans problème!
  • etc...etc...

Et dire qu'il y a pas longtemps, j'avais réussi à convertir mon boss à l'utilisation de GNU/Linux! Aujourd'hui j'ai fais une erreur de débutant! Mais bon un mal pour un bien . D'ailleurs un Ubuntu c'est une Debian! Bon c'est pas une Testing c'est vrai! C'est vrai que le mieux comme distrib detravail le mieux est de rester sous Debian Testing - ceci est mon avis personnel -! Mais bon ça me fera au moins deux machines multimédia à la maison ainsi qu'un portable à utiliser pendant les formations!

Quelque part, je ne regrette pas cette mésaventure, ca me permettra au moins de ne pas avoir à compiler mes outils multimédia préférés avec Free comme VLC, ou pour écouter la radio de mon vieux Radio FreeDom sur internet! LOL

vendredi 27 octobre 2006

Configuration de ma connexion wifi avec Wanadoo LiveBox

Bon à la kaze à la Réunion, mon frère a Wanadoo LiveBox . J'aurais préféré qu'il est une FreeBox comme chez moi! Mais bon on fait avec! Purée c'est chiant ce truc ! Mais bon, il a fallut configurer et autoriser ma carte Wifi avec son LAN pour l'adresse Mac de mon petit "bremko" (surnom de mon VAIO VGN)! Et aussi me démerder pour pouvoir connecterce dernier avec son wifi!

J'ai galéré tout un après-midi pour trouver mais j'y suis parvenu!

iwconfig ESSID wanadoo mode managed key XXXXXXXXX

Il voulait pas savoir . Bon je me suis dit fais pas chier mon cadavre! Allez zou! J'ajoute ceci dans le fichier /etc/network/interfaces

auto eth2
iface eth2 inet dhcp
wireless-mode managed
wireless-essid wanadoo
wireless-key xx:xx:xx:xx:xx:4e:55:e2:f2:36:1e:cd:f4
wireless-channel 7

Avec les lettres et les chifress en minuscule pour la clé hexédécimale et on reboot! Oh yeah !

Le seule truc que je regrette c'est que la portée ne soit pas très forte! Elle tient la route mais faut pas être trop loin pour pouvoir se connecter! Sinon j'ai remarqué que la connexion n'est pas persistente!

mercredi 25 octobre 2006

En direct de la Réunion - Jour 1

Ha yé! We are arrived à la Réunion vers 10h50 quand l'avion a atterri ...Je nana arriv' ma kaze vers 13h45. N'avé l'embouteiyaze si la rout' en cornisse! J'ai revu l'ensemble de ma famille! Mon papa, ma maman, mon frère, ma soeur et son copain! Té boug' la la pa reconnait' a moin quand il m'a vu l'aéroport! Tu m'étonnes avec mon barbe té difficile reconnait' a moi !

samedi 21 octobre 2006

Derniers préparatifs avant le départ

Bon aujourd'hui c'était la journée spéciale préparation valise! On s'est levée vers 9h00-10h00 et on a commencé à noter sur divers papiers les derniers préparatifs pour notre voyage à l'île de la Réunion. Une p'tite heure et demie quand même pour faire les valises! Ben c kil prévoir de la place pour pouvoir ramener des souvenirs pour certains comme de la viande boucanée - certains se reconnaitront dans ce message -. Ben sinon On doit déposer Simba demain chez quelqu'un avant de partir donc nous profitons de passer nos derniers moments avec lui ces temps-ci!

Au final, nous nous sommes retrouvés avec 4 valises (2 petites et 2 grosses)!

Bon pour mon neveu (Gabriel) en faisant quelques cours cette aprem' j'en ai profité pour lui acheter des kdo pour notre voyage! Comme celà, il ne sera pas jaloux de sa petite soeur! C'est vrai que là en regardant les vêtements que j'ai pris avec Cat' pour ma petite nièce chérie elle va être gâtée . Bon c'est pour ma nièce chérie N@t@li@

Sinon hier j'étais avec mes amis chez Djay pour aller voir son fils Martin et sa maman Jasmine! Il est tout beau comme pas possible le petit bout de choux! A ce qu'il paraît il se lève à des heures pas possibles la nuit! LOL! C'est génétique comme pour son père je crois!

Quoiqu'il en soit vendredi soir, on a mangé vietnamien! Djay m'a donné là une bonne adresse pour me remplir la panse! J'ai jamais mangé un si bon canard laqué et un boeuf curry . Ensuite, nous sommes rentrés sur les coups de 23h00-00h00.Une bien bonne soirée en perspective après une dure journée de taf!

mercredi 18 octobre 2006

Cartes des utilisateurs de Mac àl'île de la Réunion

Voyez donc ce lien...J'en connais un à qui ça fera plaisir

Ubuntu à la Réunion

Té hier soir, je suis tombé par hasard sur le site de Ubuntu à la Réunion . Ca fait plaisir de voir que même à 10 000km, nana des gens qui saluent la communauté open source! Ca fait plaisir! J'ai bien aimé les photos de leur premier meeting! Purée ben je rentre ma kaze dans moins d'une semaine, je vais essayer de rencontrer les gens responsables du site. Ca sera un moment de rencontrer des gens réunionnais comme moi! LOL

dimanche 15 octobre 2006

Mes premiers pas en Flash avec Ming

Bon je m'intéresse depuis déjà un petit moment au potentiel de Flash et je dois dire que sincèrement vu ce qui a été fait avec la librairie Ming je suis vraiment époustouflé ...voire même

Franchement ce que cette librairie est capable de faire me couple le souffle. Bon je défend la position du SVG dans mon travail c'est un fait mais ...Sérieusement, j'ai passé une bonne partie de cette semaine dans mon temps libre à regarder sur internet ce qui a été fait depuis la sortie de MinG 0.3.0 en ce début d'année 2006 non seulement avec MapServer mais aussi de manière plus générale! C'est bleuffant le Flash.

Bon c'est vrai quand j'ai commencé à travailler je n'ai pas commencé par le Flash mais le SVG mais je dois dire que c'est vraiment pas mal cette ptite librairie

J'en ai vu de belles réalisations artistiques mais attention je ne suis qu'un gros débutant en Flash! Je manipule à peine l'Action Script. Donc j'ai réalisé mes premiers petits scripts que vous pouvez apercevoir en entrant l'URL de mon site http://www.davidgis.fr. Ce qui m'a beaucoup plu par exemple ce vendredi, ca a été de faire un petit montage vidéo de mon Simba sur ma page d'accueil de mon site .... C'est Catherine quand nous sommes revenus qui a souri quand elle a vu la mini-vidéo...LOL!

Vous pouvez accéder au source de mon script ainsi que comment j'ai fait pour incorporer la vidéo dans le swf en allant ici (en bas de la page)! Comme c'est mes premiers scripts alors autant les documenter et garder une trace.


Vive Ming!

mercredi 11 octobre 2006

De nouvelles chaines sur la Freebox pour VLC

Enfin il était temps! Suite à une news que j'ai reçu aujourd'hui de la part de Freeplayer.org, de nouvelles chaines sont disponibles avec la Freebox sur VLC.. Au moins maintenant, j'aurais les chaines Animaux, mangas, etc...en +.. Il m'a suffit de rallumer ma freebox et le tour était joué

Ici une petite capture d'écran:


Il en auront pris du temps chez Free pour commencer à proposer ce genre de nouveautés.

La news en question sur Freeplayer.org est ici

lundi 9 octobre 2006

ADMR du Crès fête ses 25 ans

Samedi soir, Salle Georges Brassens au Crès l'ADMR (Association pour le service à domicile) pour laquelle travaille Catherine fêtait ses 25 ans! La soirée a commencé vers 20h00 par un petite apéro! Au service de l'apéro, j'ai revu un ancien de Vert-Bois - bénévole pour l'association -. Ca m'a fait plaisir de revoir une tête que je n'avais pas vu depuis longtemps! Catherine en a aussi profité pour me présenter ses collègues de travail! J'ai eu du mal à retenir tous les prénoms!

La soirée était bonne enfant! Le repas - géré par les Traiteurs du Peyrou - était pas mal. Remarquez c'était aussi pour ça que j'étais venu

  • entrée de salade, de charcuterie
  • plat de moules, de fruits de mer
  • cuiss de canard garni de viande farcie, salade
  • en dessert: une pâtisserie

La musique était assez désordonnée . Il aura fallut attendre que le DJ mette du Claude François pour que les gens se bougent !

J'ai rencontré des gens intéressants notamment, Bernard et sa femme un couple qui était en face de nous lors de la soirée à notre table.

Bon il a fallut danser! J'avais pas trop envie mais Cat' m'a cassér les c... avec ça! J'ai juste danser sur une chansons et sur 2 ou 3 slows avec elle! J'ai regretté qu'il n'y ait eu que des musiques rétro 70-80. J'suis plutôt années 90 . D'ailleurs le lendemain, je lui ai dit:

Chérie quand on danse un slow, les deux se tiennent (voire coller ) l'un à l'autre sans que t'es besoin de me chanter toutes les chansons dans la face. Sinon tu me la murmure dans l'oreille sans gueuler! Mais bon que voulez-vous ma chérie quand elle se lâche elle a la pêche ! L'essentiel comme on dit c'est de passer une bonne soirée. Elle en a profité de son côté et moi aussi, c'est le principal! Généralement, on dit qu'il ne faut pas se fier à une première impression mais certaines personnes m'ont fait bonne impression d'être des gens intéressants: Cathy, som mari, Bernard et sa femme, ainsi qu'un collègue masculin de Catherine! Mais bon je ne sais pas si j'aurais encore l'occasion de rencontrer ce genre de personnes et quand mais ce serait avec un immenses plaisir !

A la fin, nous sommes retournés chez nous sur les coups de 1h30-2h00. Une bonne soirée!

Voici quelques photos:




Catherine dans sa belle robe!


Le trio de charme: Sylvie, Jessica, Catherine!


Notre table: Vanessa et son fils Kylian


Bernard et sa femme




La piste de danse




Nous deux! Profitez de me voir en costard cravate car c'est pas tous les jours qu'on me voit habiller ainsi! Hé oui la barbe a poussé je sais! Mais c'est pour taquiner ma mère que je l'ai laissé pousser!

samedi 7 octobre 2006

Nettoyage de mon Sony PCG-FR215E

Bon la semaine dernière, j'ai nettoyé mon bureau, passer l'aspirateur pour enlever mes cheveux qui tombent et les poils de de Simba! Et là, j'ai décidé de nettoyer ma première bécane aevc laquelle j'ai commencé mon travail à 01MAP, ma petite OLIVIA condamnée à faire serveur pour mon site! Bon ben j'ai sorti le matos:

Fallait bien la nettoyer vu que ca faisait déjà un bon moment déjà que je l'avais pas fait! Mais là ca va:

  • Un coup de gaz dépouissériant avec la bombe
  • chiffons spéciaux pour ordi
  • chiffon avec produit spécial pour écran LCD

Je la bichonne cette petite! Faut bien! J'en ai connu des déboires et des douceurs depusi 3 ans et elle m'accompagne depuis le temps dans mon travail! On pourra dire que j'suis matérialiste pour elle: Là oui je l'avoue!! La preuve je lui consacre un billet sur mon blog...Elle est toute belle comme au premier jour depuis que je l'ai débarassé du virus Windaube! et que je lui ai mis Debian Testing

Installer une WebCam Logitech QuickCam for NoteBook sous Debian Testing

Quand on vous dit que Linux peut tout faire c'est vrai mais faut de la patience et de la débrouillardise...Là je vais parler de ma mini déboire avec ma WebCam....

Bon cet après-midi, j'ai pas trainé. L'idée m'a pris de me prendre une petite WebCam à côté de la mairie de Castelnau pour que ma mère puisse me voir (du moins je vais essayer d'ici mon arrivée à la Réunion quand je l'appellerais pas téléphone)...

J'ai pris un café au resto rapide à côté de la poste de Castelnau. Je suis ensuite rentré...Et zou, petit coup de Google, on essaie un truc du style:

apt-get install qc-usb-sources

Ben non ca veut pas passer! .............

Bon comme on dit "ne nous affolons pas!" ...Je cherche, je cherche! J'essais, j'essais mais ca veut pas passer! ...Ah comme on dit en créole "languette ta marraine"

Finalement je suis allé manger, matté un peu NCIS sur M6 et je suis revenu...Et c'est la que mes petites cellules grises se sont mises en routes! (pour une fois)...Un dernier Google pour la route! Ensuite je suis allé sur ce lien

wget http://mxhaard.free.fr/spca50x/Download/gspcav1-20060925.tar.gz
tar xvzf gspcav1-20060925.tar.gz
cd gspcav1-20060925
make 
make install

Oh yeahhhhhhh!!!!! ! Allélinuxia! Ca marche!

Un petit coup de camstream et j'ai pu matté mes premières photos:

Bon pour le reste va falloir faire en sorte de préparer w3cam pour que ma famille puisse voir ma face depuis la Réunion! Mais ça ca devrait pas être trop difficile!

samedi 30 septembre 2006

Semaine bien remplie

Bon on peut dire qu'on aura chômé cette semaine! Cat' est partie toute la semaine en formation au CEMEA de Palavas-Les-Flots. Résultat c'est moi qui est fait à manger toute la semaine, le temps qu'elle rentre et qu'elle recopie ses cours au propre! J'suis pas macho mai pour une fois que c'est moi qui était derrière les fourneaux toute la semaine, j'ai pas chômé au niveau culinaire...J'ai laissé place à mon génie créatif!

Tiens ben pour la première fois de ma life de Réunionnais, j'avais décidé cette semaine de faire un cari lapin! Ni une ni deux, un coup de fil au pays pour demander à la mama comment on fait ça (je sais j'ai 28 ans,je sais faire le cari poulet etc..etc...j'ai internet à la maison mais rien ne vaut les conseils éclairés de la Mama pour ne pas rater un tel moment, disons même un baptême

J'suis assez fier de moi, mon cari lapin aux tomates était une belle réussite...Pas aussi bon que celui de Mama mais quand même assez bien pour une première fois! Comme d'hab!. A ce propos, celà me rappel que quand les parents de Cat' étaient là ils ont bien aimé mon cari poulet! C'est bizarre j'aurais du faire chef cuisto je pense!

Bon nous ce week-end, c'est direction cinoche avec des amis à Cat' et farniente farniente! Héhé!...

dimanche 24 septembre 2006

Djay et Jasmine ont eu leur bébé

Wayo Wayo!??? Avis à la population!

Ca y est Djay et Jasmime ont eu leur bébé!!!..........

Depuis qu'il était attendu le petit martin , un beau petit mâle tout mimi comme il faut! Oh que je suis pour eux!

Il est arrivé dans la nuit de Jeudi à vendredi! Quand je pense que j'ai essayé d'avoir des nouvelles de Djay dans l'aprem' et que je suis tombé sur Jasmine et qu'elle me dit:

"Le gynécologue a dit qu'il devrait arriver dans les jours à venir et ça devrait pas tarder!

Ben il a pas attendu longtemps le pitiou......Contrairement à son papa qui avait à une époque l'habitude d'arriver en retard à ses rendez-vous, lui il a pris de l'avance et est même + que ponctuel

Là il se reposent dans les bras de ses parents! ...Voil@ Dj@y tu es p@p@, toi qui attendait ça depuis longtemps!

Féliciations à vous et beaucoup de bonheur à vous 3!

mardi 19 septembre 2006

Des nouvelles de la Réunion

Bon j'ai eu des nouvelles de ma pitite famille ces jours derniers et ca me fait plaisir de savoir que tout le monde va bien! Tant mieux!. Mon frèro est venu hier sur le site et ca la surpris de me voir avec ma barbe quoique maintenant elle est un peu plus longue que sur l'image

Bon je commence à compter les jours mois depuis hier! Ca me tarde de rentrer! J'ai un peu discuté avec ma mère lui-disant que j'étais fier d'être son fils et qu'elle nous avait bien éduquée

Ceci étant dit ca ma donné le moral pour bosser aujourd'hui. Demain je reçois le bosse à la maison! On va parler taf! Tiens en parlant va falloir que j'oublis pas de recontacter Djay en semaine pour savoir s'il va bien. J'espère! Histoire de le voir et de savoir comment ca a été en Suisse!

jeudi 14 septembre 2006

En préparation pour le voyage à la Réunion en octobre et visite de la belle-famille

Bon les jours se suivent mais ne se ressemblent pas! Là je suis connecté et ilpleut méchamment dehors! Ca y est on a commencé à rentrer dans les préparatifs pour le voyage à la Réunion en octobre. Vendredi on passe à Air France pour acheter les voyages! Tiens celà me fait penser que de mon côté je dois aussi rappeler ma ère une fois que nous aurons les billets et penser aussi à acheter les vêtements pour ma petite nièce chérie qu'il me tarde de rencontrer

De son côté, Cat' a trouvé kelkun pour s'occuper de Simba pendant notre abscence, c'est kool ça

Moi de mon côté je dois m'occuper de prendre RDV avec un chauffagiste pour venir voir notre installation chauffage pour cet hivers et aussi prendre RDV avec ma conseillère banquaire la semaine prochaine...Oh la la que de choses à faire!

Au moins Catherine est en vacances vendredi midi et on pourra recevoir ses parents pendant quelques jours à la maison, ca fera du bien de revoir des têtes que je n'ai pas vu depuis 9 mois = depuis Noel Dernier! Que le temps passe vite, déjà 6 mosi que je suis installé avec ma belle et + d'un an que je sors avec elle.

mercredi 6 septembre 2006

FreeBox V5 disponible mais je garde ma V4, pubs pour internet aussi

Oh! Depuis mon interface de gestion de free.fr, je me suis récemment aperçu qu'il m'avait activé l'option "Renouveller ma Freebox pour une FBX HD V5". Et bien depuis le temps que cette option devait être activéer, c'est déjà pas mal qu'ils l'ont fait.

En temps ordinaire, je serais le premier à sauter au plafond et dire "Oui je la veux, je la veux!...! Ben non

Je m'explique! J'ai parcouru depuis le début de l'apparition de la nouvelle FBX les divers forums et y'a des soucis avec!

  • Problème de livraison, retard etc...
  • Le bidule chauffe beaucoup, y'en a qui ont même du prévoir un système de ventilo maison pour refroidir la bête!
  • la réception qui remplace le wifi pose problème en fonction de ce qui se trouve sur le trajet: obstacle des murs, four à micro-ondes etc...

Disons que la seule et véritable raison aussi pour laquelle j'attends avant de la prendre un des ces jours (peut-être?) c'est que j'ai déjà investi dans du matos pour faire du multimédia avec ma V4

J'ai pris depuis au moins 5 mois un récepteur-émetteur vidéo THOMSON pour regarder les progs de la FBX dans le salon...Réception nickel! Un carte Pinnacle PCTV 50e connecté à jenna pour pour faire magnétoscope...(programmation avec crontab et mencoder sous Ubuntu)...Tout ça pris à la FNAC! Mais c'est du bon matos! Je regrette pas mon choix et mon investissement!!

Mais ce qui me sidère ces temps-ci, c'est les pubs pour Alice, NOOS, neuf qui arrêtent pas de passer en boucle sur les chaines!......On voit que c'est la rentrée des classes! Mais je sais pas si c'est dû à ca mais en tout cas, ca défile, ca défile! A part les prix proposés, ils proposent tous les mêmes services! C'est ce qu'on appelle la libre-concurrence! Tant mieux quelque part, car ça permet au consommateur de choisir! Mais comme on me le demande souvent, je réponds faut réfléchir avant de signer! Bien se renseigner sur ce qui est proposé surtout! La hot-line est elle assurée? Les gens au bout du fil sont ils formés pour? Les chaine/bouquets proposées sont-ils intéressants? Attention avec l'activation des droits sur certaines chained payantes!A quel débit a-t-on droit?etc...etc...

Ouais faut bien se renseigner, surveiller sa facture mensuelle aussi

Moi y'a juste une fois, où j'ai gueulé avec Free c'est quand j'ai déménagé. Ben ma fois, ils m'ont entendu au téléphone! Tombé sur des gens qui vous disent des choses opposés! Mama! Mama...Mais un jour je suis tombé sur la perle rare de la hotline qui a pu résourdre mon prob de déménagement

Cette personne elle au moins elle étaitt qualifiée! Elle m'a fait plaize quand elle m'a proposé au tél de faire avec elle la simulation...On l'a fait, tout s'est bien passé! Ca m'a fait plaisir de tomber sur quelqu'un de compétent...Héhé! Têtu comme je suis je lache pas le morceau tant que j'ai pas mordu dedans!

mardi 5 septembre 2006

Doc en SVN bientôt disponible

Bon ca y est:! J'ai mis la doc en SVN...

Pour l'instant, je l'ai testé en local à la maison. Je l'activerais ce soir sur le site en cours de soirée. On notera pour l'instant que pour avoir le projet, on devrait faire

svn checkout svn://www.davidgis.fr/svn/doc4win32/trunk doc4win32

On pompera donc le répertoire trunk qui contient ma version de développement et qui créera loalement chez vous le répertoire doc4win32. Là pour l'instant je bosse sur la version 8.0

Je ne fais que corriger des erreurs d'orthographe pour l'instant ..Mais bon! Quand j'aurais de bonnes idées, j'hésiterais pas à les mettre dans la doc. Comme d'hab quoi,

lundi 4 septembre 2006

Dimanche: Petite virée au Lac du Crès et soirée devant les Experts Las Vegas

Dimanche il faisait beau......On en a profité avec ma chérie pour amener Simba, notre gros matou au lac du Crès

Bon y'avait du monde, mais on est pas parti loin, on s'est mis à côté de la petite rivière "le salaison" et on l'a laissé gambadé un peu...

Ah Monsieur voulait jouer aujourd'hui! Il a pas arrêté de courir à gauche à droite..Moi devant pour l'empêcher d'aller à la rencontre des autres chiens et Cat' derrière pour l'arrêter dans ses allez et venues...Il en a profité pour se purger un bon moment! T'as bien raison mon chaton! Mais il était content le pépère! Remarquez on lui a pas encore pris sa laisse mais il sait qu'il doit pas trop s'éloigner de nous quand on le voit plus! ca c'est un chat intelligent!

Au retour dans la voiture, il était derrière avec Cathy puis un moment il lui a échappé...Résultat, il m'a fait une des ses peurs......Surtout quand il a surgit à côté de moi! Mais bon il a vu que j'étais occupé et pas une ni deux il est allez voir au pied du siège passager...Se sentant pas bien là, il est allez rejoidnre >Madame à l'arrière......Mais je crois qu'il a compris que quand je conduis faut pas venir me distraire et qu'il doit rester calme! C'est bien mon Simba!

Au retour, on a mangé..La télé du salon a eu un souci! Elle voulait pas mettre TF1...Finalement, on a mis la télé de al chambre dans le salon pour matter les experts...Les trois épisodes de ce soir étaient vachement pas mal! Ca m'a fait plaize de revoir MAITRE GRISON mon idôle! héhé...

Apparment TF1 a programmé les experts le dimanche soir comme programme de rentrée pour contrer COLD CASES sur France 2 le dimanche soir! Bah! A la maison de toute façon, le choix est déjà fait!...Mais c'est une bonne idée quelque part de programmer ça le dimanche soir, ca évite de l'attendre en semaine, voire même d'attaquer la semaine k'esprit trankil!

dimanche 27 août 2006

Pirates des caraïbes II: de la balle

Hier comme convenu, je susi allé voit ce film! Le temps d'aller faire les dernières courses du week-end avec ma belle à Netto, je suis rentré, j'ai pris ma douche et zou en route

Bon le parking était déjà blindé. Mais j'ai trouvé de la place pour ma garer! Quel bol à un heure pareil! La séance était programmé pour 19h15 donc le film commençait à 19H30 (le temps que passe la pub de m...)..je suis arrivé à 19h45...Pas gravee, j'ai râté le premie quart d'heure du film mais ca promettait!

Bon humour, bonn intrigue, un peu trainant des fois sur l'action mais bon film dans son ensemble...

La prestation de Jhonny Deep est des plus plaisantes et des plus intéressantes...Comme on dit le personnage de Jack Sparows lui sied à merveille

Mais bon il est prévu une suite au film...On en redemande, on en redemande...C'est franchement bien ce genre de film, surtout après avoir passé plus d'une semaine à taffer sur pgdijkstra

N.B: préparer le taf demandé par le boss pour mardi, ca sear fait dans les temps...du moins je pense

samedi 26 août 2006

Dotclear c'est de la balle

Bon je me posais la question de savoir comment gérer les anciennes news sur mon blog. Et oui! Epineuse question!

Finalement, j'ai opté pour la solution de facilité : un petit coup de Google par ci, un petit onglet d'ouvert par là et hop...Magic..DotClear m'est apparu comme la solution de facilité.

Bon ca tourne sous MySQL ......Que faire alors?............ Bah! L'essentiel c'est que ca marche......

Et puis tanpis, je suis pas un grand fana de MySQL qui me donne de l'urticaire mais bon...Au moins c'est un truc qui servira pour mon blog......

Test pour PgDijkstra...réussi!

Ca y est, ca y est j'ai enfin réussi à tester pgdijkstra sur un vrai jeu de test...Oh eah!!!

You know what? I'm

Ich bin le best! Ich bin le best!

Vendredi 2006-08-18: logo pour chaque page du site

Bon je me suis enfin décider à faire le logo de la boite en carton avec le logo de PostGIS et de PostgreSQL dessus. Il était temps. Ca a été la première utilisation de GIMP qui dormait depuis bien longtemps sur ma bécane sans que je l'utilise

Ca ma pris 20 minutes pour tout faire mais je regrette pas . Il est pas mal ce logo . On dirait un emballage de produit industriel prêt à être livré.