6 Nov
Ayant une nouvelle fois complètement migré de mon Windows Vista bien trop peu réactif vers une Ubuntu 8.10 (mon précédent billet n’a fait qu’attiser mes envies :p), j’ai donc dû réinstaller entièrement mon serveur de développement Apache2. Et plus particulièrement le module LDAP, nécessaire pour différents développements au sein de SUPINFO.
Sous Ubuntu, cela est très simple et se réalise en trois étapes. Tout d’abord, il faut installer le paquet du module.
Une fois ceci fait, on active le module au sein de la configuration d’Apache. Deux solutions : soit nous y allons en warrior, et nous éditons à la main le fichier de configuration (un simple point virgule à enlever), soit on y va tout en finesse avec la commande a2enmod :
Enfin, il ne nous reste plus qu’à relancer notre serveur.
Et c’est tout ! Vous pouvez donc à présent vous connecter via PHP à votre serveur LDAP ! :)
21 Oct
Dans le cas où vous souhaiteriez réaliser votre propre agrégateur de flux RSS en PHP 5 objet, une méthode très simple s’offre à vous, grâce à l’extension SimpleXML. Cette extension permet de naviguer très simplement dans vos fichiers XML, dont un flux RSS fait partie.
Tout d’abord, petit rappel de la structure d’un flux RSS :
<rss version=”2.0″>
<channel>
<title>Jonathan Petitcolas</title>
<description>Les fantasques tribulations d’un geek déluré - Flux RSS</description>
<lastBuildDate>Wed, 27 Sep. 2008 00:30:30 -0700</lastBuildDate>
<link>http://www.jonathan-petitcolas.com</link>
<item>
<title>Mon dernier article</title>
<description>Un dernier article parlant d’un flux RSS</description>
<pubDate>Wed, 27 Sep. 2008 00:30:30 -0700</pubDate>
<link>http://www.jonathan-petitcolas.com/</link>
</item>
</channel>
</rss>
Comme on peut le constater, le fichier est relativement simple. Toutes les news d’un site sont dans des balises item. Il vous suffit donc de les récupérer, et de les parcourir. Au choix, soit vous pouvez utiliser des expressions régulières (solution très bourrine, mais qui fonctionnera), soit on utilise SimpleXML, une extension disponible depuis PHP 5 qui vous permettra de naviguer très simplement dans n’importe quel fichier XML.
Tout d’abord, chargeons notre fichier XML.
Une fois celui-ci chargé, nous pourrions afficher un print_r($xml); pour revoir la structure de notre fichier, telle que je l’ai écrite ci-dessus. Mais, nous ne voulons que naviguer parmi nos éléments. Pour ce faire, deux méthodes.
Soit on passe uniquement par des objets PHP crées automatiquement du fichier XML. Cette méthode, très simple et ne nécessitant aucune autre connaissance, a cependant le mauvais goût d’occuper pas mal de mémoire (on stocke vraiment TOUT). Par exemple, si on veut atteindre le titre du premier article :
L’autre méthode, un peu plus en finesse, nous permettra de libérer la variable $xml au profit d’une variable à l’empreinte mémoire plus faible, ne contenant que les balises qui nous intéressent. Pour ce faire, il faudra par contre des notions de X-Path. Pour ceux qui ne connaîtraient pas ce langage, sachez que pour récupérer tous les éléments item de notre fichier, il suffira d’utiliser l’instruction //item.
On peut alors afficher simplement les différents titres de nos news :
Et voilà ! Vous savez à présent comment parser très simplement un flux RSS avec SimpleXML. Libre à vous de recoder le nouveau NetVibes ! :p
6 Sep

Je relaye l’information lancée par Raphaël Desbonnet concernant l’organisation d’un apéro PHP le jeudi 18 septembre 2008 à 19h30. Le principe ? On prend l’apéro, en parlant de PHP. Bref, un rendez-vous pour geeks développeurs. Celui-ci se passera boulevard de Sébastopol. Je vous laisse vous reporter à la description donnée par Raphaël pour de plus amples informations.
Je serais présent, si certains d’entre vous veulent enfin voir le geek qui se cachent derrière ces lignes. Enfin vous pourrez voir en chair et en os ce génie à la verve créative sans limites, cet être merveilleux qui développe d’une manière sans aucun précédent, et cette modeste personne aussi. :p
24 Aug
En PHP, il existe de nombreuses fonctions. Tellement nombreuses que certaines se révèlent redondantes. Parfois avec des performances différentes. Nous allons étudier aujourd’hui les différentes méthodes nous permettant de caster (changer le type) de nos variables.
Pour ce faire, nous nous baserons sur la conversion d’un nombre réel (float) grâce à l’utilisation de trois méthodes :
Pour faire ces tests, je me suis basé sur le code suivant :
Il suffit ensuite de diviser les différentes moyennes par le nombre d’occurences, et on tombe sur la durée moyenne d’exécution du cast.
Afin d’obtenir des tests significatifs en statistiques, il est important de se baser sur une population la plus vaste possible. C’est pourquoi nous effectuons 10.000.000 (oui, dix millions !) de tests. Nous pourrions aller plus loin, mais il a déjà fallu mettre en place une directive set_time_limit pour achever tout cela. ;)
Les résultats, sans plus attendre…
floatval 2.141 µs (float) 1.87 µs settype 2.387 µs
Ainsi, nous voyons que le casting direct est 14 % plus rapide par rapport à floatval. Comme quoi il serait grand temps de faire un peu de ménage dans les fonctions PHP : fonctions redondantes, pas optimisées, etc… ;)
20 Aug
Le PHP dispose de tant de fonctions que certaines sont méconnues du grand public - grand public a vocation très geek, je vous l’accorde. ;) La fonction array_walk en fait partie. Elle permet d’appliquer une fonction à tous les éléments d’un tableau très facilement. Par exemple :
Ce code affichera :
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
)
Cependant, comment appeller une méthode d’une classe avec cette fonction ? Il suffit tout simplement de lui passer un tableau en second paramètre, contenant le nom de la classe et le nom de la méthode. Démonstration.
Et c’est tout. Petite astuce toute simple qu’il faut cependant savoir. :)