Brico-Info - le blog de Bruno CATTEAU

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

Balise - xmlhttprequest

Fil des billets - Fil des commentaires

mercredi 20 septembre 2006

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

 

mercredi 28 juin 2006

Le traceur de flux de firebug

En complément du post sur les extensions Firefox, voilà une démonstration du traceur de requetes XMLHttpRequests. Pour l'activer, c'est dans le menu options, "show XMLHttpRequests". 

Ensuite, vous allez sur un site qui exploite la technologie AJAX, et vous pouvez comprendre quand est ce que le client demande des infos au serveur. Par exemple, sur Google maps, il faut faire glisser la carte relativement loin pour avoir une nouvelle connexion. Sous Gmail, on constate que le XMLHttpRequest est utilisé en parallèle des iframes.

Enfin, sur un exemple de contrôle de formulaire qui consulte le serveur pour savoir si ce qui a été saisi est correct. L'émission envoie dans la requête l'élément saisi et la réponse retourne le resultat en format JSON. Vous allez pouvoir oublier le célèbre document.location =''; pour le débugage !

 

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.

mardi 22 novembre 2005

Démo Ajax Google Map

En réponse à la démonstration du framework Atlas de Microsoft interfacé avec VirtualEarth (http://www.ajaxian.com/archives/2005/11/aspnet_atlas_de_1.html), voilà un petit exemple d'une interface Ajax utilisant l'Api de Google Map et une base de données des codes postaux :

Démonstration

Voilà une petite comparaison des deux démos :

Démo Atlas Démo Google Map
Géo-localisation VirtualEarth Google Map
Techno serveur Asp.net Php
Serveur Window Linux
Techno client Framework Atlas (généré serveur) Ajax (framework maison) en cache sur le client
Url de la démo   Démo
Vidéo de la démo video [WMV, 10 megs]  
Auteur Dan WAHLIN Bruno CATTEAU

 

- page 1 de 2