Maurice Svay

Webstandards

Les standards du Web c'est bon, mangez-en!

Fil des billets - Fil des commentaires

jeudi, juillet 9 2009

Ne ratez pas la conférence Paris Web 2009, du 8 au 10 octobre 2009!

Comme chaque année depuis 2006, a lieu Paris Web, LA conférence qui s'adresse à ceux qui font le Web. Contrairement à d'autres conférences, Paris Web est une conférence réellement utile, où on apprend des choses. On y retrouve bon nombre d'experts pour discuter des sujets qui font le Web: technologies, design, accessibilité, standards, etc. Cette année encore, on retrouvera des têtes francophones connues comme Tristan Nitot, Daniel Glazman ou Amélie Boucher, mais également des orateurs internationaux comme Molly Holzschlag ou Nicole Sullivan. Tous les témoignages sont d'accord, Paris Web est l'une des meilleures conférences sur le sujet. Et pourtant, le tarif est très abordable. Tout ça pour dire qu'il ne faut pas rater cette conférence, donc foncez VOUS INSCRIRE!

vendredi, avril 3 2009

Générer des anaglyphes avec javascript et canvas

Il n'y a pas très longtemps, j'ai trouvé des lunettes 3D sur une boîte de Chocapics. Ca m'a rappelé les essais d'images en 3D que je faisais il y a quelques années. La recette est super simple: on prend deux images, une pour l'oeil gauche et l'autre pour l'oeil droit. De l'une, on prend la composante rouge et de l'autre, la composante cyan (bleu+vert). On mélange le tout et... paf! Ca fait un anaglyphe!

Ayant joué récemment avec Javascript et l'élément canvas, je me suis dit que ça pourrait se faire facilement avec ces deux technologies. Après quelques essais, j'ai obtenu un Anaglyph generator qui fonctionne à peu près avec un Firefox, un Safari ou un Opera récent. Concernant Internet Explorer, aucune chance pour le moment: excanvas ne supporte pas encore getImageData ni putImageData.

Pour générer un anaglyphe, il suffit d'indiquer deux URLs d'images et de presser le bouton. Pour simplifier, le resultat est toujours affiché en 640x480 (N'hésitez pas à poster l'URL de votre anaglyphe dans les commentaires!).

Anaglyphe

Ceux que ça intéresse, peuvent jeter un oeil au code. C'est plutôt simple:

  • on charge deux images;
  • on attend qu'elles soient complètement chargées;
  • on crée deux canvas pour y copier les images;
  • on remplace la composante rouge d'un canvas par la composante rouge de l'autre;
  • et on affiche le résultat!

Les pièges à éviter

Même si la technique est simple, il y'a tout de même quelques pièges à contourner.

Le premier est la politique de sécurité du navigateur. Comme pour les requêtes XMLHttpRequest, le navigateur ne permet d'accéder aux pixel que des images du même domaine. Du coup, pour pouvoir afficher une image venant d'ailleurs, il faut passer un proxy.

Voilà à quoi ressemble le proxy:

<?php
if (isset($_GET['url']) && preg_match('/^http/i', $_GET['url'])) {
    $url = $_GET['url'];
    if (preg_match('/.png$/i', $url)) {
        header('Content-type: image/png');
    }elseif (preg_match('/.jpg$/i', $url)) {
        header('Content-type: image/jpg');
    }
    readfile($url);
}

Le second, est qu'il faut s'assurer que les images sont bien chargées. En local, ça va forcément très vite et on n'a jamais de problème. Avec des images distantes, ça peut mettre un peu de temps et empêcher le script de fonctionner. Pour résoudre ce problème, deux trucs:

  • utiliser setTimeout pour attendre en boucle que les images soient chargées. La fonction Anaglyph.wait vérifie si les images sont totalement chargée en regardant l'attribut complete. Si ce n'est pas le cas, elle va attendre un peu et s'appeler elle-même à nouveau. Une fois que les deux images sont chargées, elle peut appeler Anaglyph.make qui va générer l'anaglyphe.
  • imbriquer le code qui manipules les canvas dans un try/catch pour éviter que le code ne casse.

Si l'élément canvas vous intéresse, il y'a déjà pas mal de ressources intéressantes sur le sujet:

Plein de choses intéressantes ont déjà été faites avec canvas: de la 3D, de la visualisation de musique, de la retouche d'images, des trucages vidéos, etc. Il y'a sûrement encore plein d'autres choses à faire. De quoi me faire réfléchir toute la nuit encore...

dimanche, septembre 24 2006

Supports de cours sur les standards du Web ?

Un des problèmes qui a été soulevé pendant ParisWeb2006 est celui de la formation à l'Université et dans les autres écoles. Le constat était le suivant: les enseignants n'ont pas franchi le pas et continuent d'enseigner le Web du siècle dernier, le tout dans un volume horaire qui se réduit. La faute au manque de temps, de moyen et de plein d'autres choses. Il y aurait bien quelque chose à faire pour cela: produire des supports de cours librement réutilisables en classes avec présentations, cours et exercices pour travaux pratiques. Je ne sais pas si cela existe déjà, mais cela pourrait être utile non ?

samedi, septembre 23 2006

ParisWeb2006 c'est fini...

et c'est bien dommage. Je veux vraiment féliciter et remercier toute l'équipe qui a organisé l'événement: les invités étaient très bien choisis, les présentations intéressantes (du moins pour celles que j'ai pu voir) et l'organisation parfaite. Cela a été l'occasion de rencontrer (enfin) beaucoup de personnes que je connaissais par le Web et d'échanger quelques mots avec eux. Mon seul regret sera de ne pas avoir été présent pour l'intégralité de l'événement. Merci encore à Éric Daspet, Stéphane Deschamps, Olivier Gendrin, Adrien Leygues et tous ceux qui ont permis à ParisWeb2006 d'avoir lieu. On peut espérer un ParisWeb2007 l'an prochain ?

Note: ne manquez pas les photos du groupe flickr ParisWeb2006.

vendredi, septembre 22 2006

En direct de ParisWeb2006

Denis Boudreau est sur scène, beaucoup de monde dans la salle et des présentations intéressantes. Si vous avez des photos, ajoutez les dans le groupe Flickr ou avec le tag parisweb2006.

mardi, septembre 12 2006

Développement AJAX avec Internet Explorer

Ok, j'ai cédé, j'utilise le terme AJAX. Mais peu importe. Voilà quelques outils utiles pour développer avec Internet Explorer (qui reste incontournable, malheureusement):

Si vous avez d'autres outils intéressants, n'hésitez pas !

jeudi, avril 6 2006

XMLHttpRequest sur le chemin de la standardisation

The XMLHttpRequest Object (Working draft), sur le site du W3C.

Via Karl et Anne

mercredi, avril 5 2006

CSS Naked Day

Aujourd'hui c'est le «CSS Naked Day», le jour où on met son site web à poil. L'initative lancée par Dustin Diaz consiste à retirer temporairement la feuille de style de son site pour voir à quoi cela ressemble de surfer sans CSS. L'idée est mettre en avant les standards du web et l'utilisation d'un balisage sensé et d'une structure hiérarchique organisée. Toutes les infos sont sur le site officiel: CSS Naked Day.

Edit : La feuille de style est de retour après ces 24 heures à poil.

- page 1 de 10