Archive for October, 2008

Problèmes de rendu avec Iceweasel

Sunday, October 19th, 2008

Avec un ordinateur portable sous Debian Lenny i386, depuis quelques semaines j’avais d’étranges problèmes de rendu qui se produisaient sur plusieurs sites. Par exemple, une barre verticale constituée d’images répétées verticalement se retrouvait en plein milieu d’une page au lieu de rester sur les côtés : voici un exemple typique du bug avec le site http://www.evolix.fr/

Le problème est désormais identifié et fixé grâce à glandium (Mike Hommey), mainteneur Debian d’Iceweasel/xulrunner/libxml2/xebkit/etc. Il s’agit d’un problème entre xulrunner et cairo, et l’installation d’un paquet xulrunner-1.9 modifié, ou mieux, libcairo2 modifié, corrige le problème pour mon ordinateur portable (carte Intel, xorg.conf minimal avec uniquement une entrée spécifique pour la disposition du clavier). Merci glandium !

Importer contacts LDAP dans un telephone Nokia E65

Sunday, October 12th, 2008

Il existe plusieurs moyen de faire de la synchronisation de groupware (contacts, calendrier, tâches) entre un téléphone mobile Nokia et une machine sous Linux. Mais selon les modèles de téléphone, la compatibilité des logiciels semble très variable. J’ai déjà eu l’occasion d’essayer des logiciels comme Gnokii ou Gammu de façon non satisfaisante jusqu’ici. Le plus prometteur est de tout évidence le jeune protocole SyncML prévu pour réaliser cette synchronisation. Mais sous Linux, les outils pour l’utiliser restent encore relativement bogués… ou alors je n’ai pas eu de chance avec mes téléphones. Après avoir passé plusieurs heures avec libsyncml pour réussir à lui faire cracher quelques extraits de mon téléphone, je suis retourné à une méthode simple : l’import des contacts via fichiers VCARD. Oui, c’est radical car ça gère mal une véritable synchronisation – je parle plutôt d’importation – mais ça répond à mes besoins pour l’instant et “ça marche”.

Passons à la partie “hacking”. Mes contacts étant (bien sûr) centralisés dans un annuaire LDAP, j’ai écrit rapidement un petit script ldif2vcard.sh – à améliorer – me permettant d’obtenir des fichiers VCARD bien reconnus par Symbian à partir d’un fichier LDIF. Il ne reste plus qu’à les déposer sur la SD-card du téléphone (dans “Others/contacts/” sur un Nokia E65) puis faire “Contacts> Options > Copier> Depuis carte memoire”. Cette méthode doit plus ou moins marcher avec tous les téléphones à base de Symbian.

Afficher un courriel sur le web en évitant le spam

Saturday, October 4th, 2008

De plus en plus, les sites web évitent d’afficher des adresses mail. Souvent, elles sont remplacées par des formulaires avec de fastidieux captcha mais l’usage est assez différent (pas d’adresse que l’on peut stocker dans un annuaire, rédaction en mode hors-ligne difficile, etc.) sans compter que la plupart des formulaires sont mal codés (pas de fallback en cas d’échec de l’envoi, entêtes souvent incorrects..). Dans d’autres cas, l’adresse mail est transformée afin qu’elle ne puisse pas être récupérée automatiquement par des robots. Exemples classiques : jdoe at example dot com ou jdoe-NOSPAM@example.com. C’est assez efficace mais… de moins en moins car c’est une perpétuelle course contre la montre où les robots s’adaptent aux nouvelles techniques. D’autres méthodes consistent à utiliser une image pour le @ voire l’adresse complète, mais dans ce cas on complique la tâche de l’utilisateur (pas de lien mailto) et ça n’est pas toujours adapté. Une idée intéressante serait de protéger une adresse mail avec un captcha puis de l’afficher proprement. Ça sera probablement la seule technique 100% efficace dans quelques années. En attendant, je vous propose une technique fortement inspirée de ce blog qui a l’avantage de faire apparaître un lien mailto (utilisation d’un peu de Javascript). Si le Javascript est désactivé, on perd le lien mailto mais l’adresse reste affichée en texte (utilisation d’un peu de CSS). Cette technique devrait vous donner un peu d’avance sur les robots (aucun spam reçu pendant deux ans d’après le blog cité plus haut).

Code source de la fonction PHP disponible ici :
http://www.gcolpart.com/hacks/EmailObfuscator.phps