Zope3 et XML avec lxml
Ce soir j'ai joué avec Zope3 et lxml. Le résultat est plutôt intéressant. On trouve en combinant les ZPT et lxml une bonne alternative au xslt.
Voyez plutôt. Une petite classe de vue:
# -*- coding: utf-8 -*-
import os
import random
from lxml import etree
from zope.publisher.browser import BrowserView
PREFIX = '/tmp'
def getxml(filename):
"""
return a ElementTree parsed from the file
"""
fd = open(os.path.join(PREFIX,filename))
doc = etree.parse(fd)
fd.close()
return doc.getroot()
class LastfmView(BrowserView):
"""
a view to render the xml
"""
views = ((u'Coup de coeur','recentlovedtracks.xml'),
(u'Ecouté récemment','recenttracks.xml'))
def __call__(self):
self.title, filename = random.choice(self.views)
self.xml = getxml(filename)
return super(LastfmView,self).__call__()
Associée à une petite template toute bête:
<dl class="lastfm" tal:define="root view/xml">
<dt class="title" tal:content="view/title" />
<dd tal:repeat="track root">
<a tal:attributes=" href python: track.find('url').text">
<div tal:content="python: track.find('name').text" />
<div class="small"
tal:content="python: track.find('artist').text" />
</a>
</dd>
</dl>
Et hop, vous obtenez le portlet lastfm de mon site :)
Vous pouvez voir le source complet ici avec le script bash qui dowload les xml.
Log afpy,fon-fr at freenode.org
Distributeur de billet pas propre qui casse
Voila le résultat quand on utilise un SaleOS qui casse tout le temps.

Heureusement que les interconnexions bancaires sont fiables parce que ce n'est pas grâce au système d'exploitation qu'ils pourraient contrer efficacement les attaques.
Booster sa motivation
Ca ne doit pas être facile de se motiver quand on est livreur à vélo. Il pleut, faut pédaler tout ça.
Heureusement, certain on trouver un bon moyen, apparemment...


Linux on Dell
Dell a lancé une enquète pour en savoir un peux plus sur les attentes de ces clients.
Les résultats sont de bonne augur pour le logiciel libre puisque le post ayant pour l'instant le plus de votes est en faveur de linux.
Il ressort en effet que les consommateurs désirerais voir des ordinateurs avec linux préinstallé. On devrait donc voir arriver d'ici peu des autocollant "Linux ready"
Liège, son architecture, ses bieres...
La belgique est décidement un pays fort sympathique. J'ai eu l'occasion de m'en rendre compte une fois de plus. En effet, ce weken, je me suis rendu à liège.
Cette ville est vraiment bizarrement foutu architecturellement. La bruxelisation l'as touchée de plein fouet et on dirait que ce n'est pas vraiment fini à la vue de ce qu'il se construit au abords du palais des princes évèques...
Par contre, ce que l'on ne pourra jamais lui enlever, c'est sa convivialité. Cela faisait longtemps que je n'avais pas rencontrés des gens aussi ouvert, sympathique et joviale en si peu de temps. Franchement, ce n'est pas en France que l'on verrait des gens vous offrir un verre de bière alors que vous les connaissez à peine depuis 5mn. Si encore cela arrivais une fois, on pourrait prendre cela pour une coïncidence. Mais... non, c'est vraiment monnaie courante. Bon, il est vrai que cette boisson nationale ne coûte pas grand chose par là bas. Mais tout de même.
Que ce soit dans la Zone ou par la suite au concert des excellents TheExperimentalTropicBluesBand l'accueil est vraiment des plus chaleureux. Un jeune badeau nous a même offert de nous faire faire une visite nocturne de la ville de Huy quand il a appris qu'il y avait parmi nous des touristes français :)
Autre chose des plus surprenante. A Liège, les bars ferment quand ils ont envie de fermer. Parfois vers 4/5h, parfois jamais. Après, on s'étonne que la convivialité soit si Répandue. Ca ne vous ai jamais arrivé de vous retrouver dans un bar, de discuter avec quelqu'un et de devoir l'abandonner pour cause de fermeture prématurée du bar ? Pff, la mentalité française, je vous jure :)
Bref, je suis définitivement amoureux de nos amis belge. Maintenant, pour moi, cette expression prends vraiment tout son sens !
OpenWrt sur un Asus WL300G
Ce post est un reminder pour moi même. Si il peut vous servir, tant mieux.
OpenWrt est une alternative libre aux firmwires propriétaire qui la plupart du temps n'autorisent pas grand chose. (Genre on à même pas le droit de faire des conneries sur son propre matériel, tsss ;)
OpenWrt est relativement simple à installer. La méthode pour flasher un WL300G est indiquée ici. Si il s'agit d'une mise à jour, suivez la procédure du WL500G. (c'est le modèle qui m'intéresse, OpenWrt en supporte bien d'autres))
Pour faire du wifi correctement, à savoir du WPA2 crypté, il est nécessaire d'installer nas. En ssh, tapez les commandes suivantes:
ipkg update ipkg install nas reboot
On peut ensuite utiliser le WPA2 crypté, et se passer du WPA1 (et du WEP..). Voici ma config pour le wireless qui permets aussi de ne pas broadcater votre ssid:
nvram set wl0_akm=psk2 nvram set wl0_infra=1 nvram set wl0_ifname=eth2 nvram set wl0_mode=ap nvram set wl0_ssid=monidentifiant nvram set wl0_closed=1 nvram set wl0_wpa_psk=monsupermotdepasse nvram set wl0_wep=disabled nvram set wl0_radio=1 nvram set wl0_channel=0 nvram set wl0_crypto=tkip+aes
Bien sûr, modifiez les valeurs du ssid et de la clé wpa.
Il est possible d'utiliser une clé publique pour se connecter en ssh. Depuis le poste client, tapez:
scp ~/.ssh/id_dsa.pub 192.168.1.1:/etc/dropbear/authorized_keys
Une fois l'Access Point correctement configuré, on désactive quelques démons pour gagner en mémoire:
chmod -x /etc/init.d/S50httpd chmod -x /etc/init.d/S50telnet killall telnet killall httpd
Il est toujours possible de les relancer ensuite:
sh /etc/init.d/S50httpd
Et hop. Ces opérations sont à refaire à chaque mise à jour du firmwire.
Signez la pétition candidats.fr
Signez la déclaration candidats.fr.

Solution Linux 2007
Il n'y a qu'une chose agréable à la Défense. Chaque année, pendant 3 jours, c'est la fête du logiciel libre.
Cette année, pour cause de vacances, j'ai tenu le stand de l'AFPy du début à la fin (ou presque, réveil difficile oblige).
Le bilan est plutôt positif pour l'AFPy. Les gens connaissent Python et l'utilise ou se demande si il ne devrait pas. Bah, si bien sûr :)
Le nombre d'entreprises cherchant des coders Python est grandissant. Et pas que dans le domaine Zope/Plone ce qui est plutôt bon signe ! Citons par exemple gandi qui refond son back-orifice dans ce charmant langage. Vincent m'as avoué qu'après avoir acheté un bouquin sur le sujet pour pouvoir contribuer aux trolls, il est tombé amoureux ! La décision était prise quelques jours plus tard: "Les gars, on refait tout en Python !"
Pour ce qui est des événements marquant, on notera la désinfection du stand M$ par la joyeuse équipe du GCU. En effet, "LE MALIN EST PARMIS NOUS !" il fallait remédier à celà. On ne les en remerciera jamais assez !
Voilà voilà, vivement l'année prochaine, je vous le dis ! Je crois que je vais me mettre un crontab pour faire une demande automatique de congés toute les fins janvier ;)