Les derniers billets

w3c file api (version française)

25-08-2010 à 16:08:00

Aujourd'hui, j'ai joué un peu avec l'api fichier proposée par Mozilla. Elle permet de lire le contenu d'un fichier directement depuis une page web, sans avoir besoin de l'envoyer d'abord sur le serveur. L'utilisateur doit fournir le fichier, soit avec en le glissant sur la page, soit avec un champ de type fichier classique (<input type="file">). Ainsi, cela ne cause pas un trou de sécurité énorme en laissant une page lire n'importe quel fichier sur le disque de l'utilisateur.

Le site developer mozilla a un bon tutoriel sur le sujet. Cela m'a permis de mettre en place rapidement une petite démonstration qui utilise cette fonctionnalité. Une carte du monde est affichée (grâce à la librairie OpenLayers). Et lorsqu'on y fait glisser un fichier contenant des informations géographiques, le fichier est lu par la page web, et les géométries sont automatiquement affichées sur la carte.

À l'heure actuelle, la démonstration ne fonctionne qu'avec Firefox 3.6 car c'est le seul navigateur à implémenter cette fonctionnalité. Du côté de webkit, les discussions ont commencé dans le gestionnaire de bugs, mais n'ont pas encore abouti réellement abouti.

Pour tester la démonstration, vous devez disposer de fichiers KML, GPX ou OSM. Si vous n'en avez pas, vous pouvez télécharger des fichiers d'exemple.

Instantbird 0.2

16-07-2010 à 16:46:43

Après des mois de développement, Instantbird 0.2 est finalement sorti cette semaine dans plusieurs langues, dont le français !

logo Instantbird

Cette nouvelle version a été l'occasion de revoir complètement le site web afin de mettre l'accent sur l'utilisation d'Instantbird, et en particulier sa simplicité, plutôt que sur les technologies mises en jeu.

Sans plus attendre, découvrez Instantbird 0.2! (annonce en anglais, blog du projet)

Boox 2.6 for Firefox 3.6

18-06-2010 à 14:47:00

  • en version
  • version fr

english version

Finally... a stable version of Boox for Firefox 3.6

A new feature appears, you can now easily export a individual folder of your bookmarks, right-click on a folder in your Bookmarks Toolbar, Bookmarks Menu, or Bookmarks Panel, and choose "Export".

Known issues, in some rares cases, the preview in the tooltip of a Feed entry refers to another item in the list. If it happens, you have to reload the feed for the moment.

Download Page

version française

Enfin... une version stable de Boox pour Firefox 3.6

Une nouvelle fonctionalité apparait, vous pouvez maintenant facilement exporter un dossier individuel de vos marque-pages, un clic-droit sur un dossier dans votre barre personnelle, votre menu des marque-pages, ou le panneau des marque-pages, et choissisez "Exporter".

Problème connu, dans de rares cas, la prévisualisation dans une infobulle d'une entrée de flux correspond à une autre entrée de la liste. Si celà vous arrive, vous devez recharger ce flux, pour le moment.

Page de téléchargement

Du changement dans les composants XPCOM

16-06-2010 à 11:39:45

La prochaine version majeure de Firefox (la version 4 à priori), aura de nombreux changement dans le système d'extensions XPI. Par exemple, la plupart d'entre elles pourront être installées sans avoir à redémarrer l'application, nous l'avions évoqué dans une news précédente.

Un des obstacles à l'installation d'une extension sans redémarrage, est la façon dont les composants XPCOM sont activés. Actuellement, ils ne peuvent l'être qu'au démarrage. Gecko parcours le dossier components, charge le fichier dll/so/js, et appelle une fonction spécifique, NSGetModule implémentée dans la bibliothèque, pour que les composants puissent s'enregistrer.

Dans un futur proche (d'ici quelques jours ou semaines dans mozilla-central), la déclaration des composants se fera dans le chrome.manifest. Ce sera donc plus simple. Vous pourrez toutefois continuer à implémenter NSGetModule et cie, pour maintenir une compatibilité avec les versions précédentes de Gecko.

Ce changement permettra en plus un démarrage plus rapide de l'application, puisque gecko n'aura plus à parcourir le dossier components et à précharger les bibliothèques.

Une incidence à ce changement : le composant ne pourra plus écouter les notifications "xpcom-startup" et "app-startup", mais devra écouter la notification "profile-after-change", qui est préférable de toute façon, puisque elle est envoyée une fois le profil chargé, donc le composant a accès aux ressources du profil.

Pour plus de détails, et commencer donc à migrer vos composants pour Firefox 4, voir le billet de Dave Townsend.

Participez à la Coupe Firefox

10-06-2010 à 19:52:19

Alors que la coupe du monde de football 2010 commence demain en Afrique du Sud, Mozilla organise une coupe autour du plus important évènement footballistique : la Firefox Cup!

Pour supporter votre équipe préférée vous pouvez vous habiller au couleur de celle-ci, vous peindre le visage ou agitez un drapeau mais vous pouvez aussi le faire de façon plus discrète à l'aide de votre navigateur web Firefox!

Grâce à Personas, Firefox est le navigateur le plus personnalisable au monde. Il vous permet de facilement personnaliser le look de votre Firefox, d'ailleurs il existe déjà plus de 15 000 thèmes disponibles sur le site Personas.

Pour l'occasion Mozilla publie une série de design spécialement conçu pour l'évènement. Grâce à la Coupe Firefox vous allez pouvoir habiller votre navigateur au couleur de votre équipe préférée et ainsi affirmer votre soutient à celle-ci! Avec Firefox 3.6, vous pouvez changer le look de votre navigateur en un seul clic et sans redémarrer celui-ci, alors choisi l'un des 32 designs.

Firefox Cup Logo

Tout comme la coupe du monde désignera la meilleure équipe de football nationale, la Coupe Firefox désignera la nation la plus soutenu par les utilisateurs du navigateur de Mozilla. Sur le site de la Coupe Firefox vous pouvez consulter le nombre d'utilisateur Firefox qui ont déjà habillé leur navigateur au couleur de l'une des 32 équipes. Tout au long de la compétition Mozilla annoncera l'avancement de la compétition, celles-ci auront lieu aux dates suivantes :

  • le 16 juin : 1er tour
  • le 23 juin : 2e tour
  • le 30 juin : 3e tour
  • le 7 juillet : 4e tour
  • le 14 juillet : annonce du pays vainqueur!

Vous pouvez suivre tous les jours, l'avancer de la compétition sur la site de la Coupe Firefox.

Le gagnant de la Coupe Firefox aura la chance d'être présent sur les sites Mozilla et d'autres, alors n'oubliez pas de voter en habillant votre Firefox au couleur de votre pays préféré!

Yummy 1.1 for Fennec 1.1

05-06-2010 à 16:33:00

  • en version
  • version fr

english version

Stable version 1.1 of Yummy for Fennec 1.1 just published.

In approval phase on AMO, and downloadable here on my site.

version française

Version stable 1.1 de Yummy pour Fennec 1.1 tout juste publié.

En phase d'approbation sur AMO, et téléchargeable ici sur mon site.

Boox 2.6 beta 2

26-05-2010 à 20:56:00

  • en version
  • version fr

english version

I know, shame on me, there's not yet a stable version of Boox for Firefox 3.6. Here's a new beta, please test it, and report me any feedback/bug. I think it's the good one, I have not any bug personaly.

Feedback for some previous reported bugs

  • One reported bug is occasionally the feed preview in the tool-tip will refer to another item in the list. I'm not sure I will fixe this issue for this version, the problem is complex. I have not found a way to reproduce, but yes, i've seen it (rarely).
    In short, a workaround is to reload the concerned feed when this happen, or use the Reliby extension to reload all feeds.

    Here the long explication of what I have understand, if anybody have some idea to enhance, or to trace the bug...
    When the tooltip should appear, Boox looks at the Feed to find the entry, he load it with the flags nsIRequest.VALIDATE_NEVER | nsIRequest.LOAD_FROM_CACHE, so from the Firefox cache if possible, otherwise from the net.
    Firefox doesn't load its Live Bookmarks when he starts, but delay it and distribute in time to avoid some UI problems.
    So, if the entry is not present in the cache, Boox will load from the net, and if there are new entries, it will not be in adequation with the current Live bookmarks.
    Normally this should work, because the cache is updated when Firefox reload a Feed, but it seems that sometime this is not the case :S . It's like if VALIDATE_NEVER flag is not effective.

  • A-Jey reported to me that for some feeds, sometime, a word like «Diver» will be displayed as &laquo;Diver&raquo;, for example in this feed. Sorry, but this is really an error of this feed, not Boox, because it specifically codes its content as is (in a CDATA block). I can't correct this. Feel free to report again for other feeds (with the url), I will check if this is the same problem or a new one.

  • I want to thank you again for your bugs reports and comments ;) . It really helps me a lot!

Sources for hackers

You can find now a archive with the source of this version. This is the same files as those in the xpi of course, plus my little build system (bash scripts).
One time, there was one person who asked to contribute to Boox, this should help those who want try to modify the code. See the readme.txt inside the archive for more explanation.
Feel free to hack it, and to contribute. I must say that this not an easy extension, and it's impacted almost at all Firefox major update...

download page

version française

Je sais, honte sur moi, il n'y a toujours pas de version stable de Boox pour Firefox 3.6. Voilà une nouvelle beta, à tester, merci de me rapporter vos commentaires/bugs. Je pense que c'est la bonne, je n'ai plus de bug personnellement.

Retour sur quelques bogues précédement rapportés

  • Un bug que l'on m'avait remonté était occasionnellement, la prévisualisation des flux dans les infobulles se réfère à un autre item de la liste. Je ne suis pas sur de corriger ce bug pour cette version, le problème est complexe. Je n'ai pas trouvé le moyen de le reproduire, mais oui, je l'ai vu (rarement).
    En court, une solution quand celà arrive est de recharger le flux en question, ou d'utiliser l'extension Reliby pour tous les recharger.

    Je vous donne une explication plus détaillée de ce que j'ai compris, si jamais quelqu'un avait une idée pour améliorer tout çà, ou pour pister le problème...
    Quand une infobulle doit apparaitre, Boox regarde le flux pour trouver l'entrée, il le charge avec les flags nsIRequest.VALIDATE_NEVER | nsIRequest.LOAD_FROM_CACHE, donc depuis le cache de Firefox si possible, sinon depuis le net.
    Firefox ne recharge pas ses Live Bookmarks à l'ouverture, mais un peu plus tard, et de façon distribué, pour éviter de perturber l'interface.
    Donc, si l'entrée n'est pas présente dans le cache, Boox la charge depuis le net, et si il y de nouvelles entrées, il ne sera pas en adéquation avec les Live Bookmarks actuelles.
    Normalement çà devrait marcher, parce que le cache est actualisé quand Firefox recharge un flux, mais il semble que parfois ce n'est pas le cas :S . Comme si le flag VALIDATE_NEVER était inéfficace.

  • A-Jey m'a rapporté que pour certain flux, parfois, un mot comme «Diver» est affiché comme &laquo;Diver&raquo;, par exemple dans ce flux. Désolé, mais c'est réellement une erreur de ce flux, car il code son contenu spécifiquement ainsi (dans un bloc CDATA). Je ne peux pas corriger. N'hésitez pas à me remonter de nouveau ce problème avec d'autres flux (avec leur url), je vérifierai si c'est le meme problème ou un nouveau.

  • Je veux vous remercier encore pour vos rapports de bug et commentaire ;) . Çà m'aide vraiment beaucoup !

Sources pour bidouiller

Vous pouvez maintenant télécharger une archive contenant les sources de cette version. Ce sont les memes fichiers que ceux du xpi, bien sur, plus mon petit système de build (scripts bash).
Une fois, une personne m'a demandé à contribuer à Boox, ceci devrait aider ceux qui souhaite essayer de modifier le code. Regardez le readme.txt dans l'archive pour plus d'explication.
Sentez vous libre de bidouiller, hacker, et contribuer. Je dois dire que ce n'est pas une extension facile, et elle impactée à chaque nouvelle version majeure de Firefox...

page de téléchargement

WebM, le nouveau format video du web

19-05-2010 à 20:07:00

Le petit monde des formats videos, et le web sont en pleine ébullition, avec l'annonce du nouveau format WebM. Mais avant de voir ce que nous promet WebM, faisons d'abord un petit retour en arrière dans l'histoire des codecs pour la balise video de HTML5.

Dans HTML5, un nouvel élément fait son apparition, l'élément <video>. La spécification ne spécifie pas de format particulier pour les fichiers vidéos, tout comme la spécification pour la balise img, bien que les premières versions de la spécification recommandait le format OGG/Theora. Cette recommandation a été retiré car les membres du consortium ne sont pas arrivés à se mettre d'accord à cause de soit disant doutes sur une possible violation de brevets logiciels dans Theora, et donc des procès planant au dessus de la date de ceux qui l'implémenteraient. Et puis certains voulaient plutôt imposer le format H264, plus performant.

Le problème du H264, c'est qu'il est encombré de brevets logiciels. Il faut aussi passer à la caisse, car il est sujet aux royalties, perçu par le consortium qui l'a créé, MPEG/LA. Et la somme à s'acquitter n'est pas minime puisque ça peut se chiffrer en millions de dollars.

Et comme je l'ai déjà dit dans des billets précédents, il est hors de question pour Mozilla d'intégrer le support de H264 dans Firefox, pour les deux raisons citées. C'est pourquoi Mozilla n'a intégré que le support de Theora, subissant alors nombreuses critiques et mauvaises prédictions, comme quoi Firefox allait mourir, que le web ne pourra se faire sans H264 parce que c'est le standard de l'industrie, parce qu'il existe des puces qui décodent le H264 (très utile dans les smartphones et autres mini ordinateurs). Mais Mozilla a tenu bon, car ils avaient un plan...

Parallèlement, Google rachète il y a un an si je me souviens bien, une petite boîte, ON2, qui est à l'origine de Theora, et qui a développé une nouvelle version du format, VP8, qui a des performances bien meilleures que Theora, comparable à H264 selon Google.

Ils avaient ensuite annoncé il y a quelques semaines qu'ils allaient libérer le format VP8, et qu'il n'y aurait pas de royalties dessus, et à priori, qu'il n'est pas encombré de brevets logiciels. Cette annonce ne fit pas énormément de bruit, car finalement, ils n'ont pas vraiment détaillé. En tout cas, rien ne présageait le coup d'éclat d'aujourd'hui.

Ce coup d'éclat, c'est l'annonce de la libération de VP8. Mais pas seulement. Mozilla en a fait un billet. On peut dire que Google, Mozilla et beaucoup d'autres ont bien caché leur jeu depuis des semaines (aaah les NDA..). Jugez plutôt.

Plus fort encore, une liste a été publiée, présentant des acteurs majeurs qui vont supporter WebM . On y trouve bien sûr des logiciels comme Chrome, Firefox, Opera, mais aussi des gens comme Skype ou encore Adobe, qui indique qu'ils vont supporter WebM dans Flash ! Il y a aussi Microsoft qui a annoncé le support dans IE9, si on installe le codec dans windows.

Et ce n'est pas tout, il y a aussi des fabricants de puces, comme AMD, Texas Instrument ou NVidia, qui vont donc produire des puces de décodage VP8 ! Du très lourd !

Google a donc frappé un grand coup, très fort et bien préparé. Il y a tous les ingrédients pour concurrencer H264 avec succés. Un coup dur je pense pour les supporteurs du H264 comme Apple (qui n'a toujours pas réagi à l'heure où j'écris ces lignes).

Je pense aussi que, contrairement à Theora, et vu l'annonce, VP8 va rapidement percer. Même coté matériel. Si il y a déjà des supporteurs comme AMD ou NVidia, et qu'il y a des expérimentations sur Youtube, c'est que Google a commencé à traiter avec ces fabricants, pour avoir des puces d'encodage le plus rapidement possible, afin de convertir les millions de vidéo du site YouTube en WebM. Car je doute qu'ils le fassent uniquement de manière logiciel, ce serait trop lent. À coté de ça les navigateurs intègrent déjà WebM, donc il y a fort à parier que ce sera disponible dans les prochaines versions stables de Firefox, Chrome et Opera.

Bref, à la fin de l'année, on pourra je pense commencer à utiliser le format VP8 en lieu et place de Theora. Et de H264.

Une très très bonne nouvelle donc pour le monde du web, que ce nouveau codec vidéo libre et performant.

Yummy for Fennec 1.1b1

11-05-2010 à 12:06:00

  • en version
  • version fr

english version

For those who don't know, Yummy is an extension for Firefox Mobile (aka Fennec), wich adds feed support.
I've just released a beta version 1.1b1 for the last Fennec 1.1 beta.
This will be the finale 1.1 in few days if nobody reports me some bugs.

Note that I have bumped the previous version to 1.0 (and added 2 locales). This version is on approval phase for the moment in AMO.

download page

version française

Pour ceux qui ne la connaissent pas, Yummy est une extension pour Firefox Mobile (Fennec), qui ajoute le support des flux.
Je viens de publier une version beta 1.1b1 pour la dernière beta 1.1 de Fennec
Ce sera la version finale 1.1 d'ici quelques jours si personne ne me remonte des bugs.

Au passage, j'ai passé la précédente version à 1.0 (et ajouté 2 locales). Cette version est en phase d'approbation sur AMO.

page de téléchargement

Firefox 3.6.3 disponible au téléchargement

02-04-2010 à 03:18:38

Mozilla vient de sortir la mise à jour 3.6.3 de Firefox. Cette version corrige essentiellement une faille critique de corruption mémoire qui pouvait potentiellement permettre l’exécution de code malveillant à distance. De mon côté j’attends avec impatience la correction des bugs de fenêtrage de Firefox sur Mac OS, présents depuis un bon moment, qui le [...]

Contenu initialement publié sur BeFox - www.befox.be

CSS History Hack corrigé

01-04-2010 à 20:06:00

Grâce au (à cause du) sélecteur css visited, il est possible d'appliquer une propriété différente à un lien html qui a été visité. Cela peut donner une indication visuelle très intéressante lorsque par exemple les liens déjà visités sont d'une couleur différente. Par contre, cela donne aux sites webs, un moyen de connaître la liste des sites que l'utilisateur a visités, ou au moins de savoir lesquels il a visité parmi une liste d'adresses.

En javascript, la méthode getComputedStyle permet de récupérer des informations sur le style réellement appliqué à un élément. Si l'auteur du site déclare que les liens visités doivent être de couleur verte ou de taille 12px qu'il affiche une liste de liens (au besoin en les cachant plus ou moins grossièrement à l'utilisateur), il lui suffit d'utiliser la méthode getComputedStyle pour connaître la couleur ou la taille des liens et ainsi savoir lesquels ont été visités. Il est ainsi possible de tester un grand nombre de sites très rapidement. (démo)

Il est également possible d'utiliser cette technique sans javascript. Par exemple, en utilisant la propriété css background-image qui va afficher telle ou telle image distante pour chaque adresse visitée. Il suffit au site attaquant d'interpréter les logs du serveur web pour savoir quelles images ont été affichées et donc en déduire quels sites ont été visités. (démo).

Ce problème est connu depuis longtemps, au moins 8 ans, et aucune solution n'avait été apportée. Or, le problème vient d'être résolu par Mozilla. Tout d'abord, le comportement de getComputedStyle a été modifié afin de ne plus  retourner le vrai résultat pour les liens visités. D'autre part, on ne peut plus maintenant modifier que  la couleur des liens, et pas les autres propriétés.

Cette correction sera disponible dans les prochaines version de Firefox et permettra d'améliorer la protection de l'historique des utilisateurs, au moins dans Gecko pour l'instant. Elle ne permettra malheureusement pas de le protéger complètement. Il sera toujours possible par exemple d'afficher des images de différents sites et de mesurer le temps de chargement pour essayer de deviner si elles étaient dans le cache. D'autres moyens sont également envisageables. Néanmoins, ce type d'attaque devrait être rendue plus difficile à mettre en place, ce qui est déjà un progrès important.


Mozilla® est marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.