Upload de fichier avec barre de progression en PHP

Il y a une petite nouveauté dans PHP 5.2 qui est passée un peu inaperçu, c’est la possibilité de suivre l’avancement de l’upload d’un fichier.

Je me suis un peu amusé à tester ça en local et ça marche :) Bon, le problème c’est qu’il faut l’extension APC pour pouvoir lire dans le cache PHP. Je vous aurai bien mis une petite démo en ligne mais mon hébergeur n’a pas installé l’extension et je ne peux pas la charger dynamiquement avec la fonction dl.

Du coup, je me demande si ça vaut vraiment la peine d’implémenter ça dans l’E2T… Combien d’hébergeurs propose APC ? Je doute qu’il y en ait beaucoup malheureusement. C’est dommage car le système est assez simple à mettre en place, quelques lignes de code (PHP et Javascript) suffisent.

Je pensais aussi l’utiliser dans FabCMS mais je vais finalement me diriger vers quelque chose en flash…

Sortie de Mootools 1.1

La nouvelle version de Mootools, un framework javascript que j’ai déjà présenté, est sortie il y a quelques jours.

Cette mise à jour n’apporte pas vraiment de nouvelle fonctionnalité importante. Le but était d’optimiser le code, d’ajouter quelques fonctions intéressantes et de corriger les bugs. La liste des changements est disponible sur le wiki Mootools.

Le site officiel Mootools a aussi été amélioré puisqu’il propose maintenant une liste de démonstrations des fonctionnalités du framework.

Personnellement, je suis toujours aussi content de Mootools. Je ne regrette pas d’avoir abandonné scriptaculous qui été vraiment buggé surtout avec les navigateurs n’utilisant pas gecko (le moteur de rendu de Firefox).

D’ailleurs, j’ai récemment mis à jour mon site Smallville Site Web avec la toute dernière version (beta) de mon CMS perso (FabCMS pour les intimes). Mootools (v1.0) est bien sûr utilisé, ça peut ainsi vous donner un exemple d’utilisation de cet excellent framework… :)

Mootools, framework javascript

Logo Mootools

Mootools est une librairie javascript qui permet, notamment, d’utiliser AJAX et de créer de jolis effets sur un site web. Jusque là rien de nouveau, il en existe déjà un certain nombre sur internet mais l’une des qualités de mootools est d’être léger ce qui le point faible actuel des autres frameworks…

La page de téléchargement de Mootools permet de se créer un framework personnalisé en choisissant uniquement les fonctions que l’on souhaite. On a ainsi une librairie javascript qui correspond vraiment à ses besoins.

La documentation de la librairie est également une belle réussite : claire, précise et complète.

La version 1 de Mootools est disponible depuis quelques jours sur mootools.net :)

AJAX et les caractères spéciaux

C’est l’un des plus gros problèmes d’AJAX, les caractères spéciaux. Si votre requête n’utilise pas le même encodage que votre page, tous les caractères spéciaux deviennent des points d’interrogation.

J’avais déjà passé pas mal de temps sur ce problème mais hier soir alors que je mettais ma bdd à jour (pour être compatible avec la nouvelle version de FabCMS), je me suis aperçu que certains caractères avaient été remplacés par le fameux point d’interrogation…

Ce matin, après plusieurs heures de recherches, je suis arrivé à la source du problème. Pour convertir les caractères en UTF-8 (le jeu par défaut de l’objet XMLHttpRequest) j’utilise la fonction php utf8_decode. Or cette fonction ne décode pas tous les caractères mais uniquement ceux qui sont dans le jeu de caractères ISO-8859-1…

Au finale, j’ai trouvé 21 caractères ASCII qui n’étaient pas convertis. Pour corriger ça, j’ai simplement faire un str_replace en attendant de pouvoir vraiment regarder de plus près les modules php mbstring et iconv.

XHRConnection, pour gérer l’objet XMLHttpRequest

AJAX c’est bien mais tous les navigateurs ne gèrent pas de la même façon l’objet XMLHttpRequest. De même, selon qu’on envoie la requête en POST ou en GET les fonctions changent. Si on utilise AJAX qu’une seule fois (un petit script) ça peut aller, mais dans le cadre d’une application web, cela devient vite lourd et chiant. C’est là, qu’une classe en javascript est nécessaire…

Continuer la lecture de « XHRConnection, pour gérer l’objet XMLHttpRequest »

AjaxWrite

C’est en cherchant un WYSIWYG pour mon CMS que je suis tombé sur AjaxWrite.

AjaxWrite est une application Web 2.0 de traitement de texte en ligne. Il vous permet de créer rapidement des documents MS Word, Open Office, RTF, text et même PDF. L’interface est simple mais efficace. On peut également noter la rapidité de l’application, on n’oublierai presque que l’on est dans son navigateur favori. :-)

AjaxWrite n’est compatible qu’avec Firefox.

http://www.ajaxwrite.com/

Logahead, un nouveau moteur de blog

J’ai découvert ce week-end via digg.com un nouveau moteur de blog : logahead qui est développé par un jeune étudiant de 17 ans…

A la différence des autres applications de cette catégorie comme DotClear, logahead permet de gérer directement les billets sur le blog. Il n’y a aucune interface admin, tout se passe directement dans la partie visible par tous du blog et tout ça grâce à AJAX.

Vous pouvez tester logahead à l’adresse suivante : http://www.logahead.com/demo/ (nom d’utilisateur: demo ; mot de passe : password).

Voila, pour moi, un exemple d’utilisation intéressante d’AJAX…