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

jy[B]log

Journal d'un geek

jeudi, juillet 31 2008

Summit 2008 : deuxième jour

Coté fatigue et jet lag, ça va mieux. Coté sessions, toujours aussi intéressantes. Ce matin, il a été question du futur de Firefox 3.1, de Fennec[1] et de Mozilla Labs. Pour Firefox 3.1, on a eu confirmation que certaines avancées dans Gecko seront bien incluses, dont le support natif de OGG/Vorbis et OGG/Theora pour la balise <video> (activé dans les nightlies build). FF 3.1, ça va dé-chi-rer ! On a pu voir aussi une demo de Fennec sur un Nokia N810, avec son interface totalement repensée : très sympathique.

Sinon, j'ai assisté à une session sur les probables avançées en matière d'interface utilisateur dans Thunderbird 3, et une autre sur les communautés en Europe. À ce propos, sachez que nous (Moz-Europe et Xulfr, accompagnés de quelques partenaires) vous préparons une XulParty like puissance 10, pour Septembre. Stay tune !

À part ça :

Notes

[1] la version mobile de Firefox

mercredi, juillet 30 2008

Summit 2008: première journée

17h10 de voyage de chez moi jusqu'à Whistler : c'est long. Et sans vraiment dormir : c'est vraiment fatiguant. Arrivé vers minuit et demi à l'hotel, j'ai pu toutefois récupérer un peu et être suffisamment frais pour suivre les sessions cette première journée du Summit2008 de Mozilla, même si la fin d'après midi est plutôt dure, jet lag oblige.

En vrac :

  • Hôtel très sympa, chambre confortable (avec cheminée s'il vous plait !)
  • Temps pourri (il pleut :-( )
  • Nourriture correcte, avec rafraichissants, café et collations à volonté toute la journée
  • tout est fait pour que les participants puissent se connaître et échanger : on sent le coté "communauté" du Summit :-)
  • une organisation sans faille jusqu'à maintenant
  • du wifi gratuit bien entendu (mais avec 400 geeks dessus, c'est parfois lent)
  • Très bonne idée ce site qui regroupe tous ce qui se passe sur le Summit, tout comme la salle spéciale détente pour geek mozillian, ouverte 24/24 h, avec babyfoot, jeux vidéos, tennis de table, fauteuils, musique etc... (Ils ont vraiment pensé à tout chez Mozilla)
  • Des sessions "ouvertes" : beaucoup de discussions et d'échanges.
  • Mais difficile de participer à toutes les sessions qui m'intéressent, vu que bon nombre se passe en même temps.
  • Le speech de Mitchell Baker fut très intéressant. Je ne pense pas qu'il a été filmé, ce qui est dommage car cela aurait été instructif pour ceux qui ne connaissent pas trop le projet Mozilla. Elle a entre autre expliqué en quoi Mozilla n'est définitivement pas un projet Open-Source comme les autres (j'y reviendrai peut-être).

Et pour résumer : supère ambiance, journée riche :-)

dimanche, juillet 27 2008

Summit 2008

Cette semaine, il y a un grand évènement organisé par Mozilla : le Summit2008. C'est un rassemblement d'environ 250 400 contributeurs à Firefox et Thunderbird, venant du monde entier. Il se situera dans un grand hotel à Whistler, qui est situé à environ 130 kilomètres de Vancouver, au Canada.

Ça va être le plus gros rassemblement je pense depuis la naissance du projet Mozilla. L'année dernière (ou 2006, je sais plus), il y avait bien eu des "developper days" mais l'audience était moins importante il me semble, et cette année au Fosdem, il y avait "seulement" eu une centaine de contributeurs européens.

Durant ces quelques jours, il sera question de discuter sur les avançées de Gecko, de Firefox, de Thunderbird, et de Fennec [1], que ce soit le présent, mais surtout le futur, tant en terme de technologie pure, qu'en terme d'interface utilisateur, de fonctionnalités etc.. Sans oublier aussi tout ce qui est localisation des applications : comme d'habitude, Mozilla n'oublie pas les contributeurs qui traduisent les applications Mozilla, ils seront nombreux au summit. Des sessions sont prévues aussi pour parler de la documentation (MDC, SUMO etc..), des divers sites (addons par ex) ainsi que de l'évangélisme/marketing. Voir la liste complète des sessions sur le wiki de Mozilla. Pour ma part, je vais surtout assister aux sessions sur le coeur de Gecko, mais aussi Fennec.

Bref, je sens que cela va être très très sympathique. Surtout que j'y suis invité (comme la plupart des contributeurs participants, dont bien sûr d'autres Mozilliens français de chez xulfr.org, frenchmozilla, mozilla-europe etc..). On sera dans un cadre géographique qui semble très beau, mais on n'aura pas trop le temps de se faire croquer par les ours, car cela ne va pas être de tout repos quand même. J'ai hâte d'y être.

Enfin voilà, je finis de préparer ma valise, de régler les derniers détails, et puis direction Vancouver. Ne comptez donc pas sur moi cette semaine (bien que joignable par email, et peut être via IRC sporadiquement), et encore moins les deux suivantes, durant lesquels j'irais faire un repos bien mérité dans le Finistère...

Je vais toutefois essayer de vous tenir au courant des évènements via mon blog :-)

Notes

[1] le navigateur pour mobile de Mozilla, je vous en causerai probablement plus tard

Avancées dans Gecko 1.9.1

Malgré les 3 ans de développement qu'a necessité Gecko 1.9.0 (le moteur de Firefox 3), il n'a pas été possible d'implémenter certaines choses qu'ont déjà Safari et Opera, bien que toutefois les nouveautés pour les développeurs soient très alléchantes, avec des morceaux de HTML5 dedans :-). En effet, les développeurs du "coeur" s'étaient concentrés principalement sur la gestion de la mémoire, les performances, la refactorisation de gros morceaux de code, et la correction de bugs pour passer le test Acid2. C'était donc beaucoup de travail sur des choses "qui ne se voient pas". Mais une des conséquence de ces développements "sous-terrains", c'est que Gecko 1.9.0 est devenu une bonne base pour avancer bien plus vite sur l'implémentation des standards.

Du coup, les développeurs peuvent se concentrer sur le futur. Et ils ne s'en privent pas depuis un mois et demi. Je vous avez parlé de l'implémentation de la balide video, de l'implementation du style CSS border-image, mais aussi évoqué l'implementation complète des selecteurs CSS3 (modulo 2-3 bugs), le support de text-shadow (pour créer des ombres sur du texte), de box-shadow (pour faire des ombres sur des boîtes).

Et ces derniers jours, voici les nouveautés :

  • Implémentation de la propriété CSS3 word-wrap
  • Implémentation des propriétés CSS3 column-rule-*, pour styler les séparations entre les colonnes CSS. Souvenez-vous que depuis sa version 1.5, Firefox permet de créer des colonnes en CSS, ce qui évite de faire appel à des tables pour avoir des colonnes de texte. J'en avais parlé à l'époque.
  • Implémentation de l'objet NodeIterator dans l'API DOM traversal, permettant de parcourir un arbre DOM de manière séquentiel, contrairement au TreeWalker qui propose plutôt une vue arborescente de la navigation.
  • Implémentation des toutes nouvelles fonctions DOM querySelector et querySelectorAll : elles permettent de récupérer un ou plusieurs noeud DOM en utilisant un sélecteur CSS, ce qui est plus simple que d'utiliser un selecteur XPath (fonction evaluate sur les objets document). Voici un exemple issue de la spécification. Voici ce qu'il faut faire en temps normal quand on veut récupérer la deuxième cellule de chaque ligne d'un tableau (ayant pour id score) :
var table = document.getElementById("score");
var groups = table.tBodies;
var rows = null;
var cells = ;

for (var i = 0; i < groups.length; i++) {
  rows = groupsi.rows;
  for (var j = 0; j < rows.length; j++) {
   cells.push(rowsj.cells1);
  }
}

Et voici maintenant l'équivalent avec querySelectorAll :

 var cells = document.querySelectorAll("#score>tbody>td:nth-of-type(2)");

Sympa non ? :-)

Parmis les développements actifs en ce moment, et qui vont donc aboutir d'ici quelques semaines, voici ceux là :

  • Les propriétés CSS de transformation proposées par Webkit, permettant de faire des animations en CSS.
  • L'implémentation des medias queries de CSS. (mise à jour : en fait ça vient juste d'être intégré dans le trunk !)
  • Fonctions javascript trim, ltrim, et rtrim
  • DOMWorkerThreads : la possibilité de faire, en javascript, de vrai traitement en parallèle...
  • Une partie de l'implémentation de @font-face

Bien sûr, cette liste est loin d'être exhaustive :-)

jeudi, juillet 24 2008

Les progrès des machines

Sur mon nouveau portable, il a fallu que j'installe mes projets courants, les outils dont j'ai besoin etc. L'une de mes priorités : pouvoir compiler Etna et Firefox. J'ai été très agréablement surpris par les performances de cette nouvelle machine pourtant modeste au niveau du materiel : je met autant de temps pour compiler firefox, que sur une des becanes du boulot pourtant plus puissante sur le papier. Et voici une comparaison grossière :

Compilation de Firefox
Machine processeur mémoire vive disque dur processus Temps
Desktop (4.5 ans) Pentium 4 dual core 3Ghz 1Go 150Go IDE make en -j2 49 min
make en -j6 + distcc :
2 processus en local + 4 sur le serveur dell
25 min
Autre desktop dell (serveur) (2,5 ans) Pentium D dual core 2.80 Ghz, cache 2Mo 2Go 150Go sata make en -j2 24 min
Mon portable Dell 1525 (1 semaine) Pentium dual core T2390 1.86 Ghz, cache 1Mo 2Go 80Go sata make en -j2 26 min

Ainsi :

  • Le portable a un processeur moins rapide et avec moins de cache mémoire, mais il arrive à aller aussi vite que les autres machines plus puissantes.
  • Pour les performances "désastreuses" du desktop, je pense que c'est à cause du fait d'avoir un seul giga-octet de mémoire (il swap pas mal j'ai l'impression, surtout lors du link de la libxul qui est assez énorme), mais aussi certainement le disque dur, un "vieux" truc en IDE (il y a des dizaines de milliers de fichiers à lire pour compiler le code source de Mozilla). Ce n'est que grâce à distcc que j'arrive à avoir un temps de compilation correcte.

Notez qu'en dehors de la compilation, ces machines ne faisaient quasiement rien d'autre, avec au pire seulement un navigateur ouvert.

Conclusions :

  1. Les progrès dans le design des processeurs et des chipsets sont indéniables, puisque à "puissance" inférieur à celle de composants plus anciens, on arrive à avoir des performances équivalentes voire meilleure. Ce n'était pas le cas "dans le temps", où pour avoir plus de performance, il fallait forcément avoir plus de puissance (enfin il me semble). Je reconnais toutefois que mon analyse est très grossière, car je n'ai pas regardé en détails les caractéristiques de chaque machine, de chaque carte mère, ni comparé la qualité des composants. Mais le portable est quand même un modèle d'entrée de gamme, que n'est pas le desktop Dell testé.
  2. Faut que je demande au moins une barrette de Ram de 1Go à mon patron :-)

Sortie de Jelix 1.0.5, futur de la 1.1 et projet de bug tracker

On essaie d'être le plus régulier possible dans la sortie des versions de maintenance, donc voici Jelix 1.0.5 qui corrige des bugs mineurs. La version 1.0.6 sortira dans deux mois. Si il y a de nouveaux bugs bien sûr :-)

Après un calme assez plat dans les développements de la version 1.1, à cause de la préparation des RMLL, et d'autres occupations qui ont accaparé mon temps, l'activité a repris ces derniers jours, avec encore des nouveautés dans jForms, comme la possibilité de grouper des contrôles, une API plus complète sur les contrôles, et un nouveau contrôle <choice> pour avoir une liste de choix contenant des contrôles, comme dans un bug tracker :

  <choice ref="task">
     <label>Task status</label>
     <item value="new">
         <label>New</label>
     </item>
     <item value="assigned">
         <label>Assigned</label>
         <input ref="assignee" required="true">
             <label>assignee name</label>
         </input>
     </item>
     <item value="closed">
         <label>Closed</label>
         <menulist ref="task-done">
             <label>Status</label>
             <item value="done">Done</item>
             <item value="cancelled">Cancelled</item>
             <item value="later">Later</item>
         </menulist>
     </item>
  </choice>

J'ai encore quelques améliorations à faire, pour rendre jForms plus maléable (rajouter des champs de saisie à la volée par exemple), et après ça, probablement qu'une version beta sortira.

Au passage, si j'ai développé cette balise <choice> avec cet exemple d'utilisation pour un bug tracker, ce n'est pas par hasard. Souvenez vous de mon coup de gueule sur Trac, et des résultats de mes recherches d'un nouveau bug tracker, qui sont finalement restées vaines. Au bout du compte, j'avais décidé à l'époque d'en créer un nouveau, je me suis lancé donc dans ce développement.

Cela m'a permis d'utiliser pleinement Jelix, et de découvrir sa force (2 heures seulement pour faire la gestion complete des reports comme dans trac !), mais aussi certaines faiblesses. D'où la création d'un nouveau système de gestion de droits, jAcl2, avec son module d'admin, mais aussi des améliorations dans jForms, dont celles que je viens d'évoquer. Et tout ça est dans le trunk de jelix maintenant. Ces développements ont bien sûr ralenti ceux de mon projet de bug tracker, mais maintenant que je vais presque avoir tout ce qu'il faut, je vais pouvoir me relancer à fond dans ce projet.

Alors bien sûr, je sais que c'est un peu la mode en ce moment de faire un bug tracker en PHP (à cause entre autre je pense du concours sur developpez.com). Mais je me suis lancé dans ce projet bien avant cette mode ;-). Pour le moment, il n'est pas vraiment utilisable, mais ça va le devenir :-) Enjoy !.

mardi, juillet 22 2008

Un nouveau portable

À mon retour des RMLL, j'ai essayé de faire quelque chose sur mon vieux portable agonisant. Je l'ai désossé complètement, vérifié toutes les connections, au cas où le problème aurait été un truc à moitié débranché suite à un choc. J'ai aussi enlevé la poussière qui obstruait la sortie d'air chaud. Mais rien n'y a fait : j'ai toujours ces problèmes d'affichage, et donc pour moi la carte graphique est morte.

J'ai donc décidé suite à ça de me trouver un nouveau portable. J'ai bien regardé les occasions, mais je n'ai pas trouvé des choses qui me plaisaient à bas prix. Je n'ai pas non plus trouvé de vieux Toshiba M10 ayant la même configuration graphique pour éventuellement récupéré la carte graphique. Et puis, franchement, j'en ai marre de me traîner depuis des années avec du matériel d'occasion. J'ai donc craqué, raclé les fonds de tiroir, et je me suis payé un Dell inspiron 1525, livré sous Ubuntu. Il est arrivé aujourd'hui, ce qui me laisse du temps pour installer ce dont j'ai besoin pour le Summit Mozilla.

La coque externe est sympa. L'intérieur un peu moins beau, les plastiques faisant un peu "cheap", mais je ne vais pas faire le difficile : c'est l'entrée de gamme chez Dell tout de même.

Coté connectivité, il y a vraiment tout : 4 USB, HDMI, firewire, sortie VGA et télé, lecteur carte SD/MMC, sortie casque et microphone, Ethernet, Wifi, modem. Suffisant pour moi en tout cas. J'ai rajouté l'option écran 15.4p en 1440*900, batterie 9 cellules, webcam, processeur dual core T2390 (c'est pas super tip top mais mieux que le pauvre celeron de base par défaut) et 2 Go de ram : il me faut pouvoir compiler Mozilla sans problème. Coté carte graphique, c'est un truc de base intégré Intel. Pas besoin de plus pour développer.

Au premier démarrage, c'est un bonheur d'avoir de suite un linux, et pas avoir à virer Windows. En plus, absolument tout fonctionne sans rien configurer : de la webcam au wifi, en passant par les effets compiz ou la mise en veille (faut que je configure la mise en veille au rabat de l'écran, pour vérifier tout de même).

Après quelques heures d'utilisations, je n'ai rien à redire, c'est parfait :-)

Enfin presque. Parce que Ubuntu, c'est Gnome quand même[1]. Je sens que d'ici quelques jours, je vais le remplacer par KDE. Il y a des petits trucs qui me chiffonnent. J'ai par exemple l'impression qui me prend pour un neuneu dans certaines boites de dialogues de préférences, tellement il y a peu d'options utiles et qu'il manque à mon avis des options importantes. L'alternative est de passer par GConf. Mais.. comment dire... Gconf... Pour un environnement qui se veut User-Friendly, Gconf n'est franchement pas une réussite, et aussi bordélique que la registry de Windows. Dans KDE, j'ai au moins cette impression de pouvoir contrôler un minimum de chose, sans trop en avoir dans tout les sens, tout en ayant une interface agréable. Les vieilles boites de dialogues clickodromes des vieux KDE n'existent plus vraiment. M'enfin je lui laisse une chance à ce Gnome. On verra bien. C'est bien parce que je ne veux pas passer du temps à tout réinstaller pour le moment :-).

Mise à jour : en fait, l'organisation des préférences et des paramètres systèmes est différente, faut chercher ceci ou cela ailleurs, et donc certaines boites sont plus vide que d'autres. L'écart entre les deux environnements est donc moins grand que ce que je voyais au début. Reste quand même que la boite de préférence "à la Mac" de Kde fournie dans Kunbuntu est bien plus sympathique que ce menu de préférences à rallonge de Gnome, que l'éditeur de texte Gedit n'arrive pas à la cheville de Kate, que je préfère adept plutôt que synaptic, que certains programmes vont me manquer comme kdiff3 etc.

Notes

[1] Oui, c'est un paragraphe trollesque

samedi, juillet 19 2008

Cherchez l'erreur

Le pape est en visite en Australie pour les journées mondiales de la jeunesse. Jeudi, il a dénoncé nos sociétés matérialistes, les dégâts écologiques causés par l'activité de l'homme etc. C'est un beau discours, de la part d'un homme qui est arrivé sur les lieux sur un yacht luxueux et rutilant, dévorant des dizaines (centaines je dirais ?) de litres de gasoil à l'heure...

jeudi, juillet 17 2008

Bordures en image dans Firefox

Bon bah ça y est, plus besoin de recourir à des divs dans tout les sens pour utiliser des images pour décorer les bordures des éléments HTML. Le support du style CSS3 border-image vient d'être intégré dans la version de développement de Firefox 3.1 :-) Voir une présentation de border-image sur css3.info. Comme la spécification au W3C est encore en brouillon, il faut utiliser -moz-border-image.

Firefox rattrape son petit retard sur l'implémentation de styles CSS3 par rapport à d'autres navigateurs :-)

Pendant qu'on en parle, au niveau du test acid3, il en est à 81/100.

PS : un post de John Resig qui explique un peu le fonctionnement

mercredi, juillet 9 2008

La balise video dans Firefox

Il y a quelques heures, l'implémentation de la balise <video> a été intégré dans la version de développement de Firefox 3.1 !! Mais ce n'est pas encore totalement fonctionnel : il manque encore l'intégration des "backend", c'est à dire des parties de code qui lisent et affichent la vidéo. En clair : on peut mettre une balise <video>, ses attributs fonctionnent, son API (play(), stop()...) fonctionne, il y a un carré sur la page web où est censée s'afficher la vidéo, mais il ne se passe rien. Cependant ça va venir. (Mise à jour : une version plus récente de cet article est disponible !)

Lire la suite...

mardi, juillet 8 2008

canvas et svg utilisés pour le background

Firefox 3 est sorti, le record de téléchargement en 24 h a été officiellement établi. Mais ce n'est pas pour ça qu'il faut se reposer sur les lauriers. Après tout, la version 3.1 est prévue pour la fin de l'année, avec des choses sympas comme la balise <video> ou le style border-image. D'ailleurs, le trunk était à peine ouvert pour le développement de la 3.1, que pas mal de patchs ont été intégré, comme le support complet des sélecteurs CSS3, le support de text-shadow, des corrections pour le test ACID3 (ils en sont à 80% contre 70% pour Firefox 3), et plein d'autres "bug fix".

Mais ce n'est pas tout, il faut bien s'amuser aussi un peu, et donc certains expérimentent des petites choses. Roc par exemple, vient de faire un patch pour pouvoir utiliser du SVG avec background-image. Mais aussi <canvas> avec background-image.

 background: url(#truc);

truc est l'id d'un morceau de SVG ou d'un canvas dans le document. Cela permet de faire des petites choses comme ça. Et bien sûr, on peut appliquer les autres styles background : background-position, background-repeat etc..

Pour l'instant, pas sûr que ce soit intégré dans Firefox 3.1. Patience donc :-)

lundi, juillet 7 2008

Retour des RMLLs

C'était la première fois que je participais aux RMLLs, et cette édition 2008 me laisse une bonne impression, malgré quelques frayeurs Mardi lors de mon arrivée :

Heureusement le temps s'est rafraichit dans la semaine, les visiteurs sont venus, et j'ai pu avoir une solution de secours pour faire mes conférences. Comme à chaque meeting sur les logiciels libres, c'est l'occasion de revoir ou de rencontrer d'autres libristes, de troller discuter entre nous, en particulier lors des "nocturnes". J'ai pu aussi serrer la pince à deux contributeurs de Jelix, Bast et Bibo.

Lors de mes présentations Jeudi sur Etna et Jelix, il y avait je pense une quinzaine-vingtaine de personnes environ, ce qui est relativement positif, vu le nombre de conférences qu'il y avait pendant ces 5 jours. Par contre, à l'atelier Jelix de Vendredi : 2 personnes, en plus de 2-3 autres spectateurs arrivés par la suite. Faut dire aussi que jeudi soir c'était festif (le "repas du libre"), et l'atelier commençait tôt, à 9h00...

J'ai assisté à la conférence sur Copix, mais aussi sur "Webkit vs Mozilla". Très intéressant, car cela m'a permis d'en savoir plus sur le projet webkit, et sur les grosses différences "philosophique" et techniques, malgré l'objectif commun des deux projets : faire du web un web encore plus ouvert. Et contrairement à ce que peut laisser penser le titre, la conférence ne fut pas un champs de bataille pour trolls en tout genre. Les deux conférenciers, Julien Chaffraix (qui développe actuellement l'implémentation de XBL2 dans Webkit) et Paul Rouget (de Xulfr et contributeur Mozilla), ont bien préparé cette conférence de manière à avoir un "débat" équilibré (M'enfin, on a bien chambré ce pauvre Julien pendant ces 5 jours, lui tout seul face à 5 Mozilliens :-) ).

Au niveau organisation, ce n'était pas mal dans l'ensemble, pas de gros problèmes de mon point de vue (sauf les problèmes techniques pour filmer les conférences, et donc vous n'aurez pas la vidéo de mes présentations, ni celle sur Webkit vs Mozilla). Le seul souci je trouve est qu'il y avait des sites éloignés des uns et des autres. Quand on est à pied, ce n'est pas évident, même si il y avait des navettes... Bravo quand même aux organisateurs, je pense qu'à l'heure actuelle ils doivent tous être sur les rotules :-)

Pour ce qui est des slides, vous les trouverez sur le site des RMLL : Jelix, Etna.

mercredi, juillet 2 2008

Mon portable : RIP

  • Départ pour les RMLL mardi.
  • Dans le TGV, je profite des 5 heures de trajet pour terminer sur mon PC portable les slides pour les deux confs que je vais faire
  • Arrivée à Mont de Marsan, grosse chaleur.
  • Arrivé au stand Mozilla, et sous le chapiteau des associations, il fait encore plus chaud
  • je déballe et allume mon portable : des stries et pleins d'autres bizarreries sur l'écran. Je tapote un peu et ça revient à la normal.
  • Après quelques minutes d'utilisation, les stries apparaissent à nouveau. Le portable est très chaud.
  • Reboot, toujours les stries. Impossible d'arriver sur l'écran de login : absolument rien n'est lisible, clavier inopérant
  • Reboot en mode de secours d'Ubuntu. Là non plus, ça n'arrive pas jusqu'au bout
  • Ça ne fonctionne pas mieux avec un écran externe, ni une fois le PC refroidi.

Je me rend à l'évidence : la carte graphique est morte. Est-ce dû à un choc ? À la chaleur ? je ne sais pas. Toujours est-il que je n'ai plus accès à mes documents, et fichiers pour mes confs. Sur le coup, autant dire que je suis heu-reux !

Aujourd'hui, branle bas de combat pour résoudre le problème. Recherche d'un tournevis sur le stand France Wireless, extraction du disque dur, branchement du disque sur un autre PC du stand Exia-Cesi (Merci les gars !) et transfert des fichiers sur une clé USB. Ouf, dégats limités.

Par chance, Paul est venu avec deux portables et peut m'en préter un pour les conf. Je suis sauvé (même si il faut que je reinstalle des trucs pour l'atelier et les démos :-( ).

Reste à me trouver un nouveau portable, plutôt d'occaz (parce que vu les prix..), pour le Summit Mozilla à la fin du mois. Fais vraiment chi**.

Énorme besoin de vacances d'un seul coup...

mercredi, juin 25 2008

Openweb n'est pas mort

Si vous pensiez qu'Openweb, l'un des tout premiers sites francophones sur les standards, était mort, vous êtes dans le faux.

L'équipe s'est plus ou moins renouvelée depuis quelques mois, et quelques nouveaux articles ont été publié. Mais ce n'est pas fini.

Lire la suite...

mardi, juin 24 2008

Les regexp, c'est bon, mangez-en

Sur son billet "utiliser les regex avec modération", Jérôme explique que substr est plus rapide qu'utiliser preg_match. Mon commentaire sur son billet n'est apparement pas encore passé[1], je me permet donc de répondre ici, car sa comparaison est faussée.

  $extractedString = substr( $exampleString, 1, -1 );

n'est absolument pas équivalent à

   preg_match( '#^\[(\w+)\]$#', $exampleString, $matches );

En effet, dans le premier cas, il n'y a aucune vérification que le premier caractère est bien [ et le dernier ], ni que la chaine à l'intérieur des crochets ne contient que des caractères alphanumérique, contrairement à ce qui se passe dans le deuxième cas avec l'expression régulière.

Aussi, pour avoir une comparaison équitable, il faudrait faire dans le premier cas, au moins ceci :

  if(substr($exampleString, 0, 1) =='[' &&  substr($exampleString, -1) == ']')
      $extractedString = substr( $exampleString, 1, -1 );

En conséquence, les résultats des temps d'exécution sont tout autre : le premier cas est de 2 à 5 fois plus long que l'usage de l'expression régulière. Et encore, là, je n'ai pas ajouté de vérification sur le contenu de $extractedString, pour s'assurer qu'il s'agit bien uniquement que de caractères alphanumériques (je vous laisse imaginer le code qu'il faudrait développer sans l'usage d'une expression régulière).

À la limite, l'expression régulière équivalente au premier cas, serait

 preg_match( '#^.(.+).$#', $exampleString, $matches );

Et là, effectivement, preg_match est plus lent, mais c'est ici une mauvaise utilisation de preg_match. Pourquoi utiliser une expression régulière si on ne cherche pas à vérifier la syntaxe du contenu ?

Conclusion : n'hésitez pas à utiliser les expressions régulières [2] quand vous voulez extraire des données d'une chaîne et en même temps vérifier l'intégrité du contenu ;-).

Notes

[1] c'est bon, problème réglé, mais je laisse ce billet en ligne quand même :-)

[2] uniquement avec les fonctions preg_*, et non pas ereg_*, qui sont obsolètes et plus lentes

Ça existe les vrais CMS simple ?

Il faut que je monte un site qui n'a franchement rien de compliqué :

  • des pages avec du contenu simple, dont je peux indiquer les urls (pour faire propre), et notamment la possibilité d'indiquer une de ces pages en tant que page d'accueil.
  • une partie blog classique, avec commentaires, rss etc.
  • une barre de navigation principale configurable
  • pouvoir choisir ce que je veux afficher dans les barres du coté, en fonction du type de contenu (page simple ou blog), voire en fonction de la page.
  • un gestionnaire de fichiers digne de ce nom (images, archives zip etc..) (genre, on peut poser les fichiers par ftp sans qu'il en soit perturbé)
  • un système de template flexible mais simple à utiliser
  • pas le temps de coder des plugins ou autre pour developper les fonctionnalités qui me manqueraient, et encore moins de lire le manuel de 50 pages qui s'accompagne.
  • un truc qui s'installe en 5 minutes. Je vais passer assez de temps comme ça au niveau des templates.
  • en php si possible.

J'ai donc essayé plusieurs CMS :

  • joomla : usine à gaz, code source pourri, interface très lourde, système de template compliqué, urls pas cool. La qualité de la plupart des plugins et modules laisse vraiment à désirer. Poubelle. (Je me demande parfois pourquoi certains projets de ce type ont autant de succès).
  • drupal : usine à gaz aussi, interface de geek, urls presque cool. Interface d'admin et pages du site fusionnées. Bof bof bof. J'aime pas, tout simplement.
  • wordpress : ça correspond déjà plus à mes besoins. Mais il y a une chose qui m'embête profondément : la gestion des images et fichiers annexes est totalement pourrie (on ne peut pas avoir de sous répertoires dans le dossier des medias, pire encore on ne peut pas afficher une image qui soit dans un sous dossier des medias, en indiquant simplement son lien). Et je ne trouve pas de plugins qui permettrait de remplacer cette gestion d'images catastrophiques.
  • Dotclear 2 : J'aime bien l'interface d'admin, la gestion des images. On peut créer des pages de contenu. Mais par contre, c'est galère pour faire une page d'accueil autre que la liste des derniers billets, et j'ai l'impression qu'il me faudra hacker pas mal de truc pour avoir cette liste de derniers billets (la partie blog quoi), à une autre url que la page d'accueil. Bref, Dotclear, ce n'est vraiment fait que pour un blog. Cela ne correspond donc pas à ce que je veux.
  • PXSystem (ex PlumeCMS) : gestion de la page d'accueil vraiment bizarre. Pas sûr que je puisse faire ce que je veux sur celle-ci. La gestion des urls est assez bizarre. Pas de templates différents pour les simples pages et les news.

Bref, pour l'instant, je ne trouve pas mon bonheur. Et je trouve ça vraiment navrant, en plus de m'ennuyer.

Des idées ? (à part bosser sur jCms :-) )

vendredi, juin 20 2008

Un nouveau depôt pour jelix

Le projet Jelix était initialement hébergé sur la plateforme developer.berlios.de. Mais petit à petit, à cause d'une qualité moyenne de l'hébergement, et parce que Nicolas me prête un peu de sa dedibox, j'ai migré certaines choses de berlios vers le serveur jelix.org. Ça d'abord été le site principal (berlios trop chargé), puis abandon du bugtracker (trop simpliste) après installation d'un trac sur http://developer.jelix.org.

Je gardais toutefois le dépôt subversion sur berlios, par flemme de migrer d'abord, mais ensuite parce que ça animait les stats d'activité du projet, donnant alors en principe une certaine visibilité au projet. Mais les problèmes récurrents d'accès aux dépôts subversions ces dernières semaines m'ont fait prendre la décision de migrer, d'autant plus que ces stats n'ont finalement rien apporté en 2 ans.

Bref donc, à coup de svndump et svn load, le dépôt est maintenant sur svn.jelix.org. On a donc maintenant un accès plus rapide, et plus fiable normalement :-).

Les fichiers en téléchargement et les mailing lists restent par contre sur berlios pour le moment.

Je vais aussi certainement ouvrir en partie le dépôt subversion des fichiers des sites *.jelix.org[1] , en espérant avoir quelques contributeurs qui m'aideront à les faire évoluer. Il y a de plus en plus de chose à faire dessus (notamment l'intégration d'un site de "snippets" codé avec Jelix qui ouvrira dans les prochaines semaines), mais mon temps disponible, lui, ne s'allonge pas. Si au passage il y a des volontaires...

Notes

[1] j'ai du nettoyage à faire d'abord dans ce dépôt, comme cacher les fichiers sensibles, mettre à jour les cartouches de licence sur les trucs "fait maison" etc

mercredi, juin 18 2008

Download day

Si vous n'avez pas encore votre copie de Firefox 3 : courrez la télécharger et l'installer. Aujourd'hui c'est jour de record, jusqu'à 19h. Mozilla entrera dans le livre des records pour le nombre de téléchargement d'un logiciel en 24h. Seule les copies complètes téléchargées à partir du site de Mozilla sont comptabilisées (donc les mises à jour ne comptent pas, les paquets livrés dans les distributions linux ne comptent pas, les copies à partir de site de téléchargement autre que Mozilla non plus, etc..).

Malgré une saturation hier soir au démarrage du compteur après 19h00, les sites de Mozilla tiennent bien le coup. Je n'ai eu aucun mal à télécharger ma copie il y a 10 minutes. Dans les premières heures, il y a eu 14 000 téléchargements à la minute, et apparament ça fluctue entre 7400/min et 9000/min. À l'heure actuelle, ça fait plus de 5 200 000 téléchargements.

Pour suivre en temps réèl quelques chiffres :

Et bien sûr, comme pour la sortie de Firefox 2, l'équipe de développement de IE a envoyé un gateau aux développeurs de Mozilla. (On notera que le gateau pour Firefox 2 n'a pas été entièrement mangé ;-) )

jeudi, juin 12 2008

Firefox 3

C'est pour le 17 juin

\o/

mercredi, juin 11 2008

Affichage de Texte dans Firefox 3

Une des grandes améliorations dans Firefox 3, mais qui ne se voit pas forcément à première vue, c'est l'affichage du texte, ou plus exactement, l'utilisation correcte des fontes : crénage, ligatures, "font hinting", anti-alias, sélection des fontes. Autant de points qui ont été amélioré, voire introduit, ce qui permet un affichage typographique de qualité. D'ailleurs sur certains de ces points, Firefox 3 est apparemment meilleur que les autres navigateurs. Mais ce n'est pas fini, car dans les prochaines versions de Firefox, il y aura d'autres améliorations comme les fontes téléchargeables (si certains point de la spécification au W3c sont éclaircis), "font family merging" (?), "font-stretch", et les ombres sur les textes (text-shadow) dont le développement est très actif.

Pour en savoir plus, lisez le billet de Dria : Firefox 3: Font and text. Après, on comprend mieux tout ces termes barbares :-).

- page 3 de 41 -