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

lundi 9 septembre 2013

Événements chez Mozilla Paris en Septembre !

Depuis la récente ouverture des nouveaux locaux de Mozilla à Paris, nous organisons régulièrement des réunions et des événements avec la communauté Mozilla bien sûr, mais aussi avec les communautés du libre et du web francophones.

Nous organisons aussi de nombreuses autres rencontres et séminaires de travail dans d'autres domaines (par exemple cette semaine le W3C et le CSS WG travailleront dans nos locaux) et ce mois-ci, nous avons plusieurs événements intéressants auxquels vous pouvez assister / participer :

  • Mercredi 11 septembre c'est Javascript les doigts dehors, de 19h à 23h. Si vous voulez apprendre, ou enseigner le javascript, en mangeant des gateaux fait main, c'est par ici. Inscription obligatoire (dans la limite des places disponibles).
  • Jeudi 12 septembre à 19h, rencontre avec les trois startups françaises sélectionnées par Mozilla dans le cadre de notre programme WebFWD d'accélérateur de startups du Web : CozyCloud, PLOM.IO et Webshell.io (par ordre alphabétique). Pour mieux les connaitre, les féliciter… et boire un coup à leur santé, linscription est sur ce framadate.
  • Week end des 14 et 15 septembre : en collaboration avec la mairie du 9ème arrondissement, les locaux de Mozilla seront ouverts au public pour les journées du patrimoine ! Comme vous le savez peut être, Mozilla occupe des locaux classés monuments historiques et qui bénéficient d'une décoration exceptionnelle. Si vous voulez rencontrer Mozilla et des Mozilliens tout en faisant une sortie culturelle, c'est une excellente occasion !
  • Le samedi 21 septembre, nous organisons une rencontre avec la communauté Dotclear, si vous voulez participer au code de Dotclear, au développement des futures version, au design, apprendre à faire un thème ou une extension et de manière générale participer au projet Dotclear, vous êtes les bienvenus (mais inscrivez-vous svp ;) )!
  • week end des 28 et 29 septembre : Mozilla Game Jam Paris, hackathon de création de jeux vidéos en HTML5, a priori c'est déjà plein mais il y a une liste d'attente

Ce n'est évidemment qu'un début, si vous faites du libre et du web et que vous voulez orgnaniser un petit événement ou une réunion de travail, n'hésitez pas à nous (me) contacter ! :)

Plan vers Mozilla Paris

mardi 4 décembre 2012

Compiler Firefox OS en version desktop sur une Ubuntu

J'ai installé hier Firefox OS en version Desktop sur mon Ubuntu (12.04) afin de jouer avec.

Voici les étapes qui marchent chez moi :

Tout d'abord, il vous faut installer les paquets nécessaire à la compilation et bien sûr les outils de gestionnaire de version nécessaires :

sudo apt-get install mercurial g++ make autoconf2.13 yasm libgtk2.0-dev libglib2.0-dev libdbus-1-dev libdbus-glib-1-dev libasound2-dev libcurl4-openssl-dev libiw-dev libxt-dev mesa-common-dev ccache git

Ensuite, on va créer un dossier FirefoxOS dans son /home :
mkdir ~/FirefoxOS/

Puis on va ce dossier :
cd ~/FirefoxOS/

Ensuite on récupère le code source de Firefox OS Bêta :
hg clone http://hg.mozilla.org/releases/mozilla-beta

(ça créera un dossier ~/FirefoxOS/mozilla-beta)

Puis on récupère le code source de Gaia, l'interface graphique en HTML5 de FirefoxOS :
git clone https://github.com/mozilla-b2g/gaia/

(ça créera un dossier ~/FirefoxOS/gaia)

Les deux étapes ci-dessus prennent du temps, surtout si vous avez une petite connexion.

Une fois ceci fait, il vous faut créer un fichier .mozconfig (notez bien le point avant mozconfig) que l'on mettra ici:
~/FirefoxOS/mozilla-beta/.mozconfig

Voici le contenu de mon .mozconfig :

CONCURRENCY=$(( `grep processor /proc/cpuinfo | wc -l` + 2 ))
mk_add_options MOZ_MAKE_FLAGS="-j$CONCURRENCY"
mk_add_options MOZ_OBJDIR=../build
# Use ccache
ac_add_options --with-ccache=/usr/bin/ccache
ac_add_options --enable-application=b2g
ac_add_options --disable-libjpeg-turbo
# This option is required if you want to be able to run Gaia's tests
# ac_add_options --enable-tests
# turn on mozTelephony/mozSms interfaces
# Only turn this line on if you actually have a dev phone
# you want to forward to. If you get crashes at startup,
# make sure this line is commented.
# ac_add_options --enable-b2g-ril

Une fois ceci fait, on va compiler Firefox OS, attention, ça prend du temps ! Plus de deux heures sur mon petit portable.
cd ~/FirefoxOS/mozilla-beta
make -f client.mk


La compilation créera un dossier ~/FirefoxOS/build/ et votre binaire se trouve là :
~/FirefoxOS/build/dist/bin/b2g

Une fois ceci fait, on va créer un profil Gaia :
cd ~/FirefoxOS/gaia
make

Une fois le profil créé, vous pouvez lancer Firefox OS avec cette commande :
~/FirefoxOS/build/dist/bin/b2g -profile ~/FirefoxOS/gaia/profile


et voilà le résultat :
Firefox OS sur Ubuntu

Si vous voulez plus d'informations, il y en a plein ici en anglais :
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS

N'oubliez pas non plus que Geckozone (la section forums de MozFr) a ouvert récemment un forum pour FirefoxOS :
Forum Firefox OS en français

Et vous pouvez discuter avec des développeurs et bénévoles Mozilla francophones dans le salon IRC #devfr sur irc.mozilla.org

MODIFICATION : 10h40, j'ai modifié l'url du dépôt mozilla-beta, je l'avais tapée de mémoire et évidemment ma mémoire était défaillante, désolé :)
MODIFICATION: 12h11,décidemment c'est la série, la création de profil gaia se fait évidemment après un cd dans le dossier gaia et pas dans le dossier mozilla-beta, corrigé aussi :)
MODIFICATION: 05/12/2012,ajout de ccache et git dans les dépendences nécessaires

vendredi 30 novembre 2012

Quelques nouvelles Mozilla

Tiens, ce matin j'ai envie d'utiliser mon blog :)

Alors voilà quelques nouvelles intéressantes cette semaine liées à Mozilla :

  • Mozilla ces deux dernières années s'est beaucoup impliqué techniquement dans les groupes de travail de l'IETF qui crée les normes Internet (protocoles par exemple) et dépend pour son fonctionnement de la fondation Internet Society. Mozilla est désormais membre sponsor de l'internet Society afin d'aider aussi l'IETF pour ses dépenses de fonctionnement. Billet de Josh Ash à ce sujet : Mozilla Joining ISOC in Support of IETF Activities
  • On est en train de finaliser un mode de navigation privée par fenêtre, ce qui permet d'avoir une fenêtre Firefox normale et une fenêtre Firefox en navigation privée en même temps (alors qu'en ce moment soit toutes la navigation est en mode incognito, soit tout est en mode normal). Ehsan Akhgari, le développeur qui est derrière le mode de navigation privée (qu'il avait ajouté à Firefox en tant que simple bénévole à l'époque et qui a bossé sur plein de projets importants pour Firefox depuis qu'il est employé, par exemple le nettoyage du composant Editor, le système de mise à jour silencieux depuis Firefox 4, plein de trucs sur le layout...) fournit des binaires en anglais depuis aujourd'hui basés sur Firefox Nightly avec ce nouveau mode de navigation privée par fenêtre et demande à tout le monde de tester et de lui envoyer plein de feedback parce que cette réécriture implique des changements de code importants touchant plein de domaines et pourrait causer des régressions. Plein de détails sur son billet Per-window private browsing ready for testing now!
  • Xavier Mouton-Dubosc a écrit aujourd'hui un très bon article en français sur FirefoxOS, le Firefox Marketplace et de manière générale ce que représente Mozilla et Firefox pour l'avenir du Web Mobile, à lire : 2012, fin d'un monde du web ?
  • Les forums de Geckozone ont maintenant rejoint le projet collaboratif Mozilla francophone MozFr, les habitués ont donc pu découvrir la nouvelle addresse des forums qui sont maintenant sur notre serveur commun (forums.mozfr.org). La migration est passée, Google réindexe les forums vitesse grand V (déjà plus de 220.000 pages indexées en deux semaines), il y a encore beaucoup à faire mais il y a aussi des nouveautés, en particulier, un tout nouveau forum pour Firefox OS et un autre pour les Open Web Apps 

mercredi 6 juin 2012

Fonctionnement en parallèle de deux versions de Firefox

Une petite astuce que j'ai apprise récemment sur IRC et qui est bien pratique.

J'utilise en permanence deux versions de Firefox (celle proposée par les dépôts Ubuntu et Firefox Nightly). Jusque là, tout va bien, j'ai un lanceur spécifique qui me permet de les lancer en parallèle avec des profils séparés :

$ firefox -P "nom" -no-remote

Mais cette méthode a un inconvénient dans Gnome Shell (peut être aussi sous Unity, pas testé), c'est que lorsqu'on fait alt+tab pour passer d'une appli à une autre, toutes les fenêtres de mes deux firefox sont groupées sous la même icône Firefox. La solution à cela est de rajouter une option dans le lanceur :

$ firefox -P "nom" --class "Nocturne" -no-remote

Voilà, j'ai maintenant des icônes distinctes en utilisant alt+Tab, chacune avec ses sous-fenêtre associées.

Le seul bug est que lorsqu'il y a une mise à jour automatique, l'option class n'est pas reprise en compte lors de la relance du navigateur, il faut le fermer/ouvrir manuellement pour que ça le reprenne en compte.

La seule référence à cette option est celle-ci https://bugzilla.mozilla.org/show_bug.cgi?id=496653.

samedi 17 mars 2012

Nouvelle page d'accueil pour Firefox + nouvelle page sur ouverture d'onglet

Depuis quelques jours, la page d'accueil de Firefox (about:home) a connu sa première modification majeure depuis Firefox 4.

Désormais, de larges icônes permettent d'accéder aux marque-pages, à l'historique, aux extensions, aux paramètres de Firefox, au gestionnaire de téléchargements et à l'outil de synchronisation des données.

Voici une capture écran sur Firefox Nightly d'hier (sous Linux):

about:home

En parallèle, l'ouverture d'un nouvel onglet affiche désormais les neufs sites les plus fréquemment visités que l'on peut réorganiser à la souris, enlever et épingler pour qu'ils ne soient pas remplacés:about:newtab

On peut s'attendre à des évolutions dans les versions à venir bien sûr, mais les captures écran étant sympas, je les partage :)

Si vous voulez essayer ça dans une nightly, c'est par là:

ftp://ftp.mozilla.org/pub/firefox/nightly/latest-mozilla-central-l10n/

vendredi 4 février 2011

Ce soir c'est Fosdem, venez rencontrer Mozilla !

Comme tous les ans depuis 2004,  je vais à FOSDEM ce soir pour y passer le week end entre développeurs libristes à boire des bières refaire le monde et partager l'expérience de nos différents projets.

fosdem

Si vous avez envie de participer à un projet international et populaire (utilisé par 400 millions d'utilisateurs), quel que soit le domaine (code, traduction, promotion, place des femmes dans le libre, graphisme...) n'hésitez pas à venir sur le stand Mozilla nous en parler (vous demandez Pascal, Delphine ou William, on redirigera vers les bonnes personnes si nécessaire). On fera sûrement aussi des démos de Firefox 4 sur le stand pour les curieux qui ne l'auraient pas encore essayé ;). Voilà nos têtes pour nous repérer:

PascalDelphineWilliam
delphinewilliam

Voilà le programme pour Mozilla sur ces deux jours : Mozilla at Fosdem 2011

jeudi 3 février 2011

J'ai un patch dans Firefox 4 beta 10, pourquoi pas vous ?

Depuis aujourd'hui, dans la version Linux de Firefox,  l'icône symbolisant un document vide ou une page qui n'a pas d'icône envoyée par le serveur ont un nouvel aspect un peu plus intégré dans Gnome puisque la vieille icône en png a été remplacée par un appel à l'icône système équivalente sous Gnome. Cela signifie que si vous changez de thème Gnome et que ce thème a une icône différente pour les documents vierges, Firefox utilisera cette icône.

Ce n'est pas un gros changement dans Firefox, mais celui-ci a une saveur particulière puisque j'en suis l'auteur et que c'est mon premier vrai patch accepté pour Firefox 4.

Il s'agit du bug 621091 et voici la photo avant/après mon patch:

Quelles leçons ai-je tiré de ce travail:

  1. Ça a été moins compliqué que je ne le pensais
  2. Il est important de bien comprendre le processus de résolution d'un bug dans Bugzilla pour faire avancer les choses
  3. Des améliorations directes au logiciel sont possible même par des non-développeurs
  4. Ce que j'ai appris à travers ce bug devrait me permettre de régler d'autres problèmes simples à l'avenir
Au cours de la réalisation de ce patch, j'ai aussi trouvé une petite erreur dans un chemin de fichier pour le thème Linux (bug 627881) qui a aussi été corrigée et un bug de crash dans un cas un peu rare (bug 621009) qui sera sûrement corrigé plus tard. Il y a donc eu aussi un aspect bêta-test autour du bug initial qui était intéressant.

Les ressources qui m'ont aidé pour mon patch sont les suivantes:

Ma bonne résolution pour 2011 est désormais d'écrire un patch par mois pour Firefox et d'en avoir un tiers accepté sur l'année (par exemple j'ai un patch en cours qui rajoute des options non documentées quand on fait firefox --help dans la console, bug 619069). Je me concentre sur des patchs dédiés à Linux parce que c'est d'une part la plateforme que je connais le mieux et que d'autre part de par son statut de plateforme très minoritaire, elle reçoit moins d'attention que les autres surtout en ce qui concerne le fignolage de l'interface.

Je ne peux qu'encourager les libristes francophones à faire de même et à participer directement au code de Firefox, tout auteur d'un patch accepté aura sa photo publiée sur Bonjour Mozilla !!

vendredi 10 septembre 2010

Meilleur zoom des photos pour Firefox 4 Linux

Le bug Bug 422179 (Implement Bug 381661 (bilinear filtering of upscaled images) for Linux) vient d'être résolu et il resout un vieux problème de lissage des images quand elles sont zoomées sous Linux.

Ce bug était connu chez Ubuntu comme le bug 217908 (FFe: Pixellated Images in Firefox/Opera due to incorrect EXTEND_PAD implementation in several video drivers)

Voici un  exemple avec une petite image zoomée (faites un clic sur l'image), à gauche on voit l'image très pixelisée avec Firefox 3.6, à droite l'image est maintenant lissée avec Firefox trunk.


Bug422179.png

De manière générale, ça va régler beaucoup de petits accrocs visuels sous Linux dès que l'on joue avec le zoom de la page.

(photo d'origine)

vendredi 25 juin 2010

Le travail en cours sur le thème Linux de Firefox

Si vous voulez suivre le travail en cours sur la version Linux du futur thème Firefox 4, ça se passe dans ce bug:

https://bugzilla.mozilla.org/show_bug.cgi?id=572482

Des ébauches sont disponibles sur le wiki de mozilla, voici une capture écran de ce que ça donnerait avec le nouveau thème ambiance d'Ubuntu:

Attention, il ne s'agit pas du thème final mais de l'ébauche en cours de ce qui est prévu (vous pouvez d'ailleurs voir dans l'historique du wiki les ébauches précédentes), il est très probable que le thème évolue beaucoup dans les mois qui viennent et en particulier lorsque les bêtas sortiront et que l'on aura des retours d'utilisation des utilisateurs.

Personnellement j'aime bien et je suis content que l'on mette des icônes avant/arrière qui sont dans le même esprit que ce qu'on utilise sur Windows/Mac plutôt que des icônes systèmes classiques, ça ressemblait un peu trop à une fenêtre nautilus ou epiphany à mon goût :) L'indicateur de chargement de page (dernier onglet) est pas mal aussi.

mercredi 23 juin 2010

Firefox 3.6.4 est sorti, le Firefox anti plantage Flash

Firefox 3.6.4 est sorti hier soir et en dehors des habituelles corrections de stabilité et de sécurité que nous intégrons dans ces versions mineures, cette version intègre une nouvelle technologie qui a été rétro-portée du future Firefox 4 en développement: l'isolation des plugins Flash, Quicktime et Silverlight dans un processus à part.

Cette fonctionnalité dans 3.6.4 est disponible pour Linux et Windows, les utilisateurs de Mac devront attendre Firefox 4 car les changements architecturaux nécessaires ne sont pas rétro-portables sur ce système du trunk à la version 3.6 aussi facilement.

Concrètement qu'est-ce que ça veut dire pour l'utilisateur ?

Lorsqu'une page contient du flash (une vidéo, un jeu, une bannière de publicité...), ce plugin est mis dans un processus séparé appelé plugin-container. Si Flash plante, Firefox n'est plus emporté dans son plantage et il suffit de recharger l'onglet pour que Flash soit rechargé (je crois me souvenir qu'un tiers des plantages de Firefox sont en fait des plantages de Flash et vu la qualité de la version Flash de Linux, c'est probablement beaucoup plus sur notre OS de prédilextion !).

Voici une capture écran d'un flash planté:

On peut faire un petit test amusant, lancez un des jeux flash ultra populaires sous Facebook comme Happy Aquarium our Farmville par exemple, jouez avec une dizaine de minutes et ouvrez votre gestionnaire de processus, voici ce que ça donne chez moi:

  • Firefox : 35Mo
  • plugin-container (= Flash) :  175Mo
Oui, vous avez bien lu, un simple petit jeu en Flash mal codé peut bouffer 175Mo !!! Jusqu'à il y a peu, on aurait accusé à tort Firefox d'être le consommateur de cette mémoire, maintenant le coupable est clair et on peut même tuer le processus pour récupérer cette mémoire rapidement :)

C'est la première fois qu'on fait un rétroportage d'une techno du prochain Firefox sur la version actuellement distribuée de Firefox, ça n'a pas été facile du tout à tous les niveaux (développeurs, contrôle qualité, traducteurs, web...) mais l'incroyable gain en stabilité que cela apporte à nos 400 millions d'utilisateurs (surtout sous Linux) explique pourquoi nous avons pris la décision de ne pas attendre Firefox 4 pour proposer cette amélioration à tous.

mardi 8 juin 2010

bonjourmozilla.fr

La communauté Mozilla francophone vous dit bonjour !

Tout juste monté, vous pouvez le suivre ici: http://bonjourmozilla.fr

Chaque matin à 10h, une nouvelle photo commentée liée à Mozilla

Ce site est monté sur un Dotclear légèrement modifié, un grand merci à Benj de l'April pour m'avoir passé ses patchs et le modèle de page de bonjourapril.fr qui ont servi de base à notre site !!

Merci à Claire qui a eu l'idée et merci à Vivien pour s'être chargé du nom de domaine et de l'hébergement.

mercredi 17 février 2010

Nouveau jeu d'icônes Vista dans les compils nocturnes de Firefox

Dans les compilations quotidiennes de Firefox (le tronc) Il y a un nouveau jeu d'icônes pour la version Windows. On notera aussi que les boutons d'arrêt et de rechargement de la page sont maintenant fusionnés (mais ça fait déjà quelques semaines). Le nouveau jeu d'icônes est plus discret et prend moins de place horizontale que l'ancien (je ne sais pas si ce sont les icônes finales).

Je ne suis pas utilisateur régulier de Windows donc pas forcément le meilleur juge mais ça me semble mieux que les icônes actuelles.

Voir la capture d'écran ci-dessous avec en haut les nouvelles icônes et en bas Firefox 3.5.7

jeudi 14 janvier 2010

Tester Firefox avec un profil kleenex

Il est possible de tester (sous Linux) Firefox avec un profil temporaire sans avoir à en créer un depuis le gestionnaire de profils puis avoir à faire du nettoyage. C'est intéressant par exemple si on veut rapidement tester une régression et qu'on veut être sûr que ce n'est pas lié à un problème de profil, ou bien si on a un profil très personnalisé (genre plein de modifications dans about:config) et qu'on ne veut pas les réinitialiser juste pour un test.

Pour cela, il faut lancer Firefox en ligne de commande et utiliser le paramètre -Profile qui pointe vers un dossier vide existant situé où vous voulez sur le disque.

ex:

firefox -Profile /home/pascal/temp/profile

Voici un exemple de fichier bash qui vous permettra de lancer un firefox de développement avec un profil temporaire :

#!/bin/bash
# chemin du profil temporaire
target=${HOME}'/tempmoz/'
# chemin de Firefox
fx=${HOME}'/applis/Firefox-Trunk/firefox'
echo "== Lancement de Firefox dans un profil temporaire =="
mkdir $target
$fx -Profile $target --no-remote
echo "Effacement du profil temporaire à la fermeture de Firefox"
rm -rf $target
echo "Profil temporaire effacé"

L'option --no-remote vous permettra d'ouvrir ce Firefox en parallèle d'un autre Firefox déjà ouvert, votre Firefox dans une version stable avec votre profil habituel par exemple.

samedi 9 janvier 2010

Retour sur mes bugs en cours + mes 2 nouveaux bugs de début janvier

Juste avant la nouvelle année,  je bloguais sur les bugs que j'avais rapportés en décembre concernant Firefox et j'apportais quelques réflexion sur la participation des utilisateurs Linux aux projets libres qu'ils utilisent et sur le bêta-test en général (Bêta-test Firefox: mes bugs de décembre).

Quel est donc le statut de ces bugs aujourd'hui ?

  • [résolu] Bug 532721 - CSS Gradient backgrounds are not repainted when DOM is changed
  • [résolu] Bug 531289 - Firefox doesn't obey system dpi settings anymore
  • [résolu] Bug 536631 - Firefox no longer detects rss feed
  • [résolu] Bug 536843 - Flash plugin has display problems on Firefox Linux Trunk and 3.6 builds, regression
  • [en attente] Bug 534767 - New Drag and Drop JS API does not work with Jetpack installed

Les quatre bugs Linux ont été résolus et n'affecteront donc ni Firefox 3.6 ni le futur 3.7. Le dernier bug n'affecte pas le navigateur directement mais est très probablement un bug Jetpack (qui en est en version 0.7), ça ne bloque donc pas une sortie logicielle.

Je suis heureux d'avoir pu contribuer à la qualité de la version Linux de Firefox juste par ce simple bêta-test de décembre, la rapidité de réponse des développeurs a été très impressionnante, un grand merci à eux !

La bonne nouvelle c'est que je n'ai pas trouvé d'autres régressions, j'ai tout de même rapporté deux autres petits bugs mineurs, l'un est un bug d'interface Gnome et l'autre un léger bug de rendu:

  • Bug 538319 -  white line around search and url fields that disappears if you hover the field with the mouse
  • Bug 538383 -  -moz-box-shadow does not follow rounded borders correctly defined by -moz-border-radius

Autre bonne nouvelle, des gens ont commenté sur mon billet précédent pour rapporter leurs propres problèmes et j'ai pu inciter l'un deux à ouvrir son premier bug ! (  Bug 536996 -  nsISound is broken (Linux)  ) Ce bug est activement travaillé et a déjà 37 commentaires. Un grand merci également donc à Moktoipas pour avoir pris la peine de rapporter son bug et d'y adjoindre un testcase.

Quelle conclusion tirer de tout cela ? :

  • Si on veut que la qualité de Firefox sous Linux soit bonne, il faut rapporter les bugs dès qu'on les voit ! Je suis  surpris que plusieurs personnes m'aient dit après coup qu'ils avaient aussi constaté le bug avec Flash ainsi que celui des gradients mais qu'ils n'avaient pas vu l'intérêt de signaler la régression. "C'est tellement gros que ça sera rapporté" pour citer un ami dont je tairai le nom :) Le problème c'est que si tout le monde pense que le voisin rapportera le bug pour lui, en fin de compte personne ne rapporte rien. C'est particulièrement important sous Linux, nous sommes déjà à la base peu nombreux mais en plus nous ne sommes qu'une poignée à utiliser des versions en développement, il faut absolument que l'on soit réactifs sur les régressions !
  • Nous nous trouvons dans une situation paradoxale.  Le nombre de bêta-testeurs sous Windows devient absolument gigantesque (en époque de Release Candidate on approche du million de bêta-testeurs sous Windows) et en plus ces gens sont enthousiastes et ravis que nous les invitions à participer à du logiciel libre (ce qui est une excellente nouvelle pour le libre à mon avis). Parallèlement à cela, nous avons beaucoup de mal à avoir des bêta testeurs sous Linux en grande partie parce que nos canaux de communication habituels sont remplacés par ceux de la distro lors de l'empaquetage. On a incité nos utilisateurs à bêta tester sur la page de démarrage, les notes de version, nos pages de mise à jour ont des sondages trimestriels... Hors les distros lors de la personnalisation de Firefox remplacent les liens vers ces pages par des pages de promo de la distro. Il nous faut donc réfléchir à de nouveaux canaux de communication vers le monde Linux puisque ceux que nous avions intégrés dans Firefox sont supprimés pour les versions empaquetées. La création du planète Mozilla francophone et mes billets maintenant syndiqués sur planet-libre.org sont ma petite contribution à cet effort. J'ai d'autres idées à ce sujet mais je vais les laisser mûrir avant d'en parler :)

samedi 2 janvier 2010

CSS Gradients dans Webkit et Gecko

Je me suis pas mal amusé ces derniers temps avec les nouvelles possibilité des CSS (angles arrondis, ombres de boîtes et de texte, dégradés de couleur) pour voir ce qu'il était possible de faire avec ces nouveaux outils. L'intérêt de ces règles CSS c'est qu'elles permettent très souvent d'améliorer facilement un site web existant à peu de frais sans pour autant casser le site pour des navigateurs plus anciens (et par anciens navigateurs, j'inclus Firefox 3, Opera 10, Safari 3, les versions de Chrome vieilles de plus de 6 mois... ;) )

Ces règles sont parmi les règles CSS les plus intéressantes car le dégradé est un effet courant sur le web et les faire par css permettra de remplacer de coûteuses requêtes http pour des images. Sur la page des labs du projet Kompozer, j'ai combiné plusieurs de ces effets pour voir ce qu'on pourrait faire, notez par exemple le titre KompoZer Labs qui ne contient aucune image mais est une combinaison de dégradé, arrondis et d'ombrages sur une balise <h1>.

Pour ceux qui n'auraient pas un navigateur très récent, voici une capture d'écran montrant cette page dans les dernières versions de Firefox Trunk et Chromium sous Linux :

On peut noter que Chromium bien que supportant les dégradés CSS depuis plus longtemps que Mozilla a des bugs de rendus assez importants avec un très fort effet d'escalier dans le dégradé d'arrière-plan et beaucoup de mal avec les dégradés progressifs sur le h1, ça donne vraiment l'impression que le dégradé est calculé sur 256 couleurs seulement. Ça m'a un peu surpris car il me semblait que Webkit malgré un support imparfait des dégradés ferait mieux que gecko puisqu'ils avaient implémenté le draft CSS bien avant nous (ce qui explique leur syntaxe CSS assez compliquée pour le moment, elle a été simplifiée depuis et c'est ce que nous utilisons). En plus Paul me disait qu'il était sûr que sous Windows il n'y avait pas d'effet d'escalier sous Webkit,  j'ai donc lancé Virtualbox pour vérifier et voici la capture d'écran avec Safari 4, Chrome 3 et Firefox 3.6b5 :

Là on peut voir en fait que Webkit sait bien gérer les dégradés mais que c'est dans le fork Chrome de leur moteur de rendu qu'il y a un problème puisque Safari a un rendu correct. On notera aussi sur la capture de Chromium sous Ubuntu plus haut que le support des bords arrondis avec ombrage qui les suit devient enfin correct (il y a deux mois c'était pété de chez pété). Le rendu des polices avec ombrage diffère aussi entre Safari et Chrome, la version Safari est strictement identique à celle de Gecko alors que Chrome a un rendu trop léger à mon avis, on voit à peine les passages en gras.

À surveiller donc dans les mois à venir, ça pose la question du support correct des technologies dans les navigateurs, je me demande aussi comment se font les arbitrages dans le projet Webkit qui est maintenant bicéphale, le gros du développement du moteur de rendu étant assuré par Apple alors que Google a le gros des utilisateurs Webkit avec Chrome.

dimanche 27 décembre 2009

Bêta-test Firefox: mes bugs de décembre

Voici les bogues (non liés à mon travail comme employé) que j'ai rapportés ce mois de décembre concernant les versions 3.6 bêta et 3.7 trunk de Firefox.

Bug 532721 - CSS Gradient backgrounds are not repainted when DOM is changed

J'ai trouvé celui là en testant l'un des tutoriels d'Alix de hacks.mozilla.org sur les CSS gradients, la page sur laquelle je travaillais était labs.kompozer.net qui me servait de terrain de test. Ce bogue a été accepté comme bloqueur et les développeurs se sont dépêchés pour qu'un patch soit intégré dans 3.6 :)

Bug 531289 - Firefox doesn't obey system dpi settings anymore

J'ai trouvé ce bogue en testant les compils nocturnes du tronc, c'est une régression sous Gnome/Linux paradoxalement due à une tentative d'amélioration pour Firefox Mobile (Maemo, donc Linux). C'est le bogue typique qui n'est visible que si un grand nombre de testeurs avec des configurations différentes utilisent les compils nocturnes, dans ce cas précis, il fallait avoir réglé les polices de son bureau gnome en dessous de 96dpi pour le voir. Le patch coupable a été corrigé.

Bug 536631 - Firefox no longer detects rss feed

Personne ne s'était apperçu que depuis 3 mois, l'icône des flux RSS n'apparaissait plus dans les versions du tronc uniquement pour Linux. Un bogue similaire avait été rapporté par dbaron qui soupçonnait que cela pourrait poser problème aux applis xulrunner, ce bogue a donc été marqué comme "duplicate" de l'autre et le complète en augmentant son importance, pas encore réparé mais il est maintenantplus sur le radar des développeurs. Ce qui montre que personne n'utilise des versions Linux de Firefox trunk, nul doute qu'une régression aussi visible serait rapportée en quelques heures sous Windows ou Mac.

Bug 534767 - New Drag and Drop JS API does not work with Jetpack installed

J'ai découvert ce bogue en testant la démo de Paul File upload & Firefox 3.6, il s'agit d'une incompatibilité entre Jetpack et notre implémentation de la nouvelle API Drag N Drop d'HTML5, apparemment ça n'affecte que Linux (enfin, j'ai eu la flemme de tester sous Windows...). Il n'est pas clair encore si c'est Jetpack (qui en est en version 0.7 et est encore très vert) ou si c'est un bogue du côté de Firefox, mais a priori c'est un bogue Jetpack donc ça bloquerait pas la sortie de 3.6.

Bug 536843 - Flash plugin has display problems on Firefox Linux Trunk and 3.6 builds, regression

Une régression visuelle pour Flash qui m'énervait depuis 10 jours, bogue saisi il y a trois heures. Grâce au super script regression.py indiqué par Arnaud dans les commentaires de mon précédent billet sur le bêta-test j'ai pu rapidement identifier la date de régression, entre le 1er et le 2 octobre. J'ai trouvé cette régression depuis que j'ai remplacé ma 3.5.* par une 3.6beta 5 comme navigateur principal.

Quelles conclusions tirer de ces exemples ?

  1. Il n'est pas nécessaire d'être extrèmement technique pour rapporter des bogues utiles, il ne faut pas penser que c'est réservé à des experts du contrôle qualité, ce n'est pas mon domaine de compétence même si ça m'intéresse
  2. Des cinq bogues ci-dessus, quatre sont des bogues ne touchant que la plateforme Linux. On a vraiment besoin que les gens testent réellement les compils quotidiennes de Firefox et les utilisent sur les vrais sites, pas seulement pour tester combien elles font aux tests Sunspider et Acid3... C'est là l'énorme avantage que les versions Windows et Mac ont sur les versions Linux, des tas et des tas de testeurs. Même le nombre de testeurs mac doit être plus important d'un facteur 10 au moins (probablement plus) par rapport à la version Linux. Sans rêver de légions de linuxiens se mettant à la tâche, quelques bons testeurs additionnels et organisés sous Linux pourrait faire une énorme différence sur la qualité de Firefox sous notre OS.
  3. Si vous êtes développeur web, il ne faut pas seulement tester ce que vous connaissez (mes sites marchent-ils dans le prochain Firefox ?) mais aussi les nouvelles technologies mises à notre disposition pour avoir une implémentation correcte de celles-ci lors de la sortie du navigateur et donc des nouveaux outils qui marchent tout de suite et pas dans un an après que les gros problèmes auront été réparés.
  4. Le contrôle qualité communautaire est probablement un axe d'implication dans le logiciel libre trop méconnu car souvent associé uniquement aux contributeurs les plus techniques. Il y a là un potentiel de travail collaboratif communautaire important pour Mozilla et pour le libre en général. En fait, j'ai même l'impression que l'implication dans le 'bug triage' n'est pas aussi organisée qu'il y a quelques années, j'en suis un bon exemple, je ne suis redevenu réellement actif dans ce domaine que depuis novembre après plusieurs années de faibles activité alors que c'était une de mes activités les plus importantes quand je suis rentré dans le projet vers 2002.

mercredi 23 décembre 2009

Mozilla au jour le jour

Les gens ont souvent une idée un peu abstraite de mozilla, de ce que l'on fait. Bien sûr il y a les grands concepts, le support des standards, le web ouvert et les événements, mais devant cet aspect public, il y a aussi du travail hyper concret et plein de gens qui poussent des wagonnets au fond de la mine pour faire avancer le projet et changer le web monde :)

Lorsque j'ai publié mon billet sur l'angle à donner à mon blog, Goofy et Cédric,  mes camarades de Frenchmozilla, m'ont suggéré de parler de ce que je fais, de mon travail, pour que les gens se rendent comptent de ce que c'est de travailler sur un projet comme Mozilla.

Déjà, vous aurez pu remarquer que je poste ce billet à une heure indécente, comme a l'habitude de dire mon collègue allemand Axel Hecht qui gère toute la localisation côté logiciel, "je vis au milieu de l'atlantique, dans un fuseau horaire flou".

Donc travailler dans mon domaine, c'est travailler à des horaires décalés car on sert d'intermédiaires entre des volontaires en majorité en Europe et contribuant le soir et des employés de Mozilla qui sont en Californie (ce qui me va très bien, j'ai toujours été un oiseau de nuit et déjà pendant mes études je travaillais la nuit comme traducteur freelance).

Aujourd'hui, voilà ce que j'ai fait :
  • J'ai lancé Mozilla Europe en Suédois, tout ceci grâce à l'énorme travail de Markus Magnuson ces 6 derniers mois. C'est la dernière grande locale qui manquait au site, il faut savoir que la communauté mozilla suédoise se réduit à deux personnes, un seul étant impliqué dans la traduction (le traducteur de Firefox) et qu'il n'y a pas de réel site communautaire suédois. L'apport d'un site officiel est donc très important pour nous, il est sûrement imparfait car il n'a bénéficié d'aucune relecture mais au moins on l'a pour noël !!
  • Ça ne concerne pas les francophones, mais j'ai livré aujourd'hui des nouveaux textes promotionnels pour la page Google en anglais (pour le reste du monde, ça sera pour fin Janvier).
  • j'ai fait de la révision de patchs pour Alex Buchanan, mon collègue webdev qui me file un coup de main pour les pages Firefox Mobile, on espère pouvoir publier les pages en quelques langues en plus de l'anglais lors de la sortie de Firefox pour Mobile en RC ou final
  • J'ai réparé la page Firefox US qui avait un bug (plus de pied de page)
  • J'ai discuté sur des stratégies de gestion des fallback de langues avec plusieurs localiseurs qui veulent de la geoIP pour leurs locales plutôt que de la détection de langue (cas de l'Ukrainien ou Windows XP n'existe pas dans cette langue donc tout le monde utilise du Russe)
  • J'ai réglé plusieurs problèmes administratifs (localiseur qui demande une modification de ses paramètres LDAP, prévision d'achat d'un portable compatible Linux pour Delphine, mise à jour de mon rapport d'activité pour mon chef...)
  • J'ai commencé à préparer le travail pour la version 3.5.7 qui sortira dans deux semaines normalement
  • J'ai validé une vingtaine de traductions fournies par notre communauté pour Firefox 3.6 et Thunderbird 3
  • Participation  à une dizaine de listes de diffusion et à quelques forums mozilla sur des sujets divers et variés (assistance utilisateur, bêta-test, gestion de conflit dans une communauté...)
  • J'ai trollé un peu mais pas trop sur le canal IRC francophone  ;)
Voilà, une journée typique d'employé Mozilla, demain (tout à l'heure en fait) on recommence  :)

dimanche 20 décembre 2009

Nouveau planète

J'ai bossé ce week end sur le nouveau planète francophone, en bloguant à ce sujet il y a deux jours je me suis dit que ce serait bien de refaire le thème car notre ancien thème datait (capture de l'ancien thème).

Le nouveau thème est proche visuellement du planet anglophone, même s'il ne partage pas de code ni d'images avec lui. Il fait plus sérieux et il y a beaucoup plus d'espace pour la lecture par rapport à l'ancienne version.

J'ai dû abandonner l'utilisation de polices web pour le texte principal, je n'ai pas réussi à en trouver une qui sous Windows soit lisible, gère les gras et les italiques et respecte les hauteurs de lettres (sous Linux tout va bien, merci). C'est dommage, il y a énormément de polices disponibles mais probablement que très peu sont compatibles entre les OS et encore moins ont une licence libre permettant de les utiliser sur le Web. Je pense qu'il serait intéressant de recenser les polices libres réellement compatibles toutes plateformes et navigateurs (modernes) pour faciliter la tâche. J'ai tout de même conservé une police téléchargeable un peu originale pour les titres de section.

Ça faisait longtemps que je n'avais pas fait un design de zéro, donc c'était assez sympa de s'y remettre, ça m'a permis de jouer avec du CSS3, je suis content de mes séparateurs d'articles d'ailleurs:

div.article:after {
  content:"";
  width:80%;
  display:block;
  margin:auto;
  margin-top:30px;
  -moz-box-shadow: 0px 0px 2px 1px #ADC0CF;
}

Si vous voulez être agrégé sur le planète mozilla francophone, vous pouvez contacter Julia (julia À buchner POINT fr) et lui transmettre l'adresse de votre flux rss/atom. Votre flux doit parler de Mozilla, sa communauté, ses technos... , pour cela le plus simple c'est de créer une étiquette mozfr pour votre flux. Pour dotclear un flux web sur une étiquette a ce format:

http://www.chevrel.org/fr/carnet/index.php?feed/tag/mozfr/atom.

On en est à 20 flux de la communauté francophone Mozilla sur le planète, ça commence à être pas mal.

samedi 19 décembre 2009

Suivez le planète Mozilla francophone

Sonny me faisait remarquer hier lors de notre soirée bières entre mozilliens que personne ne sait qu'il existe un planet francophone pour Mozilla maintenu par la communauté.

Ce planète agrège les billets sur l'actualité Mozilla de tous les blogueurs participant au projet, faites passez le lien!

http://planete.mozfr.org/

Bêta-test: Identifier une fenêtre de régression dans les nocturnes Firefox

Lorsqu'on teste les "noctures", ces compilations quotidiennes de Firefox incorporant les patchs du jour, on peut trouver des bugs et vouloir les rapporter aux développeurs dans Bugzilla.

Une chose qui aide les développeurs est de savoir à peu près quand la régression (le nouveau comportement anormal) est apparu, pour savoir quels patchs ont été intégrés entre ces deux versions, c'est ce qu'on appelle la fenêtre de régression.

Pour cela, il faut télécharger une ancienne version des nocturnes et voir si le bug y est toujours, si oui, on recommence avec une version plus ancienne (de la veille, de la semaine dernière...)

Une fois qu'on a trouvé une compil qui n'a pas le bug, on remplit son bug sur bugzilla en indiquant:

1/ l'identifiant de build complet de la version qui ne marche pas, par exemple:

Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.3a1pre) Gecko/20091218 Minefield/3.7a1pre

vous trouverez cette information à copier-coller dans le menu aide/à propos de (menu ? sous Windows)

2/ Le lien vers les révisions du code source compilé, vous le trouverez en tapant about:buildconfig dans la barre d'adresse de Firefox qui affichera une page commençant par:

about:buildconfig

Source

Built from http://hg.mozilla.org/releases/mozilla-1.9.1/rev/a31ccbb61076

Votre commentaire peut donc ressembler à ça:

No bug in 20091125 build:

http://hg.mozilla.org/mozilla-central/rev/d76583175408

Bug is visible in 20091126 build:

http://hg.mozilla.org/mozilla-central/rev/77136b3d68fc

Grâce à ces informations, les développeurs et le contrôle qualité peut savoir quels patchs ont été intégrés entre ces deux dates grâce à un outil en ligne:

http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=d76583175408&tochange=77136b3d68fc

Ces étapes simples réduisent considérablement le travail des développeurs. C'est aussi pour ça qu'il est utile de rapporter les régressions rapidement et de tester les nocturnes, surtout sous Linux où nous avons très peu de testeurs volontaires (moins de 1% de nos bêta-testeurs) par rapport aux bêta testeurs sous Windows ou Mac.

Bons tests!!

- page 1 de 2