Javascript Serializer

Description

Ce script a pour but de transformer des variables PHP en variables Javascript afin qu'une page HTML puisse communiquer en temps réel avec un script PHP sans avoir à être rechargée à chaque appel.

Histoire

Il existe de nombreuses manières d'accéder à un webservice depuis Javascript. Mais la seule que je connaisse qui soit compatible avec presque tous les navigateurs est celle utilisée ici et qui consiste à appeler un script PHP charger de renvoyer des variables Javascript qui seront évaluées directement dans la page HTML.

Ce script a eu beaucoup de succès depuis la première fois où je l'ai mis en ligne en 2002 et de nombreuses personnes s'en sont inspirées pour créer des applications (PHP ou autres) à même de retourner des données sérialisées en Javascript. La plus connue étant JPSpan publiée sur SourceForge sous licence open-source GPL comme le veut la licence GPL qui accompagne mon propre script.

Je remercie au passage toutes les personnes qui m'ont fait des retours positifs au sujet de ce script et je remercie également les concepteurs des scripts originaux d'AMFPHP dont je me suis inspiré pour écrire celui-ci.

Téléchargement du script de sérialisation et installation d'une passerelle

Télécharger le script principal

Installation :
  1. Téléchargez le script de serialisation
  2. L'archive contient un fichier PHP nommé js_serializer.php. Ce fichier contient la classe PHP qui servira à sérialiser les données renvoyées par le webservice.
  3. Ce fichier ne sera jamais appelé directement en HTTP. Il peut donc être installé dans le dossier include de votre serveur ou n'importe où ailleurs. L'essentiel étant que le script chargé de retourner les données du webservice puisse y faire appel en tant que fichier include.
  4. Si vous voulez juste accéder à un script PHP hébergé sur votre serveur depuis Javascript avec cette astuce, vous n'avez qu'a créer un script qui appelera le fichier js_serializer.php en include pour sérialiser les données et envoyer le résultat vers la sortie normal de PHP.
  5. Pour rendre accessible un webservice nuSOAP, AMFPHP depuis Javascript, il vous suffit d'installer un fichier accessible en HTTP qui se chargera de faire la passerelle entre la classe PHP et le script Javascript qui l'appelle. C'est exactement la même installation qu'avec les fichiers gateway.php de AMFPHP ou de NuSOAP sauf qu'ici il vous faudra à priori un fichier passerelle par webservice.

Hello World !

Télécharger l'exemple «Hello World !»

Pour utiliser les fichiers téléchargés, vous aurez juste à les déployer tels quels sur votre serveur, l'exemple contient le script principal et l'application sera active en appelant la page hello_world_example.html contenue dans l'archive.

Exemple de la calculatrice

Cette calculatrice demande au serveur de calculer pour elle le résultat de l'opération composée. Rien n'est calculé en Javascript et la page HTML n'est pas rechargée quand le bouton Calculer est enfoncé pour recevoir le résultat renvoyé par la page PHP.

Télécharger l'exemple de la calculatrice

Pour utiliser les fichiers téléchargés, vous aurez juste à les déployer tels quels sur votre serveur, l'exemple contient le script principal et l'application sera active en appelant la page calculator_example.html contenue dans l'archive.

Application concrète

Une application chargée d'illustrer l'accès à un webservice de conversion monétaire est utilisée sur la page consacrée à la version Javascript de l'Euroconverter. Cette application contient la passerelle, le fichier js_serializer.php et le client Javascript, mais pas le webservice en lui-même qui ne pourrait pas être distribué de manière portable.

  rss rss english xhtml 1.1 css 2.0 wdg