2003-12

2003-12-25

Mozilla bug 218277 contre-attaque

J'ai trouvé la solution au bug de Mozilla que j'avais soumis il y a dix jour. J'ai compilé une version perso de Mozilla sans ce bug et ça fonctionne comme un charme. Cependant me voilà confronté au même genre de problème que celui concernant les espaces insécables : le comportement que je dénonce comme étant un bug a été la volonté un jour d'un des programmeurs de Mozilla :p

Quelques explications s'imposent. Les caractères d'un document (x)html sont représentés par un format précis basé sur une table de caractères, ou « charset » en anglais. Une table de caractères permet de faire la correspondance entre un nombre (une suite de 0 et de 1 dans le document) et un caractère. Par exemple, ce site utilise la table de caractère iso-8859-15. Ainsi la lettre « a » sera représenté par les huit bits suivants : 01100001, soit un octet dont la valeur est 97.

Il peut cependant se poser le problème suivant : comment faire pour représenter dans son document un caractère qui ne se trouve pas dans la table de caractères que l'on a choisie ? Pour cela on a recours à une notation spéciale consistant à effectuer une référence vers la table ultime mondiale de tous les caractères connus, j'ai nommé Unicode.

Voici par exemple la lettre grecque epsilon minuscule : ε. Cette lettre ne se trouve pas dans l'iso-8859-15, par conséquent j'ai utilisé la notation spéciale pour la représenter ici. Cette notation je l'ai écrite : ε. 949 est le nombre qui représente le epsilon en Unicode, et ce nombre est entouré par les caractères « &# » et « ; ». On appelle ça une « référence numérique sur caractère », ou « numeric character references » en anglais. Il faut prendre garde à ne pas oublier le point-virgule. Il arrive que des sites utilisant ce principe s'affichent mal par oubli de ce point-virgule :p

N'abandonnez pas la lecture, vous allez bientôt tout comprendre du bug en question :)

Quand une page (x)html a un formulaire avec un champs texte, et que ce formulaire est envoyé, les caractères sont codés en fonction de la table de caractères spécifiée par la page. Des caractères présents dans la table du document sont codés normalement, les autres utilisent des références numériques.

L'iso-8859-1 est une des tables de caractères les plus utilisées sur l'Internet. Cette table est parfois appelée « latin1 », et permet de coder la plupart des langues occidentales. Mozilla a une faille quand il utilise cette table de caractères dans un document avec un formulaire : des caractères non présents ne se retrouvent pas toujours transformés en références numériques ! De quoi obtenir de bonnes incohérences dans les programmes qui traitent les données reçues.

En fait à l'heure actuelle Mozilla fait la confusion entre l'iso-8859-1 et une autre table de caractères nommée windows-1252. Cette dernière est la table utilisée par Windows pour coder les langues occidentales. Ces deux tables se ressemblent beaucoup, et j'imagine que de là provient la confusion dans le code source de Mozilla... Ou alors le programmeur qui s'est occupé de cette partie avait un peu trop fait la fête la veille. Enfin voilà, c'est le bug 218277.

Vous avez noté que ce site utilise l'iso-8859-15 (aussi appelé « latin9 » ou « latin0 ») car cette table de caractères comble des oublis du latin1 (le symbole euro, des ligatures, etc.). De plus, les pages codées en latin9 ne souffrent pas du bug 218277. Ok, vous me direz que je n'ai pas de formulaires sur mon site, mais si votre site en a, je vous conseille de réfléchir à tout cela :)

J'ai bien sûr soumis un patch dans bugzilla. J'espère que cette correction sera acceptée (du fait que je casse un méchanisme existant) ou que ce bug ne restera pas dans l'oubli comme c'est le cas de nombreux autres bugs dans Mozilla.

2003-12-25

Joyeux Noël 2003 ^^

Pour ceux qui ont fêté Noël, j'espère qu'ils ont bien mangé et ont eu des cadeaux qui leur ont fait plaisir :)

Couverture du Grevisse 13e éditionOn m'a offert un livre que je voulais depuis longtemps, il s'agit de « Le bon usage » de Grevisse. C'est un livre de référence en matière de langue française, surtout concernant la grammaire. Je vais ainsi acquérir pleins de nouvelles connaissances et pouvoir valider mes « Astuces français » ^^

J'ai aussi reçu un album de Reiser. Non je ne parle pas du fameux système de fichier du même nom. Il s'agit du dessinateur à l'humour ravageur qui nous a malheureusement quitté il y a 20 ans. J'ai eu « On vit une époque formidable ». Le dessin est caractéristique du personnage, peut-être un peu dur d'accès de prime abord. Mais il vise juste et on se retrouve par la suite immergé dans de bonnes tranches de rigolade. Il parlait souvent de sujets de société, et il est étonnant de constater que ces sujets sont encore d'actualité.

2003-12-18

Un an d'alternatif

On a failli l'attendre le nouveau Google Zeitgeist. Le dernier mois référencé est celui de novembre. Et ô joie, Mozilla continue de monter :) La série des IE 5.x continue de descendre. Vivement leur crash final dans une belle gerbe incandescente. IE 6 monte encore et toujours, j'espère qu'il va commencer à manquer d'oxygène :)

Voici un an que j'utilise Mozilla Firebird, j'ai commencé avec la version 0.4. Que d'évolution depuis ! Mais déjà à l'époque il m'avait suffisamment plu pour devenir un de mes navigateurs de base. C'était la première fois qu'un navigateur qui n'est pas Internet Explorer soutenait allègrement la comparaison avec ce dernier. De part l'utilisation d'un navigateur alternatif, j'ai aussi mieux compris le rôle des standards web, du W3C et plus largement l'intérêt de ne pas s'enfermer dans une logique propriétaire. J'ai aussi découvert avec plaisir de nombreux blogs sur le sujet.

À propos de ce dernier point, Tristan a évoqué un article très intéressant sur le fait que la technologie FAT devenait désormais payante. FAT ? C'est une méthode de stockage les fichiers sur des disques, ce qu'on appelle un système de fichier dans le jargon (File System). Cette méthode est très populaire, car très ancienne, bien documentée, utilisée par DOS et Windows... mais ça reste la propriété de Microsoft ! Donc maintenant que FAT est très répandu, on fait payer les utilisateurs de ce format. Une chose est sûre, ChuOS n'utilisera pas FAT ^^

À vrai dire c'est bien joué de la part de Microsoft :D Ça me rappelle un peu l'histoire du MP3 qui est très similaire. Enfin bon, les gens sont libres de rester menottés, à condition de le faire en connaissance de cause. Des alternatives existent ! De très bonne qualité de surcroit !

Celui qui est au courant a un rôle à jouer :

  • enseigner qu'un choix s'offre aux gens ;
  • aider ceux qui souhaitent progresser dans une branche alternative ;
  • taper sur les gens bornés parce que c'est rigolo :)

Les efforts continuent, et il est toujours agréable de constater que de nombreuses personnes qui découvrent les alternatives au modèle imposé, quand ces alternatives sont de qualité, font rarement marche arrière. Par exemple, pour revenir aux navigateurs Web, j'ai pleins d'amis qui utilisent désormais Firebird ou Mozilla, et ils en sont très contents :)

2003-12-17

Nouvelle fiche de bug pour Mozilla

Treize jours sans bloguer, et voilà que je retombe sur le même genre de sujet :p Bon au départ je voulais vous parler d'un super effet kitsh de neige qui tombe que j'ai codé et que je comptais utiliser pour habiller mon site. Malheureusement je ne suis pas arrivé à mes fins, les browsers actuels ont encore du mal avec tout ce qui est effets graphiques (c'est douloureux quand on est habitué à utiliser OpenGL).

Bon alors cette nouvelle fiche de bug que j'ai créée sur bugzilla concerne des caractères qui ne sont pas codés correctement quand ils sont soumis dans un formulaire. J'avais découvert ce problème il y a pas mal de temps sur cybercodeur, j'ai enfin pris la peine de le référencer :) Comme ce bug concerne le même module que mon autre bug, si ça je trouve je pourrai aussi jeter un nez dans le code et soumettre un patch.

Bon comme d'habitude, vous êtes cordialement invité à voter pour ce nouveau bug (228779) :D. Ah, et tant qu'on parle de bugzilla, allez voir celui concernant le text-shadow en CSS dont parle Laurent Jouanneau ^^

2003-12-04

Mozilla bug 218277

Aujourd'hui j'ai eu des nouvelles sur ma fiche de bug concernant les espaces insécables dans Mozilla. Et c'est Asa Dotzler en personne qui a répondu 8-o

Bon, je me suis fait refouler pour intégrer ma correction dans la version actuelle de Mozilla, mais c'est quand même la classe de se faire refouler par Asa :D Plus sérieusement, il serait pour une application de la correction lors des prémices d'une version alpha ou beta. Or là, Mozilla 1.6b est sur la fin de son cycle. Il faudra donc attendre Mozilla 1.7a ou 1.7b pour tester mon patch. Je note aussi que Bob Clary demande à Glazou de jeter un ½il sur ce point :o)

Je croise les doigts. Vous pouvez encore voter pour ce bug si ce n'est déjà fait :) (Heum, j'ai l'impression d'écrire un texte pour un site de warez, « please vote for me », mais c'est pour la bonne cause :D). Je remercie au passage ceux qui ont déjà voté, ils se reconnaitront ^^

PngOptimizer 1.3.2

Une toute petite correction pour PngOptimizer. J'avais émis l'hypothèse que des processeurs x86 et compatibles sans MMX n'existaient plus. J'avais donc omis de mettre un code de test de détection de MMX dans mon logiciel. L'exception est arrivée, un utilisateur se plaignant d'un crash inopiné au lancement.

PngOptimizer 1.3.2 corrige ce problème de compatibilité avec les pentiums et pentiums-pro sans MMX. Merci à François Constantineau qui m'a aidé à debugger :)

2003-12-03

Fil RSS

Je me suis enfin motivé pour jeter un coup d'½il sur la signification concrète de RSS et les notions qui en découlent : fil RSS et agrégateur RSS.

J'ai d'abord testé le tout en tant qu'utilisateur. J'ai téléchargé FeedReader et j'ai testé quelques sites comme Cybercodeur ou Standblog. Amusant :) Je regrette tout de même que FeedReader se base sur Internet Explorer pour afficher les pages. J'ai aussi tenté de configurer le format de date, sans succès (il n'a pas pris le format que j'ai défini sous Windows :p). Sinon on trouve aussi une extension pour Firebird.

Une fois la période de test utilisateur passée, je me suis dit qu'il ne serait après tout pas très compliqué de créer un fil RSS pour ce blog. Je me suis donc un peu documenté. Il y a à boire et à manger dans la norme, je n'ai pas tout compris, mais j'ai au moins réussi à obtenir quelque chose qui semble fonctionner et qui valide au validateur RSS.

Voici donc la première version de mon fil RSS. C'est l'½uvre d'un novice en la matière donc vous m'excuserez si des modifications ont lieu de temps en temps :) Mais ça a déjà séduit Anubis qui a joyeusement récupéré et adapté mon code pour faire à son tour son fil RSS. Et pour ta gouverne Anubis, sache que les tartines du soir au fromage fondu sont prioritaires à l'écriture d'un billet :D

2003-12-02

Logo Mozilla

Je n'ai jamais trop aimé le logo de Mozilla, le trouvant laid et peu personnel. C'est pourquoi lorsque Mozilla Firebird a changé de logo pour un oiseau de feu j'ai tout de suite apprécié.

Cependant, aujourd'hui je suis allé sur le site Évangélisons Mozilla et là je suis tombé sur un logo de dragon troooooop mignon ^^ Ça me ferait bien plaisir de voir un tel logo devenir officiel, même si je sais que ce n'est pas possible ;) Les trucs mignons c'est pas « business oriented », sauf peut-être au Japon où l'on trouve des dessins de petits personnages façon manga dans les notices techniques :)