Archives de l'année 2013

Ce matin, je me suis dit que comme parmi mon groupe d'amis j'étais seul connecté Guild Wars 2, j'allais faire mes objectifs quotidiens JcJ. Là j'ai constaté que quelque chose avait changé sans figurer dans les notes de mises à jour (ou alors je l'ai raté) : on ne peut plus choisir quelle équipe on rejoint lorsqu'on rejoint une partie. Sur le principe je comprends assez bien qu'il s'agit d'empêcher le joueur qui rejoint la partie de se mettre dans l'équipe qui a le plus de points, la renforçant du coup et creusant l'écart, ce qui semblerait assez raisonnable. Sauf que du coup ça rend encore plus saillant un gros vice de conception sur lequel je pensais écrire un article depuis un moment, sans prendre le temps de le faire : un gros foirage dans l'utilisation des couleurs.

Comme dans beaucoup de jeux vidéos, des codes couleurs permettent de différencier les alliés des ennemis. En l'occurrence, tout ce qui est allié est indiqué dans une nuance de vert ou bleu et ce qui est ennemi en rouge (plus du blanc ou jaune pour les non-hostiles mais attaquables). Tout ça marche très bien lorsqu'on joue en JcE où tout est clair dans l'ensemble. Par contre ça se corse grandement quand on passe en JcJ. Dans ce dernier mode, deux équipes de joueurs s'affrontent avec divers objectifs, chaque équipe étant identifiée par une couleur. Et fort logiquement, ces couleurs sont... le bleu et le rouge !

Normal me direz vous, comme ça c'est cohérent avec le reste. Oui mais non. Parce que le bleu identifie l'une des équipes mais pas forcément la votre. Vous pouvez très bien vous retrouver dans l'équipe rouge. En principe, à ce stade vous devriez commencer à saisir le problème mais pour bien préciser les choses, voici ce que ça donne dans le cas de l'activité "Bagarre de barils" (où des barils de bière sont balancés périodiquement au milieu de la carte, l'équipe gagnante étant celle qui en aura rapporté le plus dans sa "base") :

Mélange des couleurs
Mélange des couleurs

Je ne sais pas pour vous mais quand je vois ça, j'ai toujours du mal à bien cerner ce qui représente mon équipe et ce qui représente l'équipe adverse...

J'ai beau tourner ça dans tous les sens, je n'arrive pas à comprendre comment ils en sont arrivés là. Parce qu'on ne parle pas d'un petit projet de fin d'étude, là, on parle d'un des MMORPG les plus joués du moment, vendu à plusieurs millions d'exemplaires, d'un jeu qui a pris des années à développer par une équipe conséquente, d'un jeu sorti depuis maintenant bientôt un an et demi et qui est régulièrement mis à jour.

Dans ces conditions il semble impensable qu'il n'y ait pas un jour un des membre de l'équipe qui ait lancé une phrase du style "Dites, je pense à un truc là, on aurait pas un problème avec les codes couleurs ?". Et franchement, j'aimerais vraiment savoir ce qu'ont bien pu répondre les autres pour qu'au final la décision soit prise de laisser les choses en l'état. Parce que là, je dis chapeau, justifier un truc aussi absurde, c'est une belle performance !

Et en attendant je vais arrêter de jouer en JcJ parce qu'autant avant je faisais en sorte de toujours être dans l'équipe bleue histoire d'avoir un truc cohérent, autant là vu qu'on peut plus choisir...

EDIT 21/12/2013 : Bon apparemment la suppression du choix de l'équipe ne devait être qu'un bug, parce qu'il a été rétabli depuis... Donc ça redevient jouable. Mais ça ne change rien au problème initial des codes couleur !


Australis, on n'arrête pas la chromocopieuse en marche...

Hier il y a trois jours (c'est ça quand on traine à finir un article), la nouvelle version de l'interface de Firefox, nommée Australis, a été versée dans la nightly (c'est à dire la pré-version v+3, la beta étant la v+1 et aurora est la v+2). Il nous reste donc encore quelques mois avant de l'avoir sur une version en cours.

Alors Australis c'est quoi ? Pour les pressés, je résume en version courte : disons que c'est environ Chrome mais avec un moteur Gecko. Mais si vous avez le temps, vous pouvez lire la suite.

Donc en gros qu'est-ce qui change ? Le point le plus visible et qui fait environ le quart du contenu des quelques articles que j'ai lu sur le sujet c'est les nouveaux onglets aux coins arrondis top cools de la mort qui tue. Si si, la preuve avec la merveilleuse capture qui appuie en général le propos :

Australis - Et le coin arrondi fut.
Australis - Et le coin arrondi fut.

Passé l'instant d'extase où on se dit qu'enfin Firefox a des onglets plus encombrants qui ressemblent à ceux de Chrome, on se rappelle que c'est purement cosmétique et que ça ne change fondamentalement pas grand chose. Du coup on passe à la suite pour voir ce qui change vraiment (non je n'aurais pas fait un article juste pour des coins arrondis, je m'attache souvent à des détails à la con mais faut pas pousser non plus :euh: ).

Ce qui change c'est qu'on a quelques autres trucs directement importés de Chrome :

  • encore moins de boutons visibles par défaut. Comme dans Chrome, quoi.
  • un bouton pour le menu, comme dans Chrome, coincé d'office à droite (on risquerait de le perdre si on pouvait le déplacer, donc ne prenons pas de risque ! Si Google l'a mis là c'est qu'il doit y avoir une bonne raison).
  • la disparition du titre de la page courante en titre de fenêtre (pas que par défaut, pas moyen de le remettre). Moi j'aime bien pourtant avoir le titre complet visible et plus de 3 pixels pour pouvoir attraper ma fenêtre en mode plein écran et la changer d'écran mais bon, Chrome ne fait plus ça depuis longtemps, faut vivre avec son temps.
  • sûrement d'autres trucs que j'ai ratés et qui manquaient certainement affreusement aux gens qui ont l'habitude de Chrome et passeraient bien sur un logiciel libre mais sans rien changer à leurs habitudes (pour rappel, il me semble que Chromium n'est pas trop loin de remplir ces critères).

Mais rassurez-vous, comme le dit l'article de présentation de Mozilla :

Firefox can’t simplify by just removing things and still be Firefox — the same less isn’t more for everybody, and Firefox has been successful by being the browser that does things that people, including power-users, want.

J'aurais pas dit mieux (même si moi je l'aurais dit en français). Par contre je sais pas si c'est une tentative d'auto-persuasion, de l'aveuglement ou un abus de substances illicites qui font voir de éléphants rouges mais en fait ils ont environ fait l'inverse puisqu'un certain nombre de libertés d'organisation ont sauté. En effet, après quelques tests, j'ai relevé ça :

  • les boutons précédent, suivant et rafraichissement qui étaient jusqu'à présent déplaçable n'importe où sont maintenant soudés à la barre d'URL, de part et d'autre, histoire de faire travailler un peu la souris. Donc plus moyen de les mettre ensemble où on veut.
  • l'option de placer les onglet en dessous ou au dessus de la plupart des barres d'outils n'est plus prise en compte. Il parait que c'est mieux, plus logique et tout et tout... Personnellement j'ai que la barre d'URL et les boutons qu'elle a phagocyté (voire point suivant) qui soient en rapport avec l'onglet courant, donc avoir la barre au dessus, je trouve pas si logique que ça... Mais bon, Chrome fait comme ça, donc...
  • la barre d'URL qui pouvait avant se placer sur n'importe quelle barre est maintenant coincée sous les onglets. Parce que oui on peut avoir une barre de menu au dessus des onglets avec le moteur de recherche et des éléments perso mais pas la barre d'URL, ça c'est mal... sauf que moi j'ai l'habitude de la placer avec des éléments de taille adaptée pour pas perdre de place. Et si j'ai envie de la mettre ailleurs, pourquoi m'en empêcher ?
  • symétriquement, si on fait apparaitre la barre de menu (vous savez celle avec du texte et des entrées assez stable d'une application à l'autre mais qui a tendance à disparaitre de plus en plus), celle-ci est coincée au dessus des onglets. C'est con, moi j'avais l'habitude d'avoir la barre d'URL et le menu sur la même ligne... Pourquoi diable m'en empêcher ?
  • la barre de modules disparait... Donc on ne mettra plus aucune info en bas. C'est mal le bas sans doute.

Donc c'est clair : j'ai pas moyen de placer la moitié des éléments comme je les place actuellement mais cette nouvelle version est super personnalisable. Si si, c'est écrit c'est forcément vrai ! (comme quand Apple dit que les empreintes digitales ne quitteront pas le téléphone)

Les empreintes digitales seront exclusivement stockées sur le téléphone ! #OnYCroit
Les empreintes digitales seront exclusivement stockées sur le téléphone ! #OnYCroit

Après je dis pas que tout est mauvais, hein. Le bouton de menu ouvre un menu qui est vraiment personnalisable, lui et ça c'est très bien. Le hic c'est que pouvoir personnaliser un menu qui ne s'ouvre qu'en cliquant sur un bouton c'est un piètre palliatif à la personnalisation de l'interface visible. J'ai un écran de taille largement suffisante pour me foutre totalement de perdre 25 pixels avec une barre d'outils. Si si je vous assure.

Alors je veux bien croire qu'Australis est sûrement plus personnalisable que Chrome (ce qui ne me semble pas trop dur pour le peu que je l'ai essayé). Mais moi mon critère de comparaison c'est pas Chrome, c'est Firefox. Parce que oui, c'est Firefox que j'utilise depuis de nombreuses années, Chrome il est installé à côté juste pour pouvoir détecter les bugs liés à Webkit dans les sites que je développe (je reconnais donc volontiers que je risque de le voir de plus en plus souvent étant donné à quel point la situation empire progressivement de ce côté là mais c'est un autre débat). Et comparé à mon Firefox actuel, c'est nettement moins personnalisable.

Et ne me dites pas que c'est pour mon bien si je peux plus déplacer mes éléments comme je veux. Si j'avais voulu qu'on décide pour moi, j'aurais pris un navigateur Apple.

Donc oui cette nouvelle interface ravira sans doute les transfuges de Chrome, ainsi que les gens qui ont peur quand ils voient plus de 3 boutons dans une application (même si je suis sûr que de ce côté là on peut encore faire beaucoup mieux). Mais ce serait sympa de pas oublier les utilisateurs avancés. Mais vraiment pas oublier, hein, genre un truc qui se traduit par des faits pas juste un texte qui dit le contraire des faits (pour ça on a déjà des politicien(ne)s).

D'autant que là on ne parle pas de fonctionnalités supprimées qui simplifient le code pour le rendre plus maintenable et plus léger, hein, je parle de bridages forcément volontaires qui jusqu'à preuve du contraire en rajoutent donc !

Bon, heureusement, restent deux points positifs. D'une part, c'est encore en nightly, il peut donc largement y avoir des ajustements d'ici à la version finale (notamment pour réintroduire de la flexibilité là où elle est inutilement absente). Et d'autre part Firefox a un système d'extensions qui fait qu'ont trouvera rapidement de palliatifs à tout ça (notamment cette extension semble prometteuse). Mais c'est lourd à force de devoir installer des dizaines d'extensions et farfouiller dans about:config non pas pour améliorer son navigateur mais juste lui éviter de régresser.

Donc vous l'aurez compris, j'adoooore l'évolution de Firefox :) Il a de la chance d'avoir peu de concurrents libres et cross-plateforme de qualité.

D'autant que comme j'ai pu le lire sur Twitter :

Je déteste aussi Australis parce que j'y vois une étape dans le remplacement du puissant Firefox Desktop par son très limité cousin mobile
Je déteste aussi Australis parce que j'y vois une étape dans le remplacement du puissant Firefox Desktop par son très limité cousin mobile

Et ça c'est vraiment flippant quand on voit à quel point Firefox est limité sur Android...

P.S. : J'ai la flemme de tout relire pour savoir si j'en ai parlé ou pas mais dans le doute, je dirais que globalement, ça ressemble un peu à Chrome. Mais juste un peu et c'est sûrement fortuit !

P.S. 2 : Bon, le bon point c'est que cette fois ils ont rien cassé dans le backoffice de Change \o/ (oui c'était pour tester ça initialement quand j'ai mis à jour ma nightly...)


Quelques petites BD #4

Voici ma quatrième fournée de petites BD en quatre cases (oui je suis trèèèès loin du rythme d'un Commit Strip :euh: ).

BD #11 - 06/03/2013 BD #12 - 29/09/2013 BD #13 - 22/10/2013
Images sous licence CC-BY

La seconde nécessite quelques précisions :

  • RBS Change, j’en ai déjà parlé ici plusieurs fois, c’est le CMS / solutions e-commerce auquel je contribue au boulot
  • Magento est une solution e-commerce concurrente (l’une des plus connues)

Côté technique, j'ai finalement progressivement abandonné le brouillon papier pour tout faire directement à la tablette graphique, c'est plus simple une fois qu'on a un peu l'habitude ^^ Les plus observateurs auront constaté que je recycle allègrement les éléments graphiques des précédents numéros... le recyclage c'est bien, c'est écologique et ça fait gagner du temps :smile:


Pourquoi je vais voter "non" au "référendum" alsacien d'aujourd'hui ?

Je ne parle pas souvent de politique mais là j'ai des choses à dire, alors allons-y. Je ne suis pas spécialiste mais après tout les journalistes et politiciens qui monopolisent la parole publique sont rarement des spécialistes des sujets dont ils parlent, donc c'est que ça ne doit pas être un problème :)

Donc de quoi cause-t-on ?

Eh bien simplement du fait qu'aujourd'hui les alsaciens doivent se prononcer sur une fusion de son conseil régional et de ses deux conseil généraux. Ayant un jour vu une affiche qui en parlait, j'avais un avis a priori positif puisque ça laissait penser à une simplification. Et je suis en règle générale pour la simplification. Mais je ne m'étais pas plus renseigné que ça sur le sujet.

Sauf que hier j'ai fini par avoir l'enveloppe avec les bulletins et ce que faute de meilleur qualificatif j'appellerai un tract marketing pour le oui, tant il est totalement orienté. Et là d'un coup je suis vachement moins pour.

Page 1 Page 2 Page 3 Page 4

Déjà purement sur la logistique, j'ai eu l'enveloppe en double (idem pour mes frère, sœur et parents), donc côté économies on repassera. Espérons que le cafouillage soit bien localisé à notre quartier et pas à toute l'Alsace, ça ferait tache pour un projet censé faire réaliser des économies. Ensuite, l'ensemble est emballé dans un film plastique plutôt qu'une enveloppe en papier (et donc recyclable), donc non seulement c'est mauvais pour l'écologie mais en plus il faut que j'ouvre aussi l'enveloppe en doublon pour pouvoir pouvoir jeter d'un côté l'enveloppe et de l'autre le contenu. Donc déjà ça part mal. Mais passons maintenant au contenu, vous allez voir, on va rigoler !

Donc d'abord sur la forme

En première page on a en petit en haut : "République Française" puis "Conseil régional d'Alsace - Conseil général du Bas-Rhin - Conseil général du Haut-Rhin". Ensuite on a la description de ce pour quoi on est appelé à voter : la fusion des trois institutions citée plus haut (les trois dernières, hein, la République Française elle reste où elle est). Suivent trois pages de blablas descriptifs.

Dans ces trois pages de blabla on a plein de "nous", qu'on supposera faute de mieux représenter les trois institutions citées plus haut (là encore je soupçonne que la République Française ne soit pas trop impliquée... même si ce n'est pas explicitement dit). Je ne sais pas pour vous mais moi quelqu'un qui me présente un projet sans préciser clairement qui il est, ça m'inspire modérément confiance.

Ensuite le ou les rédacteurs n'ont apparemment pas réussi à se mettre d'accord sur le temps à utiliser vu que d'un paragraphe à l'autre on saute du conditionnel au futur avec même quelques miettes de présent ici ou là. Donc côté cohérence on repassera. C'est bien brouillon.

On a aussi droit à un beau schéma expliquant la simplification institutionnelle qui est plutôt convaincant... tant qu'on n'a pas lu le texte puisque dans le texte on nous parle de plein d'autres entités crées pour l'occasion. Du coup la simplification parait déjà nettement moins évidente. Soit c'est très mal expliqué, soit c'est un gros ratage de ce côté là.

Passons un peu plus sur le fond

Dès le premier paragraphe on apprend qu'en fait là notre vote est juste consultatif puisque ça doit ensuite être confirmé par le parlement. D'un côté ça a le mérite d'être plus clair que pour la "constitution" européenne en 2005 qui a finalement été appliquée malgré le "non" mais sans préciser avant qu'on votait juste pour faire joli. Bon du coup on sait à l'avance qu'on est pris pour des cons, c'est déjà ça.

Ensuite un paragraphe qui parle de simplification. On ne peut qu'être d'accord sur le constat que c'est trop complexe. Et si on n'avait pas la suite, on pourrait même y croire.

Suit un paragraphe sur les économies et le gain d'efficacités. Pour moi c'est déjà une conséquence immédiate de la simplification en principe mais bon pourquoi pas. Sauf qu'à peine le titre passé, on tombe sur une énormité : "La future Collectivité est aussi une réponse à la crise". Et là on se dit tout naturellement "WTF !?". Un crise normalement, par définition c'est un état transitoire, donc modifier les institutions pour ça semble un poil bizarre mais surtout c'est une crise mondiale liée principalement au secteur financier même si elle a des répercussions sur un peu tout le reste. Du coup en quoi un changement institutionnel local peut-il y changer quoique ce soit ? Rassurez-vous, à la lecture du reste du paragraphe, le mystère reste entier puisqu'il ne fait que juste dire que ce sera plus efficace et donc moins cher (ben ouais c'est ce que je disais, quand on simplifie c'est souvent plus efficace). La mention de la crise n'était bien là que pour des raisons marketing, parce qu'un communicant a dû se dire qu'il fallait bien la caser quelque part si on voulait être tendance.

Enfin on termine cette introduction par un dernier paragraphe disant que ça renforcera l'Alsace "par une décentralisation plus aboutie et exemplaire dans le pays". Eh ben. Carrément. Je sais pas si ce sera exemplaire mais en tous cas j'espère que ce tract ne servira pas d'exemple. Le reste du paragraphe est tout aussi creux avec les habituels renforcements de dynamique et autres agissements de proximité qui sont annoncé par environ 99% des projets quels qu'ils soient. Donc pas du tout de langue de bois, hein.

Maintenant on passe au descriptif plus détaillé

Point 1 : Une nouvelle collectivité qui en remplace trois

Donc on remplace trois assemblées par une assemblée unique (Ok, c'est bien ce qui était dit dans le titre)... qui élira un conseil exécutif (ah, donc elle est pas si unique en fait). Et à cela s'ajoute une Assemblée consultative (donc comme d'hab' j'imagine : un truc qui pondra des rapports qui seront suivis quand ils vont dans le sens des élus et rangés sous la pile sinon) : le "Conseil économique, social, environnemental région Alsace" (sans doute le CESER du schéma du coup parce qu'avec un nom aussi long, forcément on passe par un sigle, c'est plus transparent et plus clair pour tout le monde).

On apprend aussi dans ce paragraphe que cette nouvelle instance unique (mais avec deux têtes et un petit chien) aura donc les compétences des trois instances existantes mais aussi des nouvelles, transférées par l'État (on n'en sait pas plus pour l'instant, il faut attendre le point 4). Mais aussi en passant que "des instances de concertation entre la Collectivité Territoriale d'Alsace et les agglomération, les EPCI (NDM : connais pas, mais joli sigle) et les communes permettront une bonne articulation entre la nouvelle collectivité et son environnement institutionnel". Donc en fait non seulement on a deux têtes et un chien mais aussi quelques pigeons voyageurs (ou des corbeaux pour les fans du Trône de Fer :) ). Mais si c'est simple puisqu'on vous le dit !

Point 2 : Un mode d'élection équilibré entre scrutin majoritaire et proportionnel

Là aussi c'est "simple" puisque les élus seront élus de deux façons différentes. Une partie au scrutin majoritaire dans le cadre des cantons et l'autres à la représentation proportionnelle dans le cadres de la circonscription électorale régionale (accessoirement on garantira la parité homme/femme... soit). Mais donc on a quoi ? Une seule élection où on vote de deux manières en même temps ? Deux élections distinctes pour pas perdre nos habitudes ? Mystère. Donc une fois de plus, ça se confirme : on simplifie tout et on rend les choses plus lisibles !

Enfin on apprend que le nombre d'élus diminuerait de 10 à 20%. Eh oui : on passe de 3 assemblées à une seule mais on ne réduit que de 10 à 20% les effectifs. Parce que bon, on veut faire des économies mais pas trop quand même, faut pas déconner.

Point 3 : Une seule assemblée

Oui ça a l'air redondant comme ça mais pas du tout vous verrez, puisqu'on introduit encore plein d'entités en plus ! :tourni:

On apprend donc que l'assemblée élira son président (ok, on s'y attendait un peu), son Bureau (soit) mais aussi une "commission permanente". Cette dernière est étonnamment absente du schéma dans la partie rouge qui représente le résultat souhaité alors qu'elle est présente dans la partie grise représentant les institutions actuelles pour chacune des 3 institutions existantes. Donc là c'est une bonne petite séance d’enfumage de derrière les fagots : on fait gonfler l'existant en omettant plein de choses dans ce qu'on veut mettre en œuvre et on dit "vous voyez bien que c'est plus simple !".

Point 4 : De nouvelles compétences

Eh oui il est enfin temps d'en savoir plus sur ces nouvelles compétences annoncées au point 1 ! Y a pas à dire, ils savent faire durer le suspense :tourni: Donc on commence par rappeler qu'elle reprend les compétences de ses trois ancêtres (Ok, vous l'avez déjà dit #PreviouslyInThisTract). Puis qu'elle en aura d'autres dans le cadre de l'acte 3 de la décentralisation (on le dit pas mais en fait ça reste hypothétique vu que cet acte 3 n'est pas encore décidé et si ça se fait, ce sera avec ou sans fusion... et donc on utilise le futur cette fois #Logique). Et enfin qu'elle en aura encore d'autres (à moins que ce ne soient justement celles de l'acte 3 qui n'ont pas été détaillées ?) dont je vous passe la liste (la on repasse au conditionnel, donc j'en déduis que c'est encore moins sûr) et qu'elle pourra le cas échéant les déléguer aux communes et "établissements de coopération intercommunaux".

Bien sûr le transfert de responsabilités reçues de l'État s'accompagnera du transfert des moyens associés (#OnYCroit).

Point 5 : Une plus grande efficacité

Donc là un peu de blabla sur le fait que ce sera plus efficace et que même ce sera vachement mieux. Puis on nous dit qu'on "évitera toute centralisation régionnale, tout en respectant la fonction de capitale régionale et européenne de Strasbourg" puisqu'on "veillera à consolider la place institutionnelle de Colmar et renforcera le rôle de l’agglomération mulhousienne notamment par l'implantation de services de la Collectivité Territoriale". Donc tout sera plus simple avec une meilleure dynamique interne et une communication optimale... entre des services répartis sur trois villes \o/ Puisqu'on vous dit que ce sera mieux !

Point 6 : Une priorité de proximité

Là on nous annonce des "Conférences départementales, sans personnalité juridiques" (ben oui, si on veut encore faire comme si c'était plus simple, on peu plus en rajouter) qui seront composées de conseillers d'Alsace de chaque département et auront quand même un président (parce que faut pas déconner, comment on fait pour cumuler des mandats si on supprime des postes de président ?) qui s'occuperont de concertation, évaluation et propositions pour le Conseil Executif.

Et puisqu'il faut vraiment que tout soit simple, on ajoute encore des "Conseils de territoires de vie". Eux non plus n'auront pas de personnalité juridique pour faire comme si c'était simple (sinon, on aurait dû les mettre dans le schéma et d'un coup on aurait cassé notre effet).

Voilà voilà. On a fait le tour du contenu. Comme annoncé, tout est simple !

Donc partant de là, qu'est-ce que j'en conclus ?

Eh ben que :
1) C'est au moins aussi compliqué qu'avant
2) On ne fera pas tellement d'économies
3) On risque bien d'avoir toujours autant d’élections qu'avant
4) On nous prend pour des cons

Cela dit, l'ensemble ne m'étonne pas plus que ça.

D'une part ce sont apparemment des élus qui on conçu le machin (ou les fonctionnaires qui travaillent pour eux) et qu'ils ne risquaient pas de scier la branche sur laquelle ils sont assis en simplifiant trop. C'est comme ça quand il y a un conflit d'intérêt.

D'autre part, la forme de ce tract rappelle à quel point on n'est pas habitués à faire autre chose que de l'élection en terme de consultation citoyenne. Il y a quelques mois (l'été dernier je crois) j'étais tombé sur le site officiel d'une consultation des citoyens de Floride (il me semble que c'était bien la Floride) sur pas mal de points. Et bien on avait pour chaque point des argument en provenance des partisans ET des opposants à la mesure, ce qui permettait un peu de se faire une idée. Là on a un blabla marketing qui répète tout du long que ce sera mieux sans jamais laisser la parole aux opposants. Rien que pour ça j'aurais déjà eu envie de voter "non".

Et comme en plus l'ensemble n'est absolument pas convaincant alors même qu'il est exclusivement tourné vers les points forts, je n'ai finalement plus trop d'hésitation...

Donc moi je voterai "non".

Et félicitations à ceux qui auront lu jusqu'au bout :we:


De l'intérêt d'utiliser des standards

Lorsqu'il y a peu, Opera a annoncé sa migration sous Webkit, certains se sont réjouis à l'idée de voir réduire le nombre de moteurs de rendus et donc la diversité des navigateurs à supporter lorsqu'on développe un site.

D'autres ont rétorqué qu'une réduction de la diversité, si elle pouvait potentiellement faire gagner du temps à court terme, ne pouvait qu’être néfaste à long terme pour le web en général. En effet, le développement des standards et leur respect dans les différents navigateurs ne se fait que parce que plusieurs moteurs ont une part de marché significative. Pour preuve : à l'époque où Internet Explorer faisait 95% de part de marché, non seulement l'innovation se faisait uniquement en mode propriétaire à la seule initiative de Microsoft mais pire encore, elle a fini par s'assécher totalement après la sortie d'IE6. Seule l'arrivée de Firefox a fini par relancer la machine.

Actuellement, si Webkit est encore loin d'atteindre la part de marché passée d'IE sur les ordinateurs de bureaux, il est largement majoritaire sur les mobiles et tablettes, ce qui conduit de plus en plus de développeurs à ne développer leurs sites et applications web que dans l'optique de webkit, ignorant totalement les autres.

Faire ce choix de la facilité est à mon sens une grave erreur car si webkit est largement majoritaire actuellement, qu'en sera-t-il dans un ou deux ans ? Nul doute que l'écart se sera resserré si Firefox OS prend des parts de marché significative. Je doute assez peu que ce soit le cas, la seule inconnue restant la taille de cette part.

L'importance de respecter les standards est essentielle pour fonctionner sur un large panel de navigateur. Et fonctionner sur un large panel de navigateurs en respectant les standards (plutôt qu'en abusant de hacks en tous genre ou en développant des version parallèles) est non seulement plus maintenable mais aussi plus pérenne.

En effet, quand on se base sur les spécificités d'un navigateur, on est à la merci de son évolution. Car si les standards implémentés dans les différents navigateurs sont destinés à durer (un site qui fonctionnait bien sur les standards d'il y a dix ans fonctionne toujours actuellement), les éléments spécifiques, eux, peuvent disparaitre ou changer du jour au lendemain.

Nous en avons fait la douloureuse expérience avec RBS Change ces derniers mois. En effet, le backoffice est basé sur XUL, une technologie propriétaire de Mozilla, donc limitée au seul moteur Gecko (donc Firefox essentiellement). Depuis qu'elle a renoncé il y a quelques années à en faire un standard, Mozilla tend à réduire progressivement la portée de XUL. Initialement utilisables pour des applications web standard comme alternative plus riche à (X)HTML, XUL n'est actuellement plus utilisé que pour l'interface de Firefox. Pour continuer à l'utiliser dans le backoffice de Change, il nous faut passer par une extension.

Or la version 17 de Firefox a introduit un changement qui entrainait un plantage de Firefox dès l'ouverture du backoffice. Ce bug, critique pour les utilisateurs de Change était loin de l'être pour Mozilla puisque si un patch a été proposé en quelques jours par un contributeur externe, la validation du patch et son intégration dans Firefox a pris plusieurs mois. Et ce n'est que dans la future version 20, soit trois version plus tard qu'il sera enfin corrigé (alors qu'il avait été remonté le jour de la sortie de la 17).

Le choix de reposer sur XUL, s'il semblait bon en 2005 lorsqu'il a été fait (et l'était probablement étant donné ce qu'il permettait à une époque où les frameworks JavaScript étaient balbutiants et où les API standard étaient bien plus limitées) s'avère aujourd'hui avoir des conséquences coûteuses : redévelopper l'intégralité de l'interface ça a un coût assez élevé. Avec une technologie standard on n'aurait pas eu ce problème. Certains pans auraient dû être repensés de toutes façons mais cela aurait pu être bien plus progressif.

Je viens d'évoquer une techno 100% propriétaire comparable à Flash ou Silverlight par exemple dans le sens où, propulsée par un seul éditeur elle peut du jour au lendemain cesser d’être maintenu ou bannie de certaines plateformes. On est donc assez loin de ce qu'on risque de voir arriver avec le ciblage en "Webkit only", du moins dans un premier temps.

Mais les problèmes de ce choix de XUL a d'autres conséquences moins évidentes. En effet, choisir XUL c'est faire du développement dédié à Firefox uniquement. C'est donc se permettre d'utiliser des spécificité de Firefox à tous les niveaux, voire d'en exploiter sans s'en rendre compte ce qui s'avère être des bugs.

Nous en avons fait l'expérience une fois le bug évoqué plus haut puisque même si le navigateur ne plantait plus, le backoffice n'en était pas pour autant redevenu fonctionnel ! En effet à partir de Firefox 17, E4X (déprécié et désactivé dans la version 10) ne cause plus des erreurs seulement lorsqu'il est utilisé mais déjà des erreurs de parsing lorsqu'il est simplement présent dans un fichier. Or si on avait fait en sorte de ne plus passer dedans pour un usage normal, certaines fonctionnalités dépréciées de Change en contenaient encore... nous avions donc le choix entre tuée définitivement ces fonctionnalités ou assurer la compatibilité avec les version actuelles de Firefox. C'est le second choix qui a été fait mais d'une part ça implique qu'il faut mettre à jour Change pour pouvoir tourner sur les dernières versions de Firefox et d'autre part ça a impliquer de tuer des fonctionnalités (certes dépréciées depuis longtemps) dans une version corrective, ce qui n'est pas forcément très réjouissant.

De même, Firefox 20 modifie le comportement de la méthode setAttribute() sur un élément du DOM. Jusqu'à présent en affectant la valeur null, cela affectait au final un chaine vide et maintenant cela affecte la chaine "null". En soi c'est très bien puisque c'est conforme à ce que font tous les autres navigateurs mais ça a des conséquences sur le fonctionnement de l'interface. Si nous avions travaillé en contexte multi-navigateur, nous aurions remarqué cela très tôt. Là encore une fois, ça impose une mise à jour de Change pour rester compatible avec les derniers Firefox.

Et c'est bien cela qui pend aux nez de tous ces développeurs qui font du "Webkit only" : lorsqu'un bug sera corrigé, si leur applications reposent dessus (parfois sans qu'ils s'en doutent), il leur faudra faire des correctifs en urgence pour réparer voir coincera des entreprises sous des vieilles versions comme cela a pu et est encore le cas avec IE6. Et cela arrivera de plus en plus souvent si Webkit continue à progresser en part de marché.

Donc on ne le dira jamais assez : utilisez des standards (et de préférence matures, sans reposer sur des propriétés préfixées) et validez vos développement même mobiles sur plusieurs moteurs différents ! Ne reproduisez pas le désastre d'IE6.

Et en ce qui me concerne, sur ma tablette Android, par principe je ne lance jamais aucun navigateur sous Webkit (sauf tests justement). Jusqu'à présent j'utilisais Firefox et Opera. Maintenant je n'utiliserai plus que Firefox. C'est dommage mais c'est comme ça. Et si un site ne fonctionne que sous Webkit, tant pis pour lui.


Quelques trucs sur PHPMyAdmin #1

Durée de la session

C'est toujours lourd d'avoir une session qui expire et de devoir se reconnecter. Pour augmenter la durée de la session, rendez-vous dans le fichier config.inc.php situé à la racine du site et modifiez la valeur de la clé 'LoginCookieValidity' du tableau $cfg :

$cfg['LoginCookieValidity'] = 3600 * 48; // 48 hours

Évidemment, c'est à éviter sur les serveurs en production, pour des raisons de sécurité mais sur un poste de développement c'est tout à fait approprié.

Si ça ne passe pas c'est que la valeur de session.gc_maxlifetime est trop restrictive dans le php.ini. Ceci peut être changé là bas ou bien directement via ini_set() dans le fichier de configuration de PHPMyAdmin si votre configuration serveur l'autorise.

Pagination des tables

Un projet Change comporte en facilement plus de 200 à 300 tables (selon le nombre de modules utilisés) du coup, ça active la pagination de la liste. Pour augmenter le nombre d'éléments par page et éviter ce problème, rendez-vous dans le fichier config.inc.php situé à la racine du site ajoutez l'entrée suivante :

$cfg['MaxTableList'] = 500;

Défilement des colonnes

Toujours dans Change, les tables comportent un assez grand nombre de champs puisqu'on a toujours au moins la 15aine de champs standards des documents qui se retrouvent devant... Du coup quand on défile pour voir les champs utiles, on perd les menus, notamment le bouton "actualiser", ce qui oblige à défiler en sens inverse (puisque PHPMyAdmin a la mauvaise idée d'être basé sur des frames, faire juste un F5 n'est pas forcément toujours une bonne idée).

Du coup je me suis ajouté les styles suivants via Stylish sur Firefox qui place le défilement horizontal sur le tableau plutôt que sur la page complète (en remplaçant évidemment l'URL du site) :

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url-prefix("<URL_DU_SITE>") {
  .data {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-width: 100% !important;
  }
}

Quelques petites BD #3

Troisième fournée de BD pour ceux qui les auraient ratées sur Twitter et deviantART :

 Afficher BD #8 - 24/11/2012  Afficher BD #9 - 10/02/2013  Afficher BD #10 - 20/02/2013
Images sous licence CC-BY

Pas grand chose à expliquer sur celles-là, elles se suffisent à elles-même ^^