Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Liens connexes

Dépêche modérée par

Dépêche éditée par

Développeur : ASK : Un framework Ajax accessible

Posté par fyah (page perso, ). Modéré le 28 octobre 2007.
Internet
L'Ajax Source Kit, a.k.a ASK, est un framework Javascript orienté accessibilité. En effet, il a été développé avec l'objectif suivant :

"The purpose of ASK is to offer you a simple way to get content into your page on-the-fly through asynchronous JavaScript and XmlHttpRequest, without sacrificing accessibility or usability"

Ce qui peut se traduire par: « L'objectif de ASK est de vous offrir une solution simple pour actualiser votre page à la volée en utilisant Javascript et XmlHttpRequest, sans pour autant perdre en accessibilité ou en utilisabilité »

En effet, de plus en plus de sites se mettent à la mode « 2.0 » et sacrifient divers aspects :
  • Gestion des bookmarks ;
  • Gestion des fonctions suivant, précédent, rafraîchir ;
  • Accessibilité de certains navigateurs ;
  • Accessibilité pour les clients n'utilisant pas Javascript.

Il suffit de surfer quelques temps avec l'extension NoScript de Firefox pour vite s'apercevoir que tous les webmaistres n'envisagent pas le minitel 2.0 du même point de vue.

ASK est donc une manière élégante et légère (8 Ko) d'implémenter l'Ajax sur votre site, tout en limitant les sacrifices d'accessibilité.

NdM : la licence est précisée en entête du script. L'auteur a précisé qu'il n'avait pas approfondi la question de la licence et qu'il n'avait rien contre changer pour une licence open-source si cela avait un intérêt.

> Lire la dépêche (10 commentaires, moyenne: 1,9).  

D'autre part, l'intégration de ASK à votre site est relativement simple. Il suffit de :

Un exemple de lien utilisant ASK, qui présentera le contenu dynamiquement dans l'élément target :
<a href="http://www.robertnyman.com/ask/content.php?continents=true&countries=true&cities=&footertext=" class="ask target-countries">Get countries</a>
ASK présente les fonctionnalités et restrictions suivantes :

Navigateurs supportés :

La fonctionnalité d'historique ne fonctionne pas avec les navigateurs suivants :

La fonctionnalité de bookmarking ne fonctionne pas avec les navigateurs suivants :

Chapeau bas à l'auteur, Robert Nyman, qui en plus propose d'autres scripts intéressants :

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

lien enrhumé

Posté par zero heure (Jabber id, page perso, ) le 28/10/2007 à 12:21. (lien). Évalué à 3.

Un exemple de lien utilisant ASK, qui présentera le contenu dynamiquement dans l'élément target :
Get countries


le lien n'est pas complet, ça ne marche pas!
voici le vrai: http://www.robertnyman.com/ask/content.php?continents=true&a(...)


Apparemment, ça marche bien avec Konqueror (3.5.8) aussi.

--
J'ai vu bien des choses dans ma petite vie, et je mesure amèrement l'impuissance à les dire. (JP Rosnay, Le 13ème apôtre) http://www.poesie.net/apotre2.htm

Amélioration possible

Posté par Infernal Quack (Jabber id, page perso, ) le 29/10/2007 à 18:37. (lien). Évalué à 2.

Au départ j'avais mal compris le fonctionnement de ce "framework" AJAX.

En fait, j'avais pensé qu'en indiquant comme class "ask target-bidule" pour un lien, il allait récupérer via AJAX (XmlHTTPRequest) le résultat de la requête et qu'il allait dans ce résultat récupérer le contenu de la balise d'identifiant "bidule" pour la remettre dans la balise d'identifiant "bidule" de la page. Et ensuite j'ai découvert que dans content.php il y avait des "if" pour afficher ou non le contenu selon ce qu'il y avait dans la requête et si on était ou non en mode AJAX :(

Vous allez me dire "Mais à quoi ça sert d'envoyer tout le contenu pour en récupérer juste un bout ?". A cela je réponderais : "Pouvoir profiter simplement d'une des fonctionnalités offerte par AJAX sur des applications-webs dont il serait coûteux de toucher au code : le non-rechargement de la page".

En effet, en indiquant via "target-bidule" les zones que l'on veut récupérer, cela permetterait d'éviter des rechargement inesthétique de page. Ok on dépense autant de bande passante, mais ce n'est pas incompatible avec une mise à jour futur du code où à l'appel d'une requête on filtre le contenu selon la requête pour n'envoyer que le nécessaire. Bref, on profite des fonctionnalités d'AJAX en 2 temps : d'abord le non-rechargement, ensuite si on a le temps de toucher fortement au code de la réduction des échanges.

Le pied serait aussi de pouvoir avoir plusieurs target : class="ask target-bidule target-machin" avec le parsing qui va bien.

Sinon, je vois qu'il manque le support des requête en POST, c'est à dire la soumission des formulaires. Dommage car ce n'est pas rare d'en trouver. Cela pourrait se faire via la gestion d'évènement sur les onSubmit car beaucoup d'applications-webs utilisent du javascript pour soumettre les formulaires au changement d'une zone via onChange par exemple.

Si quelqu'un développe mon idée concernant un parsing via DOM au retour de la requête pour mettre à jour uniquement les targets, je lui offrirais mon plus grand respect :)

[+] C'est ça le progrès!

Posté par ome () le 29/10/2007 à 20:44. (lien). Évalué à -3.

Bof l'argument "Accessibilité pour les clients n'utilisant pas Javascript.". Faut vivre à son époque tout de même sinon on roulerait encore avec une botte de foin dans le coffre pour le cheval!. Pourquoi pas "Sans bugs pour IE7" tant qu'on y est!!!

Revenir en haut de page