Google Wave Embedded : Mise à jour

Google a récemment (et sans prévenir) changé son API permettant d'intégrer des Waves sur des sites.
Rien de méchant, car cela concerne surtout les options graphiques, mais cela a suffi pour empêcher mes compte-rendus de conférence de s'afficher correctement : à la place, il n'y avait plus que du blanc... J'ai donc fouillé un peu pour trouver d'où cela pouvait venir.
Vous trouverez ci-dessous les nouvelles instructions détaillées.

Et puis, j'en profite pour vous annoncer la bonne nouvelle : il est maintenant possible de consulter les Waves intégrées sans posséder de compte Wave !
C'était la principale critique remontée à Google, et elle a visiblement été écoutée. Par contre, la modification de la Wave est toujours réservée aux utilisateurs authentifiés.

Lire la suite...

Google Wave Embedded API : the missing tutorial

Google Wave provides an "Embedded API" that can be leveraged to insert a single Wave into any HTML page.
Unfortunately, the official documentation is somewhat old and gives the procedure only for the sandbox waves, not the regular ones. As a result, I had to struggle more than an hour long and browse the API's source code to get all the parameters right, and eventually successfully display a wave in a blog post (see my summary of the last Paris JUG's meeting, in French).

Here is a very short tutorial to help you integrate waves in your own websites/blogs in minutes !

Lire la suite...

Amusons-nous avec HTML5 et la balise Canvas

Je me suis un peu amusé avec la nouvelle balise HTML5 Canvas et l'API Javascript associée...
Si vous avez un navigateur récent, vous devriez pouvoir voir et contrôler les flammes :

Sleep (ms) :
Atténuation :
Fire seed :
Black seed :

Je vous invite à regarder le code source de la page pour plus de détails !

Le point sur les nouvelles API HTML 5

Voici le compte-rendu de la conférence "Dans la tête de Peter Lubbers" organisée par Zenika mercredi dernier.

Peter Lubbers est directeur de la formation chez Kaazing, une société spécialisée dans le streaming de données en temps réel pour le web ; leur produit phare, le WebSocket Gateway, exploite au maximum les dernières API de communication proposées par HTML5. Peter était donc l'homme de la situation pour nous donner les dernières nouvelles du front, en attendant la sortie de son livre "Pro HTML5 Programming", prévue pour avril.

La conférence s'organisait autour de 5 points : le bilan des technologies actuelles, les WebSockets, les Server-sent Events, l'objet XmlHttpRequest version 2, et le Cross-document messaging.

Lire la suite...

Désactiver les liens hypertextes avec JavaScript

Lorsque, dans une page Web, l'utilisateur déclenche une action qui modifie toute la page, il est de bon ton de s'assurer qu'il ne déclenche pas une autre action avant que la page suivante ne soit chargée.

Tous les éléments qui permettent à l'utilisateur d'agir sur la page doivent donc être désactivés. Parmi ceux-ci, il y a les champs de formulaires (champs texte, boutons-poussoir, boutons radio, cases à cocher, ...), et les liens hypertextes.

Si désactiver les champs de formulaires est assez facile en JavaScript (tous possèdent un attribut disabled, qu'il suffit de mettre à true), désactiver les liens est une autre paire de manches ! Il y a bien un attribut disabled sur les ancres, mais c'est une spécificité, non standard, d'Internet Explorer. Et en plus cet attribut ne modifie que l'affichage : avec IE, un hyperlien dans l'état "disabled" est toujours actif !

Ce constat mène assez rapidement à la question suivante : comment faire ? Et d'ailleurs, est-ce faisable ?

Lire la suite...

JavaScript Quiz #3

Qu'insère le bloc JavaScript suivant dans la page HTML ?

  1. var flagBidon = true;
  2.  
  3. function test() {
  4. var x = 5;
  5.  
  6. document.write(x);
  7. document.write("<br/>");
  8.  
  9. if (flagBidon) {
  10. var x = 10;
  11. document.write(x);
  12. document.write("<br/>");
  13. }
  14.  
  15. document.write(x);
  16. document.write("<br/>");
  17. }
  18.  
  19. test();
Lire la suite...

JavaScript Quiz #2

Qu'insère le bloc JavaScript suivant dans la page HTML ?

  1. var x = 9;
  2. function test() {
  3. document.write(x);
  4. document.write("<br/>");
  5.  
  6. var x = 10;
  7.  
  8. document.write(x);
  9. document.write("<br/>");
  10. }
  11. test();
  12. document.write(x);
Lire la suite...

JavaScript Quiz #1

Un petit quiz JavaScript, pour changer. Voici une fonction de validation de dates, écrite en JavaScript :

  1. /**
  2. * Vérifie que la date passée sous la forme d'une chaîne de caractères
  3. * (exemple : "15/11/2008") est valide
  4. */
  5. function validateDate(dateAsString) {
  6. // Vérifie que la date est du format "JJ/MM/AAAA"
  7. var regex = new RegExp("^[0-9]{2}[/][0-9]{2}[/][0-9]{4}$", "g");
  8.  
  9. if (regex.test(dateAsString)) {
  10. // Vérifie en plus que les champs jour, mois et année sont
  11. // cohérents et correspondent à une date pas totalement farfelue.
  12. var fields = dateAsString.split("/");
  13. var day = parseInt(fields[0]);
  14. var month = parseInt(fields[1]);
  15. var year = parseInt(fields[2]);
  16.  
  17. if (day > 0 && day < 32 &&
  18. month > 0 && month < 13 &&
  19. year > 1970 && year < 2200) {
  20. return true;
  21. }
  22. }
  23. return false;
  24. }

Question : Certains jours de l'année 2009 ne passent pas la validation alors qu'ils le devraient. Lesquels, et pourquoi ?

Lire la suite...

MoreCSS : javascript au secours de CSS

La librairie Javascript MoreCSS permet d'appliquer des fonctions Javascript à des éléments HTML simplement en les stylant à l'aide de propriétés CSS spéciales. Cette approche, bien qu'assez surprenante au premier abord, permet de bénéficier à la fois de la simplicité de la syntaxe CSS et de la puissance du code Javascript.

On peut en revanche regretter que le code du fichier javascript soit obfusqué, malgré la licence Creative Commons...

Javascript 2.0 : un premier aperçu

Avec AJAX, Javascript a considérablement renforcé sa position de langage incontournable du web. Pourtant, il est notoirement délicat à programmer et à debugguer -- la faute tant à sa syntaxe parfois exotique qu'à son support inégal par les différents navigateurs...

Avec Javascript 2 (ECMA-Script 4), la relève est en marche et les spécifications semblent prometteuses (pdf). Bien qu'encore en cours de rédaction (une première version est prévue pour l'automne), elles laissent d'ores et déjà apparaître d'intéressantes fonctionnalités :

  • programmation objet (classes, interfaces...),
  • typage statique des variables,
  • compilation/vérification du code,
  • chargement de modules à la demande (lazy-loading)...

Si elles sont évidemment les bienvenues, ces améliorations ne sont-elles pas un peu tardives ? Les développeurs, qui commencent enfin à disposer d'outils et de frameworks performants rendant Javascript réellement exploitable, sont-ils prêts à franchir le pas ?
De plus, leur frustration envers Javascript a déclenché la prolifération de solutions alternatives (Google Web Toolkit, Flex...) qui sont généralement plus performantes et plus simples à développer et maintenir. La version 2.0 saura-t-elle regagner le coeur des développeurs ?

- page 1 de 2

Archives

Contacts

Olivier Croisier : mail, site
HollyDays : mail
Wikio - Top des blogs - Logiciels libres