Archives de catégorie : Informatique

Explications, démo…

Tests sur les nouvelles versions des navigateurs

En cette periode de sortie des nouvelles versions de Internet Explorer et Firefox, j’ai voulu vérifier ce que l’on dit (IE c’est nul, Opéra, il parait que c’est hyper rapide, etc…)

J’ai testé un ensemble de petits scripts javascript téléchargeables ici. En gros, le principe est de faire en boucle plusieurs fois une même action pour mettre en evidence une lenteur ou une rapidité relative… A noter que ce n’est peut etre pas l’action en elle même qui crée une lenteur, mais peut être la succession de cette action. L’exemple typique est d’executer 10 000 fois document.getElementById(‘id_div’).innerHTML += ‘toto’;

Les navigateurs séléctionnés sont les suivants :

                                                          
Opera 9.0  Firefox 1.5  Firefox 2.0  Internet Explorer 6  Internet Explorer 7

 Voilà le tableau des résultats (les temps ont été pondérés pour être comparables)

  innerHTML += innerHTML = objet image getElementById getElementById innerHTML DOM
Opera 9 4,483 1,83 3,2 4,56 1,748 6,72
FF 1.5 11,83 7,407 5,92 6,28 7,936 10,78
FF 2.0 8,875 5,625 10,62 5 5,688 8,59
IE 6  3,437 9,705 3,44 9,4 12,752 6,88
IE 7 3,922 9,189 4,7 9,4 11,124 5,31

et en image :

Mes conclusions :

  • La nouvelle version de Internet Explorer et de Firefox est meilleure que l’ancienne (on pouvait l’esperer…) (Sauf sur lacréation de l’objet image pour IE7, mais c’est peut être mon test qui est à remettre en cause…)
  • Opera est plus rapide, c’est plus qu’une idée reçue, c’est vrai… (ou au moins vérifié par Bruno CATTEAU…). Par contre, ils ont encore des progrès à faire au niveau des CSS…
  • Firefox n’est pas si rapide que ça par rapport à Internet Explorer, mais dans le chargement de la page, il accèpte d’afficher le début d’un tableau ou d’un div même s’il n’a pas rencontré la balise de fermeture, ce qui augmente l’impression de vitesse, et c’est ça le plus important. Opera a l’air de jouer beaucoup sur ce dernier point, on le voit même dans mon script test_innerHTML.html.
  • Au niveau de la gestion des erreurs, Firefox est très loin devant, surtout quand il est associé à l’extention Firebug. C’est certainement pour ça qu’il est tant apprecié des développeurs AJAX (en plus de mieux respecter les standards). Développer une application AJAX avec Internet Explorer c’est comme reparer un magnétoscope dans le noir (désolé, je n’ai pas trouvé mieux…).
  • Si vous êtes utilisateur, j’ai envie de vous conseiller Opera.
  • Si vous êtes développeur, vous devez déjà utiliser Firefox… et testez vos applis sur le moins bon des navigateurs pour voir si la pire version est acceptable. Eviter d’utiliser innerHTML += dans une boucle doit devenir une habiture…

 

Problème de focus…

Si vous cherchez des infos sur la façon de contourner l’erreur javascript suivante, vous êtes au bon endroit :

Error: [Exception… « ‘Permission denied to get property
XULElement.selectedIndex’ when calling method:
[nsIAutoCompletePopup::selectedIndex] »  nsresult: « 0x8057001e
(NS_ERROR_XPC_JS_THREW_STRING) »  location: « JS frame :: filename> :: onmouseover :: line 1″  data: no]

Cette erreur est apparue chez moi au moment de donner le focus à un champ que je venais de créer (par les DOM ou par un innerHTML). C’est un bug connu chez Firefox qui n’est pas bloquant.

Après recherche et lecture des pages suivantes :
 – http://groups.google.ca/group/netscape.public.mozilla.dom/browse_thread/thread/821271ca11a1bdbf/46c87b49c026246f?lnk=st&q=+focus+nsIAutoCompletePopup+selectedIndex&rnum=1#46c87b49c026246f
 – https://bugzilla.mozilla.org/attachment.cgi?id=143270

Voilà les solution pour contourner le problème :

Sous Firefox, il faut ajouter la proprieté autocomplete= »off » au champ sur lequel on veut faire le focus,

Sous Internet Explorer, il faut laisser le navigateur respirer avant de trouver le champ pour lui donner le focus : setTimeout(function(){$(‘saisie’).focus();},100);

 

AJAX : Guide complet Micro-Application : Bruno CATTEAU / Nicolas FAUGOUT

Ca y est, il est sorti ! Je ne suis pas peu fier de vous annoncer la sortie imminente de mon premier livre, dédié à l’AJAX (Ajax, le guide complet) coécrit avec Nicolas FAUGOUT

Ce livre est destiné aux développeurs de niveau débutant intermédiaire.

L’Ajax étant une association de langage, nous abordons dans les premiers chapitres les différentes technologies : HTML, CSS, DOM, JavaScript, XML, Json et à chaque fois le lien avec l’Ajax…  Ensuite, le JavaScript est revisité en abordant particulièrement la problématique de l’objet dont voilà un exemple vivant :

Un exemple du livre :

« Nous voulons pouvoir gérer un ensemble de personnes qui se déplacent sur un terrain de façon autonome. Chaque personne a sa langue. Quand deux personnes se rencontrent, ils se saluent dans leurs langues respectives. S’ils ne parlent pas la même langue, ils se quittent cordialement en anglais. S’ils parlent la même langue, ils se présentent et discutent avant de se quitter. »

Le temps de lire ce post, vous aurez bien des rencontres heureuses…

Après toutes ces bases abordées, nous pouvons rentrer dans le vif du sujet en nous attaquant au sujet phare : l’Ajax ! Nous  brassons  l’ensemble des questions comme la connexion, la compatibilité, les formats d’échanges, l’aspect asynchrone des connexions, les frameworks…

Pour aller plus loin, nous regarderons en détail les langages serveur et les bases de données pour ensuite construire des exemples complets et dynamiques : 

 – une gestion des contacts avec le style d’une application Google (login : bruno, mot de passe : bruno)

– et pour terminer, avec l’aide de certains frameworks, nous développons un portail Ajax complet

 

Vous pouvez trouver ce guide sur internet ou dans certains magasins comme Auchan au prix de 11,40€ (pour 600 pages !!)

Bonne lecture !!! 

NB : si le sujet vous intéresse, nous animons régulièrement des formations Ajax dans le cadre de notre activité professionnelle : toutes les infos sur http://www.lucca.fr/fr/societe/formation-ajax.html

[Mise à jour : Mardi 26 septembre 2006]

Editeur : Micro Application
Collection : GUIDE COMPLET
Genre : INFORMATIQUE
Date de Parution : 18/09/2006

ISBN : 2742968288 – EAN : 9782742968282

La couverture :

Lieux de vente :
Micro-application
Alapage.com
Amazon.fr
Auchandirect.fr
CsharpFr
Eyrolles
Fnac.com
Imet.fr
Mollat