Algorithmes
Malgré toute la beauté d'une application ajaxienne, on s'aperçoit d'une grande quantité de Javascript est demandée, ce qui rend cette application trop lourde au début de chargement de la première page. Le javascript On-Demand consiste à charger le codeJavascript à la demande de client. Exemple pratique : J'ai une page ou il y'a un formulaire de saisie, et je voudrais faire des contrôles client-side avant de transmettre ses données au serveur Web : Solution 1 : ajouter le Javascript dans le nœud head L'astuce ce cette solution consiste à télécharger le code Javascript qui contôle les champs de formulaire vers la fin de la saisie. function telecharger_js(){ <formid='id_frm' method='post' action='validate.php'> <labelfor="name">name</label> <inputtype="text" name="name" id="name" /><br> ………………… <inputtype="text" name="age" id="age" onfocus="telecharger_js()"/><br> <inputtype="button" id='btn_valider" value="valider" /> </form>
Parmi les solutions qui permettent de palier à ce problème est la compression ou l'optimisation de code javascript, mais cela ne fonctionne pas dans certaines conditions, et la plupard des fonctions perdent leurs contextes d'exécution.
Pourquoi charger tout les Javascript alors qu'un minimum serait suffisant pour assurer l'affichage de site.
if (self.validate_form) { //est ce quele javascript est déja chargé?
return;
}
var head =document.getElementsByTagName("head")[0];
script =document.createElement("script");
script.id = "form_script";
script.type ="text/javascript";
script.src ="form_functions.js";
head.appendChild(script);
}
<labelfor="age">name</label>
Solution 2 : une variante de la première solution qui permet de chargé le code javascript depuis le serveur avec Ajax et l'exécuté avec la function eval()
Algorithmes
La librairie prototype propose plusieurs méthodes de manipulation des formulaires, qui à mon avis peuvent réduire considérablement le temps de développement des applications de remote-scripting avec Ajax. L'objet Form de prototype est simple d'utilisation, par exemple pour avoir tout les éléments "INPUT" d'un formulaire identifié par un id_form on utilise la méthode : Form.getElements(id_form),cette fonction revoie un array des éléments "INPUT". Une autre utilisation pratique quej'ai remarqué est le positionnement de focus sur le premier élèment d'un formulaire grâce à la méthode Form.focusFirstElement(id_form). Voici un jeu de test des principales méthodes de ce fameux objet.
Algorithmes
Un document très intéressant sur l'utilisation dela bibliothèque prototype
http://www.electrolinux.com/traductions/prototype.js.html
L'intérêt par exemple de cette bibliothèque et deminimiserles lignes de codes Javascript :
Exemple :
Cette notation $('elementDom') est équivalente à document.getElementById('elementDom')
Elle facilite aussi l'utilisation de l'Ajax, etd'autres nombreuses fonctionnalités… (ici schéma qui illustre toutes les fonctionnalités de prototype)
Algorithmes
JSON veut dire : Javascript Object Notation, c'est un mécanisme qui permet la création de graphes d'objets en Javascript.
Pourquoi JSON :
Regardonscet exemple qui illustre la création d'un modèle objet en Javascript :
var garage = new Object();
garage.nom= "mon garage";
garage.vehicule= new Array();
garage.vehicule[0] = new Object();
garage.vehicule[0].matricule = "1234 GC 2A";
garage.vehicule[0].marque= "Citroen AX";
garage.vehicule[0].couleur = "gris";
garage.vehicule[0].dateMiseEnCirculation = new Date(1992,11,01);
garage.vehicule[1] = new Object();
garage.vehicule[1].matricule = "1434 EF 2A";
garage.vehicule[1].marque= "Audi A3";
garage.vehicule[1].couleur = "noir";
garage.vehicule[1].dateMiseEnCirculation = new Date(2005,05,04);
.......
var bill = new Object();
bill.nom = "samir";
bill.age="23";
garage.vehicule[0].propretaire= bill;
Onregardons cette syntaxe vous pouvez remarqué qu'elledevient vite fastidieuse, si on veut manipuler des objets complexes.
Heureusement que JSON propose un moyen plus élégantpour présenter les graphes d'objets.
Comment utiliser JSON :
L'exempleprécèdent peut être présenté avec JSON de cette manière :
var garage = {
nom : "mon garage",
vehicule : [
{
matricule :"1234 GC 2A",
marque :"Citroen AX",
couleur :"gris",
dateMiseEnCirculation : new Date(2005,05,04),
propretaire: [
{nom : "samir", age : 23 }
]
},
{
matricule :"1434 EF 2A",
marque :"Audi A3",
couleur :"noir",
dateMiseEnCirculation: new Date(2005,05,04)
}
]
}
Icideux propriétés ont été attribuées à l'objet garage : nom est une simple chaîne,véhicule est une liste à index numérique d'objets...
JSONpermet un moyen plus concis pour créer ces informations sans générer de nombreuses lignes de codequi pourraient certainement consommer beaucoup plus de bande passante...
JSON Coté Serveur
Voici un schéma;qui explique l'échange des données au formatJSON entre un client et un serveur Il existe plusieurs implémentations dans différentslangages de JSON, ces dernières figurent dans le siteJSON. PHP peut comprendre le format JSON grâce àl'extension de Omar KILANI : php-json
-
Google lance un document officiel pour les webmasters !
Google vient de mettre à disposition un document pour aider les webmasters à confectionner un site qui soit conforme pour le web et surtout pour que le robot de google puisse bien faire son...21/02/2008 20:30 - Cayzac Damien -
Scoop ! Microsoft va lancé un logiciel pour naviguer dans l'espace
Je vous l'ai annoncé il y a quelque jour. Microsoft va annoncer le 27 février le lancement de son nouveau logiciel......20/02/2008 19:00 - Cayzac Damien -
Première Newsletter
La première Newsletter de mon blog vient d'être envoyée... Pour le moment il n'y a que 4...18/02/2008 20:38 - Cayzac Damien -
Que nous réserve Microsoft ?
Vous le savez peut-être déjà mais Microsoft a annoncé qu'il allait révolutionné le monde.......17/02/2008 19:18 - Cayzac Damien -
Objets partagés ou SharedObject !
Je suis de retour ! Comme promis voilà un article sur comment créer et écrire dans les objets partagés qui je vous le rappelle sont des sortes de cookies....02/10/2007 22:03 - Cayzac Damien -
1000 Excuses !!!!
Juste un petit poste pour m'excuser du manque de tutoriaux ces derniers temps surtout que je vous en avais promis. Malheureusement je bosse tous l'été et le peu de temps libre que j'ai je le consacre...23/07/2007 22:24 - Cayzac Damien -
Record Stream !
Vous vous demandez surement s'il est possible de pouvoir enregistrer une vidéo. Et bien la réponse et oui et c'est même très simple....09/06/2007 12:33 - Cayzac Damien -
Démo Live Webcam !
Comme je vous l'avais dis dans ma dernière vidéo, j'ai réalisé un petit clip qui démontre qu'il est possible de diffuser sa webcam en live sur le net sans installer de logiciel du côté client. Cette...28/05/2007 11:05 - Cayzac Damien -
Récupérer le flux que vous diffusez !
C'est la dernière étape en ce qui concerne la diffusion en live de votre webcam !!!...20/05/2007 18:41 - Cayzac Damien -
La vidéo est arrivée !
Depuis hier, j'ai rajouté une petite vidéo dans l'article "showSettings" qui vous permet de mieux comprendre ce qui est écrit dans l'article. Désormais, quasiment tous les nouveaux articles seront...20/05/2007 11:52 - Cayzac Damien



























