All posts in Technologies Web

PHP imagettftext

Dernièrement, je constatai que le captcha (test permettant de distinguer un utilisateur humain d’un ordinateur) que j’avais installé sur la page des commentaires ne marchait subitement plus. En y regardant de plus près, je vis que l’erreur venait de la fonction php imagettftext de la bibliothèque GD. Cette fonction dessine un texte avec une police TrueType. Elle accepte en paramètre (entre autres) le chemin vers le fichier de police.
Le problème est que depuis la version 2.0.18 de la librairie GD la façon d’interpréter le chemin a changé. Dorénavant, le fichier doit être défini sans l’extension ttf et la recherche des fichiers se fait par rapport aux répertoires spécifiés dans la variable d’environnement GDFONTPATH. Ainsi, si le fichier de police se trouve au même emplacement que le script php, il convient d’écrire :


putenv('GDFONTPATH=' . realpath('.'));

 

$font = 'Font';

Je tenais l’explication (et la correction) de mon bug ; mon hébergeur avait mis à jour la lib GD du serveur dédié sur lequel est installé mon blog.

Cette mésaventure montre, en tout cas, que php ne semble pas évoluer de manière aussi conservative que java ; rappellons que la JVM 1.5 est toujours capable de faire tourner du code écrit avec la première monture du jdk. Cela pourrait être un frein à l’adoption de php dans l’entreprise.

Web 2.0 demo

Remember The Milk est une application que l’on pourrait classer dans la catégorie Web 2.0. En effet, RTM est massivement AJAX, offre des raccourcis clavier, possède des fonctionnalités de partage et d’échange, dispose d’une API publique et intègre d’autres technologies comme les SMS.
RTM, bien que malgré tout limité dans ses possibilités, est un bon concentré de ce que l’on pourrait trouver sur le net demain.

IE et le XHTML

En personnalisant mon blog, j’ai mis le doigt sur une incompatibilité d’Internet Explorer avec le standard XHTML. En effet, si dans une page html nous insérons la balise :
<script type="text/JavaScript" src="mon_script.js"/> ;
IE ne considérera pas la balise fermée et ne sera donc pas capable d’effectuer le rendu correctement.
Nous devons donc choisir la forme suivante :
<script type="text/JavaScript" src="mon_script.js"></script> ;
elle aussi heureusement conforme au standard XHTML.

IE n’est donc pas full XHTML compliant, Firefox lui, n’a pas ce problème !