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

lundi, juillet 15 2013

Tada! Here is SlimerJS!

Once upon a time, on the december 10th, 2012, I discovered CasperJS and PhantomJS and this was the beginning of a great history....

Lire la suite...

mardi, juin 2 2009

Des problèmes XML dans webkit

Ici à Zoomorama, on hallucine sur les implémentations de XML dans les navigateurs. En effet, dans un de nos projets, on doit manipuler en javascript un document XML, créé à partir d'un DOMParser, et on a besoin de pouvoir propager un événement DOM sur des éléments XML. Et c'est loin d'être facile...

Lire la suite...

dimanche, juillet 27 2008

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 :-)

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.

jeudi, février 8 2007

En vrac

  • Dans le cadre de l'adaptation sur Gecko 1.9 (trunk Mozilla), d'Etna, l'éditeur XML wysiwyg que je développe chez DI, je suis donc tous les jours les évolutions du futur moteur de Firefox 3. Je peux vous assurer que ça va vraiment dépoter. De nombreuses refontes internes, meilleure prise en charge des standards (CSS avec test acid2, SVG avec les filtres et pas mal d'autres améliorations, DOM etc.), meilleures précisions dans l'affichage, meilleures perfs, moins de leaks...
  • À propos de Gecko 1.9, la version 1.9a2 est sortie
  • Comme tous les ans, je prévois d'aller à fosdem, le meeting de logiciel libres. J'y vais bien sûr avec la double casquette Xulfr/Mozilla-europe, pour assister aux confs Mozilla et tenir le stand Mozilla.
  • J'ai corrigé pas mal de bug dans Jelix 1.0 beta 1. J'hésite alors à sortir Jelix 1.0 beta 1.1. Mais ça fait un peu lourd comme intitulé :-). Je me demande si je n'aurais finalement pas dû utiliser la notation 0.1, 0.2, 0.3 etc, bien que je n'aime pas trop.
  • Le week-end dernier, presque 4 mois aprés la 3.0 RC1 (manque de temps :-)), j'ai sorti la version 3.0 finale de Wikirenderer, ma classe php de transformation de texte wiki en ce-que-vous-voulez, avec quelques bugs corrigés en plus.
  • On a commencé le développement d'un dépôt/catalogue de composants (xbl, javascript, xpcom..) pour le site xulfr.org. Y aura peut être même finalement pour chaque projet, un dépôt subversion + trac, puisqu'un gentil contributeur a fait des scripts d'administration de tous ça, dans le cadre de la forge pour Jelix (eh oui, on prévoit une forge de module pour jelix ;-) ). Je compte bien mutualiser les devs sur les deux sites.
  • Bon, mais, problème toutefois : mon enveloppe charnelle m'a bien fait comprendre, mardi, qu'elle n'avait plus 20 ans, et qu'en gros, il fallait que j'arrête absolument de coder jusqu'à pas d'heure tous les soirs. Donc dorénavant, je vais faire des vraies nuits, ce qui aura pour conséquence un ralentissement de tous mes projets persos. C'est trop injuste :-/.

Je me dis parfois qu'un jour il faudra que j'arrête d'avoir cette vie de fou. Je m'en suis rendu compte il y a quelques années, après les quelques mois passés en Polynésie. La vie en région parisienne est aliénante, complètement folle, voire débile. Je passerais bien à nouveau quelques mois sous les tropiques, à me laisser vivre, à vivre tout simplement. Encore faut-il en avoir la possibilité...

jeudi, février 20 2003

Un nouveau navigateur basé sur Gecko

Lu sur linuxFr, un nouveau navigateur vient de sortir : il s'appelle Epiphany, développé par un des mainteneurs de Galeon, Marco Pesenti Gritti.

Le navigateur se base sur Gecko, et est destiné au bureau GNOME, en respectant les normes d'interface utilisateur de celui-ci. D'ailleurs, vous pouvez l'admirer.

Et voici ce qu'on peut lire sur le site officiel d'epiphany :

A web browser is more than an application, it is a way of thinking, it is a way of seeing the world. Epiphany's principles are simplicity and standards compliance.''

Décidement, Gecko c'est trop fort comme plateforme de dev web ! ;-)