Le blog des équipes…

  • Accueil
  • e-Commerce
  • Secteur Public
  • Gestion de contenu
  • Application Web
  • Technologies
  • Contact

L’importance des outils de débug

Cyril Drouin | 27 août 2010

Afin de pouvoir intervenir rapidement dans la résolution d’erreurs, il est important d’avoir les bons outils.
Voici un cas d’erreur rencontré récemment :

Contexte
Une page de listing de données (contenant un moteur permettant de filtrer les données affichées) fonctionne correctement sous Firefox, mais est très lente sous IE 7, IE 8 et plante de temps en temps sous IE6.

Intervention
Le problème se produisant seulement sous IE, il était difficile de cerner la cause par le manque d’outils sous IE aussi précis que Firebug sous Firefox.
En effet avec Firebug, il est possible de voir le détail de l’exécution du JavaScript.
La première action fut donc de rechercher des outils pour permettre l’analyse du problème sous IE :

  • Fiddler : Fiddler est une sorte de proxy, qui permet de voir tous les échanges qui sont fait entre le navigateur et le serveur (fonctionne pour tous les navigateurs)
  • DynaTrace: Permet de visualiser toute l’exécution du code JavaScript sous IE

Dans notre cas, voici ce que l’on pouvait voir avec Fiddler lorsqu’on choisissait un critère :

 1

Il est indiqué que pour un critère du moteur choisi, 6 requêtes HTTP sont envoyées vers le serveur. Cela ne se produit que sous IE (toute version), sous firefox (ou autre navigateur) on a bien  une seule requête HTTP.

Nous constatons des effets similaires avec l’outil DynaTrace :

 2

6 appels ajax sont remontés :
 3

En regardant le détail des requêtes Ajax qui sont faites, on peut voir qu’il s’agit de la même requête à chaque fois :

 4

Avec DynaTrace, il est possible de voir tout le déroulement du JavaScript.

 5

La démarche fut donc de regarder ce qui était à l’origine des appels Ajax générés.
Ci-dessous la même vue que précédemment, mais en filtrant sur la fonction Ajax de jquery:

 6

Dans BackTraces, il est possible de voir les fonctions qui sont à l’origine de l’appel.
On peut voir qu’il y a :
- OnClickList : ce qui est normal, c’est lorsqu’on clique la première fois sur le critère.
- OnChangeCheckbox : ce qui n’est pas normal, cette fonction devrait être appelée seulement lorsque l’utilisateur clique sur une case à cocher. Visiblement lorsque le JavaScript traite le résultat renvoyé par le premier appel AJAX, IE mets à jour les cases à cocher, ce qui déclenche la fonction OnChangeCheckbox.

Résolution
Il faut modifier le code JavaScript pour que la fonction OnChangeCheckbox soit appelée différemment.
La page de listing peut à présent s’exécuter sous IE sans plantage.

Catégories
Internet
Flux rss des commentaires
Flux rss des commentaires

Like

« Phing Les Factures dans Magento »

Poster un commentaire

Click here to cancel reply.

Vous devez être connecté pour poster un commentaire.

BYSOFT est une agence d'Ingénierie Internet Interactive. Nous accompagnons nos clients dans leurs projets E-commerce et Portails en gestion de contenu.
Nous offrons une couverture globale de services : Conseil, Agence Web, Ingénierie, Hébergement et Génération de trafic.
        

Technologies

  • Ajax
  • DotNetNuke
  • Drupal
  • eZ Publish
  • Flex
  • Internet
  • Joomla
  • Magento
  • MySQL
  • OsCommerce
  • PHP
  • Prestashop
  • Spip

Archives

  • 2012
    • janvier
    • février
  • 2011
    • janvier
    • février
    • mars
    • avril
    • juin
    • juillet
    • septembre
    • octobre
    • novembre
    • décembre
  • 2010
    • janvier
    • février
    • avril
    • mai
    • juin
    • juillet
    • août
    • septembre
    • octobre
    • novembre
    • décembre
  • 2009
    • janvier
    • février
    • mars
    • avril
    • mai
    • juin
    • juillet
    • août
    • octobre
    • novembre
    • décembre
  • 2008
    • février
    • mars
    • avril
    • mai
    • juin
    • juillet
    • août
    • septembre
    • octobre
    • novembre
    • décembre
  • 2007
    • janvier
    • février
    • mars
    • avril
    • mai
    • juin
    • juillet
    • août
    • septembre
    • octobre
    • novembre
    • décembre
  • 2006
    • janvier
    • février
    • mars
    • avril
    • mai
    • juin
    • juillet
    • août
    • septembre
    • octobre
    • décembre
  • 2005
    • octobre
    • novembre

Derniers tweets

  • 17-01-2012
    Un nouvel article à découvrir sur le blog des équipes "Les modules de paiement chinois" http://t.co/fZQRGBkC

  • 12-01-2012
    La nouvelle boutique de Techniques-ingénieur.fr est en ligne! (Magento) http://t.co/IqIbmL5G http://t.co/6YzQA0ZD

  • 10-01-2012
    Un nouvel article à découvrir sur le blog des équipes "Etre Toujours Publiable" http://t.co/EIucrjVO

@BysoftFrance
Le site de l'agence | Nous contacter | rss RSS | Twitter Twitter