Aller au contenu | Aller au menu | Aller à la recherche

jeudi, juin 24 2010

Pourquoi Firefox n'aura probablement jamais 100 au test acid 3

Parce que. Je vous l'ai déjà dit, ce test est débile ! :-)

Ok, plus sérieusement, et ça fait un bon moment que je voulais en parler (je sais je lag), la raison est toute simple : les trois derniers points à passer concernent le support des fontes SVG. Et Mozilla n'envisage pas de les implementer, au moins dans un avenir proche. Des développeurs, dont Roc, de Mozilla, en donne les raisons, sur son blog et dans les commentaires du bug. En gros :

  • Globalement les fontes SVG n'apportent techniquement rien par rapport aux fontes TTF ou WOFF
  • On peut faire des glyphes multi coloré et animé avec les fontes SVG, mais en fait, la spécification sur ces points est un cauchemar. D'ailleurs Opera et Webkit n'implémentent pas ces choses, et ont apparement un support très minimal des fontes SVG (juste pour passer le test acid3 ? ;-) )
  • Les autres types de fontes ont plus d'avantages :
    • techniquement plus riche ("Hinting, rasterization with subpixel antialiasing, far richer support for glyph selection and text shaping") puisqu'elles permettre de créer des glyphes pour des caractères aussi complexes que les caractères arabes par exemple
    • énormément plus de fontes déjà disponibles
    • plus compacte
    • support beaucoup plus large dans les logiciels (outils auteurs etc)

En conclusion, le support des fontes SVG ne leur semble pas très important pour le web, et pas très utile en fait.

Bien entendu, les supporters des fontes SVG pensent le contraire, et ne sont pas d'accord avec les arguments de Roc et cie. Honnêtement, je ne suis pas assez calé en typographie et sur les formats de fontes pour vous dire qui a raison et qui a tord.

Le fait est que Mozilla ne veut pas implémenter un truc qui leur semble peu utile et qui servirait juste pour avoir un meilleur score à un test. Ils préfèrent dépenser leur énergie à des choses plus importantes. Techniquement, je trouve que ça fait sens, très pragmatique, mais au niveau marketing, c'est sûr, c'est dommage.

Cependant, rien n'interdit à quiconque de proposer un patch. Si il est bon, il n'y a pas de raison (à mon sens) qu'il soit rejeté. Qui veut faire passer Firefox à 100 au test acid3 ?

IE9 a quasi rattrapé son retard

La troisième preview de IE9 est sortie. J'avoue être plutôt impressionné par toutes les améliorations qu'ils ont encore apporté. IE9, une fois que la version finale sera sortie, sera vraiment dans la cour des grands et aura rattrapé tout son retard technologiquement parlant.

Une partie des questions que je me posais il y a quelques mois ont maintenant une réponse : c'est implémenté.

  • Support de SVG (en partie)
  • éléments HTML5 <video>, <audio>, <canvas>,
  • support DOM largement amélioré: DOM traversal, DOM level3 core, DOM level3 events,
  • fontes téléchargeable WOFF, support complet CSS 2.1, support des media queries CSS3, selecteurs CSS3, bordures CSS3, background CSS3
  • un moteur javascript complet et aussi rapide que celui des autres navigateurs (je ne tiens pas compte des pouillèmes de milli secondes de différences entre chacun, à ce niveau, ce n'est plus tellement significatif)

Bref, tout plein de choses à se mettre sous la dent, avec un score acid3 qui grimpe à 83[1]. Sans parler d'un support très avancé de l'accélération graphique matérielle.

Il lui manque toutefois encore des technologies qu'ont déjà les concurrents, comme :

  • les WebWorkers
  • les WebSockets
  • formulaires HTML5, HTML5 File API, et autres éléments de sections HTML5 probablement
  • transitions CSS3, transformations CSS3, animations CSS3, gradients,
  • WebGL
  • SMIL
  • Évènements DOM multi touch, support accéléromètre, support géolocalisation
  • base IndexedDb
  • API Drag and drop (à vérifier)

Et j'en oublie certainement[2]. Ils ont donc encore du chemin à rattraper, et je ne doute pas que certaines de ces technos seront implémentés dans la version finale de IE9. Pour moi, on pourra qualifier IE9 de navigateur moderne. Car une chose est sûre, les développeurs web auront déjà suffisamment de technologies pour faire des sites modernes qui soient compatibles avec la majorité des navigateurs.

Le rouleau compresseur Microsoft a mis du temps à se mettre en route. Il est maintenant en marche, et pas qu'un peu. Mozilla, Apple, et Google ne devront pas s'endormir sur leurs lauriers. Cette nouvelle guerre de navigateurs initiée par Mozilla devient vraiment intéressante.

Notes

[1] Même si, comme je l'ai déjà dit, ce test n'est pas vraiment significatif

[2] je me suis en partie basé sur la liste des fonctionnalités qui sont implémentés dans Firefox 3.6 ou 4

mercredi, mai 19 2010

WebM, le nouveau format video du web

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.

Lire la suite...

samedi, mai 15 2010

Batterie de macbook morte

Depuis quelques semaines, la batterie de mon macbook ne durait plus que 45 minutes environ, sachant que neuve, je pouvais facilement pianoter pendant 3 heures. En fait, la durée de fonctionnement a littéralement chuté en quelques semaines, puisqu'il n'y pas si longtemps, je pouvais encore tenir 2 heures.

Cela m'étonnait, car la batterie aujourd'hui n'a que 16 mois. Sur twitter, Nicolas m'avait suggéré de faire un reset du SMC mais je n'ai pas vu d'amélioration perceptible.

Et puis depuis ce matin, impossible de rester plus de 10 minutes avec la batterie. Bien que l'indicateur indique qu'elle est chargée à 75%, le macbook s'éteint au bout de 10 à 15 minutes, sans prévenir évidement.

Il y a eu par le passé des problèmes de ce genre, avec des batteries quasi neuve, et il fallait mettre à jour le firmware du SMC mais le mien est déjà à jour. On peut aussi calibrer la batterie mais des charges et des décharges complètes, c'est ce que je fais quasi tout le temps (ce qui n'est pas bien, voir plus bas).

Et puis j'ai découvert cette page qui donne des informations et conseils pour la durée de vie des batteries macbook.

Les batteries récentes d'Apple sont en lithium-polymère, et donc ont des caractéristiques différentes des batteries classiques Lithium-Ion :

  • elles n'aiment pas le chaud, ça réduit la durée de vie.
  • la durée de vie chute rapidement quand elle approche de la fin de vie, contrairement aux autres types de batteries, qui faiblissent sur une plus longue periode.
  • Apple considère qu'après 300 cycles de charges, la batterie est usagée et doit être remplacée. Même si à 300 cycles de charge, une batterie correctement entretenue devrait être à 80% de sa capacité de charge originelle, toujours selon Apple.
  • Il faut éviter des cycles de charge et décharge complète, contrairement à ce qu'il faut faire pour des types de batteries plus anciennes. D'une part, cela est inutile car elles n'ont pas ces problèmes d'effet mémoire que l'on trouve souvent, et d'autre part, ça reduirait en fait leur durée de vie.

J'ai installé le petit logiciel Coconut Battery pour avoir des informations sur l'état de ma batterie :

  • 304 cycles de charges (en 16 mois)
  • capacité de charge : 1662 mAh au lieu de 4100 mAh pour une batterie neuve, soit une capacité qui n'est plus que de 40% (au lieu de 80%)

En tenant compte du fait que j'ai bien "tabassé" le macbook pendant 16 mois, avec des compilations à répétitions (donc fortes chaleurs), et un fonctionnement d'au moins 12h par jour (dans la semaine), que j'ai régulièrement fait des charges/décharges complètes (au moins 1 jour sur deux, parce que je bosse souvent dans le rer), ces chiffres ne m'étonnent finalement pas.

Je dois me rendre à l'évidence : ma batterie est morte.

Je vais attendre un peu avant de la remplacer, car il n'est pas certain que je garde le macbook, il n'est en fait pas à moi mais à Zoomorama. Ça va dépendre du commissaire priseur qui est en charge de liquider le matériel et mobilier de Zoomorama, si il va accepter ou non qu'on lui rachète directement nos machines.

vendredi, avril 30 2010

Zoomorama, the end

Depuis le courant de la semaine, Zoomorama est en liquidation. Nous n'avons pas su trouver le bon modèle économique à temps, et du coup, plus d'argent pour continuer l'aventure. C'est assez dommage car je suis intimement convaincu que la technologie était très bonne. Les développeurs web avaient à leur disposition une technologie de zooming, non pas sur une simple photo, mais sur un document entier, document en XML et CSS, et avaient accès au DOM du document pour le modifier dynamiquement, comme n'importe quel page web. David Marteau et Olivier Gambier avaient donc réussi le tour de force d'avoir une technologie de zooming proche de la philosophie des standards du web (ce que n'avaient pas nos concurrents).

J'ai passé un peu plus d'un an et demi dans une équipe formidable, composées de véritables talents. Une dream team. Merci à eux. C'est donc avec un certain regret d'être obligé de s'arrêter là.

Certains membres de l'équipe sont déjà dans les starting blocks pour enchaîner dans d'autres sociétés, comme Akamai. Et d'autres, comme moi, ont des projets plein la tête. Mais je vous en parlerai en temps utile ;-)

Vous pouvez aller lire le billet d'Olivier et celui de Franklin pour en savoir un peu plus sur cette fermeture.

lundi, mars 29 2010

Modifier un fichier ini en php

J'aime bien utiliser les fichiers ini pour tout ce qui est configuration. En php, c'est très rapide à charger avec la fonction parse_ini_file (beaucoup plus rapide qu'un fichier de conf en php, avec un facteur 10 je crois), et puis c'est très simple à modifier, la syntaxe étant minimaliste.

C'est pourquoi j'utilise des fichiers ini dans jelix, et pas des trucs du genre yaml, syntaxe que je trouve hyper compliquée [1], en tout cas trop pour l'utiliser pour un fichier de conf [2].

Dans Jelix, il y a des outils pour le développeur pour l'aider à construire son appli, et il arrive donc que ces outils aient à modifier un fichier ini. J'avais fait une première implémentation naïve dans une classe, jIniFile permettant d'enregistrer un fichier ini : une méthode pour lire (avec parse_ini_file), une autre pour écrire en lui passant un tableau de clés/valeurs, et le nom du fichier.

Problème de cette classe : on perd tous les commentaires et les sauts de lignes à la lecture avec parse_ini_file. C'est assez fâcheux pour un fichier de configuration, où les commentaires peuvent être nécessaires.

D'où une autre classe jIniFileModifier, qui permet de charger, modifier et enregistrer un fichier ini, sans perdre les commentaires et les espacements. Elle permet même de supprimer une clé/valeur, avec le commentaire qui lui est associé (le commentaire qui la précède). Cette classe supporte les sections et les tableaux de valeurs. En fait, j'ai fait en sorte qu'elle soit compatible au maximum avec le format ini utilisé par parse_ini_file[3].

Vous pouvez l'utiliser seule dans vos projets, elle est totalement indépendante de Jelix. Par contre, ne l'utilisez pas pour une simple lecture, ce n'est pas son objectif principal, parse_ini_file est beaucoup plus performante pour ça.

Notes

[1] pour preuve : la spécification YAML : 77 pages A4, celle du XML : 30 pages...

[2] si j'avais à choisir un format pour stocker des options de manière arborescente, je choisirais json

[3] il y a en effet quelques variantes, suivant les logiciels

vendredi, mars 19 2010

Surcouf, c'etait mieux avant...

Hier, je me suis fait une petite balade au magasin Surcouf, avenue Daumesnil à Paris. Ça fait au moins un an que j'y suis pas allé. Et j'ai découvert un magasin refait à neuf, avec des beaux stands au design moderne. Et du vide.

Qu'ont-ils fait de mon magasin préféré des années 90, avec ses allées étroites, ses stands et rayons bondés de gens, mais aussi rempli de matos ? Elle est où ma caverne d'ali-baba de centaines de m2 où j'étais sûr de trouver mon bonheur ? Il est passé où le royaume du geek, où j'écarquillais les yeux tous les deux mètres à la vue d'une nouveauté ou d'un truc dont j'ignorais l'existence ? Elle est où cette ambiance "circus", totalement décalée, originale, qui existait auparavant ?

Surcouf est devenu un magasin aussi aseptisé que ces autres magasins des chaînes d'électroniques grand public (boulanger, saturne ou autre, voir même la fnac). Je n'y vois plus trop grand d'intérêt d'y aller en fait. Mis à part le fait qu'ils ont peut être quand même encore un peu plus de choix que les grandes chaînes et qu'ils sont dans un quartier encore dédié aux geeks avec tout ces petit magasins d'informatiques autour.

Fini la magie en tout cas.

M'enfin ça ne m'a pas empêcher d'y faire une petite emplette...

dimanche, mars 7 2010

Open To Choice

Depuis quelques années, le web se démocratise énormément. Chaque jour des milliers de nouveaux internautes débarquent sur la toile. Bien entendu, la grande majorité d'entre eux ne sont absolument pas au fait des techniques. C'est ainsi que bon nombre d'entre eux ne savent pas qu'il y a autre chose que facebook sur la toile (la preuve avec ce billet de readwriteweb, qui est apparu quelques heures en tête de la recherche "facebook login", et des internautes débarquant alors sur ce site croyant à faire à une refonte du site facebook), ou encore ne savent pas ce qu'est une URL.

Mais ce n'est pas tout, bon nombre d'entre eux ne savent pas ce qu'est un navigateur, ou ne savent pas qu'ils peuvent choisir leur navigateur.

Depuis quelques jours, les utilisateurs européens de windows 7 se voient proposer une page permettant de choisir leur navigateur web. C'est déjà un pas, mais peut être pas suffisant, puisque cela n'explique pas ce qu'est un navigateur, et comment faire le bon choix.

Aussi Mozilla a lancé le site http://opentochoice.org, afin de combler ce manque d'information, et tente de réponde aux questions, et explique notamment pourquoi choisir son navigateur est important.

jeudi, février 11 2010

Faire du drag and drop avec flash en utilisant canvas

À Zoomorama, Flash nous rend bien service. De par ses performances au niveau rendu, il nous permet de développer notre navigateur de documents zoomable, notre "ZoomViewer", que l'on peut intégrer dans une page web. Seul souci avec Flash : il ne connait pas le drag and drop.

Lire la suite...

mardi, février 2 2010

La puissance de HTML5 dans vos applis web

Paul Rouget vient de sortir une nouvelle démo montrant les possibilités techniques de Firefox pour les développeurs web. Ici cependant, c'est plus qu'une démo, c'est une véritable petite application concrète.

Il s'agit d'un outil, qui permet d'envoyer des images sur twitpic et comportant un éditeur d'image. Vous sélectionnez les images que vous voulez envoyer, vous les retouchez éventuellement, et vous les envoyez. Visualisez la video, c'est carrément génial, d'un point de vue technique. C'est du jamais vu dans une application web HTML (je ne parle pas d'applet java ou flash, souvent lourdes et peu ergonomiques).

demo_editeur_twitpic.png

Coté technique donc, voici ce qui est utilisé :

  • HTML5 Canvas: on ne présente plus l'élement <canvas>, qui permet d'avoir une zone dans la page web où l'on peut "dessiner" programmativement. Les images que l'on a glisser dans l'application sont "injectées" dans un canvas. Cela permet alors de les modifier, de proposer à l'utilisateur une mini application de retouche, avec des fonctions de découpage, de décoration, de mirroir etc. Avec Canvas, on peut aller très très loin. Voir par exemple cet outil, sketchpad, un paint-like bien plus beau que l'original :-)
  • HTML5 Drag and Drop: Paul utilise les évènements drag-and-drop, pour permettre, d'une part, de glisser des fichiers de votre bureau ou explorateur de fichiers vers l'application, mais aussi de glisser les images à l'intérieur de l'application entre les différentes fonctionnalités (glisser une image précédemment sélectionnée vers la poubelle par exemple).
  • File API : permet dans l'application d'avoir des informations sur les fichiers, à partir de ce qui est indiqué dans un <input type="file"> ou un évènement drag and drop qui concerne un fichier. Ça permet à l'application de réagir ensuite en fonction du type du fichier, de sa taille etc..
  • HTML5 localStorage: localStorage est un objet javascript qui permet de stocker ce que l'on veut, durablement, coté client. Il est utilisé ici pour stocker les images sélectionnées, en attendant de les envoyer vers twitpic. L'image, affichée en fait via un canvas (ce qui permet de la modifier), est en fait transformée en data URL. Cette URL est alors stockée dans localeStorage.
  • HTML5 Application Cache : toute la machinerie permettant de continuer à faire fonctionner l'application même en étant déconnecté, est utilisée. En particulier, un manifest "offline" est utilisé pour indiquer les fichiers de ressources (js, css) à stocker durablement dans le cache du navigateur, de manière à pouvoir recharger l'application, même en étant déconnecté. En fait, c'est comme si l'application était stockée en local. De plus, les évènements offline et online sont écoutés, pour pouvoir autoriser ou non la publication des images.
  • Cross Site xmlHTTPRequest, un mécanisme http permettant d'autoriser ou non à une application web (ici la demo) de communiquer avec une autre application web (ici twitpic).

Toutes ces technologies, dorénavant présente dans Firefox 3.6 et déjà plus ou moins dans d'autres navigateurs (je n'ai pas vérifié, ça ne va pas tarder en tout cas), offrent de bien belles perspectives en matières d'applications web puissantes et agréables à utiliser. À quand de telles fonctionnalités dans mon outil de blog préféré, pour faciliter l'insertion et la retouche de nouvelles images dans un billet sans ouvrir de lourdes applications graphiques desktop ? ;-)

Cerise sur le gâteau : cette application fonctionne parfaitement dans la version mobile de Firefox, qui est sortie hier pour Maemo :-)

lundi, janvier 11 2010

What's wrong in Mozilla's plan for Firefox ??

I just read the blog post of Mike Connor, Firefox's lead engineer. And I'm depressed.

Lire la suite...

jeudi, janvier 7 2010

Pub google chrome

Depuis hier, des pubs en 4x3 fleurissent dans le métro et dans les stations RER, vantant les mérites de Google Chrome[1]. C'est la première fois que je vois une pub pour un navigateur.

Je ne trouve pas cette pub en elle-même super percutante, mais bon, on va dire que c'est un avis très subjectif, à cause de mon statut de contributeur à Mozilla :-).

Mais pas seulement. En fait je la trouve totalement nulle.

En effet, il y a quelque chose qui m'a fait bondir dans cette pub, c'est la mention "0 bug". Ce qui est tout à fait mensonger. Ce n'est pas comme si le nombre de bugs ouverts sur le bugzilla de webkit était à 0, hein. Nous avons même à Zoomorama, découvert des crashers (mais je n'ai plus les numéros de bug sous la main).

Un logiciel a toujours, et aura toujours des bugs. Même dans une pub, on ne devrait pas raconter ce genre de connerie "0 bug", mais plutôt se focaliser sur d'autres aspects du logiciel (rapidité, fonctionnalités ou je ne sais quoi d'autre...[2]). Dire "0 bug", c'est prendre les gens pour des cons.

Et hop, Google descend encore d'un cran dans mon estime.

Notes

[1] désolé, je n'ai pas de photos, mais j'en ai trouvé une ici

[2] ce que google fait aussi dans la pub

samedi, janvier 2 2010

Bonne année !

Bonne année à vous tous ! Que 2010 vous soit meilleur que 2009.

Je n'ai pas vraiment de résolutions pour cette nouvelle année, sauf celle d'essayer de réduire drastiquement ma todo list, sous peine de pétage de plomb. Car j'ai vraiment manqué de temps en 2009. Mes contributions ont beaucoup diminuées, et mes projets perso ont beaucoup pati de ce manque de temps.

Il va falloir que j'arrête de me disperser, de dire oui à tout et que je me concentre sur seulement quelques projets. Ma productivité n'en sera que meilleure, la qualité aussi. Reste à savoir quels projets je "sacrifierais", au moins pour cette année...

vendredi, décembre 11 2009

Donnez moi du temps pour geeker

J'ai besoin de temps. beaucoup de temps. Par exemple, là maintenant, j'ai besoin de temps pour installer en double boot linux sur mon macbook. Ce n'est pas une nécessité, juste une envie de retourner sur l'OS au pingouin. Linux me manque, après 11 mois passés quasi exclusivement sous MacOS.

MacOS est très bien, il est supérieur en pas mal de points à ses concurrents, notamment la gestion du matériel, ce qui est aussi un peu normal, vu que le système n'est conçu et optimisé que pour un matériel précis. Mais quel bonheur de pouvoir brancher n'importe quel écran et que ça fonctionne du premier coup ! Quel bonheur que la connexion wifi se fasse en 2 clics sans soucis ! Quel bonheur cette gestion de l'énergie sans faille ! Combien de fois j'ai dû refermé mon laptop en urgence pour ne pas rater ma station RER, sans pour autant n'avoir aucun soucis de reprise à l'ouverture (ce qui n'est le cas d'aucun laptop sous linux que j'ai possédé jusqu'ici). Bref, MacOS, c'est le premier OS que j'ai utilisé, qui sait se faire oublier. Tout en étant ouvert aux développeurs, avec sa console, ses origines unix..

Mais il a aussi ses défauts, qui sautent aux yeux quand on a été habitué à une distro linux. Gestion des fenêtres limitée, peu configurable, qui fait qu'il y a des choses énervantes qu'on ne peut changer (comme le fait de devoir cliquer une première fois sur une fenêtre pour l'activer, avant de pouvoir y faire quoi que ce soit). Gestion de bureaux virtuels : à chier. tout simplement. Heureusement que son mode Exposé permet de pallier un tout petit peu à ça.

Et puis c'est énervant de ne pas avoir n'importe quel programme sous la main en deux clics de souris. Sous mac, l'offre logicielle libre est quelque peu limitée (malgré MacPorts). La plupart des programmes sont payants (même si souvent bien foutu), et j'ai souvent une réticence à payer sur le net, surtout sur des petits sites (comment ça paranoïaque ?).

Et puis depuis quelques temps, les screenshots de KDE 4 me font des clins d'oeil. Les news sur les dernières nouveautés du noyau linux me font saliver. J'ai envie de voir si il y a eu de vrai progrès sur le support matériel.

Mais je n'ai pas le temps. Parce que s'engager sur ce genre de chose, veut dire indisponibilité de travailler pour plusieurs heures. Car c'est un peu l'inconnu pour moi l'installation de linux sur un macbook. Ne me parlez pas d'une autre machine. Je n'ai pour l'instant pas trouvé mieux ailleurs (peut être les Dells, ou les anciens Thinkpads). Cette semaine encore, j'ai fait un tour à la Fnac. Et il n'y a pas photo : les plus belles machines, tant d'un point de vue technique (raaaah ce trackpad géant multi touch !) qu'esthétique, restent les macbooks. Bon après, certes, il y a le prix, bien que ça le vaille...

Vous allez me dire que c'est dommage de s'arrêter sur des critères aussi superflus. Mais après 25 ans passés sur des machines diverses et variées (et souvent moches), j'ai envie de faire plaisir à mes yeux. Mine de rien, ça rend le travail plus agréable.

mercredi, décembre 9 2009

Nouveau serveur pour jelix, et avancées prochaines

Ces jours-ci, j'ai été pas mal occupé à migrer tout les sites de jelix.org vers un nouveau serveur. Merci beaucoup à Nicolas Jeudy pour nous avoir hebergé ces dernières années, et merci à Bastien Jaillot pour nous accueillir sur une de ses machines :-).

Ce ne fut pas une mince affaire, il y a quand même une huitaine de sites et services principaux. Le plus ennuyant étant la forge, qui comporte une vingtaine de projets, tous sous trac. On est passé de trac 0.10 à 0.11, et il a fallu que j'upgrade tout les environnements tracs, mais aussi les plugins, dont un fait maison. Donc étude de la doc de migration, modifier ce qu'il y avait à modifier, vérifier le bon fonctionnement après la migration, adapter les configurations pour le nouveau serveur etc.. Même punition pour notre bug tracker, lui aussi sous trac.

Tout s'est finalement bien passé, mais une chose a été perdue en cours de route : mes beaux templates. Ils ont changer de système de template dans trac 0.11, avec un langage à la XSLT (le langage de transformation le plus hideux de la terre, il faut le dire). Je n'ai pas eu encore le temps de refaire les templates pour avoir le look "jelix.org". Et je ne sais pas quand à vrai dire j'aurais le temps, tellement XSLT ça me gave.

Mais.. J'ai des gentils contributeurs qui vont certainement pouvoir m'aider ;-). En effet, la grande nouveauté avec ce nouveau serveur, c'est que nous en avons le contrôle total, et qu'il n'y a que le projet jelix. Du coup, je peux donner les clefs. Je peux enfin déléguer ! Ce qui est déjà fait en fait. Nous sommes donc trois à pouvoir gérer la machine, et surtout, à pouvoir travailler sur les sites proprement dit, à les faire évoluer. Ce qui va être fait dans les semaines à venir, en commençant par la forge.

Olivier a déjà réalisé des améliorations dans la forge, pour que les utilisateurs puissent gérer plus facilement leurs projets. Ces améliorations seront mis en ligne certainement dans les jours prochains. Au passage d'ailleurs, j'ai migré les sources des sites web de Subversion vers Mercurial. Un autre chantier sera probablement de migrer le forum vers havefnubb, histoire d'utiliser un peu plus d'applications jelix sur nos propres sites :-)

Parallèlement à cette migration, le développement de Jelix n'a pas stoppé (merci Mercurial). J'ai pas mal avancé notamment sur le nouveau système d'installation et de mise à jour de Jelix. Après une troisième refactorisation de code, il commence à se stabiliser en terme de fonctionnement. Ce système va permettre à un module de fournir un script d'installation et de mise à jour, permettant alors d'installer toute une application (base de données, configuration...) en une ligne de commande.

J'espère sortir une beta avant Noël.

PS: si toi aussi, cela t'intéresse de contribuer aux sites jelix.org ou au framework, n'hésites pas à nous contacter.

vendredi, novembre 20 2009

Jelix sillonne la France en camion

Le Camion Des Mots est un camion qui, dixit le site :

sillonne les routes de France pour aller à la rencontre des enfants scolarisés du CE2 à la troisième (8 à 15 ans). Accompagnés de leur professeur, les élèves participent à une animation pédagogique de 30 minutes sur des ordinateurs. Au cours de leur visite, ils jouent avec la langue française, ses pièges, ses règles et son histoire.

Et cette animation repose sur "4000 jeux éducatifs autour de la langue française et de ses bizarreries".

Le développeur de ces jeux vient de me faire savoir qu'ils sont développés avec le framework PHP Jelix et jQuery. Ce développeur étant en fait un contributeur à Jelix :-)

Et puis bien sûr, c'est Firefox qui est utilisé pour accéder aux jeux.

Bon, à quand un "Jelix Tour" officiel ?

jeudi, novembre 19 2009

Des nouvelles de IE9

Un nouveau billet sur le IEBlog dévoile les premières nouveautés de IE9. En résumé :

  • accélération matériel pour l'affichage, en utilisant Direct2D et DirectWrite
  • meilleures performances générales, et en particulier pour le moteur JS, qui arrive quasiment au même niveau que ceux des concurrents (dans leurs versions de développement)
  • progression sur le support des standards
    • en l'état actuel du développement de IE9, le score au test acid3 est de 32/100. La version finale aura à priori un meilleur score. Il reste toutefois pour l'instant en queue de peloton.
    • support des bordures arrondies en CSS (border-radius)
    • support des sélecteurs CSS3

C'est encourageant, mais encore bien maigre comme annonce. Quid du support de certaines balises HTML5 comme <canvas>, <video>, audio ? Du support de SVG ? Des APIs de geolocation, web workers, acceleromètre ? Est ce que le moteur JS sera conforme à Ecmascript ? Est ce que l'API DOM sera enfin conforme aux spécifications DOM2 ? DOM3 ? Et j'en passe...

Il y a peut-être des réponses à ces questions dans les vidéos pointées par ce billet, mais je n'ai pas pu les lire, il faut installer Silverlight... (j'ai assez d'un plugin propriétaire dans mon navigateur...).

vendredi, novembre 13 2009

Javascript coté serveur

Ça commence à faire pas mal d'année que je fais du javascript, non seulement pour le web, mais aussi dans les applications XUL. Ce qu'il y a d'intéressant à utiliser Javascript avec le XUL, c'est qu'on peut se lâcher, et utiliser tout le potentiel du javascript de la plateforme Mozilla, comme les générateurs et iterateurs, les propriétés et méthodes avancées sur les objets de base (comme sur Array). Même si je ne suis pas fan de certaines constructions syntaxiques[1].

Et depuis quelques jours j'ai une lubie : pourquoi ne pas utiliser javascript coté serveur, en remplacement de PHP par exemple ?

Et j'ai découvert sur wikipedia qu'il existait quelques dizaines de projets de générateurs de pages web à base de javascript. La majorité de ces projets reposent sur les moteurs JS de Mozilla :

  • SpiderMonkey, le moteur (en C) utilisé dans Firefox 3/Gecko 1.9.0 et précédent
  • Rhino, un moteur en java

Ceux à base de SpiderMonkey m'intéresse plus particulièrement. Je ne les ai pas encore tous regardé, mais jslibs semble sympa, dans la mesure où la dernière version ne repose plus sur SpiderMonkey, mais sur TraceMonkey, le moteur JS accéléré de Firefox 3.5.

Pour faire le choix d'un de ces projets, il va falloir regarder de plus près les API proposées. En effet, il faut savoir qu'un moteur JS ne fait qu'exécuter du code, et ne contient nativement que quelques objets primitifs comme String, Array, Date, Math... C'est au code embarquant de "brancher" des bibliothèques ou fonctions C sur des objets JS (faire des wrappers donc), pour enrichir l'API utilisable dans le code JS. Ce que fait d'ailleurs un navigateur, pour les objets window, document, les objets DOM etc.

Reste aussi à faire quelques benchmarks, pour voir si ça vaut vraiment le coup par rapport à PHP, Python ou autre..

Notes

[1] disons que depuis la publication de ce billet, j'ai un avis moins tranché :-) On s'y fait

mardi, novembre 10 2009

Et le meilleur moteur javascript est....

On voit circuler ces slides sur des astuces pour les perfs en javascript, et on y voit notamment que les résultats de Firefox par rapport aux autres moteurs, notamment V8, ne sont pas folichons.

Cependant, comme beaucoup de benchmarks, ces résultats sont sujets à cautions, d'autant plus qu'ici :

  1. On ne sait absolument quelles versions de chaque moteur sont mises en comparaison
  2. Comparer SpiderMonkey, moteur d'ancienne génération (Firefox 3.0 et précédent), à V8, ce n'est vraiment pas "fair play". Il aurait pu prendre au moins TraceMonkey (Firefox 3.5). À moins qu'il confond dans les noms, mais ça m'étonnerai, car pour les quelques tests que j'ai effectué avec son script, les résultats de TraceMonkey sont plus proches de V8 que de IE (dernières versions stables des navigateurs).

Et puis bien sûr, aucune mention d'Opera.

Enfin, c'est bien beau d'avoir un moteur rapide, encore faut il qu'il soit en conformité avec la spécification Ecmascript. Ce qui est encore loin d'être le cas pour certains d'entre eux.

vendredi, octobre 30 2009

Payer en ligne devient de plus en plus compliqué avec la Société Générale

Payer sur Internet, ça devient vraiment le parcours du combattant, en tout cas pour ceux qui sont à la Société Générale. De quoi vraiment dégouter les gens d'acheter quelque chose. Jugez plutôt.

Dans les débuts du commerce électronique sur internet, payer sur internet consistait à donner votre numéro de carte et la date de validité. Pour cela, vous étiez redirigés vers une page de la banque de la boutique électronique (c'est toujours le cas aujourd'hui).

Mais cela ne suffisait plus, ils décidèrent alors qu'il fallait aussi donner un numéro à trois chiffres situé derrière votre carte.

Puis il y a 2-3 ans (je crois), ils décidèrent qu'il fallait indiquer en plus d'autres données, comme votre date de naissance et ceci dans une autre page vers laquelle vous étiez redirigés après le premier formulaire, page fournie par votre banque. La première fois, j'ai cru que j'avais été redirigé vers une page de phishing, tellement le nom de domaine ne ressemblait à rien, et tellement ma banque ne m'avait pas informé d'un tel nouveau dispositif. Résultat, j'avais annulé ma commande en attendant d'en savoir plus.

Au passage, on constatera qu'on a deux redirections, et donc au total trois formulaires à remplir : celui du commerçant pour vos coordonnées pour la livraison ou autre, celui de la banque du commerçant, et enfin celui de votre banque.

À ce stade, ça commençait à m'agacer.

Et voilà que la Société Générale a décidé d'emmerder encore plus ses clients (pour notre sécurité parait-il). Ils ont remplacé le formulaire de saisie de la date de naissance par un autre formulaire, dans lequel vous devez indiquer un code. Ce code vous est envoyé automatiquement par la banque, par SMS, sur votre téléphone portable. Le souci, c'est que pour recevoir ce code, il faut s'être inscrit auprès de votre agence ou par un service vocale (je ne sais plus), pour activer le service de paiement sur le web, et indiquer votre numéro de téléphone. J'avais bien reçu il y a quelques semaines un courrier m'avertissant de ce changement, mais je n'ai pas eu le temps et oublié de faire cette activation, et surtout ça me faisait chier.

Ça me faisait chier de m'inscrire parce que d'une part, les trucs administratifs, ça me gonfle à un point que vous ne pouvez imaginer, et d'autre part, je trouve ce système idiot. Vous avez perdu ou oublié votre téléphone ? Il n'a plus de batterie ? Tant pis pour vous, allez voir ailleurs, ne payez pas ce que vous devez payer. Et hop, un client de moins pour le commerçant. Et tant pis si c'est un achat urgent (comme, au hasard, un renouvellement de nom de domaine).

Et voilà, j'ai un truc à payer, là, maintenant, et je me retrouve coincé, je ne peux pas recevoir ce pu*** de code parce que j'ai omis de m'inscrire (et bien sûr, je n'ai pas sur moi les numéros de comptes, de code en tout genre ou je ne sais quoi d'autres pour activer de suite le service).

Vous allez voir que ça ne va pas suffire pour contrer les fraudes, parce que bien sûr, ça ne va pas empêcher les voleurs de sacs à main d'aller acheter sur internet, puisqu'ils auront votre carte bleu et votre téléphone[1], et que dans 2 ans, il va falloir vous trimballer avec un lecteur d'empreinte digitale pour payer sur internet[2]. Et dans 3 ans, ça va être quoi ? un lecteur d'empreinte génital ? rectal[3] ? Il va falloir prouver 15 fois que c'est bien vous le propriétaire de la carte bleue avant de valider le paiement ?

Du grand n'importe quoi. Déjà que je n'avais pas une haute estime de la relation des banques avec internet, avec entre autre leurs API de paiement[4] pour ajouter un système de paiement dans votre site web, mais là, ça commence à friser le ridicule. Pour votre bien on vous dit ![5]

Notes

[1] certes, il y a moins de vols de sac à main que de piratage de carte bleue sur internet

[2] j'ai cru comprendre que certaines banques proposaient déjà un tel ustensile

[3] classe de payer au bureau, devant les collègues, non ?

[4] SIPS par exemple, qui fournit quasiment le même binaire depuis 8 ans, binaire qui ne fonctionne que sur des vieux noyaux linux plus maintenu (on peut en obtenir un plus récent, seulement après avoir donné 15 coups de téléphone) , avec une API pourrie, qui génère du code HTML pourri, etc. Il y aurait tant à dire, peut être un jour j'en ferais un billet tiens.

[5] Bien sûr, ce billet contient une pincée de mauvaise foi :-)

- page 1 de 44