Debugging

La mise au point d'applications WEB sur le client a toujours été historiquement une grande source de frustration, avec très peu de moyens natifs pour ces tâches. Fort heureusement, ce domaine a vu une avancée fulgurante ces dernières années, grâce entre autre à l'extention firebug, mais aussi aux navigateurs "nouvelle génération" comme chrome et safari, qui intègrent tous deux d'excellents modules de mise au point.

Notre conseil est d'utiliser le tandem Firefox + Firebug car il nous semble le plus aboutit, et le plus évolutif des environnement de mise au point du moment.

Malgré ces progrès énormes, certaines fonctionnalités tardent à être disponibles. C'est pourquoi nous mettons à disposition des modules complémentaires, optionnels (vous pouvez bien entendu vous en passer), dont le but est de rendre quelques services d'utilité générale.

Tous ces modules sont liés au framework jQuery ; il est donc indispensable de charger ce framework avant de pouvoir utiliser ces outils.

Module: jquery/jquery.printfs.js

Ce module déclare des fonctions de logging (vers la console) et d'alerte dont les paramètres sont compatibles avec les céllebrissimes fonctions printf(). Il est donc possible de formatter un texte, un message, une donnée, sans se plonger dans les constructions peu lisibles du javascript natif.

void LOGERROR ( fmt[,prm1,prm2...] )
Affiche une erreur sur la console, en formattant son message selon les paramètres passés.
ex: LOGERROR("current userid=%s",TbComHub.userid());
void LOGTRACE ( fmt[,prm1,prm2...] )
Affiche une trace sur la console (utile en phase de mise au point)
void LOGLOG ( fmt[,prm1,prm2...] )
Affiche une information sur la console (ces messages concernent des évenements normaux mais d'importance)
void LOGWARN ( fmt[,prm1,prm2...] )
Affiche une alerte sur la console
void alertf ( fmt[,prm1,prm2...] )
Affiche une alerte dans une fenêtre popup.
Ex: alertf("La connexion a échoué\n(erreur=%s)",cComHub.lastError());
string sprintf ( fmt[,prm1,prm2...] )
Formatte une chaine de caractères selon les paramètres passés ; retourne la chaîne construite.
Ex: var str=sprintf("Le nom de l'utilisateur est: %s",TbComHub.displayName());
void alertf ( function(event) { ... } )
Positionne une callback générale sur tous les évenements reçus par l'interface COMHUB. L'objet passé ) la callback reçoit un unique paramètre, qui est l'objet évenement.

Module: jquery/jquery.datadumper.js

Ce module est une version JavaScript d'un module perl universellement utile: Data::Dumper. C'est aussi l'équivalent PHP de: $str=var_export($data,TRUE);. Cet outil permet d'obtenir une version "textuelle" (affichable pour la mimse au point) d'une structure de données quelconque.

 

string Dumper ( data )
Retourne la version "string" d'une structure de données.
ex: LOGERROR("recu un evenement: %s",Dumper(event));