Archives de la catégorie ‘Web’

Now Reading Reloaded 5.1.3.3 – Version internationalisable intégrale – Version française – Correction de bug


2011
04.06

Comme quelques autres amateurs de livres, j’avais joyeusement installé le plugin now reading reloaded, lui-même repris sur le plugin initial now reading. Hélas, la version française était loin d’être parfaite et, dans les dernières versions de wordpress, un bug affectait le titre de la page.

Le plugin m’intéressait car il permet d’afficher sur le blog les livres que l’on lit, y compris ceux qu’on a lu et à venir. En somme, votre bibliothèque se retrouve en ligne et le plugin donne même des statistiques !

(Lire la suite…)

Share

Eviter que le navigateur ne pré-remplisse des champs input de formulaire


2010
02.03

Petite astuce souvent méconnue, un attribut très pratique a été introduit dans la plupart des navigateurs modernes : la possibilité de rajouter autocomplete="off" à un élément input. Quel intérêt ? Eviter que le navigateur ne propose automatiquement des valeurs pour cet élément.
(Lire la suite…)

Share

Problème d’authentification SMTP avec le composant email de CakePHP


2009
12.10

Mail flowLa version 1.2x de CakePhp possède un composant très pratique pour envoyer des courriels et permet d’éviter le recours à des solutions externes comme phpmailer ou swiftmailer (même s’ils sont incontournables dans la version 1.1x et des tutos sont disponibles dans la cuisine de cakephp).

Les mises à jour sont régulières et il est préférable de les installer car ce composant est souvent actualisé.

Toutefois, j’ai buté dans un os et, comme je suis partageur, je me dis qu’il vaut mieux le ronger à plusieurs (j’ai soumis un ticket à ce sujet sur cakephp d’ailleurs).
(Lire la suite…)

Share

Bien configurer un routeur externe et une freebox


2009
20.09

Bien configurer une freebox et un routeur externe

La freebox fournit par défaut des fonctionnalités de routeur et wi-fi mais il y a des cas où celles-ci ne répondent pas aux besoins (wi-fi N, plusieurs PC en éthernet…) et où un simple switch ne suffit pas. Sous peine de crouler sous les conflits d’IP ou des pertes de connexion aléatoires ou intermittentes, il y a certaines précautions de configuration à respecter pour associer un routeur à une freebox.
(Lire la suite…)

Share

Utilisation de Flash pour suivre le chargement (upload) d’un fichier avec Ajax et PHP


2009
31.01

Étant donné qu’il n’est pas possible d’installer l’extension APC sur certaines configurations serveur (hébergement dédié ou gratuit par exemple), la seule possibilité pour afficher la progression du chargement reste dans ce cas là de recourir à un applet (flash, java…).

L’inconvénient d’un applet est qu’il nécessite des connaissances en java ou actionscript pour flash (en plus du logiciel payant dans ce dernier cas).

Toutefois, il existe plusieurs solutions gratuites qui permettent des upload multiples en flash :

  • Nas Uploader (http://www.nasuploader.com) : C’est certainement le plus simple mais aussi le moins souple côté configuration. Du coup, il est très bien adapté pour celui qui veut une solution simple et rapide.
  • SWF Upload (http://swfupload.org) : C’est peut-être le plus connu. Il est entièrement paramétrable ce qui le rend également difficile à prendre en main.
  • Fancy Upload (http://digitarald.de/project/fancyupload) : Le plus esthétique à mon sens. Son seul « défaut » est de s’appuyer sur le framework javascript Mootools pour fonctionner ce qui peut poser des problèmes si vous en utilisez un autre (par exemple prototype ;-)

Côté serveur, le script PHP n’a rien de révolutionnaire puisque le traitement du fichier chargé reste identique.

Share

Connaître la progression d’un chargement (upload) de fichier en PHP


2009
18.01

Lorsque l’on conçoit un formulaire permettant l’upload de fichier, il est souvent souhaité de pouvoir indiquer à l’utilisateur la progression du chargement que ce soit sous forme graphique ou texte.Seul hic, PHP ne permet pas dans sa version « standard » une telle approche. Lors du traitement d’un upload de fichier, la variable superglobale _FILES n’est renseignée qu’une fois le fichier complètement chargé sur le serveur et au chaud dans le répertoire temporaire. Impossible donc de l’utiliser pour accéder aux informations du fichier en cours de chargement, et notamment du nom qui lui a été affecté dans le répertoire temporaire.

C’est très bien, mais ne peut-on rien y faire ?

Plusieurs solutions sont possibles :

  • Utiliser un autre language de CGI pour récupérer et afficher les informations du téléchargement
  • Utiliser un applet java ou Flash (il y en a des très biens)
  • Utiliser PHP (et ajax bien sûr pour mettre à jour l’affichage)

Oui, vous avez bien lu, on peut utiliser PHP. Pour les vieilles versions, il est nécessaires d’appliquer un patch à l’installation PHP, mais à partir de la version 5.2.0, le support pour le module APC est intégré dans la distribution. Pour les plus courageux, le suivi est possible en PHP4, mais je trouve quand même plus simple de passer à PHP 5.2. Un italien a aussi décrit une méthode sans installer APC. L’inconvénient est qu’elle se base sur un suivi de l’apparition de fichiers temporaires ce qui la rend complètement inutilisable lorsque de nombreux fichiers sont créés quasi simultanément.

La suite du message décrit comment utiliser APC pour récupérer les informations sur le déroulement d’un upload.
(Lire la suite…)

Share

Chargement de fichier (upload) en ajax


2009
17.01

Comme beaucoup découvrant Ajax, je m’enthousiasmais à l’idée de soumettre des formulaires tout en évitant des rechargements de page laborieux.

Je ne reviendrais pas ici sur ce qu’est Ajax, on en trouvera une excellente explication sur Wikipédia. Clavier faisant, je soumettais requête sur requête jusqu’à buter sur un os, un gros os.

Tout marchait à merveille à l’exception notable de l’upload de fichier vers un serveur. La raison ?

L’objet XMLHttpRequest, utilisé par Ajax pour échanger avec le serveur, ne gère pas les données binaires. Plus simplement, impossible de soumettre directement le fichier avec un formulaire prévu pour le transfert de fichier grâce à enctype=”multipart/form-data”.

Il n’y aucune parade pour l’instant en la forme actuelle de l’objet XMLHttpRequest à part simuler une absence de rechargement de la page.

Faute de grives, on se contente de merles et quelques expédients sont possibles. La plupart sont listés sur ce blog.

La solution avec un iframe masqué a ma préférence car c’est la plus portable. Les vrais soucis commencent quand on veut afficher la progression du chargement.

Pour plus de renseignements :

Share