Ajax Journal

Blog francophone sur Ajax

Bienvenue sur Ajax Journal, une zone d'échange francophone sur Ajax, pour partager des liens, des articles et des avis sur les différents aspects de ces nouvelles technos qui peu à peu changent le visage des applications Web ...

Ajax Journal recrute !

Si vous souhaitez participer à l'élaboration de ce blog contactez le journal !


DojoToolkit 1.0 en phase d'approche

L'équipe du toolkit javascript Dojo vient de publier une Release Candidate de la version 1.0, dont le version finale est attendue sous peu. Pas d'énorme modification fonctionnelle par rapport à la version 0.9, mais des corrections de bugs et des améliorations de compatibilité.

Note : 3.3/5 pour 12 votes

Présentation de iui par Joe Hewit

Joe Hewitt, l'auteur de Firebug, nous présente iUI, son framework web au look natif iphone.

Note : 3.9/5 pour 7 votes

Avec Google Gears, Google se lance dans le hors ligne

Google vient de publier Google Gears, une extension opensource (pour Firefox et Internet Explorer) permettant d'utiliser des applications web en mode déconnecté. Google reader est déjà compatible.

A mons avis, les applications web supportant un mode offline vont fleurir, et on attend avec impatience, Gmail ou Google Calendar version offline.

L'équipe de Dojo Offline a par ailleurs travailler conjointement aux équipes de google afin de proposer des extensions à Google Gears.

Note : 4.5/5 pour 6 votes

Dojo Offline, une démo et une release

Brad Neuberg vient de poster sur son blog chez sitepen, un article à propos de Dojo Offline, une nouvelle fonction de dojo permettant de développer des applications web fonctionnant en mode déconnecté (imaginez les applications d'un tel système !). Brad met à disposition une démo de Moxie, un éditeur de texte en ligne illustrant les possibilités de travail hors-ligne avec resynchro lorsque l'utilisateur revient online. La version finale de Dojo Offline, comportant la doc et le proxy http permettant de mettre en cache les éléments accessibles hors ligne devrait être disponible fin Mars. En attendant, une version alpha est déjà téléchargeable pour effectuer quelques tests.

Note : 4.5/5 pour 13 votes

dojo.query: un moteur de requête CSS pour dojo

Alex Russel a publié sur le blog dojo.foo un article au sujet du nouveau moteur de requête CSS qu'il vient de développer pour dojo. L"idée est de mettre à disposition du développeur utilisant le toolkit une facon simple et performante de récupérer des objets du DOM; le tout en utilisant une syntaxe inspirée par CSS.

Par exemple:
dojo.query('#id');
permet de récupérer l'object DOM portant l'id id.

dojo.query('div:first-child');
permet de récupérer un tableau contenant les first-child (c'est à dire le premier sous-élement d'un noeud) de tous les éléments div.

dojo.query('code.example');
permet de récupérer les élements de type code ayant pour classe (class) example.
(ce ne sont ici que quelques exemples, dojo.query permet d'utiliser des notations CSS beaucoup plus élaborées)

Bref une façon pratique et rapide d'accéder à des élements arbitraires de l'arbre DOM. De plus l'accent a été mis sur la performance (qui semble-t-il est le point faible d'autres moteurs de ce type), benchmark à l'appui. Un fois de plus le projet dojo fait preuve d'une efficacité sans faille afin de simplifier la vie des developpeurs d'applications web, qui s'en plaindrait ?

Note : 4.0/5 pour 16 votes

Rendez vos applications web plus sûres

Nadav Samet publie sur son blog un article intéressant faisant un tour d'horizon des failles de sécurités classiques rencontrées dans les applications web.

Au menu: Injection SQL, Cross site scripting (XSS), et Cross-site request forgery (XSRF), le tout agrémenté d'exemple et de code.

Une lecture de choix pour comprendre comment faire du code secure.

Note : 3.6/5 pour 5 votes

Diaporama Présentation Ajax

Voici des supports de cours pour une brève conférence sur AJAX : une introduction des concepts de base, peut servir de support de vulgarisation.

Lire la suite

Note : 3.8/5 pour 12 votes

Dojo en profondeur

Alex Russell de Dojo a mis en ligne les slides qu'il a présenté à la conférence The Ajax Experience

Note : 3.1/5 pour 15 votes

Sorties de Dojo 0.4 et de moo.fx 2.0

Semaine chargée, puisque 2 toolkits javascript viennent de publier une nouvelle version.

  • Dojo 0.4 est maintenant disponible, proposant dans cette nouvelle mouture un foule d'amélioration et de nouvelles fonctionnalités:
    • Des fonctions d'accessibilité (dojo.a11y)
    • Un moteur de graphiques (dojo.charting).
    • Des amélioration dans le support de l'internationnalisation (dojo.i18n).
    • Une librairie graphique 2D (dojo.gfx).
    • La possibilité de chainer des animations dans dojo.lfx (cool)
    • Des nouveaux widgets, des améliorations pour les widgets prééxistants.

Bref que du bon !

  • Moo.fx est maintenant disponible en version 2. Cette nouvelle version, de l'une des plus légères biblotheques d'effets graphiques javascript, apporte également sont lots de nouveautés:
    • Fx.Style permettant de modifier n'importe quelle propriété CSS.
    • Fx.Styles permettatnde modifier d'un coup d'un seul plusieurs propriétés CSS.
    • Fx.Color permettant de manipuler les couleurs des éléments.
    • Fx.Scroll permettant de faire scroller des divs.
    • Une version complétement réécrite de Accordion

A vos éditeurs de code !

Note : 4.0/5 pour 11 votes

Un système d'exploitation Ajax ?

Atomic OS est un projet visant à developper une sorte de système d'exploitation (WAJAX) tournant dans un navigateur qui utilise Ajax pour reproduire le fonctionnement d'un système (ROM, Kernel ...) avec gestionnaires de fenêtres (déplacement, reduction ...). Une démo est utilisable en ligne. Reste à trouver l'utilité de ce genre de chose ... Qu'en pensez-vous ? Utile, Inutile, Simple Démo Technologique, Aperçu de l'avenir ?

AtomicOs

Note : 3.4/5 pour 15 votes

Comprendre les ''closures'' en javascript

Les closures ou fermeture sont un aspect puissant de javascript, mais un aspect malheureusement méconnu et pouvant paraitre obscure de prime abord.

Morris Johns a mis en ligne un article intéressant expliquant le fonctionnement des closures en Javascript, la facon dont elles fonctionnent et les erreurs classiques commises lorsque l'on débute. Une lecture valant le détour si vous souhaitez utiliser toutes les subtilités offertes par Javascript. Un exemple ? Douglas Crockford utilise les closures pour que ses objets JS possèdent des membres privés. (un peu comme en java ou c++).

Mais attention ! Comme nous avons pu le voir dans un article récemment publié sur l'AjaxJournal, les closures peuvent créer des fuites de mémoire sous certains navigateurs si elles sont mal utilisées. Prudence donc !

Note : 4.1/5 pour 15 votes

Ajax et les fuites de mémoires

Une fuite de mémoire ou memory leak en anglais est une consommation involontaire de mémoire par un programme informatique, généralement due au fait que le programme ne libère pas la mémoire dont il n'a plus besoin de facon convenable. Cela entraine des ralentissements des programmes voir des plantages.

Concept bien connu des développeurs C, les fuites de mémoires étaient pour le moment bien loin des préoupations des développeurs d'applications web. Cependant avec Ajax, la donne a changé. En effet, avant l'arrivée du web 2.0, l'utilisation de javascript dans les pages web était relativement simple et surtout à chaque changement ou rechargement de page, le Garbage Collector - Ramasse-miettes en francais - faisait son office est désaloué les objets javascripts utilisés par la page précédente.

Mais vous l'auriez bien compris, le problème vient qu'avec Ajax la page web n'est plus rechargée, elle est modifiée à la volé, et de nouveaux objets javascripts sont sans cesses créés. Le garbage collector ne désaloue donc pas les objets non utilisées. Il faut le faire explicitement pour eviter les fuites de mémoire. Ces fuites de mémoires peuvent prendre des proportions assez importante, alors soyez vigilant.

De plus il existe d'autre cas non liés exclusivement à l'utilisation d'Ajax qui peuvent provoquer des fuites de mémoires, Internet Explorer semble être enclin à se laisser aller dans ce secteur. (Encore lui !) Le garbage collector de l'interpreteur Javascript d'IE ne semble pas capable de detecter des références circulaires entre des noeuds DOM et d'autre objets. Ce problème vien(drai)t du faire que les objets JS et les objets DOM sont gérés par deux composants différents. L'article DHTML leaks like a sieve (une lecture chaudement recommandée) revient sur les problèmes causés par les références circulaires (la gestion des évenement, les fermetures) et donne quelques exemples de code javascript provoquant des fuites de mémoire.

var unDiv = document.getElementById('unDiv');
monObjetJS.unObjetDom = unDiv; 
unDiv.unObjet = monObjetJS;

Ce code provoque une référence circulaire, monObjetJS ayant une référence du unDiv et unDiv ayant une référence vers monObjetJS.

Il faut également noté que les handler d'évenement peuvent également créer des références circulaires si celui-ci référence un objet javascript. Il faut donc autant que possible décrocher les handlers d'évenement lorsqu'ils ne sont plus utilisés.

Un article sur le wiki mozilla pour les développeurs traite également de ces problèmes

Ce problème de fuite de mémoire n'est pas spécifique à IE, tous les navigateurs peuvent en être victimes. Pour preuve, Firefox a plusieurs bugs pouvant provoquer des fuites de mémoires.

Enfin pour terminer ce post, un outil utile. Pour détecter ces fuites de mémoire, David Baron (développeur Mozilla) a développé une petite extension firefox avertissant des blocs de mémoire perdus lorsque l'on quitte une page web. Bien pratique.

Note : 4.3/5 pour 20 votes

Outils pour le développement sous Firefox

Firefox via son système d'extension permet à un miriade d'outil de faciliter la vie des développeurs d'applications web. Parmis la multitude d'extensions disponibles, en voici trois, vraiment indispensables.

Firebug est un outil permettant de grandement faciliter le débugage d'application web, en effet il propose au coeur de la même extension, un inspecteur DOM, une console javascript évoluée, un débugger javascript. L'une des killer features de firebug est la possibilité de voir les requêtes XMLHttpRequest effectuées par l'application, tellement pratique pour débugger de l'Ajax.

La Web developper toolbar est comme son nom l'indique à nos amis anglophones, une barre d'outils destinée aux développeurs web. Elle apporte son lot d'outils allant de l'éditeur CSS, à la validation de page XHTML en passant par l'affichages des id des balises en surimpression sur la page web.

Le Venkman Debugger est un débugger Javascript très complet proposant toutes les fonctionnalités attendues d'un débugger. Il permet même de débugger les fichiers javascripts qui animent Firefox. (attention cette extension est un peu lourde en terme de ressources consommées).

Bref, 3 extensions à installer de toute urgence si vous utilisez Firefox.

Note : 4.0/5 pour 8 votes

Mettre en place un indicateur d'activité

Que se cache derrière ce titre obscure ? Tout simplement un article expliquant la facon de bien mettre en place un , devenu quasiment synonyme d'application web 2.0 depuis l'avènement d'ajax. GenXDesign propose ainsi un article de 4 pages sur le sujet, CSS et Javascript sont au menu, et bien évidemment l'ensemble se termine par une page de démo.

Note : 3.9/5 pour 10 votes

Ajax et la sécurité

Max Kiesler recense sur son blog 24 tutoriels en rapport avec Ajax et la sécurité, ces tutoriels mettant en lumière les erreurs à ne pas commettre et les problèmes de sécurités que l'on peut rencontrer avec les applications Web 2.0.

Une ressource indispensable.

Note : 3.7/5 pour 16 votes