Auteur/autrice : Éric

  • Iden­ti­fiant utili­sa­teur et message d’er­reur

    L’uti­li­sa­teur ou le mot de passe four­nis est inva­lide

    Oui mais euh… lequel ?

    J’ai un compte sur plus d’une dizaine de services courants, peut être une ou plusieurs centaines si je compte les boutiques et forums en ligne sur lesquelles je vais peu.

    Expé­rience utili­sa­teur à jeter

    Malheu­reu­se­ment, comme tout le monde, je n’ai pas pu ou voulu avoir le même iden­ti­fiant utili­sa­teur partout. Parfois je me trompe, parfois je ne suis même pas capable de savoir lequel est le bon. Bien entendu j’ai aussi pas mal de mots de passe.

    Pas de doute, ce message d’er­reur rend plus diffi­cile de rentrer sur le compte. En tout cas c’est vrai pour l’uti­li­sa­teur légi­time. Ce qui aurait pu lui permettre de s’iden­ti­fier en quelques minutes lui pren­dra un bon quart d’heure le temps de tester toute une combi­nai­son d’iden­ti­fiants utili­sa­teur et la croi­ser avec autant de mots de passe.

    L’iden­ti­fiant utili­sa­teur n’est pas une sécu­rité

    La raison d’être de ce message est souvent un déve­lop­peur qui a souhaité amélio­rer la sécu­rité. Le fonde­ment est logique, si l’iden­ti­fiant utili­sa­teur est une incon­nue, cela fait une entrée de plus à forcer ou devi­ner.

    Mais en même temps, si en connais­sant l’iden­ti­fiant utili­sa­teur il est possible de forcer le compte rela­ti­ve­ment simple­ment, vous avez un vrai problème, et ce problème ne vient pas de l’iden­ti­fiant utili­sa­teur. Vous venez d’ajou­ter de cacher le cade­nas parce qu’il est trop simple à forcer quand on le trouve. Est-ce réel­le­ment la bonne approche ?

    Trou­ver un iden­ti­fiant utili­sa­teur est simple

    S’il s’agit de tester des iden­ti­fiants communs à l’aide d’un diction­naire et que nous parlons d’un service grand public, ne nous voilons par la face : Nous savons que « bob », « bob75 » et « great­bob » existent. Il n’est pas besoin de les tester. C’est même à cause de cette pré-exis­tence extrê­me­ment probable que vos utili­sa­teurs ont des iden­ti­fiants diffé­rents partout.

    Si à l’in­verse vous visez un utili­sa­teur parti­cu­lier, si vrai­ment l’in­gé­nie­rie sociale n’est d’au­cune aide à l’at­taquant (ce qui serait éton­nant), il lui restera à tester quelques variantes les plus probables dans votre robot. Ce qui est extrê­me­ment pénible à faire pour un humain ne chan­gera pas l’ordre de gran­deur du problème pour le robot et ne rendra pas beau­coup plus ou beau­coup moins fiable votre système.

    Pire, si vrai­ment il s’agit de décou­vrir l’exis­tence d’un iden­ti­fiant, et si vous tentiez une créa­tion de compte avec l’iden­ti­fiant en ques­tion ? On ne vous dit pas si l’iden­ti­fiant est dispo­nible à ce moment là ? Était-ce bien la peine de complexi­fier l’ex­pé­rience utili­sa­teur d’un côté si l’in­for­ma­tion est dispo­nible faci­le­ment ailleurs ?

    Votre sécu­rité est ailleurs

    Vous voulez augmen­ter la sécu­rité ? impo­sez un méca­nisme de double authen­ti­fi­ca­tion, un nombre d’es­sai maxi­mum, une tempo­ri­sa­tion d’une dizaine de secondes, des mots de passe forts, ou même deux carac­tères de plus dans votre mot de passe. Voilà, votre sécu­rité est aussi bien voire mieux assu­rée qu’en cher­chant à donner un message d’er­reur peu expli­cite à l’uti­li­sa­teur.

    Si réel­le­ment l’iden­ti­fiant utili­sa­teur était un compo­sant de sécu­rité, autant le mettre en champ « mot de passe » au lieu d’avoir un champ texte en clair. Mieux, on impo­se­rait une longueur mini­male et on inter­di­rait les iden­ti­fiants courants. En allant au bout de la démarche on pour­rait même faire un seul champ « utili­sa­teur et mot de passe » puisque l’iden­ti­fiant utili­sa­teur ne sert pas à grand chose d’autre.

    Je ne sais pas si vous avez vu mais on retombe sur nos pas : pour amélio­rer la sécu­rité, ajou­tez des carac­tères au mot de passe, ne prenez pas l’iden­ti­fiant utili­sa­teur pour un mot de passe.

    L’iden­ti­fiant utili­sa­teur comme donnée de valeur

    Vient un dernier problème qu’on m’a soumis : Parfois l’iden­ti­fiant utili­sa­teur peut lui même être une donnée de valeur.

    Je trouve dans cette caté­go­rie des extra­net dont l’iden­ti­fiant utili­sa­teur est prédic­tible mais où l’ap­par­te­nance de l’uti­li­sa­teur au système donne une infor­ma­tion impor­tante. Ce peut par exemple être l’ex­tra­net d’un avocat pour savoir si une personne précise est cliente.

    Ça ne concerne pas les services publics, ça ne concerne pas les services où les iden­ti­fiants sont non prédic­tibles, ça ne concerne par les récoltes anonymes (où on ne vise pas un utili­sa­teur précis) et ça ne concerne que les cas où l’iden­ti­fiant utili­sa­teur a une valeur en soi. C’est rare, plus proba­ble­ment la solu­tion serait de rendre l’iden­ti­fiant anonyme ou non prédic­tible, mais ce sont des cas légi­times.

    Par contre, pour votre boutique en ligne, pour votre forum, non, il n’y a aucune raison de gêner l’uti­li­sa­teur à ce point, vrai­ment.

  • Filmer au cinéma

    Je me suis toujours inter­rogé sur les inter­dic­tions de photo­gra­phier ou filmer et leur fonde­ment juri­dique. C’est vrai dans les spec­tacles, les ciné­mas ou les musées.

    J’ai croisé beau­coup de billets qui expliquent pourquoi c’est mal, pourquoi c’est bien, pourquoi ça fait mourir les artistes ou au contraire pourquoi ça les aide­rait à vivre, mais tous jouent sur des argu­ments de légi­ti­mité morale.

    Ce qui m’in­té­resse ce n’est pas savoir si c’est normal ou souhai­table, mais c’est si c’est légal : « Ai-je le droit ? » et « A-t-on le droit de me l’in­ter­dire ? ».

    Fonde­ments juri­diques

    Concer­nant le droit d’au­teur, l’ex­cep­tion de copie privée empêche l’au­teur de m’in­ter­dire la copie (et donc l’en­re­gis­tre­ment). Affir­mer que tech­nique­ment je pour­rai en faire une diffu­sion illé­gale ne peut justi­fier léga­le­ment qu’on m’in­ter­dise la copie privée elle-même.

    Restent donc les règle­ments inté­rieurs et les condi­tions géné­rales de vente ou d’uti­li­sa­tion des lieux ou services donnant accès aux œuvres.

    Je n’ai pas la connais­sance juri­dique pour tran­cher mais cela m’a toujours semblé un argu­ment bancale. S’il suffit de condi­tions géné­rales pour empê­cher la copie, alors ça revient à dire que l’ex­cep­tion de copie n’a aucune valeur : Tous les exploi­tants vont mettre une inter­dic­tion à ce niveau. Ils le font d’ailleurs déjà.

    En fait quand je lis les condi­tions d’un DVD j’ai même l’im­pres­sion de ne pas avoir le droit d’in­vi­ter un ami pour le regar­der. Heureu­se­ment je ne suis pas tenu d’ap­pliquer ce que léga­le­ment ils ne peuvent m’im­po­ser.

    Bref, en atten­dant j’ai consi­déré que l’ex­ploi­tant d’un lieu ou d’un service pouvait restreindre à peu près ce qu’il voulait (donc la copie), mais pour moi la ques­tion restait encore ouverte.

    Photo­gra­phier dans les musées

    Aujourd’­hui je tombe juste­ment sur un article qui parle de la ques­tion concer­nant les musées. L’au­teure est juriste en droit des affaires et droit d’au­teur, a publié plusieurs guides juri­diques chez Dalloz, et enseigne le droit d’au­teur en univer­sité. Son avis peut donc proba­ble­ment être consi­déré comme rensei­gné.

    Je retire de cette lecture que juste­ment, rien ne permet à un musée d’in­ter­dire de prendre des photo­gra­phies si cela ne pose pas de trouble anor­mal comme abîmer les œuvres ou bloquer le musée. Anne-Laure Sterin rappelle que le droit de propriété de l’ex­ploi­tant n’est pas absolu et selon elle il ne peut être invoqué pour empê­cher la prise de vue. Bref, il ne suffit pas de gérer le lieu pour avoir le droit d’ajou­ter l’in­ter­dic­tion, il faut en plus la légi­ti­mer.

    Et dans les cinéma ?

    Si un musée ne peut le faire, qu’est-ce qui permet à un cinéma ou un spec­tacle d’agir diffé­rem­ment tant qu’on ne trouble pas la repré­sen­ta­tion ?

    Je ne vois pas de réponse légale, mais comme juste­ment ce n’est pas mon domaine d’ex­per­tise, vous êtes bien­ve­nus à éclair­cir ce point. En l’at­tente, j’au­rai tendance à consi­dé­rer qu’il n’y a pas de base légale à ses inter­dic­tions, et qu’elles n’en­gagent donc que ceux qui souhaitent les respec­ter.

    N’ou­bliez pas : On ne cherche pas une loi qui auto­ri­se­rait la copie ou l’en­re­gis­tre­ment. Tout ce qui n’est pas expli­ci­te­ment inter­dit est auto­risé. C’est un texte légis­la­tif ou régle­men­taire qui inter­dit (ou permet à quelqu’un d’in­ter­dire) que je recherche.


    Comme il s’agit d’un sujet passion­nel, je rappelle qu’il s’agit d’une ques­tion théo­rique. Droit ou pas, il est probable que celui qui cherche à filmer dans un cinéma se fasse expul­ser manu mili­tari et passe une mauvaise soirée, en plus de gêner tout le monde s’il tente de résis­ter ou argu­men­ter sur place. Ce n’est donc aucu­ne­ment un encou­ra­ge­ment à enre­gis­trer, quand bien même ce serait légal.

    De même ce n’est pas non plus un soutien à la diffu­sion illé­gale de conte­nus sous droits d’au­teur. Même si la copie privée peut être auto­ri­sée, ce n’im­plique pas un droit de diffu­sion. Il s’agit simple­ment de curio­sité intel­lec­tuelle et je n’ai pas l’en­vie de d’avoir un débat sur les ques­tions de P2P, de révo­lu­tion numé­rique, de modèle écono­mique ou de morale. Tout ce qui part en ce sens passera à la trappe sans aver­tis­se­ment.

  • Perplexité, complexité, vélo­cité … une autre vue

    J’ai lu « Perplexité, complexité, vélo­cité » sur le blog d’OCTO. L’ar­ticle est bien tourné et on sort complè­te­ment convaincu. Mon problème c’est que quelques heures après j’ai commencé à avoir des doutes et plus les jours avancent plus mes doutes se trans­forment en avis contraire. Je vous encou­rage à lire d’abord le billet d’OCTO, le mien n’aura de sens qu’en réponse.

    À quoi sert la vélo­cité ?

    À quoi sert la vélo­cité ?

    1.     Esti­mer ce qui sera réalisé ou non dans le sprint

    2.     Mesu­rer la produc­ti­vité de l’équipe

    3.     Mesu­rer le réalisé pour le projet, le produit

    Ma diver­gence avec l’ar­ticle source vient d’un constat simple : Nous n’uti­li­sons pas cet indi­ca­teur dans le même objec­tif. Lui l’uti­lise pour mesu­rer la produc­ti­vité, moi pour amélio­rer les esti­ma­tions.

    Amélio­rer les esti­ma­tions

    Amélio­rer les esti­ma­tions c’est faire en sorte de mieux évaluer ce qui sera livré dans chaque sprint et aider à la prio­ri­sa­tion. Bref, gérer le projet.

    Pour amélio­rer nos esti­ma­tions on tente de se baser sur les tâches simi­laires précé­dentes et on en réuti­lise l’es­ti­ma­tion sans tenir compte de la produc­ti­vité de l’équipe. On utilise pour cela une unité virtuelle qui nous détache des jours/hommes : le point. Réali­ser une esti­ma­tion ainsi est de plus en plus simple, rapide et fiable.

    Pour prendre en compte les évolu­tions de produc­ti­vité (équipe plus effi­cace ou dette tech­nique gran­dis­sante) c’est le nombre de points réali­sable dans un sprint qu’on fait varier. Afin de ne pas sortir le dé pour évaluer ce nombre de points, on se base sur ce qui a été réalisé dans les quelques sprints passés et on tente de rester sur une courbe la plus stable possible.

    Nos réfé­rences d’es­ti­ma­tion sont stables, nos esti­ma­tions se fiabi­lisent avec le temps. Le nombre magique de points qu’on peut mettre dans un sprint, c’est pour moi ce qu’est la vélo­cité de l’équipe.

    En prenant en compte la tech­nique

    Si on calcule en points et pas en heures ou en jours, ce n’est pas parce qu’on compte en complexité fonc­tionne, c’est pour s’au­to­ri­ser à faire varier la somme totale plutôt que chaque esti­ma­tion.

    Il ne faut pas perdre de vue que notre objec­tif reste bien d’éva­luer une charge de déve­lop­pe­ment. Il faut donc tenir compte dans nos esti­ma­tions de tout ce qui est néces­saire à évaluer le temps de déve­lop­pe­ment et livrer la fonc­tion­na­lité : Ça va des besoins fonc­tion­nels à la complexité tech­nique en passant par les contraintes orga­ni­sa­tion­nelles spéci­fiques.

    Si je ne prends en compte que la complexité fonc­tion­nelle, l’es­ti­ma­tion n’aura plus aucun lien avec le temps de déve­lop­pe­ment. Pour savoir ce qui tient ou pas dans le sprint, on en vien­dra à faire une esti­ma­tion globale, au jugé, sans réfé­rences simi­laires : tout l’in­verse de l’objec­tif.

    Outil privé versus indi­ca­teur public

    À mon humble avis l’er­reur de l’ar­ticle n’est pas seule­ment de faire de la vélo­cité une mesure de produc­ti­vité, c’est en plus de l’avoir commu­niquée à l’ex­té­rieur de l’équipe.

    Du coup, forcé­ment, la vélo­cité devient un enjeu poli­tique. L’équipe, son mana­ger, son coach commencent à avoir inté­rêt à amélio­rer l’in­di­ca­teur au lieu de se concen­trer sur ce qui devrait être leur seul objec­tif : appor­ter de la valeur au produit.

    Que la vélo­cité augmente, dimi­nue, c’est quelque chose propre à l’équipe. S’il faut un indi­ca­teur de produc­ti­vité et de pertur­ba­tion, il faut publier la seule chose impor­tante : la progres­sion de la valeur du produit (si ça ressemble au para­graphe précé­dent, ce n’est pas une coïn­ci­dence).

    Cette vélo­cité doit être prise pour ce qu’elle est : un outil d’es­ti­ma­tion, de plani­fi­ca­tion et de prio­ri­sa­tion. Comme tous les outils, il a voca­tion à être utilisé en interne, par l’équipe, et nulle part ailleurs.

    Et la complexité fonc­tion­nelle ?

    Mon second problème est là : Selon moi la complexité fonc­tion­nelle n’in­dique rien de valable. Ce n’est pas une mesure de ce que coûte la fonc­tion­na­lité, ce n’est pas une mesure de ce qu’ap­porte la fonc­tion­na­lité, et inci­dem­ment ce n’est pas une mesure de l’im­pli­ca­tion ou de la produc­ti­vité de l’équipe.

    Tout au plus la complexité fonc­tion­nelle permet de faire une première esti­ma­tion des histoires utili­sa­teurs qui ne sont pas prévues pour tout de suite ou dont on ne connaît pas la complexité tech­nique.

  • Réso­lu­tions d’écran – mai 2011

    Petite statis­tiques abso­lu­ment pas repré­sen­ta­tive mais inté­res­sante quand même : les réso­lu­tions d’écran des gens qui sont passés sur ce site du 1 au 12 mai 2011.

    Petite inter­pré­ta­tion perso :

    • J’ai moins de 10% de visites de mobile (réso­lu­tion infé­rieure à 1024px)
    • Je dois avoir envi­ron 3% de netbook et tablettes (réso­lu­tion de 1024px mais pas plus)
    • Les desk­top supportent tous ou presque au moins 1280px (87% de support, mobiles inclus)
    • Les mobiles sont tous diffé­rents et il est diffi­cile d’ac­ter d’une réso­lu­tion mini­male stan­dard sauf à la prendre vrai­ment très petite
    Avec comme consé­quence sur le design, si on doit faire plusieurs versions:
    • Une version mini­male à 240 ou 280px, quitte à ce qu’elle soit très dégra­dée
    • Une version à 800 (android récent en paysage), qui servira aussi pour les iphone avec une meilleure réso­lu­tion, les tablettes et les netbooks
    • Une version desk­top à 1280, qui sera la version « stan­dard »
    • Une à 1400 ou 1600 pour récu­pé­rer les écrans larges
    • Et si je suis bien luné une version à 1900 parce que ça concerne quand même encore un quart des visites
    Atten­tion, ces chiffres ne prétendent pas être repré­sen­ta­tifs de quoi que ce soit, et ne repré­sentent que des réso­lu­tions d’écran, pas des tailles de fenêtre, ce qui est nette­ment diffé­rent.
  • Les commen­taires c’est moche

    Je suis très insa­tis­fait par mes commen­taires.

    Il y a d’abord un problème tech­nique. Disqus est perfec­tible sur de nombreux points et n’aide pas les gens à obte­nir des commen­taires agréables à lire. Ce sera changé.

    Par contre j’ai suis aussi assez frus­tré par le contenu. Je n’y trouve pas mon compte. Cela donne des commen­taires à rallonge qui me semblent gêner la place que je souhaite donner au billet initial. De plus on a des discus­sions qui sont diffi­ciles à lire, et que je ne juge pas tout à fait en contexte. En fait si j’étais moi visi­teur j’ai l’im­pres­sion que lire les commen­taires me donne­rait l’im­pres­sion de perdre mon temps et m’in­ci­te­rait à ne pas reve­nir sur le site.

    Pour­tant j’y tiens à ces commen­taires et je remer­cie ceux qui les font. Même quand je trouve que c’est n’im­porte quoi, je suis heureux que quelqu’un me dise qu’il n’est pas d’ac­cord (même si je suis frus­tré quand il ne m’ex­plique pas assez le pourquoi de ce désac­cord). Il s’agit donc d’après moi d’abord d’un problème de présen­ta­tion.

    Je ne souhaite pas les reti­rer mais je trouve indis­pen­sable de les faire évoluer. Voici quelques pistes et je veux bien … vos commen­taires juste­ment :

    1. Pour isoler la zone de commen­taires du billet
      1. Replier la zone de commen­taire par défaut (il faudra un clic pour la déplier)
        1. … mais on la garde dépliée par défaut pour ceux qui l’ont déjà ouverte sur le même billet
        2. … mais on la garde dépliée par défaut pour ceux qui ont déjà commenté le même billet
        3. … mais on la garde dépliée par défaut pour ceux qui l’ont déjà dépliée sur un billet du blog et qu’ils ne l’ont pas repliée depuis
        4. … mais on laisse quelques commen­taires choi­sis (par moi ou par popu­la­rité) déplié de toutes façons
      2. Exter­na­li­ser les commen­taires sur une page sépa­rée (en popup ou non)
    2. Éviter les commen­taires à rallonge illi­sibles
      1. Limi­ter la taille des commen­taires
      2. Replier par défaut les commen­taires long (il faudra cliquer pour voir plus que les premières lignes)
        1. Déplier commen­taire par commen­taire lors d’un clic
        2. Déplier tous les commen­taires long d’un coup
      3. Propo­ser aux gens qui répondent à plusieurs points / argu­ments / idées d’un billet de faire un commen­taire pour chaque
      4. Propo­ser une zone de commen­taire par point / titre / argu­ment du billet (géré auto­ma­tique­ment avec la hiérar­chie des titres du billet)
      5. Replier par défaut les discus­sions (on ne laisse que le ou les premiers commen­taires de chaque fil de discus­sion)
    3. Éviter les discus­sions à rebond
      1. Reti­rer toute hiérar­chie dans les commen­taires (on répond sous la file et pas à un commen­taire parti­cu­lier)
      2. Avoir une hiérar­chie simple (un commen­taire commence un fil de discus­sion mais on ne peut pas créer de sous-fil de discus­sion), comme actuel­le­ment
      3. Augmen­ter la hiérar­chie dans les commen­taires (on répond à un commen­taire parti­cu­lier en créant un nouveau fils)
      4. Modé­rer à la hache quand je ne trouve pas les commen­taires perti­nents
    4. Éviter les commen­taires que je juge hors contexte (sur un point annexe et pas sur le fond de la discus­sion)
      1. Modé­rer à la hache
      2. Lais­ser faire
      3. M’au­to­ri­ser à modi­fier les commen­taires des autres pour ne lais­ser que ce qui me semble perti­nent (aie)
      4. Faire deux zones de commen­taires et migrer manuel­le­ment certains commen­taires vers la secondes (commen­taires hors contexte, peu perti­nents, etc) qui sera repliée par défaut ou sur une page annexe
      5. Ajou­ter en bas des billets clai­re­ment les sujets que j’at­tends dans les commen­taires

    J’ai utilisé des numé­ros pour faci­li­ter les discus­sions, donc n’hé­si­tez pas à dire que vous parlez du point 2.2.1 .. ou en ajou­ter d’autres.

  • JSON c’est hype

    J’en ai marre de voir du JSON partout. J’ai même vu des gens propo­ser de rempla­cer du XML par du JSON juste parce que c’est plus moderne, plus léger et plus compa­tible. « JSON is the new XML » est un effet de mode, un mauvais effet de mode. On va se retrou­ver comme avant avec des gens qui vont se réveiller dans quelques mois/années avec des formats de données pas du tout adap­tés à leur usage.

    Coupons un peu dans le tas :

    JSON n’est pas vrai­ment plus simple à lire par un humain

    Pour un petit fichier en volume comme en hiérar­chie, le JSON a un léger avan­tage sur le XML mais ce n’est pas fran­che­ment signi­fi­ca­tif.

    Pour un gros fichier ou avec beau­coup de hiérar­chie, le JSON devient complè­te­ment illi­sible à suivre au niveau des imbri­ca­tions.

    JSON n’est pas plus simple à écrire par un humain

    JSON est un peu moins verbeux mais plus propice aux erreurs : facile d’ou­blier une virgule en fin de ligne, ou d’en mettre une par erreur à la dernière ligne. Sur les gros fichiers les niveaux d’im­bri­ca­tion seront eux aussi un écueil à l’écri­ture.

    En compa­rai­son la verbo­sité d’XML rend diffi­cile les erreurs et le dispo­ni­bi­lité de fichiers gram­maire permettent de faire de l’aide à la saisie voire de vali­der en tems réel le contenu.

    La diffé­rence de poids n’est pas signi­fi­ca­tive

    JSON est plus léger que le XML d’en­vi­ron un tiers (pour des fichiers forte­ment struc­tu­rés, beau­coup moins pour les autres). À moins de 1,5 Ko une fois compressé en gzip (donc 6 Ko non compressé) ça tient dans un paquet TCP/IP et 500 octets de moins ne changent stric­te­ment rien. Sur disque on compte de toutes façons au moins par paquets de 4K.

    Pour faire une diffé­rence signi­fi­ca­tive de 10 Ko sur le réseau il faut une donnée de 160 Ko avant compres­sion. Ça concerne d’au­tant moins de monde qu’à ce volume le JSON n’est plus du tout lisible.

    JSON n’est pas plus natif que XML

    XML est natif sur tous les outils, langages et navi­ga­teurs depuis des années là où JSON n’a d’API native que sur les navi­ga­teurs récents, certains langages et quelques outils.

    JSON est en fait natif en javas­cript via eval(), mais ça n’est pas plus perfor­mant. Pour une même donnée, lire du XML via DOM est 30% plus rapide que lire du JSON avec eval(). Pour avoir sécu­rité et fiabi­lité en lecture, ou pour faire de l’écri­ture JSON, il faudra une biblo­thèque pas native du tout sur IE7 ou Safari pour iPhone 3.2. Elle fera au moins 5 Ko et ne sera donc renta­bi­li­sée par rapport au XML natif que si on trans­fert au moins 15 Ko de JSON.

    JSON n’est pas vrai­ment exten­sible ou évolu­tif

    JSON permet souvent d’ajou­ter de nouvelles clefs sans modi­fier casser la compa­ti­bi­lité. Si on souhaite ajou­ter une date de mise à jour à une liste de chaînes de carac­tères, il faudra toute­fois modi­fier le format, mettre à jour tous les outils concer­nés. Si on souhaite mixer des formats diffé­rents là ça devient vite un casse-tête et des solu­tions bidouille.

    En XML on a la possi­bi­lité d’in­sé­rer des méta-données dans des attri­buts, ainsi que de mixer diffé­rents concepts ou formats à l’aide d’es­paces de noms. Ce sont des fonc­tion­na­li­tés qui ont leurs limites, mais qui ont prouvé appor­ter un peu de souplesse et d’évo­lu­ti­vité aux formats créés.

    Compa­tible avec l’exis­tant

    Outre le concept de « natif », beau­coup d’ou­tils, d’ap­pli­ca­tions, de progi­ciels ou de chaînes de trai­te­ment sont adap­tés à l’ex­ploi­ta­tion ou à l’ex­por­ta­tion de données XML. Côté JSON les plus récents savent faire de l’ex­port, tout le reste est à trai­ter en spéci­fique.

    Sur l’exis­tant XML j’ai des concepts de signa­ture, des mapping XML-Objet en Java, des outils qui font du filtre ou du routage, de la vali­da­tion, des compo­si­tions entre données XML.. tout ça n’existe simple­ment pas en JSON. Quand (si) j’en aurai besoin, il faudra réin­ven­ter la roue.

    Hype, mode et trucs de jeunes déve­lop­peurs inno­vants

    JSON était simple au départ parce qu’on utili­sait eval(), que ça renvoyait immé­dia­te­ment sur un objet javas­cript sans deman­der au déve­lop­peur client de faire des mani­pu­la­tions complexes ou de char­ger une biblio­thèque de plus. Ça a permis d’ou­vrir quelques API à des gens qui auraient eu du mal autre­ment. C’est indé­nia­ble­ment posi­tif sur ce point là.

    Ensuite s’est rendu compte que pour la fiabi­lité et la sécu­rité il fallait du code en plus. Faire des petites fonc­tions qui lisent du XML simple pour créer des objets javas­cript natifs aurait été plus simple, plus perfor­mant et moins lourd mais c’était trop tard : c’était « hype ». Du coup on a utilisé des biblio­thèques d’ana­lyse de 10 Ko de pur javas­cript pour lire des JSON de moins de 1 Ko et annon­cer que ces derniers étaient moins lourds que le XML corres­pon­dant. Allez comprendre.

    Depuis on a des fonc­tions natives dans les navi­ga­teurs récents et un peu plus de support dans les outils récents (c’est la mode, il a bien fallu faire avec et suppor­ter le nouvel usage) donc ça a du sens pour quelques usages (échange de petites données struc­tu­rées avec un navi­ga­teur récent) mais la mode prend encore trop le pas sur des grilles de compa­rai­son argu­men­tées et factuelles et même dans les usages les plus adap­tés, le béné­fice sur le XML est rare­ment très signi­fi­ca­tif.

  • Ce que j’at­tends comme chan­ge­ment dans les offres mobiles

    Ça buzz en ce moment sur des « révo­lu­tions » dans les offres mobiles. On parle d’illi­mité acces­sible, dans les 40 € par mois. Il faut dire que quand on regarde chez certains de nos voisins on a l’im­pres­sion de payer la minute de commu­ni­ca­tion à prix d’or. Mais en même temps je ne connais personne qui télé­phone en illi­mité. Un gros forfait pas cher, voilà simple­ment ce qui arrive.

    J’at­tends de voir l’offre pour juger mais entre temps voilà ce qui selon moi consti­tue­rait une réelle révo­lu­tion dans le milieu :

    J’achète un forfait, pas un mobile

    Ne plus inté­grer le prix d’un nouvel appa­reil dans les forfaits télé­pho­niques. Cela n’em­pêche pas l’opé­ra­teur de propo­ser d’ai­der au finan­ce­ment d’un nouveau mobile en en lissant le prix sur une année, mais en tant qu’op­tion, clai­re­ment distincte du forfait.

    Je m’en­gage sur un à trois mois seule­ment

    Le second effet Kiss-Cool de la sépa­ra­tion du forfait et du mobile c’est que du coup il n’y a plus de justi­fi­ca­tion à deman­der un enga­ge­ment de plus de 3 mois. Fini le boulet au pied pendant un à deux ans, main­te­nant je veux pouvoir partir quand je veux.

    J’uti­lise mon accès comme je le veux

    Je paye un forfait avec de la voix, des données. Je veux pouvoir utili­ser cette voix et ces données comme je le souhaite : sur mon télé­phone, sur une tablette, ou même via un micro-ordi­na­teur. Je ne veux pas de bridage de débit, de bridage de port. Je ne veux pas une factu­ra­tion hors forfait pour un usage en mode modem.

    À dire vrai je n’ai pas toujours été de ce dernier avis mais ce mode de factu­ra­tion est jugé illé­gi­time et anor­mal par tous les clients visés. Il doit être changé en consé­quence.

    J’ai un télé­phone non bidouillé

    Enfin, pour ceux qui utilisent des smart­phones, je veux un télé­phone non bidouillé, sans surcouche opéra­teur, sans person­na­li­sa­tion, sans logi­ciel en version démo. Si l’opé­ra­teur veut four­nir des appli­ca­tions, des thèmes, des fonds d’écrans, qu’il le fasse, mais par les canaux prévus pour, pas via des surcharges non désins­tal­lables qui en plus empêchent d’ins­tal­ler les mises à jour du construc­teur.

    Voilà ma révo­lu­tion mobile, le prix dans tout ça c’est juste une variable, qui finira toute seule par descendre quand les utili­sa­teurs auront plus de liberté et plus de clarté sur ce qu’ils achètent.

  • Savoir se rappe­ler comment vivent les autres

    Je parle souvent salaire. J’en courage mes pairs à ne pas lais­ser les rému­né­ra­tions se tirer vers le bas et au contraire à valo­ri­ser leurs compé­tences.

    On vit parfois telle­ment dans une bulle qu’il est diffi­cile de se rappe­ler que ce n’est pas le cas de tous. À force de consi­dé­rer mutuelle, RTT et gadgets tech­no­lo­giques comme allant de soi, on perd de vue qu’on reste des privi­lé­giés.

    100 € par jour, c’est fran­che­ment insuf­fi­sant

    Ma dernière réac­tion vient de réac­tions à une offre d’em­ploi pour un indé­pen­dant à 100 € / jour sur le mode « ça ne permet pas de vivre » ou « ça devrait être inter­dit ».

    Dans l’his­toire l’in­dé­pen­dante a très bien fait de refu­ser, voire de se scan­da­li­ser. C’est une rému­né­ra­tion inac­cep­table par rapport à la valeur ajou­tée et tota­le­ment hors des stan­dards du marché.

    Mais c’est plus que ce que gagnent la plupart des sala­riés

    Pour­tant, après un calcul rapide pour reti­rer les coti­sa­tions sociales auto-entre­pre­neur (18,4 % dont la retraite) et cinq semaines de congés, on est au dessus du salaire médian, quelque part dans le sixième décile. Sixième décile ça veut dire qu’on gagne plus que 60 % des sala­riés français.

    Si on souhaite compa­rer avec un sala­rié en ajou­tant une compen­sa­tion de 25 % pour l’as­su­rance chômage et du temps de trai­te­ment admi­nis­tra­tif ainsi qu’un rembour­se­ment de trans­port de 50 € par mois, on reste dans le cinquième décile, au dessus du salaire médian français.

    En compa­rant avec un sala­rié un peu plus avan­tagé qui a une mutuelle d’en­tre­prise, 8 jours de RTT et une petite coti­sa­tion de retraite complé­men­taire, on tombe au milieu du quatrième décile, c’est à dire qu’on gagne plus que 45 % des sala­riés français.

    Comme Julien insiste *très* forte­ment pour que je compte tout : Je n’ai pas compté l’as­su­rance chomage parce que pour moi ça fait parti du choix assumé de se mettre indé­pen­dant au départ (échan­ger sécu­rité contre liberté et capa­cité de faire plus). J’ai du coup toute­fois fait le calcul. En retran­chant l’as­su­rance chomage on reste sur le tout début du quatrième décile. En comp­tant en plus des frais fixes de maté­riel on tombe alors dans la moitié haute du troi­sième décile. C’est nette­ment plus bas mais on reste sur le même ordre de gran­deur/compa­rai­son. Cela ne change pas le fond du discours, cepen­dant.

    C’est encore plus que ce qu’ont la plupart des français

    Mon propos n’était pas de compa­rer la rému­né­ra­tion d’un travailleur mais bien le fait de pouvoir vivre ou pas avec. Si on ne prend pas en compte que les sala­riés mais aussi les chômeurs et non actifs, la rému­né­ra­tion arrive vite au dessus de celle d’une grosse majo­rité de la popu­la­tion. Je ne serai même pas étonné qu’on se trouve dans le tiers le plus riche (mais si j’ai véri­fié préci­sé­ment mes chiffres jusque là, ici c’est une esti­ma­tion pure­ment arbi­traire de ma part).

    De se rappe­ler de la réalité

    Qu’on soit clairs, mon propos n’est pas de dire qu’on vit bien avec une telle somme, ou que l’offre de travail était honnête ou inté­res­sante. Ce n’était pas le cas. Mais il ne faut pas non plus oublier que ce qu’on attend sont une rému­né­ra­tion et des pres­ta­tions de privi­lé­giés.

    La grande majo­rité des gens vivent avec beau­coup moins que ça. Refu­ser un nivel­le­ment par le bas est une chose, oublier qu’on reste dans la sphère des privi­lé­giés, ça c’est indé­cent.


    Note finale pour les réac­tions :

    L’exac­ti­tude du calcul m’in­dif­fère et ce n’est pas le propos. Sauf si vous pensez descendre au premier ou second décile, en utili­sant des chiffres véri­fiés et pas des esti­ma­tions au jeté, cela ne change rien à mon billet.

    De même, je ne souhaite pas compa­rer le niveau de pres­ta­tions entre un sala­rié et un indé­pen­dant. Je sais qu’il y a des garan­ties diffé­rentes dans les deux cas, je ne m’in­té­res­sais qu’à la réalité de ce qu’est réel­le­ment gagner peu. C’est d’au­tant plus vrai qu’ici être indé­pen­dant est un choix déjà fait, acté.

    Enfin, même si je le dis au début je sais que ça risque de ne pas être lu si je ne le rappelle pas : Je ne défends certai­ne­ment pas la propo­si­tion de l’em­ployeur. Elle est inac­cep­table pour ce type de pres­ta­tions, tota­le­ment en hors des habi­tudes du marché, et sans rapport avec la valeur ajou­tée atten­due sur la pres­ta­tion. Je féli­cite l’in­dé­pen­dante concer­née de l’avoir refusé et elle a tout mon soutien. C’est juste la forme des réac­tions autour qui m’ont gêné, certai­ne­ment pas le fond.

    Merci de garder la même ligne dans les commen­taires. Vous êtes bien­ve­nus à discu­ter de ces trois points par twit­ter si vous voulez ou en répon­dant chez vous avec un simple lien ici dans les commen­taires, mais ici je dépu­blie­rai sans ména­ge­ment ce qui est posté ici et qui dévie trop du propos initial.

  • La factu­ra­tion est une science complexe

    Choi­sir comment factu­rer un service est une chose complexe et vous avez inté­rêt à y réflé­chir deux fois. Trois ou quatre serait même une bonne idée.

    Au restau­rant on paye le plat

    Imagi­nons que vous lanciez un restau­rant. Vous pouvez faire comme tout le monde et factu­rer les mets à la carte. Pour­tant ce qui vous coûte cher c’est aussi le restau­rant lui-même, le service et le couvert. En factu­rant au plat vous répar­tis­sez tous ces coûts annexes sur chaque plat. C’est ce qui fait qu’un simple plat semble toujours couter cher quand il est pris indé­pen­dam­ment.

    Pour peu que votre cuisine soit une réus­site c’est la place qui devien­dra votre ressource la plus limi­tée. Le couple de jeunes qui prend juste une salade et fait des mamours pendant long­temps devien­dra votre bête noire. S’ils partagent une salade ou un dessert, c’est la misère : Vous écono­mi­sez le coût de quelques feuilles de salade mais en échange vous n’en factu­rez qu’une et ils bloque­ront la table en vous empê­chant de faire un second ou un troi­sième service avec des gens qui pren­dront deux bons gros plats.

    Il faut dire que c’est un peu de votre faute : En répar­tis­sant les coûts ainsi ceux qui prennent entrée – plat – dessert payent une partie des coûts annexes de ceux qui ne prennent qu’une salade. Vous deve­nez attrac­tif pour ce qui est votre pire clien­tèle et peu inté­res­sant pour ceux qui vous rapportent le plus. Pas très malin.

    Sur Inter­net on paye l’ac­cès au réseau interne

    Cette problé­ma­tique se retrouve bien évidem­ment dans notre petit monde de Inter­net :

    Votre four­nis­seur d’ac­cès Inter­net paye deux choses : Un coût à peu près fixe pour vous connec­ter à son réseau, et un coût dépen­dant des usages (ou de leur augmen­ta­tion) pour connec­ter son propre réseau à tous les sites que vous visi­tez.

    Nos FAI français ont choi­sit le modèle inverse des restau­ra­teurs français : Ils proposent des forfaits, faisant donc payer prin­ci­pa­le­ment l’ac­cès à leur réseau interne. Les autres coûts sont réin­té­grés sur ce forfait en faisant une moyenne des usages prévus.

    Comme un gros utili­sa­teur conti­nue à coûter plus cher qu’un autre, on entre dans la quatrième dimen­sion : Votre FAI a donc inté­rêt à ce que vous utili­siez le moins possible ce pour quoi vous faites appel à lui : accé­der à Inter­net.

    Le modèle de factu­ra­tion va à l’en­contre des inté­rêts du four­nis­seur de service. Il n’est perti­nent que pour des raisons marke­ting.

    La stra­té­gie du pour­ris­se­ment

    Le résul­tat premier c’est que forcé­ment les FAI sont plus inté­res­sés à offrir des services addi­tion­nels (TV, VOD, lecteurs bluray et autres bonus liés aux « box ») qu’à corri­ger vos problèmes d’ac­cès ou vous offrir de bons accès Inter­net. Regar­dez la commu­ni­ca­tion : On vous parle plus de télé­phone, télé­vi­sion, et box que d’ac­cès Inter­net. Vous savez désor­mais pourquoi. Si vous cher­chez une expli­ca­tion à une majo­rité de vos problèmes ou de leur non réso­lu­tion, vous l’avez aussi main­te­nant. Ce n’est pas qu’ils ne s’en (pré)occupent pas, c’est juste que leurs prio­ri­tés sont ailleurs.

    Le résul­tat second c’est que nos FAI qui doivent quand même faire face aux usages gran­dis­sants. L’en­nemi appa­raît vite : Les éditeurs de site web ont un modèle écono­mique opposé à celui des FAI. Ces méchants éditeurs ont inté­rêt et encou­rage à utili­ser de plus en plus le réseau (et ça ce n’est pas bon pour nos FAI qui facturent au forfait). Il faut les faire payer, soit par une taxe (ça parle à quelqu’un la « taxe Google » ?) soit par la force dans les quelques projets que les deux ont en commun (héber­ge­ment des serveurs de cache, liens de peering, etc.)

    Au lieu de parte­na­riats gagnants-gagnants, le modèle de nos FAI impose de gérer une rela­tion d’en­ne­mis avec les éditeurs et de faire de l’uti­li­sa­teur la cinquième roue du carrosse.  Main­te­nant vous pouvez relire le billet de Korben, ou vous souve­nir des fameuses « QoS » mises en place sur certains ports par vos FAI.  Si bien entendu la situa­tion est plus complexe et plus complète que ce que vous avez lu ici ou chez lui, cela vous donne déjà une bonne base d’ana­lyse.

    Factu­rer au volume

    Note: Je vois que les commen­taires se fixent sur cette section. Je voulais poser un problème, je me suis aven­turé un peu sur une solu­tion. Peut-être n’au­rais-je pas du le faire avant d’avoir une réflexion plus complète, peut être aurais-je du faire un billet dédié séparé. Je ne sais pas. Ne vous foca­li­sez pas sur la ques­tion de la factu­ra­tion au volume. Le coeur de mon propos est plus d’ex­pliquer le problème, pas d’af­fir­mer avoir « la » solu­tion. Gardez-le juste à l’es­prit dans vos réac­tions.

    Côté Inter­net on dépeint une factu­ra­tion au volume consommé comme la pire des évolu­tions possibles. Pour­tant cela résou­drait pas mal de problé­ma­tiques :

    • Les éditeurs de sites web seraient désor­mais des parte­naires, puisqu’ils encou­ragent l’usage du service
    • Les éditeurs auraient une pres­sion des utili­sa­teurs pour ne pas encom­brer inuti­le­ment le réseau, puisque cela leur coute­rait plus cher
    • On peut propo­ser un accès mini­mal peu cher car les petits utili­sa­teurs ne payent pas pour les gros
    • Les offres de contenu légales devien­draient de fait (un peu) plus atti­rantes vu que le télé­char­ge­ment Inter­net ne serait plus gratuit
    • On favo­ri­se­rait enfin l’émer­gence de plate­formes décen­tra­li­sées (les services locaux au FAI ou au pays coûtent peu par rapport aux sites distants)

    Bien entendu si certains finissent par payer moins cher, d’autres paie­ront plus cher mais n’est-ce pas légi­time au final ?

    Les craintes viennent d’an­ciens modèles écono­miques qui fonc­tion­naient au quota, avec éven­tuel­le­ment une factu­ra­tion du hors forfait à des tarifs dispro­por­tion­nés, mais ce n’est pas du tout un passage obligé. Ce que change la factu­ra­tion au volume c’est la façon de factu­rer, pas forcé­ment le montant de la facture moyenne.

    De toutes façons on y vien­dra. Malgré la mauvaise volonté de nos FAI les usages augmentent régu­liè­re­ment. Il y a un moment où le diffé­ren­tiel entre les petits usagers et les gros ne sera plus tenable. Plus tôt on y passera plus tôt on aura enfin un réseau que tout le monde aura inté­rêt à gérer et à amélio­rer au lieu de traî­ner les pieds.

    Réflé­chir à sa factu­ra­tion

    Ces ques­tions ne sont pas retreintes aux restau­rants et aux four­nis­seurs d’ac­cès Inter­net. Si l’ac­tua­lité est un bon prétexte pour abor­der le sujet, c’est à propos de plusieurs projets en élabo­ra­tion que j’ai eu cette discus­sion récem­ment :

    Faites atten­tion à ce que vous factu­rez. Votre factu­ra­tion doit inci­ter vos clients et vos parte­naires à augmen­ter leur usage de vos services et établir une évolu­tion gagnant-gagnant.

    Deux signes néga­tifs qui ne trompent pas :

    • Si vous aviez un bouton magique qui amélio­re­rait votre service, vous n’au­riez pas inté­rêt à appuyer dessus
    • Vous atti­rez prin­ci­pa­le­ment les clients qui vous inté­ressent le moins, et inver­se­ment.

    Les restau­rants n’ont qu’un seul de ces signes néga­tifs. Les FAI français cumulent malheu­reu­se­ment les deux et ça finira forcé­ment par écla­ter.

  • Sud Web : La confé­rence des métiers du web dans le sud

    Nous avons monté Paris Web il y a main­te­nant quelques années pour parler du web, de ses métiers, de retours d’ex­pé­riences de profes­sion­nels sur la qualité, l’ac­ces­si­bi­lité et la publi­ca­tion sur le réseau. Depuis lors on nous a demandé « et pour les gens du sud alors ? ».

    Cette année quelques uns ont pris leur courage à deux mains pour créer Sud Web, un événe­ment avec une des meilleurs tagline qu’on puisse imagi­ner : savoir-faire et faire-savoir. Avec le soutien de parte­naires locaux comme la recom­man­da­tion de noms pres­ti­gieux comme le W3C, le programme qui s’an­nonce peut mettre au défi une grande majo­rité des événe­ments web français du domaine.

    Si c’est incon­tour­nable pour les passion­nés et les amou­reux du web, c’est aussi une étape de forma­tion conti­nue et d’ex­plo­ra­tion de l’état de l’art avec un recul que vous ne pour­rez pas compen­ser par quelques lectures en ligne ou par une session de forma­tion entre quatre murs.

    Tout ça c’est à Nîmes, fin mai, le 27 exac­te­ment. Pour ceux qui veulent renta­bi­li­ser leur dépla­ce­ment c’est précédé le 26 par une jour­née centrée autour de l’ex­pé­rience utili­sa­teur : Web UX. Alors ce n’est pas à Paris, mais entre le soleil et l’hé­ber­ge­ment moins coûteux qu’à la capi­tale, on s’y retrouve rapi­de­ment ; et puis ça vaut large­ment le billet de train, tout simple­ment.

    Il reste des places, prenez votre courage à deux mains et jouez des pieds pour bouger votre employeur afin de vous inscrire.