Des nouvelles de Shiretoko pré-alpha2 ?

Après la sortie la semaine dernière de Shiretoko Alpha1 – et alors que le tronc est étiquetté 3.1a2pre, donc ce qui laisse supposer la sortie d’une version alpha 2, on peut faire un petit bilan rapide de ce qui attend la prochaine étape de développement, même si l’ajout des fonctionnalités est loin d’être terminé.

Un meilleur score encore au test acid3 : 85 / 100. Sûrement grace au bogue 199959

acid 3 : 85 / 100 avec Shiretoko pré-alpha2

2) Un support préliminaire croissant des balises <video> et <audio> au moins pour un premier temps pour la version linux du navigateur.

Cf l’ajout des bibliothèques ogg et theora, le bogue concerné étant 422538 – . Le support de l’ajout des balises <video> et <audio> étant le bogue 382267.

Cet ajout de fonctionnalités nécessite l’ajout de la bibliothèque libasound2-dev (libalsa) sous les distributions à la débian.

La « tuyauterie » en version gstreamer : bogue 422540 ; en version quicktime (MacOS-X) : et pour MS-Windows : 435339

Pour des exemples de vidéo utilisant l’élément HTML5 <video> : http://www.double.co.nz/video_test/

Balise <video> en action dans Shiretoko pré-alpha2

Et si Microsoft avait besoin de repartir de la feuille blanche ?

MS-Windows Vista est un monstre de complexité, tout comme les logiciels récents, qui sont toujours plus complets, toujours plus complexe, toujours plus gourmands.

Alors, il faut se l’avouer, une personne qui utilisent ses deux doigts pour taper une lettre mettra toujours autant de temps à taper une lettre avec un MS-Word 6.0 pour MS-Windows 3.1 sur un 486 DX2 66Mhz épaulé de 8 Mio de mémoire et 200 Mio de disque que sur un MS-Word 2007 sur un Athlon64 X2 3800+ épaulé de 2 Gio de mémoire vive et 500 GiO de disque dur avec MS-Windows Vista.

Tout au plus, aura-t-il gagner un peu de souplesse à l’utilisation, mais sa vitesse de frappe sera sensiblement identique. Seul un apprentissage de la dactylographie lui serait alors bénéfique.

Quand Apple a racheté Next vers 1998, Mac était dans le creux de la vague, et le viellissant MacOS (7.5 à l’époque) commençait à sentir ses articulations craquer sous le poids du code datant parfois de 1984, même si entre temps, une transition avait été effectuée du code 68000 vers du code pour PowerPC.

Ce qui allait devenir MacOS-X, connu alors sous le nom de Rhapsody se basait sur NeXTStep, un OS basé sur des principes unix – donc des bases plus que solides, mais surtout, qui ne se trimballait pas une nécessaire compatibilité avec des logiciels mac assez vieux.

MacOS-X n’avait alors de Mac que l’appellation. Lors de la sortie de MacOS-X 10.0 en 2001, un « boite » permettait de faire fonctionner les vieux logiciels pour Mac via une émulation.

Bien entendu, au fil des versions, les besoins en vieux logiciels pour Mac ont été réduit à néant ou presque. D’ailleurs, c’est avec la sortie de MacOS-X Leopard en 2008 qui a signé la mise à mort de l’émulateur.

Prenons le cas de MS-Windows Vista. Il n’est pas issu de la branche originelle de Windows, celle d’une surcouche graphique pour DOS, comme cela fut le cas pour les Windows 1 à 4.90 (Windows 1.0.x en 1985, 2.0.x en 1987, 3.0.x en 1990, 3.1x en 1992 et 1993, Windows 4.0 alias Windows 95, 4.1 alias Windows 98 et 4.9 alias Windows Millenium).

MS-Windows Vista n’est autre que Windows NT 6.0. La branche NT (pour New Technology) se base sur du code développé à l’origine en commun avec IBM pour pondre ce qui devait être OS/2 3.0.

Mais vers 1991, Microsoft abandonne IBM et lance « officiellement » le développement de la branche professionnelle de NT, dont le premier sera Windows NT 3.1 en 1992.

1993 vera la sortie de NT 3.5, 1994 celle de NT 3.51. Les trois premières versions de Windows NT – et de leur équivalent serveur – reprennent l’interface graphique de Windows 3.1x, mais diffère en deux points précis :

  • C’est un OS à part entière, pas uniquement une surcouche de DOS
  • C’est un OS entièrement 32 bits, contrairement à un mélange infame de code 16 et 32 bits comme cela sera le cas pour les windows 9x / Millenium

1996 : sortie de Windows NT 4.0
1999 : le code de NT 5.0 est enfin finalisé pour une sortie en février sous le nom de Windows 2000.

C’est – je parle par expérience personnelle – mon MS-Windows préféré.

2001 : NT 5.1 alias Windows XP sort, devenant le premier NT grand public.
2006 : NT 6.0 sort après bien des péripéties.

Donc, si l’on regarde, Windows Vista est le fruit d’une branche née 15 ans auparavant. Autant dire que l’héritage est important. Ce qui doit finir par rendre le code difficile à maintenir, surtout qu’il faut détruire le moins possible le support du code prévu pour les Windows précédents.

Le futur Windows se7en dont on ne sait pas grand chose si ce n’est qu’il est prévu pour 2010 dans le meilleur des cas sera la fin de course de cette branche NT.

Pour plusieurs raisons : la vieillesse du code. Car il doit bien rester du code d’origine du premier NT plus ou moins retravaillé, du code conservé pour la compatibilité, etc…

Il serait donc primordial que Microsoft reparte de zéro, sur des bases saines pour pouvoir construire une nouvelle génération de Windows moins gourmande, moins difficile à maintenir, au prix de la mise à mort de générations entière de logiciels.

Dans un autre domaine, il suffit de voir à quel point cette décision difficile à prendre est bénéfique. Je ne prendrais que le cas de la Fondation Mozilla qui a fêté en mars dernier les 10 ans du projet mozilla.

Quand en mars 1998 le code est libéré – qui est alors une pré-alpha de ce qui aurait être Communicator 5.0, du travail est effectué dessus durant environ 6 mois avant que la décision ne soit prise : le code est trop dur à maintenir, il faut repartir à zéro.

Bien entendu, la sortie prématurée de Netscape 6.0 courant 2000 (basé sur Gecko 0.6) fait mal au projet, mais permet de prouver que cette idée était finalement la bonne. Même s’il a fallu attendre Mozilla Firefox 1.0 pour que la machine soit lancée pour un succès marquant du projet.

Si Microsoft veut redorer son blason auprès de ses utilisateurs fidèles – ceux qui ont choisi en pleine conscience d’utiliser leurs logiciels – après le demi-succès de Windows Vista plus que vertement critiqué à sa sortie, il faudra un jour passer par cette étape.

Et peut-être faire ce qu’avait fait Apple avec le rachat de Next : partir d’une base unix en utilisant une interface graphique qui cache le côté ésotérique de cet OS, sa ligne de commande. Ce serait peut-être le moyen d’éradiquer les virus, les espiogiciels, bref tout ce qui fait partie des ennuis de la vie du windowsien moyen.

Et si le logiciel libre était répulsif à cause de la liberté de choix qu’il propose ?

Chaque année depuis 1998, on nous promet que ce sera l’année de l’envol pour Linux version bureau. Et chaque année, de repousser cet avènement à l’année suivante.

Si un OS alternatif à Windows commence à lui tailler des croupières, c’est bien le bon vieux Mac, qui s’est offert avec MacOS-X dans les années 2001 une cure de jeunesse bienvenue à un MacOS mis à jour constamment depuis ses premières versions datant de 1984…

Cependant, la répartition est toujours du genre : 95% de Windows (grace à la vente liée et à la création d’un marché captif par la facilité de pirater Windows), 4% de MacOS-X, et 1% pour Linux et autres OS libre.

Une des raisons du succès de Windows, c’est d’offrir du « pré-maché », même s’il faut rajouter sur un windows – quelque soit sa génération – au minimum un duo anti-virus et anti-espiogiciel. Ce dernier ayant pris de l’importance depuis une bonne demi-douzaine d’années environ.

Si on regarde un windows typique, tout est « prémaché » pour l’utilisateur :

  • Pour la navigation internet : Internet Explorer.
  • Pour la lecture des fichiers multimédia : Windows Media Player
  • Pour le courrier : Outlook Express devenu Windows Mail sous Windows Vista

Même si ce sont des outils loin d’être parfaits, ils forment une limite basse de qualité. Il suffit de comparer la qualité du rendu ou du niveau de support des normes internationales en matières de pages internet que propose la concurrence à Internet Explorer, en l’occurence les navigateurs basés sur Gecko, sur Webkit ou encore le navigateur Opera. IE est à chaque fois battu à plate couture.

L’ignorance de l’existance de la concurrence et / ou le codage des pages ont permis à IE de conserver un niveau de parts de marché de 75% environ en Europe. Soit une chute de 20 points en l’espace de 4 ans.

Ce qui est vrai pour IE, l’est aussi pour les autres outils que fournit Microsoft, comme le montre la liste aussi longue que le bras de paquets de codecs pour Windows Media Player ou encore le nombre de clients courriers pour Windows : Mozilla Thunderbird, The Bat!, Claws Mail, etc…

Malgré les défauts souvent énormes, Windows et les logiciels Microsoft conservent leur place de logiciels étalons.

Prenons le monde du logiciel libre. Pour chaque tache, il suffit de voir que le nombre d’outils de trois, voire plus.

Par exemple, pour naviguer sur internet, l’on a le choix entre des navigateurs utilisant Gecko (Mozilla Firefox, Epiphany jusqu’à ses versions 2.22.x), Konqueror utilisant KHTML qui serait remplacé à terme par Webkit, Midori (utilisant Webkit, le coeur de Safari d’Apple), Opera.

On veut lire un fichier multimédia ? VideoLanClient, Mplayer, Totem sont proposés.

Du traitement de texte ? OpenOffice.org Writer, Abiword, Kword sont disponibles.

Du tableur ? OpenOffice.org Calc, Gnumeric, Kspread sont disponibles.

Et contrairement à Windows, l’interface graphique n’est pas autant figé. On peut choisir entre :

Si on veut du plus léger ? Les gestionnaires de fenêtres sont alors très nombreux : fvwm, fluxbox, openbox, windowmaker, etc…

Et que dire du choix des distributions ? On peut tout choisir dans le monde libre. C’est peut-être donc ce choix hypertrophié fait peur aux personnes qui veulent quelque chose de louable : quelque chose qui fonctionne sans que l’on se pose de question, mettant aux toilettes un point primordial : c’est au logiciel de s’adapter à l’utilisateur et non l’utilisateur à s’adopter au logiciel.

Vers un coeur commun entre Shiretoko, Shredder et SeaMonkey 2 ?

C’est une idée envisageable, étant donné que le dépot du code source de Shredder et de SeaMonkey pré-2.0 viennent de migrer, abandonnant le vieux dépot CVS vers un dépot mercurial.

Si l’on veut compiler soit-même le code source dit du « tronc » des logiciels de la Fondation Mozilla, que ce soit Shiretoko, Shredder ou SeaMonkey pré-2.0, il faut maintenant passer par des dépots mercurial.

Si le développement de Shiretoko est maintenant bien ancré sur un dépot mercurial, à savoir mozilla-central, c’est loin d’être le cas pour Shredder et SeaMonkey pré-2.0. Voici donc comment compiler Shredder ou SeaMonkey en utilisant le dépôt mercurial comm-central.

Déjà, il faut avoir autoconf 2.13 et mercurial pré-installé. Pour cela, il faut se conférer à la documentation de votre distribution pour savoir comment faire.

Ensuite, il faut récupérer le code source commun à Shredder et SeaMonkey pré-2.0 :

hg clone http://hg.mozilla.org/comm-central/ src

Une fois le code récupéré, il faut récupérer le complément à savoir le code en commun avec Shiretoko :

python client.py checkout

Pour cette partie, l’outil CVS configuré correctement est indispensable. En clair, il faut que la variable CVSROOT soit définie ainsi :

export CVSROOT= »:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot »

Vient le moment stratégique, préparer le .mozconfig pour les options de compilation. Il faut ajouter les deux lignes suivantes :

ac_add_options --enable-application=mail
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb

Et virer un . $topsrcdir/mail/config/mozconfig qui aurait pu s’y trouver si on récupère un vieux fichier .mozconfig

Voici pour information mon .mozconfig pour Shredder :

#
# See http://www.mozilla.org/build/ for build instructions.
#

ac_add_options –enable-application=mail
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb

# Options for ‘configure’ (same as command-line options).
ac_add_options –enable-optimize= »-Os -march=native -w -pipe »
ac_add_options –disable-debug
ac_add_options –disable-tests
ac_add_options –enable-default-toolkit=cairo-gtk2
ac_add_options –enable-static
ac_add_options –disable-shared

Ensuite, il suffit de lancer la compilation et d’attendre.

Et voici ce que donne une boite « about » d’un Shredder compilé avec le code source du dépôt mercurial comm-central.

Shredder pré-alpha2 ?

Les pages qui m’ont aidé pour rédiger cet article :

http://wiki.mozilla.org/SeaMonkey:hg-based_build
http://developer.mozilla.org/en/docs/Mozilla_Source_Code_(Mercurial)
http://developer.mozilla.org/en/docs/Comm-central_source_code_(Mercurial)
http://developer.mozilla.org/en/docs/comm-central

Quoi de neuf avec Shiretoko Alpha 1 ?

Si on en croit ce bilan hebdomadaire de la Fondation Mozilla reproduit sur le blog « Firefox Extension Guru’s Blog« , Shiretoko alpha 1 devrait sortir le 25 juillet prochain, le code ayant été gelé à 23 h 59, heure du Pacifique, soit Paris – 9 heures.

Qu’y aura-t-il dedans, sauf changement de dernière minute ?

84 / 100 pour le test Acid3 sous Shiretoko alpha1

Bref, que du bon, et encore du meilleur à venir. Enfin, on verra bien ce que cela donnera lors de la sortie de la version finale, prévue pour fin 2008, début 2009.