Catégorie : Geek

  • Mani­feste de l’usa­ger de services en ligne

    Sécu­rité

    1. Mon mot de passe doit être stocké de façon sécu­ri­sée (comprendre: utili­ser une fonc­tion de hachage récente, avec une graine aléa­toire)
    2. Ce mot de passe doit être libre, sans impo­ser ou inter­dire de carac­tères parti­cu­liers ou limi­ter la taille
    3. Le commu­ni­ca­tion de données sensibles (y compris les mots de passes) doit être proté­gée par HTTPS (et le certi­fi­cat doit être validé par une auto­rité de confiance recon­nue)
    4. Aucun service client ou service tech­nique ne me deman­dera jamais mon mot de passe ou une infor­ma­tion confi­den­tielle hors des pages d’au­then­ti­fi­ca­tion et de gestion du compte en ligne

    Infor­ma­tions person­nelles

    1. J’ai le choix de ne donner que les infor­ma­tions person­nelles néces­saires au service (le nom, l’adresse, le télé­phone sont rare­ment réel­le­ment néces­saires)
    2. Je peux corri­ger ou mettre à jour mes infor­ma­tions person­nelles, et suppri­mer quand je le souhaite celles qui ne sont pas néces­saires au service
    3. Mes coor­don­nées ne sont pas utili­sées à des fins commer­ciales ou promo­tion­nelles sans mon accord expli­cite (qui ne doit pas être obli­ga­toire)
    4. Mes infor­ma­tions person­nelles ne sont pas parta­gées ou reven­dues à des tiers sans infor­ma­tion et accord expli­cite (qui ne doit pas être obli­ga­toire)

    Conte­nus person­nels

    1. Je garde l’en­tière propriété de mes données, et n’en concède l’usage que pour les néces­si­tés des services auxquels j’ai sous­crit
    2. Je peux à tout moment récu­pé­rer l’en­semble de mes données, dans un format infor­ma­tique exploi­table ; seule une déci­sion judi­ciaire est un motif à m’em­pê­cher cet accès (un désac­cord sur les condi­tions géné­rales ne l’est pas)
    3. Je peux à tout moment deman­der la suppres­sion défi­ni­tive des données person­nelles stockées

    Liberté

    1. J’as­sume tota­le­ment les consé­quences de mes actions et refuse donc à un quel­conque pres­ta­taire tech­nique d’avoir un droit de regard sur mes données (hors procé­dures légales)
    2. Les condi­tions dans lesquelles mon compte ou le service peuvent m’être bloqués sont expli­cites ; je peux obte­nir des détails clairs dans cette éven­tua­lité, avec une procé­dure de réso­lu­tion à l’amiable si besoin
    3. Je peux clôtu­rer mon compte sur simple demande. Les données person­nelles y seront effa­cées ; le compte sera désac­tivé et ne sera plus utilisé dans aucun affi­chage public.

    L’en­semble de ces points sont des pré-requis.

    J’ajou­te­rai le point suivant, qui reste essen­tiel même s’il n’est pas au même niveau que les autres : On me rend des comptes sur la qualité du service fourni et on répond à mes demandes dans des délais courts avec une solu­tion qui répond au problème posé.

  • Projets, idées, et Sud Web

    Je crois que comme pas mal de geeks, j’ai toujours une liste de projets envi­sa­gés longue comme le bras, dont certains qui doivent trai­ner depuis le début sur la liste mais qui restent indé­fi­ni­ment en première posi­tion.

    Tenter de faire une liste sur l’ins­tant, sans y réflé­chir, permet de déga­ger des prio­ri­tés sans que ça se termine en liste de souhaits inter­mi­nables. Aujourd’­hui :

    • Le déve­lop­pe­ment et la mise en oeuvre d’un moteur pour mes publi­ca­tions. Cet espace était un énième espace tempo­raire qui a encore duré. Je ressens vrai­ment un besoin d’avoir un outil qui me permette de conce­voir et d’or­ga­ni­ser mes conte­nus comme je les pense plutôt que de me forcer la struc­ture actuelle. Il y a du code, du graphisme, de l’ergo, et la réin­té­gra­tion de la plupart de mes conte­nus dissé­mi­nés partout ou en archives.
    • La refonte de mon profil public en ligne. Ca ne prend pas forcé­ment long­temps à faire mais il faut savoir ce que je veux, et m’y mettre.
    • Penser à une façon de gérer les réac­tions et discus­sions qui s’en suivent, j’en parlais ici même hier mais c’est un très vieux sujet. Je me demande d’ailleurs si ce n’est pas le billet de Karl en 2006 qui a lancé ma réflexion à ce sujet et qui m’oc­cupe l’es­prit depuis.
    • Relan­cer le livre ouvert sur les perfor­mances web, qui semble mourir de nouveau et qui n’a pas pris. Pour ça il me faudrait relan­cer du contenu pour moti­ver les gens à parti­ci­per, ou propo­ser des sujets très précis sur lesquels les gens peuvent propo­ser une ou deux page, puis les inté­grer au fur et à mesure. Il y a un vrai manque de livre, c’est dommage que nous n’ar­ri­vions pas à en produire un, même collec­ti­ve­ment.
    • Propo­ser sous forme de service en ligne public mon système d’ef­fa­ce­ment d’his­to­rique twit­ter. Ca n’in­té­res­sera peut être que 4 geeks mais ça vaut je pense le coup.
    • Faire avan­cer ou avan­cer person­nel­le­ment sur les ques­tions d’iden­tité et d’au­then­ti­fi­ca­tion. Entre webid, openid et les autres, j’ai l’im­pres­sion qu’on stagne beau­coup, et c’est dommage. Entre temps ce sont les horribles face­book connect ou twit­ter auth qui prennent le pas.
    • Passer au tout chif­fré, tout signé : mails, blog, etc.
    • Last but not least, pas du tout même, tenter de trou­ver le temps et les contacts pour abor­der les projets photos que j’ai en tête depuis deux ans.

    Et avec tout ça je me rends compte que je n’ai pas fait grand chose en 2012 par rapport aux années précé­dentes. Monter une star­tup et prendre soin d’un petit chou de quelques mois occupe à peu près tout le temps libre et une bonne partie du temps pas libre.

    Malgré tout j’ai besoin de m’im­pliquer aussi ailleurs, et de parta­ger. Deux jours pour propo­ser des sujets à Sud Web, est-ce que vous pensez que propo­ser un atelier discus­sion sur la partie « réac­tions et discus­sions » de ma liste, ou un atelier d’écri­ture sur le livre webperf (qui à la limite se traduira en partie par un atelier échange/forma­tion) semble une bonne idée ?

  • Gestion des commen­taires

    Dans le passé on a vu pas mal d’es­sai pour inté­grer correc­te­ment la problé­ma­tique des commen­taires sur les blogs. Les grandes problé­ma­tiques habi­tuelles sont archi-connues :

    • Comment iden­ti­fier ou repé­rer les réponses ou commen­taires à un contenu
    • Comment collec­ter toutes ces (liens vers les) réponses de manière effi­cace et centrale
    • Comment parta­ger les réponses et discus­sions déri­vées
    • Comment gérer le spam et la modé­ra­tion

    Les clas­siques commen­taires de blog permettent assez faci­le­ment de gérer le premier et le dernier point, assez mal les deux autres. Feu CoComment a tenté d’ap­por­ter sans grand succès une solu­tion pour le second point. Disqus tente aussi d’avan­cer sur le second, mais au pris d’une exter­na­li­sa­tion complète des commen­taires.

    Plus anciens, les systèmes de ping­back et track­back ont tenté un temps de permettre à chacun de travailler sur son espace mais de noti­fier les conte­nus réfé­ren­cés pour gérer des chaînes de discus­sion décen­tra­li­sées. L’idée est bonne, et je suis convaincu que l’ap­proche est bonne, mais le spam a vite vaincu le système avant même d’avoir les premiers retours d’ex­pé­rience.

    Aujourd’­hui, avec la multi­pli­ca­tion des réseaux sociaux où les liens sont parta­gés et discu­tés en dehors du système de commen­taire de chaque contenu, la problé­ma­tique est encore plus complexe. Quelques outils tentent d’al­ler cher­cher les réfé­rences de vos conte­nus sur Twit­ter pour les repu­blier chez vous mais le résul­tat n’a quasi­ment qu’un effet sur l’égo de l’au­teur vu que les discus­sions inté­res­santes se font ensuite, pas sur le tweet de départ.

    David tente d’amener les commen­taires sur une liste de diffu­sion, ce qui peut permettre chan­ger la dyna­mique des échanges. Il reste qu’on garde un système centra­lisé peu satis­fai­sant. Il répond d’ailleurs lui-même parfois à mes billets par d’autres billets sur son espace, sans lien ou noti­fi­ca­tion auto­ma­ti­sée.

    Je cherche une solu­tion à tout ça, pour l’ins­tant je penche vers les pistes suivantes :

    • Mettre en avant la notion de flux RSS de commen­taire propre à chaque contenu. Ça ne résout pas tout mais ça permet d’avan­cer pour créer ensuite des outils qui vont trou­ver des solu­tions. Ces flux existent souvent déjà dans les CMS et outils de blog, ils ne sont simple­ment pas annon­cés dans le code de la page. Un petit outil qui tente les URLs probables pour­rait déjà faire un travail inté­res­sant.
    • Remettre en avant le ping­back ou track­back. Un premier filtre anti-spam peut être fait en testant régu­liè­re­ment si la page liée contient bien un lien vers notre contenu. Un second filtre anti-spam basé sur le contenu est néces­saire, mais aussi le cas des commen­taires clas­siques de blog. Akis­met s’en charge chez moi et je doute qu’il soit plus diffi­cile de repé­rer du spam sur une page distante que sur un commen­taire isolé, au contraire.
    • Je me demande aussi si je ne peux pas auto­ma­ti­ser l’ana­lyse des entêtes HTTP pour isoler les pages qui font des liens vers mes conte­nus, et réin­té­grer ces liens dans la zone de commen­taire des mes billets. Ça deman­dera une modé­ra­tion à priori mais il devrait être possible assez vite d’ar­ri­ver à une liste blanche et de modé­rer le reste assez rapi­de­ment avec des actions de masse.

    Si vous avez des idées de comment gérer les discus­sions et réac­tions, elles sont bien­ve­nues. Pour l’ins­tant je n’ai rien vu de très satis­fai­sant.

  • Clas­siques XKCD

    Je me demande, sérieu­se­ment, si la connais­sance des clas­siques de XKCD ne doivent pas être vus comme un pré-requis à mes recru­te­ments. Je n’ima­gine pas qu’un déve­lop­peur puisse avoir la culture et la connais­sance du milieu web que je demande en étant passé à côté du #936 par exemple.

    Mon propos n’est pas d’en faire un test de connais­sance, mais de voir si la culture est là, si la personne a vrai­ment exploré le réseau et si sa curio­sité web est aussi éten­due que je le cherche. Même pour ceux qui n’aiment pas, quelqu’un qui traine suffi­sam­ment sur les réseaux est forcé­ment tombé sur XKCD, plus d’une fois.

    Ça ne veut pas dire que ceux qui ne connaissent pas XKCD sont mauvais, mais peut être juste qu’ils n’ont pas le profil « touche à tout et découvre tout » que je cherche, ou simple­ment que leur techno première n’est pas le web.

  • Données person­nelles de twit­ter

    En marge de ma volonté d’effa­cer mes tweets après 48h, j’en ai profité pour faire une demande formelle que me permet la loi : obte­nir l’in­té­gra­lité des infor­ma­tions person­nelles qu’ils connaissent sur moi.

    Pour ceux qui veulent s’y essayer aussi il y a une procé­dure assez claire. Il suffit globa­le­ment de reco­pier les cour­riers pré-rédi­gés et suivre les étapes. Bon, j’ai dit claire mais pas simple. On voit bien la volonté de ne pas propo­ser quelque chose de simple : mail, fax (??), copie de carte d’iden­tité (pourquoi ? ils ne la connaissent pas de toutes façons), recon­fir­ma­tion par mail.

    Toujours est-il que j’ai passé les étapes, voilà ce que j’ai reçu après 9 jours accom­pa­gné d’un zip de 2,6 Mo :

    We're responding to your request for information about your Twitter
    account @edasfr.  We've attached the following files:
    
    - USERNAME-user.txt:  Basic information about your Twitter account.
    - USERNAME-email-address-history.txt:  Any records of changes of the
    email address on file for your Twitter account.
    - USERNAME-tweets.txt:  Tweets of your Twitter account.
    - USERNAME-favorites.txt:  Favorites of your Twitter account.
    - USERNAME-dms.txt:  Direct messages of your Twitter account.
    - USERNAME-contacts.txt:  Any contacts imported by your Twitter account.
    - USERNAME-following.txt:  Accounts followed by your Twitter account.
    - USERNAME-followers.txt:  Accounts that follow your Twitter account.
    - USERNAME-lists_created.txt:  Any lists created by your Twitter account.
    - USERNAME-lists_subscribed.txt:  Any lists subscribed to by your
    Twitter account.
    - USERNAME-lists-member.txt:  Any public lists that include your
    Twitter account.
    - USERNAME-saved-searches.txt:  Any searches saved by your Twitter account.
    - USERNAME-ip.txt:  Logins to your Twitter account and associated IP addresses.
    - USERNAME-devices.txt:  Any records of a mobile device that you
    registered to your Twitter account.
    - USERNAME-facebook-connected.txt:  Any records of a Facebook account
    connected to your Twitter account.
    - USERNAME-screen-name-changes.txt:  Any records of changes to your
    Twitter username.
    - USERNAME-media: Images uploaded using Twitter's photo hosting
    service (attached only if your account has such images).
    - USERNAME-profileimg: Your avatar and background image, if uploaded.
    - other-sources.txt:  Links and authenticated API calls that provide
    information about your Twitter account in real time.
    
    All our records are maintained in UTC, which is the same as GMT for
    time zone purposes. Any files or fields that are blank, or any files
    that have no content between the PGP header and signature block,
    indicate that no responsive records were found.
    
    No records were found of any disclosure to law enforcement of
    information about your Twitter account.  It is our policy to notify
    users of requests for their information prior to disclosure unless we
    are prohibited from doing so by statute or court order.  For more
    information, please see our Guidelines for Law Enforcement at
    http://support.twitter.com/articles/41949-guidelines-for-law-enforcement#section9
    
    We searched for the specific information identified in your request
    and have also provided other information associated with your Twitter
    account.  We have not provided all information that may be related to
    you because of the difficulty of providing it, or because it may not
    be specific to you or may reveal the nonpublic information of another
    user or of Twitter.  If there is other information that you are
    looking for, please let us know so that we can consider your request.
    Our Privacy Policy at http://twitter.com/privacy describes the
    information that Twitter may collect and use and the limited
    circumstances in which your private personal information may be
    shared.
    
    Regards,
    
    The Trust & Safety Team
    Twitter, Inc., 1355 Market Street, Suite 900, San Francisco, California 94103

    Vous note­rez qu’ils s’au­to­risent à ne pas tout donner, parce que c’est diffi­cile (?). Je vais faire suite pour avoir l’in­té­gra­lité, la loi ne les auto­rise pas à sélec­tion­ner ce qu’ils retournent. Je suis entre autre très inté­ressé par les données de profi­ling qu’ils peuvent avoir (et sur lesquelles seront basées les pub) et sur les entre­prises parte­naires à qui ils diffusent leurs données.

  • La rengaine de la moyenne

    – La boulan­ge­rie est à combien de temps à pied ?
    – Ben ça dépend à quelle vitesse vous marchez
    – Oui mais, en gros ?
    – Certains mettent très peu de temps, d’autres y passent la jour­née vous savez
    – En moyen­ne…

    C’est la rengaine de la moyenne. Si vous ne faites pas de calculs de proba­bi­li­tés ou de calculs finan­ciers, c’est en réalité à la médiane que vous pensez. Bon, pas tout le temps, mais « en moyenne » quoi…

    La moyenne c’est la somme de toutes les entrées, divi­sée par le nombre d’en­trées. La médiane c’est le point qui laisse 50% au dessus et 50% en dessous.

    Pensez à une course cycliste avec un pelo­ton pépère à l’ar­rière et cinq ultra dopés en échap­pée large­ment en avant. La vitesse médiane vous donne la posi­tion de la masse, du pelo­ton. La vitesse moyenne vous donne un truc inutile et qui ne repré­sente personne, entre les dopés et le pelo­ton.

    Pensez-y, la prochaine fois que vous faites un calcul, si vous vous dites « en moyenne » dans le sens « où est la masse des gens », c’est la médiane qu’il vous faut calcu­ler. La moyenne n’a aucun sens.

  • Ce tweet s’auto-détruira en 48 heures

    J’ai commencé à effa­cer mes produc­tions twit­ter. C’est un vieux projet mais j’ai toujours résisté, par peur de regret­ter cette dépu­bli­ca­tion et de ne pas pouvoir reve­nir en arrière. Pour un obsédé des données, c’était un pas diffi­cile à fran­chir. Des événe­ments récents m’ont incité à sauter le pas et à consi­dé­rer mes tweets comme ce qu’ils sont : des échanges éphé­mères qui ne doivent pas survivre hors de leur contexte.

    Je sais qu’il existe diffé­rentes archives, que mes messages pour­ront proba­ble­ment être retrou­vés sur Google ou ailleurs. L’objec­tif n’est pas de les faire dispa­raître, j’as­sume tout ce que je dis. L’objec­tif est de ne pas les faire appa­raître, de garder une certaine opacité sur des échanges de comp­toir.

    Ce tweet s’auto-détruira en 48 heures

    Hier envi­ron 3000 tweets ont été effa­cés (et sauve­gar­dés en local avant). J’ai fait un petit script qui tour­nera désor­mais régu­liè­re­ment et qui effa­cera tout ce qui a plus de 48 heures. La durée de réten­tion elle-même sera certai­ne­ment adap­tée avec l’ex­pé­rience. Il est tout à fait probable que les réponses finissent avec une durée de vie plus courte que les messages publics, tout ceci est encore en réflexion et je suis preneur de vos retours. Je réflé­chis aussi à prévoir une marque discrète qui infor­me­rait mon script qu’il doit effa­cer le message plus tôt, par exemple après une heure, ou plus tard, par exemple après une dizaine de jours, pour gérer les cas parti­cu­liers.

    Le code source de mon petit script est publié, j’ai oublié de préci­ser la licence mais je me vois mal appliquer autre chose qu’une WTFPL à ce type de code. Si vous souhai­tez suivre mon chemin, ça ne demande pas plus d’une petite heure. David avait aussi publié un code simi­laire en python (qui lui garde les 50 derniers au lieu des dernières 48 heures).

    Dans la limite de l’ac­cès qu’au­to­rise Twit­ter

    J’ai effacé 3000 tweets parmi les plus récents mais il en reste plus du décuple. Je me retrouve avec une plate­forme qui ne me permet en fait pas d’ac­cé­der ou d’ef­fa­cer plus que les 3000 derniers messages sans suppri­mer mon compte. C’est là la première leçon : Je ne contrôle pas la plate­forme, et elle se permet de ne pas me lais­ser accé­der à mes propres données. Ce que j’avais pris comme une raison de rete­nir mon geste, ne pouvant reve­nir en arrière, aurait au contraire du renfor­cer ma moti­va­tion.

    Pour aller plus loin Twit­ter ne propose rien. Je peux effa­cer mes tweets si j’en connais les iden­ti­fiants mais les API propo­sées ne me retour­ne­ront jamais les tweets (et donc les iden­ti­fiants) plus vieux que les 3200 derniers. Tout laisse à penser que passé ce quota les messages sont archi­vés sur une autre plate­forme, qui n’a pas la même souplesse ou la même perfor­mance.

    Ce que Twit­ter connaît de nous, et comment le connaître à notre tour

    D’autres personnes ont toute­fois déjà fouillé ce problème, sans solu­tion tech­nique. Il y a par contre une procé­dure liée à une loi euro­péenne qui permet d’avoir accès à l’en­semble de ses propres données. C’est un peu l’équi­valent du droit d’ac­cès de notre loi « infor­ma­tique et liber­tés ». C’est rela­ti­ve­ment simple, quelques échanges de mail et un fax avec décla­ra­tion signée. Pour le même prix on a aussi une visi­bi­lité sur ce que le service a collecté sur nous en plus de nos tweets, et à qui il a partagé ces infor­ma­tions.

    J’ai lancé la procé­dure de mon côté, je vous ferai part du résul­tat. Je ne peux que vous inci­ter à faire de même. L’étude promet d’être plus qu’in­té­res­sante.

  • Statis­tique du jour : 10 573 … la guerre du spam

    10 573. C’est le nombre de spam par mail que j’ai reçu ces 30 derniers jours.

    C’est bien évidem­ment plus que le nombre de cour­riers réels, pas loin d’un ratio de 1 à 10. C’est surtout plus d’une quin­zaine par heure en flot continu. Je n’ima­gine plus une adresse sans filtre anti-spam.

     

  • De l’im­por­tance des méta­don­nées

    Sérieu­se­ment, éditeurs de conte­nus numé­riques : Travaillez les méta­don­nées embarquées dans les fichiers !

    Trop souvent ces méta­don­nées sont partielles, mal remplies, et peu quali­ta­tives. Parfois ce sont même des infor­ma­tions essen­tielles qui manquent comme la pochette de l’al­bum pour un fichier de musique ou le thème pour un livre.

    Éditeurs, ces méta­don­nées font partie de votre travail, de ce qu’on attend de vous, voire de ce qu’on achète. Vendre du numé­rique ce n’est pas comme vendre des objets physiques en reti­rant l’as­pect maté­riel. Il y a des attentes diffé­rentes dues aux usages qui eux aussi sont diffé­rents. Les méta­don­nées en sont une : C’est ce qui permet de clas­ser, retrou­ver, et globa­le­ment profi­ter d’un contenu. C’est un réel critère de choix entre diffé­rents conte­nus à ache­ter, et une cause très fréquente pour ne pas ache­ter de nouveau chez un éditeur ou dans collec­tion.

    Person­nel­le­ment j’en ai marre de remplir après coup ces méta­don­nées après achat. J’ai plusieurs fois reporté des achats sur cette raison mais désor­mais ce sera expli­cite : Je n’achè­te­rai plus chez ceux qui ne font pas un travail au mini­mum « correct ».

    Musique

    Pour les fichiers musi­caux, « correct » c’est au mini­mum la liste de tous les auteurs avec nom et prénom, le compo­si­teur, l’an­née de publi­ca­tion de la musique (pas celle du fichier numé­rique), l’al­bum dont est extrait le titre, le numéro de piste sur cet album, une illus­tra­tion 500×500 pixels mini­mum, la langue des paroles et le genre de musique. Bien entendu ces données sont inscrites avec la bonne casse (pas tout en majus­cule et des accents si néces­saires sur les majus­cules) et de façon homo­gène.

    Ceux que je quali­fie de « bons » ont une quali­fi­ca­tion très précise du genre (par exemple : quel type de jazz ?), une illus­tra­tion très haute défi­ni­tion, le texte complet des paroles, voir le tempo.

    Livres et textes

    Pour les textes j’at­tends aussi, en plus des auteurs et du titre (souvent mal codés), le nom de l’édi­teur, le nom de la série et le numéro dans la série, un résumé ou accroche, la langue, la date de publi­ca­tion du livre origi­nal (tous formats confon­dus) ou de son écri­ture et l’EAN du livre. L’illus­tra­tion de couver­ture doit être au grand mini­mum de 800×600 pixels et ici la quali­fi­ca­tion précise du genre est indis­pen­sable (« fantasy » ne suffit pas, il peut y avoir une dizaine de genres de fantasy, et agré­ger science-fiction fantasy et fantas­tique est une faute impar­don­nable).

    Pour le livre tout ce qui précède est indis­pen­sable, sans excep­tion. Les bonus qualité se font sur le résumé, les biogra­phies et la table des matières.

    Et d’autres

    Je suis certain que chacun a sa vision de l’in­dis­pen­sable, mais peu importe. Éditeurs, remplir ces méta­don­nées de façon complète et haute­ment quali­ta­tive est votre travail. C’est presque le mini­mum en fait. J’ac­cepte même quelques erreurs légères dans le contenu si au moins les méta­don­nées me permettent de l’ex­ploi­ter plei­ne­ment. Le numé­rique c’est aussi ça.

    Vous vous y mettez quand ?