Bonjour à tous,
Les requêtes Ajax sont géniales.
Elles permettent d'établir un véritable dialogue interactif, entre le client et le serveur, piloté par des événements côté client,
qui déclenchent une requête depuis un XMLHttpRequest
Dès réception de la réponse, son événement onload réagit, et la traite.
* Côté serveur, PHP emballe la réponse dans un tableau associatif avec json_encode($tableau).
* Côté client, l'événement onload en JavaScript déballe avec JSON.parse(e.target.responseText).
Autant dire que je n'utilise plus XML, trop lourd, auquel je préfère, de loin, json.
Au point d'être convaincu que le web serait bien plus efficace, si les pages web étaient conçues en Json, plutôt qu'en XML, dont HTML est une sous-composante.
Un tableau associatif permettrait l'économie de <BALISE>Blablabla</BALISE>.
Pour une paire de clef=>valeur de type Balise=>'Blablabla'
Au lieu de <A href="cible.php" target="_blank">Clique</A>.
On aurait
a=>[href=>'cible.php', target=>'_blank', inner=>'Clique'].
Le Inner d'une balise peut être une simple chaîne, ou un tableau associatif, contenant d'autres balises, selon une structure arborescente, comme c'est déjà le cas.
Actuellement, une page web est parsée dans un Document Object Model (DOM), qui est un arbre, dont la balise HTML est la racine.
Ce DOM peut, parfaitement, être aussi parsé dans un Json de contenu identique, mais bien plus concis et compact: gain de bande passante
Le navigateur, qui reçoit cette chaîne JSON, appelons-la JML (Json Markup Langage), la parserait dans un DOM, de rendu identique pour l'internaute, qui verrait la même page web qu'auparavant, en HTML.
Ne cherchez pas après une doc sur JML, sur le web, c'est une pure invention de ma part. Rien à voir avec le Java Modeling Langage, homonyme.
Pour ne pas trop déstabiliser les éditeurs de sites web, éventuellement, dynamiques, avec PHP, comme moi,
le serveur (apache2, iis) transformerait le HTML en JML, juste avant l'envoi, de façon totalement transparente pour l'émetteur,
qui aurait, toujours, l'impression d'envoyer de bonnes vieilles pages web classiques en HTML.
Statiques ou dynamiques, c'est pareil: aucune différence de langage, au moment de l'envoi.
Apache2 parse l'HTML, créerait un tableau associatif DOM, qu'il emballerait dans un json_encode($dom), et enverrait le JSON au navigateur.
Navigateur, qui, à son tour, déballe la chaîne Json par un JSON.parse(chaineJson) en JavaScript, reconstruit le DOM et l'affiche, comme avant.
Au niveau CSS, aucun changement.
Pour l'internaute, aucun changement non plus.
Les nouveaux navigateurs seront réceptifs aux deux: Html et Json
Le temps que les éditeurs de sites web s'adaptent, et conçoivent des sites nativement en Json, qu'Apache2 ne devra plus parser avant l'envoi.
Dans quelques années, le temps que de nouveaux outils d'édition apparaissent, et c'en sera fini d'HTML, comme d'XML.
Je pense qu'il faudrait proposer l'idée au W3C.
Qu'en pensez-vous ?
Bonne rentrée,
Christian.
Partager