Brico-Info - le blog de Bruno CATTEAU

Aller au contenu | Aller au menu | Aller à la recherche

mercredi 21 juin 2006

La panoplie du développeur AJAX

Pour aider au développement de l'AJAX, plusieurs outils existent en dehors de l'editeur de code. En effet, dans certains cas, le contenu de la page est générée et donc non visible dans la source de la page directement.

Sous Internet Explorer

Internet Explorer Developer toolbar
C'est un executable qui permet d'ajouter une barre d'outils intégrée ou flottante assez complète dans Internet Explorer
Cette barre d'outils se décline en 9 menus
 - View DOM : Permet d'explorer l'arbre DOM du document en lecture et écriture. On peut par exemple changer un style d'un div particulier.
 - Disable : Permet d'activer ou de désactiver le cache, l'affichage des images, les cookies, l'execution des scripts et les popup.
 - View : Permet de mettre en couleur les éléments de la page comportant des classes de style ou des id avec leurs valeurs respectives.
 - Outline : Permet de surligner les éléments TABLE, TR, TD, DIV, IMG ou bien une selection. On peut aussi surligner les éléments par rapport à la nature de leur positionnement (absolute, relative, fixed, float).
 - Validate : Permet de valider le HTML, CSS... via le service du W3C.
 - Images : Permet d'afficher les dimensions, le poids, l'adresse completes et les ATL des images de la  page.
 - Resize : Permer de redimmentionner le navigateur au pixel près.
 - Misc : Permet de vider le cache, les cookies pour le domaine ou tous les cookies. Permet aussi de voir le contenu des cookies et d'afficher les pages de spécification du W3C
 - Show Ruler : Permet d'afficher des règles afin de verifier l'alignement ou de mesurer la distance en pixel entre deux éléments.

C'est une barre complète à laquelle il manque uniquement une meilleure gestion des erreurs javascript, mais là, c'est le navigateur lui même qui est en cause puisque la détection d'erreur sous Internet Explorer est très pauvre.

 

Sous Firefox

Inspecteur DOM pour Firefox
Cet outils est disponible à l'installation de Firefox et permet d'explorer l'arbre DOM du document en lecture et ecriture. C'est cette même fonctionnalité qui est intégrée dans des extensions pour développeurs.

Extension Firebug 0.4 pour FireFox
Cette extension est relativement récente et commence à faire du bruit. Elle rassemble l'essentiel :
 - Un inspecteur DOM qui permet de parcourir l'arbre DOM généré en lecture et écriture.
 - Une console d'erreur Javascript permettant de remonter les erreurs exactes (le moteur Gecko a une bonne gestion des erreurs javascript) 
 - Un debugger Javascript très avancé permettant même des points d'arrêt pour rentrer dans le détail et optimiser.
 - Une console Javascript permettant d'executer des lignes de commande dans le contexte de la page (c'est très precieux !)
 - Une console de log que l'on peut appeler dans  le code par console.log('toto');

Extension Web developer
Cette extension est l'équivalent de la Internet Explorer Developer Toolbar mais pour Firefox (ou le contraire diront certains). Elle regroupe les mêmes fonctionnalités sans l'inspecteur DOM  (qui est de base dans FireFox  si on le demande à l'installation). Cette barre regroupe les fonctionnalités suivantes :
 - Disable : Permet d'activer ou de désactiver le cache, l'affichage des images, les cookies, l'execution des scripts et les popup.
 - CSS : Permet de desactiver et  de parcourir en lecture et ecriture les styles de la page.
 - Forms : Permet de controler les informations liées aux formulaires.
 - Information : Permet d'afficher les éléments de la page avec leurs proprietés.
 - Images : Permet d'afficher les dimension, le poids, l'adresse completes et les ATL des images de la  page.
 - Misc : Permet de vider le cache, les cookies pour le domaine ou tous les cookies. Permet aussi de voir le contenu des cookies et d'afficher les pages de spécification du W3C
 - Outline : Permet de surligner les éléments TABLE, TR, TD, DIV, IMG ou bien une selection. On peut aussi surligner les éléments par rapport à la nature de leur positionnement (absolute, relative, fixed, float).
 - Resize : Permer de redimmentionner le navigateur au pixel près.
 - Tools : Permet de valider le HTML, CSS... via le service du W3C.
 - View source : Permet d'afficher les sources de la page ainsi que les sources générées.
 - Options : permet de personnaliser la barre d'outils.

Extension Tamper Data pour Firefox
Cette extension permet de voir et de modifier les transferts entre le navigateur et le serveur. On a la possibilité de se "faire passer pour"... Cette extension est precieuse pour l'optimisation d'un code ou d'une configuration. Il permet de mettre en evidence si une librairie javascript ou une image est mise en cache sur le client, le temps necessaire pour récupérer chacun des fichiers et les erreurs éventuelles (une image non trouvée : 404...).

Extensions en doublon :
Je ne parlerai pas  de l'extension Wenkman ni du shell car leurs fonctionnalités respectives sont reprises dans firebug plus simplement.

Autres extensions utiles :
Extension FoxyProxy pour Firefox
Cette extension permet de gerer un ensemble de proxy via des patterns. Si vous êtes nomade ou si vous voulez voir les series américaines en vous faisant passer par un américain, voilà la solution...
 

 

mardi 23 mai 2006

AJAX : comment gerer les favoris et la navigation du navigateur (retour et suivant)

L'AJAX va de pair avec le non rechargement de la page, mais pas la non navigation. Mais si on navique sans changer de page, alors on a pas d'historique. Et si on clique sur BACK, on pert tout !

Seulement, Gmail gère ce bouton BACK, et ce n'est pas le seul, alors pourquoi pas nous ? mais pas si simple...

Un framework qui porte bien son nom se propose de gerer le problème pour nous : RSH pour Really Simple History (genre RSS...)

Un tutorial complet est aussi disponible sur le site de onjava.com

J'ai mis à disposition les exemples sur ce blog parce qu'ils ont oublié de placer une librairie js...


On a une explication de comment marche cette gestion du back ici : de façon différentes selon les navigateurs (d'ailleurs, pas sur Safari).

Les ingrédients sont :

  • Iframes cachées,
  • Timers
  • Champs de formulaire cachés

[24/05/2006] Les exemples doivent être executés avec une adresse en "http://" et non "file:///" . Il faut donc avoir un serveur web.

jeudi 4 mai 2006

Formation AJAX

Je vais coanimer une formation AJAX de deux jours avec Nicolas FAUGOUT le 16 et 17 mai 2006. La session est complète, mais si vous êtes interessés, la prochaine est programmée le 22 et 23 juin. Faites vite, les inscriptions sont déjà ouvertes. Consultez le programme, ça va être que du bonheur !

Mise en place des outils nécessaires au développement AJAX (0,5 jour)

Présentation d’AJAX et de l’objet XmlHTTPRrequest
Les concepts d’Ajax
Quelques exemples (GMail, GMaps, Meebo)
Le protocole HTTP pour Ajax
L’objet XmlHTTPRequest

Redécouverte de Javascript
Rappels sur le langage
Concepts de la programmation orientée objet prototypé
Présentation d’un framework Ajax

Apprentissage du modèle DOM et des CSS avancés
Initiation à l’arbre DOM à l’aide de l’inspecteur DOM
Manipulation du modèle à partir de Javascript
Construction d’une feuille de style enrichie

Cas pratique – réalisation d’un portail (1,5 jours)

Création d’un template « bloc de contenu »
Maquette HTML du template
Habillage CSS du bloc
Ajout de fonctionnalités avec DOM et Javascript
Connexion Ajax avec le serveur

Création des outils connexes
Fonction « ajouter du contenu »
Texte éditable en ligne (titre de la page, favoris, « to do list »)
Déplacement des blocs
Connexion des blocs à des services (Flickr, Google API, Météo, flux RSS)

Mise en oeuvre du portail
Maquette HTML du portail
Instanciation des blocs par défaut
Mode connecté (utilisation d’un annuaire)
Implémentation de la procédure d’identification (stockage en base de donnée)

Pour plus de renseignements : la formation AJAX, le programme, la société LUCCA.

 

mardi 2 mai 2006

Google maps débarque en France.

On l'attendait depuis juillet 2005, Voilà la cartographie de toute une partie de l'europe qui est en ligne depuis peu.

http://maps.google.fr/

Avec des rollovers qui representent des zoom (ou des dézoom) de l'adresse choisie. Ca me fait penser à des choses ça... mais c'est pour une autre fois.

Une petite fenêtre de navigation très bien faite est apparue en bas à droite de la carte.

[03/05/2006] La qualité des images sur Paris a été énormément améliorée, on peut maintenant voir les voitures et les personnes.

jeudi 13 avril 2006

C'est parti pour Google calendar

http://www.google.com/calendar

Voilà quelques captures d'un remplissage un peu sauvage pour tester la bête...

Et elle réagit plutôt bien ! En fait sur le planning mensuel, 4 rendez-vous maximum sont affichés par mois ce qui permet de soulager l'affichage...

Tous les rendez vous affichés sont gardés en mémoire locale et se réaffichent immédiatement en cas de retour sur une période déjà demandée. Pour constaté cette mécanique (qui fait la force de ce genre d'appli) il suffit de faire "période suivante". Si vous n'y êtes jamais allés alors vous aurez un petit "loading..." en haut à droite, sinon, rien...

 

- page 1 de 2