Dual Blog : DeFr's Weblog

Mars 2005Mai 2005Avril 2005

Acid2, un défi aux navigateurs | jeudi 28 avril 2005, 21h33

Commençons par situer le contexte : à la suite de l'annonce par Microsoft d'une nouvelle version d'Internet Explorer, le Wasp, comité destiné à promouvoir l'utilisation des standards sur le Web, à decider de lancer un challenge aux developpeurs : qu'ils fassent en sorte que la version 7 d'Internet Explorer implémente l'ensemble des fonctionnalités CSS que les designers / intégrateurs / programmeurs souhaiteraient pouvoir enfin utiliser sur le Web. Ce challenge, nommé Acid 2, prend une forme simple et à en réalité une portée globale : loin d'être limité à Internet Explorer, il constitue en réalité un défi lancés aux navigateurs, dans le but d'assurer aux webdesigners la possibilité d'utiliser les propriétés testées en étant sur que l'affichage sera celui qu'ils ont demandés. Et de fait, le test, à sa sortie, a mis en évidence des problèmes dans tous les navigateurs du marché, que ce soit Opera, Mozilla et ses dérivés, Konqueror, Safari, ajoutez ici votre navigateur préféré ( j'ai pas précisé Internet Explorer, parce que bon, ca, j'aurais tendance à dire que ca coule de source ).

Le test prend une forme des plus simples pour l'utilisateur final : si le navigateur supporte correctement les propriétés qui sont testés, il devrait voir apparaitre un smiley sur son écran. Dans le cas contraire, il est probable que ce qui s'affiche soit un résultat immonde, qui ne ressemble pas à grand chose. L'idée, simple et efficace, est de passer le message : si votre navigateur n'affiche pas correctement le smiley ci-contre, c'est que les developpeurs n'ont pas fait leur travail, et qu'ils doivent par conséquent revoir leur copie. Pour une personne normale ou quelqu'un souhaitant à comprendre ce qui ne fonctionne pas exactement, ce test est par contre un véritable cauchemard : les auteurs du test ont utilisées des techniques très avancées, destinées à tester tout un tas de fonctionnalités ayant été jugées utiles : data urls, c'est à dire la possibilité d'embarquer des images directement dans le XHTML ou le CSS, de facon à limiter les dépendances sur des fichiers externes ; display:table, qui permette de réaliser des layouts de types tableau à partir du CSS - petite précision ici, au cas où ca ne serait pas clair pour tous les lecteurs, les layouts à plusieurs colonnes / du type courament utilisé avec table ne sont pas forcement mauvais d'un point de vue design ou ergonomie de navigation, ce qui leur est reproché, c'est de détourner un element de ce pour quoi il a été fait, à savoir, utiliser <table> pour faire quelque chose qui n'est réellement pas un tableau - ; position:fixed ; mécanisme de fallback de la balise <object>. Au global, si tous les navigateurs implémentent de la même facon ces propriétés, les possibilités offertes sont des plus appréciables.

Le lecteur suivant plus ou moins l'actualité se demandera peut-être pourquoi mon post arrive si tard après la sortie officielle d'Acid2 : la raison en est simple, le génialissime David Hyatt vient de faire en sorte que les versions de developpements de Safari passe le test ^^ A vrai dire, pour poster, j'attendais qu'il se produise un des deux phénomènes suivant : hyatt fasse en sorte que Safari passe l'intégralité d'Acid2 ou Gecko fasse des progrès significatifs dans le rendu. Quelque part, j'aurais bien aimé pouvoir annoncer de grand progrès de Gecko, mais je dois avouer que la partie rationelle de mon esprit jugeait le premier cas de figure nettement plus probable. En effet, Safari ( et Opera ) sont dans un moment idéal de leur cycle de developpement pour faire des modifications eventuellement profondes sur leurs moteurs de rendu : ils viennent de sortir des nouvelles versions de leurs navigateurs, et par conséquent toute regression potentiellement apparues devraient être facilement repérée largement avant la sortie du produit. A l'opposé, il n'y a pas eu de nouvelles versions publiés par Mozilla.org ( les mises à jour de sécurité, ca ne compte pas réellement ) depuis un bon bout de temps, par conséquent, la prochaine sortie est proche, et le moment mal choisi pour introduire des changements relativement risqués dans le code source.

Toutefois, tout cela n'enleve rien au brio d'Hyatt, qui a réussi en une quinzaine de jours à faire en sorte que WebCore passe ce test, ce qui représente un travail titanesque. Très sympathique, les patchs sont mêmes dans le post, ce qui devrait permettre à l'équipe de developpement de KHTML ( utilisé notamment par Konqueror ) de les intégrer à leur code source, et donc, de faire en sorte que Konqueror passe le test Acid2 a relativement peu de frais. Cependant, je ne suis pas le developpement de Konqueror de près, je n'ai donc pas la moindre idée concernant l'intégration rapide ou non de ces patchs dans la prochaine version de Konqueror. Bien évidement, je vous tiens au courant des progrès qui seront effectués sur Gecko, lorsque progrès il y aura ^^ En je vous laisse sur la douce pensée suivante : imaginez un monde où tous les navigateurs passeraient le test Acid2 ^^

L'experience OS X | mercredi 27 avril 2005, 22h57

Je suis pour la semaine en vacances en Normandie, du côté de Cherbourg - pour être précis, pour les p'tits curieux, et ceux qui ne connaitraient par leur géographie francaise sur le bout des doigts ( genre, erm, moi ? ) - et vu la taille de la commune, le haut débit ne va probablement pas y arriver avant un bon bout de temps. J'ai donc un accès au net plutôt limité, ce qui explique que j'ai pas pris le temps de poster ces derniers jours :/ Toutefois, dans les bagages, il y avait en plus de mon portable le p'tit Mac mini, d'autant plus facilement transportable que j'ai pu me dispenser d'emmener un écran ^^ Je commence donc à avoir quelques heures d'utilisation de Mac à mon actif, j'peux donc faire un premier p'tit bilan de l'experience.

Tout d'abord, à mon arrivée ici, je me suis rendu compte d'une chose : décidement, sur les LCDs plus ou moins bas de gamme, tel celui que j'utilise à Plaisir comme deuxieme écran de mon installation Dual Screen et sur lequel j'avais branché le Mac Mini, le contraste / rendu des couleurs est nettement moins bon que sur un CRT, même bas de gamme. L'écran à tube cathodique que j'ai ici n'a rien de fantastique, c'est un bon vieux 17 pouces achetés dans un super marché de province il y a deux ans, et pourtant, les couleurs y sont nettement plus sympathiques que sur le LCD. Tout ca pour dire que si, sur l'installation de Plaisir, l'interface m'avait semblé un peu moins belle que dans mes souvenirs et/ou reves, le changement d'écran a redonné à Aqua toutes ses lettres de noblesse, et lui donne vraiment un 'tit cachet très sympathique ^^

D'autre part, en raison de cet accès au Net relativement limité, j'ai été amené à tester le Mac Mini dans d'autres domaines que le developpement web sur lequel je passe la plupart de mon temps normallement. Entre autres, j'ai récupéré les photos présentes sur les différentes cartes de l'appareil photo numérique, ce qui m'a permis de découvrir iPhoto plus en détail. Je dois dire que dans une certaine mesure, c'est assez proche de Picasa, mais l'intégration d'iPhoto avec le système d'exploitation lui permet de detecter la carte dès son insertion dans le lecteur de carte de l'imprimante, et d'adapter son interface en conséquence. J'avoue ne pas m'être lancé dans de grands travaux de retouches d'images, donc, vous n'aurez pas d'analyse poussée des fonctionnalités offertes, toutefois, un point qui m'a relativement surpis, je me dois de mentionner que pour le moment, même en ayant pas mal d'applications ouvertes, iPhoto affiche sans aucun problème la gallerie des 150 photos que j'ai pour le moment récupérée. Reste à voir l'évolution des performances quand le nombre de photos croit. Autre point ou Mac OS X fait fort : il a suffit que je branche l'imprimante en USB pour qu'elle soit automatiquement reconnue, ajoutée et paramétrée, et qu'elle devienne instantanément utilisable dans tous les logiciels. Nifty.

Autre domaine exploré, XCode. Enfin, une toute petite partie d'XCode pour le moment, puisque je me suis contenté d'importer un de mes projets utilisant "make" pour travailler dessus, donc, je n'utilise pas réellement les fonctionnalités avancées de XCode. Toutefois, je dois dire que ce que là encore, ce que j'en ai vu est plutot sympathique : l'idée d'un front-end regroupant les capacités d'editeurs de code / lanceur de compilation permettent de "visualiser" les erreurs, en indiquant par un signe la ligne ou le compilateur a detecté un problème, et en permettant d'y acceder en un clic. Au dela du fait que continuer à developper le Scrabble des chiffres, projet de cette année en Algorithmique à Centrale Nantes soit assez divertissant, l'idée est de coder, coder et encore coder afin d'écrire tout plein de fois tous ces caractères qu'Apple a jugé bon de déplacer. Et je dois dire que ca rentre, et sort même presque naturellement maintenant, même si je trouve toujours relativement lourd d'avoir à appuyer sur trois touches pour sortir un malheureux crochet.

D'un point de vue plus général, je pense toutefois qu'il est relativement plus dur de passer de Windows à Mac OS X que de Windows à Linux, du moins pour les deux types d'utilisateurs aux extrémités du spectre, c'est à dire les utilisateurs lambdas et les power user. Les utilisateurs lambdas ne verront en gros aucune différence entre Windows et Linux, et c'est ce qui les séduira : la seule chose qu'ils souhaitent de leur ordinateur, c'est qu'il fasse ce qu'ils demandent, et ils n'ont pas grand chose à faire de la facon dont ca se passe en coulisses. Pour eux, passer à Mac OS X, c'est la necessité de se faire à un mode de travail différent, avec une barre commune à tous les logiciels situés un haut, un dock qui recense les applications ouvertes, mais pas de facon immédiate les fenetres de ses applications, en somme, des changements auxquels ils peuvent certes s'adapter, mais dont ils ne percoivent pas l'interet. Pour les power users, si la situation est la même, les origines sont toutes autres : la plupart des fonctionnalités qu'ils utilisent couramment ont changés de place. Deux exemples très concrets : sur Windows comme sur Linux, l'utilisateur commence les raccourcis claviers destinés aux applications par la touche Ctrl. Ainsi, Ctrl P sert à demander l'impression, Ctrl A a selectionner tous les elements, Ctrl Z à annuler la dernière action effectuée... La touche Ctrl existe sous Mac, le concept des raccourcis claviers aussi, cependant, les raccourcis ne commencent plus par Ctrl mais par Pomme. Il va donc y avoir un temps d'adaptation relativement long pendant lequel les doigts vont placer naturellement au dessus de Ctrl lors du passage au Mac, et le power user va se retrouver à pester parce que ca ne fonctionne pas. De même, sous Windows comme sous Linux, dans une arborescende de fichiers ou une fenetre d'explorateur, la touche F2 permet de renommer le fichier, et Entrée de le lancer dans son application par défaut... Sous Mac, F2 ne fait rien du tout, et pour renommer un fichier, il faut appuyer sur Entrée, ce qui la première fois semble completement non naturel.

Toutefois, je m'y attendais en achetant un Mac, je ne suis donc pas particulierement surpris ^^ Et je compte bien continuer mes découvertes du Mac, tout en maintenant mon PC principal sous Linux - parce que quand même, mine de rien, la philosophie, c'est important, et la philosophie du logiciel libre, j'y tiens ^^. Mais je peux dès à présent dire : j'ai expérimentés et peu me débrouiller sans réelles difficultés avec maintenant trois systèmes d'exploitations, et j'irais je pense jusqu'à dire : les trois systèmes d'exploitations qui ont un impact réel.

AdiumX et autres joyeusetés | dimanche 24 avril 2005, 22h20

Mood: Tongue

Bon, à la base, je ne voulais parler que d'AdiumX dans ce post, mais comme j'suis pas intégrallement entierement sur d'avoir de quoi remplir un post complet là dessus, et que j'ai quelques autres trucs à glisser aussi, j'me suis dit que j'pouvais aussi bien élargir un peu le titre ^^; Comme ca, j'peux déja commencer en vous disant que j'ai craqué et acheté hier ( Samedi 23 Avril ) un clavier Mac, qui, au dela d'être joli, présente l'avantage d'avoir de serigraphier les touches à l'endroit où elles se trouvent réellement. Pas toutes les touches, notez-bien, pour une raison un peu inconnue, Apple n'a pas juger utile d'indiquer sur ses claviers l'emplacement des touches {, }, [ et ] qui sont pourtant un peu beaucoup utilisé en programmation, notamment quand on programme en PHP / CSS. Embettant mais moins grave dans le sens où là, elles sont indiqués, le fait que les touches = et ! ne soient plus à la même place nuit également à ma productivité d'un point de vue code. M'enfin, j'pense que j'suis sur la bonne voie, puisque j'ai pas eu à regarder le clavier pour les écrire dans ce post...

Ceux qui ont suivi d'un peu près les commentaires de mon post précédent ont vu qu'entre autre, une de mes préoccupations était de trouver un client de messagerie sympathique. J'ai bien essayé - et même reessayer en fait - rien à faire, aussi bien sous Linux que sous OS X, je n'arrive pas à accrocher, quelque chose dans l'interface m'empeche de prendre plaisir à l'utiliser. Désolé pour les developpeurs quebecois bossant sur le projet, mais... Toujours est-il que je suis tomber aujourd'hui, dans Joystick, sur un article parlant de MirandaIM, et dans lequel il était fait référence à AdiumX, un client très sympathique pour OS X. Comme ce qu'on me dit ne tombe pas dans l'oreille d'un sourd, ni une, ni deux, je demande au fidèle Google de me trouver une adresse, pour voir ca de plus près.

Et là, pour ainsi dire, l'extase. Tout d'abord, le petit badge en bas me fait chaud au coeur : le projet utilise LibGaim, c'est à dire le code de Gaim, mon client fétiche sous Linux, pour se connecter aux différents réseaux. Ce qui signifie un accès transparent à des réseaux multiples - MSN, ICQ, AIM, Jabber, IRC pour ne citer que les plus courants - pas de limitation sur le nombre de comptes MSN connectés, en somme, du tout bon ^^ D'autant plus que l'utilisation de libGaim laisse présager que AdiumX est un projet libre, ce qui se verra instantanément confirmer par le fait que mon clic sur le bouton Download amène sur un lien SourceForge. Pendant que le téléchargement s'effectue, je lie un peu plus en détail la page, qui me confirme qu'AdiumX est un projet sous license GPL, youpi ^^

Tout ca, c'est bien beau, mais aMSN aussi est un projet libre, donc, il est scientifiquement prouvé que cela seul ne peut me satisfaire. Le téléchargement est fini, il est donc temps de voir ce que ca donne ^^ Et, là, je dois avouer que dès l'ouverture sur la fenetre de préference pour que je fournisse les renseignements sur mon compte, je suis rassuré : c'est à la fois natif OS X - comme dans le logiciel ne fait pas tâche au milieu d'autre applications OS X - et plutot bien fait, mais ca, je vais vous en laisser juge avec le premier screenshot de ce post qui arrive là maintenant tout de suite ^^

Fenetre de préferences, dans un style purement OSX

Ah, j'avais oublié aussi, avant même la fenetre de préference, j'ai apprécié une chose chez Admium, en temps qu'utilisateur neophyte de Mac : une fois le .dmg décompresser, le fichier contient clairement la mention "Pour installer ce logiciel, copier l'icône d'Admium dans le dossier Applications". Certes, l'absence de cette mention dans les distributions de Camino, Firerfox, The Gimp ou MSN Messenger pour Mac m'ont fait découvrir ce mécanisme par moi-même, mais bon, c'est initiallement déroutant. Surtout pour un système basé sur Unix en fait, parce que je n'aurais initiallement pas pensé qu'un utilisateur normal possédait les droits d'écritures sur le dossier Applications... J'dois probablement être trop adepte de Linux pour tester des trucs qu'une personne plus lambda essaierait de suite.

Après cette aparté sur l'installation, revenons donc à l'utilisation d'AdiumX lui-même. Une bonne fenetre de préférences, c'est certe un bon début, mais loin d'être tout. Parce que je sais pas vous, mais moi, la majorité de mon temps dans un logiciel de messagerie, je la passe plutot à m'en servir pour chatter qu'à configurer ses préférences ^^;

Bonheur intense, cher AdiumX, votre ramage se rapporte à votre plumage" - j'introduis mes quotes de facon bizarre si j'veux d'aboord - et l'interface des messages est très sympathique. Là encore, je vais vous en laisser juge, avec une petite capture d'écran


Un ch'tit clic pour agrandir, non, je n'utiliserais pas enlarge...

Petite précision, pour ce screenshot, je n'ai pas utilisé le thème par défaut, mais un autre récupéré sur AdiumX(tras) qui a tout plein de ressources interessantes du genre icones pour dock, thème pour liste de contacts, thème pour fenetre de conversation etc. Et, je vous ai gardé le plus beau pour la fin : je n'ai pas encore regardé ca de très près, mais à priori, l'ensemble des thèmes est en (X?)HTML / CSS, ce qui est, à mon humble avis de webdeveloper, ubber nifty ^^;

Ah, et aussi, définitivement, je crois qu'il va falloir que je me décide à mettre ma barette de 512Mo de RAM dans mon Mac mini, définitivement quand on commence à avoir quelques applications ouvertes - bon, d'accord, pas mal, Finder, Safari, iCal, Camino, Firefox, Adium, Apercu, Gimp, Capture et Transit - ca devient un chouia moins agréable à utiliser. Je sais pas exactement dire pourquoi, le génie effect restant relativement fluide, mais les applications semblent globalement moins répondante :/ Maaaiis, comme j'ai envie de conclure ce post sur une note positive, j'vais juste dire : Adium, c'est tip top ^^

Moi aussi, j'peux faire des posts sans texte ! | vendredi 22 avril 2005, 22h36

Bon, alors, en fait, pour être honnete, completement sans texte, j'peux pas, c'est vraiment trop contre nature... Mais disons, avec nettement moins de texte que d'habitude ^^; Just have a look :


Un gros carton pas très joli

A l'interieur du quel se trouve un emballage déja nettement plus attrayant

Qui revelle à l'ouverture une jolie pochette

Sous laquelle est situé l'objet de toutes les convoitises

Et aussi une alimentation

Une fois sortie de son écrin, le joyau brille de mille feu

Dual Blog, affiché dans Safari, un dock relativement bondé, et deux conversations MSN en arrière plan
Joyau qui permet, une fois branché, d'obtenir enfin l'environnement pendant si longtemps convoité

Bon, et puis, comme je peux pas m'empêcher de faire quelques commentaires histoire d'avoir du texte dans ce post aussi, je dois dire que je ne suis pas décu par le look & feel, assez agréable ( même si je pense que rajouter un peu de RAM ne va pas lui faire de mal ), mais, pour un utilisateur de PC, je dois avouer que le clavier est particulièrement déstabilisant. Autant, j'ai pum me faire assez vite à l'emplacement sur Mac de certaines touches genre le "@", autant, j'ai énormement de mal avec l'emplacement du "!". Quant à l'emplacement des "{" et "}" pourtant fort utile, n'en parlons pas. M'enfin, je pense que tout ca, c'est une question d'habitude, qui devrait relativement vite rentré dans les moeurs - comme les claviers qwertys en fait, que j'peux maintenant utiliser sans perdre trooop de temps - surtout si j'me mets à programmer avec le Mac Mini ^^;

<abbr title='Mega-Poudlard'>MP</abbr>, la renaissance | jeudi 21 avril 2005, 22h29

Mood: Clop

Depuis maintenant approximativement trois semaines maintenant, je me suis remis sérieusement à coder sur Mega-Poudlard, site particulierement sympathique pour tous les fans de Harry Potter... Le site était dans un état de relative stagnation depuis son transfert d'un serveur ASP à un serveur PHP il y a déja bien longtemps, puisque j'avais du recoder l'ensemble du site relativement à la hâte, n'avait donc pas réellement pu procéder aux audits de sécurité necessaire, et donc pas ré-ouvert au public les inscriptions. Par conséquent, seuls les membres inscrits et actifs au changement de serveur pouvait encore y acceder, ce qui limitait fortement l'activité ^^; D'autant plus qu'un certain nombre de fonctions relativement indispensable au fonctionnement de L'Ecole de Sorcellerie Mega-Poudlard manquait à l'appel, notament un moyen pour les profs de gérer leurs cours, corriger les devoirs...

Ces premières semaines ont donc été consacrées a l'implémentation de l'ensemble des fonctionnalités manquantes, à la correction d'une bonne quantité de bug en tout genre, et à l'amellioration de la sécurité du site - plus précisement, l'élimination des possibilités de cross-site scripting et la sécurisation des données de façon à ce que même si quelqu'un récupere les données d'authentification d'un utilisateur, elle ne lui serve à rien. Tout ca avec un but unique en tête : pouvoir réouvrir au grand public les portes de Mega-Poudlard ^^ Non seulement l'apport de sang neuf dans un site amène générallement des tonnes de membres motivés, mais aussi, et c'est à mon sens encore plus important, des idées nouvelles, parfois excelllentes.

Maintenant que cette étape est passée - et je dois dire que les résultats, après l'ouverture, sont au-dessus de mes esperances -, il me semble necessaire de m'attaquer à un autre problème de MP, qui est probablement invisible pour la majorité des utilisateurs, mais qui me chagrine énormement : la structure HTML du site date. Beaucoup. Il faut dire que si le code côté serveur à évoluer de facon notable entre la création du site et maintenant, la structure HTML, elle, n'a pas bougé, depuis probablement 2002. Cependant, les techniques, quant à elle, ont notablement evolués : ainsi, le design utilisant un tableau, acceptable à époque, est devenu completement obsolète. Ma prochaine étape est de changer tout ca ^^;

Cela va passer par plusieurs étapes, puisque certes l'odieux <table> pour structuré la page doit s'en aller, mais le but reste d'obtenir au final quelque chose de sémantiquement sympathique, qui idéalement pourra être vu de façon harmonieuse en désactivant tous les styles CSS, passera parfaitement dans tout logiciel de synthèse vocal, et autres considérations qui sont aujourd'hui à prendre en compte.

Une des questions qui restent entière concerne la conservation ou non du système actuel de thème, propriétaire, pour éventuellement le remplacer par des alternate stylesheet. En effet, pour le moment, le système est très peu flexible, et repose simplement sur le chargement de fichiers ( images, feuilles de styles ) de même nom, situés dans des repertoires différents. Passer à des alternates stylesheets présenteraient l'avantage non négligeable de permettre au navigateur du client de changer l'apparence à la volée, ce qui est nettement plus flexible que la necessité actuelle d'editer son profil pour modifier ces informations.

L'autre avantage de cette approche serait de permettre, modulo l'attribution d'id approprié, de passer les images-titre des pages - par exemple, l'image disant "Babillard" sur la page d'accueil - par des <h2> , rendant ainsi l'importance de l'information évidente d'un point de vue sémantique. Le problème, c'est qu'une telle modification necessite de modifier tout à la fois un bon nombre de pages du site et de charger de facon non négligeable les différentes feuilles de style. Et je ne pense pas qu'on puisse faire en sorte qu'une feuille de style affecte le rendu d'un image replacement en sIFR, si ?

Le coût en temps de la migration vers un site sémantiquement propre, pour un site comme MP, ne va donc probablement pas être négligeable. Cependant, je pense sincèrement que c'est là du temps bien investi, et pas seulement parce que ca me permettra de rajouter Mega-Poudlard sur mon CV sans aucune honte. En effet, la migration devrait permettre notamment un beaucoup plus grand degré de liberté dans les différents designs possibles pour le site que ce qu'il est actuellement possible de faire pour le moment, et surtout, le gain en accessibilité justifie à lui seul qu'on se donne du mal : si Mega-Poudlard pouvait démontrer que l'on peut réunir en un site des personnes souffrant de tout type de handicap, et les amener à s'amuser ensemble, je serais l'un des plus heureux des webmasters ^^

XULRunner | mercredi 20 avril 2005, 23h14

Mood: Goggle

Certes, j'ai l'habitude de faire des titres longs, mais là, hop, j'me suis dit que j'allais changer, parce que des habitudes, c'est fait pour être bousculer. Du coup, le lecteur risque d'être un peu perdu, toutefois, pas d'inquietude, je vais quand même situer le contexte là maintenant tout de suite. Information de fond : XUL Runner est un projet de Mozilla - enfin, ou la Mozilla Fundation, ca dépend du point de vue - destiné à faire sortir le langage XUL du cadre des applications webs necessitant l'utilisation d'un navigateur ( Allizom, Firefox, Camino ou n'importe quel navigateur basé sur Gecko ) où il est pour le moment majoritairement cantonné. Comme c'est peut-être un peu technique, comme définition, on va voir en pratique ce que ca veut dire dans le paragraphe suivant, qui arrive immédiatement.

Une des particularités de l'ensemble des produits dérivant de Gecko, le moteur de Mozilla, est l'utilisation d'un format spécifique pour définir l'apparence de l'application : XUL, un langage dérivé de XML et inventé par David Hyatt. Couplé à des instructions CSS, le XUL permet tout aussi bien de créer des applications s'intégrant parfaitement avec le système d'exploitation de l'utilisateur que des interfaces totalement délirantes, aux couleurs psychédéliques et à l'ergonomie révolutionnaire - pas forcement en bien, mais bon, c'est comme dans toutes les révolutions hein. Ce format à plusieurs avantages, notamment celui d'être entierement modifiable, puisqu'il s'agit somme toute d'un simple fichier texte, d'être très modulable, et de permettre facilement l'inclusion d'extension.

Cependant, pour pouvoir béneficier de tous les avantages du XUL, il faut un moteur de rendu, c'est à dire quelque chose qui comprend le XUL et peut le transformer en quelque chose de compréhensible par le système d'exploitation sur lequel le logiciel fonctionne. Et c'est là que le bât blaisse : avant XUL Runner, il était impossible d'avoir le moteur séparement, et donc toute application souhaitant utilisé le XUL devait soit intégrer le moteur aussi, soit passer par un navigateur avant d'être afficher. Relativement contraignant, et surtout, du téléchargement inutile pour le client : c'est en effet la raison pour laquelle le téléchargement combiné de Firefox et de Thunderbird pèse au total plus lourd que le téléchargement de la suite Mozilla, puisque pour le moment, Firefox et Thunderbird intègre chacun un moteur, alors que Mozilla en a un pour l'ensemble des composants.

XULRunner est donc, de facon schématique, ce moteur de rendu, seul. Par conséquent, XULRunner per se - j'sors des expressions latines alors que j'ai pas fait de latin depuis 6 ans si j'veux d'abord - ne fournit pas de fonctionnalités interessantes pour l'utilisateur finale. En effet, il joue uniquement le rôle d'intermédiaire. Cependant, ce projet présente des aspects particulierement interessant. Commencons par le plus utopiste : dans un monde ou XUL Runner serait installé sur tous les ordinateurs, on pourrait developper des applications passant sur n'importe quel système d'exploitation, de façon rapide, et n'avoir à distribuer que les fichiers XUL - CSS - JS dans un .jar, ce qui représenterait un gain de temps, de place et d'efficacité très agréable.

De façon plus pragmatique, il sera d'hors et déja possible d'offrir aux utilisateurs deux types de téléchargement, l'un comprenant les fichiers XUL accompagnés de XUL Runner pour ceux ne l'ayant pas encore récupéré, les fichiers XUL seuls pour les autres. Toute la difficulté de cette approche réside dans la necessité d'introduire aux utilisateurs finaux la notion de ce qu'est XUL Runner pour que ces derniers choisissent le bon lien en téléchargement, mais les avantages restent assez sympathiques

D'autre part, il était en projet, et je suppose que ca l'est toujours, de faire en sorte que Thunderbird et Firefox puisse tous les deux s'executer à partir d'un moteur partagé, donc, de XUL Runner, ce qui permettrait d'alléger les téléchargements de chacun de ses deux produits. Idéallement, cela devrait même assurer que tout utilisateur de Firefox ou de Thunderbird voit son ordinateur pourvu de XUL Runner, et soit donc capable d'executer de lire et interpréter des fichiers XUL. Certes, je ne pense pas que Firefox soit réellement installé sur tous les PCs, donc, ca ne permet pas tout à fait d'atteindre le point de vue utopiste précédent, mais cela fournirait déja une base relativement importante de gens dont les PCs se verraient dotés de XUL Runner

Démineur en XUL
Edit : Petite démonstration de ce qu'on peut faire facilement en XUL et JavaScript, lorsque XULRunner est installer. Pris sur mon PC avec la version de XULRunner que j'ai compilé ce matin ^^

Pour plus d'informations, je conseille de consulter l'article du wiki de mozilla.org sur XULRunner, à mon avis assez complet, mais qui détaille plutot cela d'un point de vue developpeur. Toutefois, il faut dire qu'à ce stade du produit, ce sont surtout eux qui seront interessés par le produit. Les utilisateurs finaux ne verront probablement pas la différence entre un produit utilisant XUL d'une application native, et, quelque part, c'est peut-être ca le plus beau. ( Enfin, tout dépend des utilisateurs finaux considérés, ceux utilisant plusieurs systèmes d'exploitations distincts seront très content de pouvoir retrouver la même application sur l'ensemble des ordinateurs sur lequel il travaille ^^; )

Gravatars et commentaires | mardi 19 avril 2005, 21h58

Mood: Neutral

Le fait de programmer pas mal sur Mega-Poudlard ces derniers temps à entrainer une relative stagnation du blog ces derniers temps, alors que j'avais pas mal d'idée de trucs à rajouter depuis un certain temps ^^; Le commentaire de m'sieur Kévin - et le défi implicite qu'il contient, si si, j'vous assure qu'il est là - m'a décidé à m'y mettre, étant donné que j'avais déja fait evolué MP de façon relativement satisfaisante pour la journée... Prochain grand plan, rendre le site conforme HTML 4.01, le XHTML me semblant relativement difficile à atteindre avec toutes les parties interactives du site, et étant donné que Tidy n'a pas l'air d'être installer sur le serveur... Vivement PHP 5

Après cette légere disgression, revenons-en donc au sujet qui nous occupe plus particulièrement ici, à savoir les modifications que j'ai apporté à ce blog dans la soirée ^^. Tout d'abord, vous aurez remarquer - ou pas - que la section Have To Do... a été remplacé par une section Commentaires. En effet, depuis que j'ai ajouté des permaliens sur l'ensemble de mes posts, Google les index tous séparement, et donc, un visiteur peut se retrouver à poster sur n'importe quel post s'il y arrive par un moteur de recherche... Or, croyez-le ou non, je ne passe pas réellement ma vie à contempler mes archives, par conséquent, si un commentaire était posté sur un de mes billets anciens, j'avais toutes les chances de passer à côté.

Il fallait donc réagir, et ajouter quelque part une liste des derniers commentaires ajoutés au blog, tous posts confondus. Cependant, étant donné que la largeur critique pour passer en 800x600 était atteinte avec le nombre de section déja présent, je ne pouvais pas réellement simplement me dire : oh, bah, j'vais rajouter une nouvelle section et puis voila ; un sacrifice était necessaire. Le choix n'a pas réellement été très compliqué, étant donné que pour une raison un peu étrange, je ne mettais jamais à jour la section des choses à faire... Elle nous a donc malheureusement quitté, mais je vous rassure, elle n'a pas souffert dans l'opération.

Theoriquement, je pense changer l'icone un de ces jours, mais comme celle qui était présente pour les ToDo est relativement adapté pour représenter les commentaires aussi, je dois vous avouer que ce n'est pas ce qui à la plus grande priorité sur ma ToDo list - parce qu'en fait, j'en ai une quand même, mais elle est plutot en local sur mon PC, j'ai jamais pris le temps de sortir un peu de code Python qui permettrait de synchroniser les taches en ligne et celles sur mon PC. Toutefois, l'icone sera probablement changé un jour ^^;

Deuxieme changement technique sur Dual Blog, l'arrivé, dans les commentaires, des GRAvatar - Globally Recognizable Avatar, ou Avatar Globallement Reconnaissable en bon vieux français - qui sont un projet relativement sympathique permettant à une personne d'avoir la même image qui lui est associé sur tous les commentaires qu'elle peut faire, pour peut d'utiliser partout la même adresse e-mail. J'avais suivi le lancement de la technologie, mais, pour une raison non identifié, jamais regardé le fonctionnement technique qui m'aurait permis de l'implémenter.

M'sieur Kévin - oui, encore lui, il est partout, c'est fou ca nan ? J'suis sur qu'il doit avoir un plan secret de domination mondiale en fait - a changé la donne en me disant qu'il comptait l'activer sur KissCoolBlog. J'me suis dit que dans ce cas là, il fallait que Dual Blog fournise aussi cette technologie, parce que bon, quand même, j'vais quand même pas laisser un utilisateur de DotClear dire qu'il peut avoir des trucs que j'saurais pas implementer :P. D'autant plus que la lecture de la spécification m'a conforté dans l'idée que réellement, l'implémentation serait assez rapide.

Aussi tôt dit, aussi tôt fait - ou presque, pour être tout à fait honnete, j'ai du regarder la spécification hier. Vous pouvez donc voir dans les commentaires apparaitre les jolis avatars choisis par leurs auteurs, et, à condition d'utiliser Somatic comme AltSS, vous devriez avoir un affichage joli tout plein dans un cadre ressemblant à celui des indicateurs d'humeur. Si vous utilisez une autre stylesheet, erm, j'm'occupe de vous aussi, mais, un peu plus tard ^^; J'pense que j'rajouterais les styles sur les indicateurs d'humeurs et les gravatars dans pas trèès longtemps, eventuellement p'tet ce soir, mais j'promets rien.

Enfin, pour les petits curieux qui se demandent ce qui est à venir, erm, à priori, un meilleur affichage des trackforwards, et une amellioration de l'interface de dialogue en XML, pour pouvoir par exemple poster à partir de logiciel externe, ou synchroniser une hypothétique liste de tâches facilement ^^

Parc informatique : on reprend les choses en main | lundi 18 avril 2005, 21h32

Mood: Tongue

Bon, un des posts du mois dernier faisait état des problèmes des différents PCs de la maison, et était relativement pessimiste sur l'état général. Etant donné que je suis maintenant en vacances, j'ai bien évidement décidé de ne pas laisser la situation empiré plus longtemps, et j'ai donc pris quelques mesures drastiques... avec des résultats, je dois l'avouer, au dessus de mes espérances ^^

Tout d'abord, j'ai décidé de m'occuper de ce qui m'embettait le plus : mon PC et son instabilité chronique du à un problème matériel. Ni la carte mère, ni le processeur, acheté depuis déja un certain temps, ne sont sous garanties, et après un petit tour chez mon revendeur habituel rend un bilan très clair : des XP 2400 , ca ne se fait plus, des cartes mères de cette génération là, pas tellement non plus. La décision est prise, on va donc upgrader le PC. Et tant qu'à faire, autant s'orienter vers une des architectures du futur ( dixit Linus Torvalds ), à savoir l'AMD 64. Les raisons de ce choix sont multiples, mais les facteurs principaux ayant motivé la décision ont été d'une part le cout relativement faible d'un processuer AMD64 3000 , et d'autre part le fait que Linux, depuis longtemps déja, tourne de facon optimisé en 64 bits sur les AMD64.

Je pensais donc gagner un peu de puissance, et me couvrir pour l'avenir. Enorme erreur, j'ai en réalité gagner beaucoup de puissance ^^. Et de la puissance supplémentaire, quand on compile sa petite nightly de Firefox tous les jours, et qu'on a Gentoo comme distribution, c'est particulierement appréciable. Exemple très concret : sur mon Athlon XP 2400 , compiler OpenOffice prenait entre 6 et 10h, suivant ce que je faisais en même temps. L'A64 3000 m'a permis de compiler le tout en 4h, soit un gain net de 2h ou 33% sur le meilleur temps ^^ Le plus beau, c'est que ca c'est vérifié sur à peu près tout le système. De plus, le changement de carte mère et processeur à redonner à ce système sa stabilité légendaire : pour remettre à jour mon système Gentoo, je pense que le système a bien du tourner pendant un minimum de 16h à compiler, le processeur utilisé à 100%, sans le moindre problème ^^

Le plus impressionant, c'est que tous ses résultats sont obtenus sans utiliser intégrallement les capacités de l'athlon 64. En effet, dans le but de retrouver rapidement un système opérationel, je me suis contenté de redemarrer avec mon installation 32 bits de Gentoo, donc l'ensemble de mon système est, pour le moment, encore en 32 bits. Le passage à 64 bits devrait encore amelliorer les performances, mais je sais pas si je vais le faire de suite, étant donné que ca necessite de relancer une installation relativement longue de Gentoo... Ca sera peut-être fait d'ici la fin des vacances, mais c'est pas entierement sur.

Le portable est quand à lui parti en réparation chez le pôpa de la meilleure amie de ma soeur, qui a accès à des pièces pour portable... Il va regarder ce qu'il peut faire ^^ Parce que j'dois avouer que des lecteurs pour portable, c'est pas ce qui se trouve le plus facilement :/ Il n'est d'ailleurs pas certain de pouvoir en trouver, mais c'est déja très sympa d'essayer ^^ Au pire, je peux continuer d'utiliser ce portable sans lecteur de CD, mais c'est embettant dans le sens ou ca lui confére quand même une autonomie somme toute limité, et le rend incapable de lire un CD Audio, ou d'autres trucs du même genre.

Non mentionné dans le post, parce que ca ne m'était pas encore arrivé au moment de l'écriture, mais néanmoins très embettant : une coupure d'electricité à Nantes à completement grillé mon PC nantais, ce qui m'a particulierement embetté je dois dire. Le symptôme majeur : plus rien sur les écrans, et après différents tests, les écrans et la carte graphique sont hors de cause... J'ai donc ramené carte mère, processeur et RAM à mon revendeur, vu qu'ils sont sous garantis ^^ Il regarde de plus près ce qu'ils ont, et me tiens au courant normallement, j'peux donc légitimement espéré avoir un PC en état de fonctionnement à mon retour à Nantes dans deux semaines.

Accessoirement, c'est pas réelement ce qu'on pourrait appeller réparer un problème, mais, j'ai aussi craqué et commandé un Mac mini, qui devrait normallement arrivé dans la semaine ^^; Depuis le temps que j'hésitais, tergiversais, me demandais, voila, j'ai enfin franchi le pas, et devrait donc bientot me retrouver avec mon premier Mac entre les mains ^^ J'crois que ca va faire étrange, notamment avec les customizations pour faire ressembler mon Windows à un Mac dans l'temps... Me retrouver avec l'original, le vrai de vrai OS X entre les mains ? Je sais pas si tout va être comme je l'imaginais, probablement pas d'ailleurs, mais qu'importe, j'aurais au moins fait l'expérience, et pourrait me faire une opinion sur les Macs en toute connaissance de cause ^^ Et, au global, je dois dire que je suis finalement assez content d'avoir attendu, étant donné que ca va me permettre d'avoir la mise à jour vers Tiger gratuitement... si jamais j'avais acheté un Mac Mini avant le 12 avril, je me serais retrouvé obligé de payé pour la mise à jour vers Tiger, et lààà, ca rajoute tout de même 90€ ( tarif étudiant ) au prix de l'ensemble, soit 20%. J'trouve tout de même que la différence est non négligeable...

Evidement, pour aller avec un 'tit Mac mini, je crois qu'il va me falloir un iPod mini, histoire d'avoir deux périphériques Apple, sinon, ils risquent de se sentir seul... Mais bon, l'iPod attendra probablement la fin de ma première étude pour la Junior Entreprise de Centrale Nantes, Centrale Nantes Etudes ^^; Je suis sur que si je vous le dis pas, vous devinerez jamais, donc, je vous en informe : ca consistera à réaliser un site web, normallement, j'devrais pouvoir m'en sortir ;-)

Algorithmes de hashage : interet et petit point sur md5 | dimanche 17 avril 2005, 21h36

Mood: Goggle

Les personnes faisant beaucoup de téléchargement ( non, je ne vise personne en particulier :p ) auront sans doute déja rencontrés au moins une fois, offert en même temps que le telechargement du logiciel, un lien vers un fichier nommé md5sum, ou un nom approchant... Avec la grande interrogation : mais qu'est-ce que j'suis supposé en faire ? En effet, le fichier md5, s'il présente l'avantage de se télécharger très rapidement, n'a aucune utilisé en soit, il ne contient que du texte. Il n'est d'ailleurs pas utile au fichier que l'on veut télécharger non plus, puisqu'on peut parfaitement lancer ce qu'on a téléchargé sans avoir pris la peine de choper le md5, et ca fonctionne. Alors, quelle lubie a donc pris les informaticiens de distribuer deux fichiers quand un seul aurait suffit ?

En réalité, la réponse est simple : l'idée du fichier md5, c'est qu'il constitue en quelque sorte la signature du fichier qui a été mis en ligne par le webmaster. L'interet net pour le visiteur est donc situé à deux niveaux. Le premier est plus historique que réellement pratique : quand j'étais jeune ( ;-) ) il arrivait que, sans raison apparente, le téléchargement est un problème, et qu'un ou deux octets du fichier téléchargé ne soient pas les mêmes que ceux du serveur. La signature du fichier permet alors de se rendre compte du problème, et de recommencer le téléchargement. Cela dit, je dois avouer que ce genre de problème ne m'est plus arrivé depuis des lustres, et je ne pense pas être le seul dans ce cas. Comme la prolifération des signatures md5 est relativement récentes, il y a donc une autre explication : le deuxieme effet KissCool ( désolé pour ceux n'ayant pas vu la pub, j'sais pas si ca passe partout dans le monde ) de distribuer les signatures en même temps que les fichiers, c'est qu'on se previent alors en partie d'éventuelles attaques contre le serveur. Certes, ca ne va pas miraculeusement renforcer la sécurité d'Apache, mais la présence de la signature permet de vérifier que le fichier que l'on télécharge est celui prévu par le webmaster, et non pas un fichier qui aurait été placé là par un cracker mal veillant.

Cependant, d'une facon plus générale, md5 designe un algorithme, d'une catégorie bien particuliere, appellée algorithme de hashage. Le but d'un tel algorithme est de fournir, pour un fichier ou texte donné, une représentation quasi-unique sous la forme d'une chaine de caractère, de longueur tout à fait acceptable. C'est cette chaine de caractère qui constituera la signature obtenue, et qui, comme une signature traditionelle, doit théoriquement permettre d'être sur et certain que la personne que vous avez en face de vous est bien qui elle prétend être. Et, comme dans la vraie vie, la signature est beaucoup plus facile à traiter que l'individu tout entier : imaginer qu'au lieu de comparer votre signature à celle qui figure sur votre carte d'identité, ou n'importe quel papier, l'on doive, lorsqu'on veut vérifier votre identité, faire venir spéciallement des gens qui puissent formellement vous identifier ; certes, les différents points de ventes gagneraient alors en convivialité, mais on se retrouverait quand même séverement ralenti. La même chose s'applique aux fichiers electroniques : il est beaucoup plus simple de manipuler un texte de 50 caractères qu'un fichier qui fait 600Mo.

Si l'analogie s'arreterait là, les informaticiens seraient très contents, ayant un système leur permettant d'identifier de facon simple et unique leurs fichiers. Tout le monde croyait d'ailleurs que c'était le cas, jusqu'à ce que des chercheurs chinois viennent appuyer là ou ca fait mal, sur le quasi du quasi-unique énoncé précédement. Continuons de filer la métaphore : ce que ces chercheurs ont démontrés, c'est qu'ils pouvaient, sans trop de difficulté, trouver deux personnes distinctes capables d'effectuer la même signature. A priori, aussi bien d'un point de vue humain qu'informatique, l'information peut paraitre anodine. Ils ont cependant démontrer que ce n'était pas le cas, en exposant divers couples d'individus totalement antagonistes. Ainsi, vous pouviez très bien signer un contrat avec un individu tout à fait respectable, et vous retrouvez en fin de compte avec une personne inapte sur les bras, sans pouvoir démontrer la moindre fraude puisque ces deux là, aussi étrange que ca puisse paraitre, possède exactement la même signature.

L'impact reste toutefois, à mon sens, à relativiser. On entend parfois md5 a été cassé, il ne faut plus du tout l'utiliser, c'est pas sur !. Je n'irais nettement pas jusque là. Certes, les chercheurs ont montrés que l'algorithme était moins sur que ce que l'on pensait. Toutefois, le point important à bien considéré dans l'analyse, c'est que ce qu'ils ont trouvés, c'est qu'il était possible de trouver deux individus ayant la même signature, si on les cherche en même temps. Par contre, il est toujours impossible de trouver une personne pouvant contrefaire la signature d'une personne donné. L'analogie devenant un peu complexe, nous allons donc revenir dès le paragraphe suivant sur du concret, pour comprendre ce que ca signifie réellement.

Ce qui a été trouvé, c'est qu'il est possible, pour une personne, de créer deux documents PDF qui auront au final la même signature. C'est embettant dans le sens ou l'on peut alors faire approuver un des fichiers, puis le remplacer par le deuxieme fichier PDF... Cependant, ce qu'il n'est toujours pas possible de faire, c'est de se faire envoyer un document en PDF, dire "pas de problème" puis essayer de créer à partir de là un autre document PDF. Pour résumer en une phrase : on ne peut exploiter la faille découverte dans md5 que si on est l'auteur du document original.

Dans un bon nombre de cas, cette différence est cruciale. Exemple un peu simpliste, mais qui permet à mon sens de bien comprendre : un certain nombre de sites webs utilisent md5 pour crypter les mots de passes des utilisateurs. Dans ce cas, l'utilisation de md5 est encore une valeur sure. En effet, on se trouve typiquement dans un cas ou le fichier initial ( ici, le mot de passe de l'utilisateur ) a été défini à l'avance. Il est donc toujours - pour le moment du moins - impossible de trouver dans un temps raisonable un autre mot de passe qui aurait la même signature.

Pour conclure, je dois donc dire que si de nouvelles générations d'algorithme de hashage sont les bienvenues, l'utilisation de md5 reste encore possible pour quelques temps encore, à condition de bien avoir en tête dans quelles conditions on peut le considérer encore aujourd'hui comme un algorithme de hashage sur, et les conditions dans lesquels il faut commencer à se méfier beaucoup plus sérieusement de l'impact que l'algorithme pourrait avoir

Mars 2005Mai 2005Avril 2005
Sites visités