Penser global, agir…

Je réalise ce soir que depuis des années je me trompe en présentant Mozilla. J’explique que c’est une organisation de gentils hippies dont le but est de rendre le Web meilleur. Affreux contresens, le but de Mozilla n’est pas de rendre le Web meilleur, mais de rendre la vie des gens meilleure. Le Web n’est que le moyen qu’utilise la Fondation pour aller dans ce sens.

Le Web est une vaste terre en friche, et Mozilla veut nous aider à mieux y vivre. En nous donnant des outils pour cultiver la terre, en nous apprenant à utiliser ces outils, en réfléchissant à de nouveaux usages. Le but de la Fondation, ses valeurs, sont assez universelles, et quelle que soit sa culture on peut je pense se retrouver dans ces valeurs, les partager et choisir d’œuvrer ensemble pour les faire progresser. Mais si le but est universel, s’accorder sur le choix des routes pour y parvenir est beaucoup plus compliqué.

Pendant ses premières années, Mozilla a choisi une route essentiellement technique. Créer des outils. C’est un domaine où les référentiels culturels interfèrent peu. On peut débattre pour savoir s’il vaut mieux forger une pelle et une bêche, ou une pelle-bêche. Mais les choix en la matière sont davantage personnels que le fruit d’une histoire collective.

À présent que nous disposons de quelques outils, il est temps de passer à une nouvelle étape : apprendre à s’en servir, et leur inventer de nouveaux usages. C’est ici que les choses se compliquent. On sort du domaine essentiellement technique pour aborder celui des interactions sociales. On quitte le relativement universel pour la multiplication des points de vue en fonction des sociétés et des milieux dans lesquels ont évolué les membres de la communauté. Il est beaucoup plus difficile en ces domaines de s’adresser à tous en utilisant les mêmes mots.

J’ai relevé ces derniers mois deux exemples qui illustrent cette difficulté. Deux cas où, bien que comprenant le but poursuivi, j’ai du mal à suivre le chemin proposé.

Le premier est l’influence de la variante nord américaine du scoutisme sur Mozilla1. Mitchell Baker a récemment évoqué l’influence qu’a eu sur son parcours son passage aux Girl Scouts of the United States of America. Mark Surman, un autre responsable de la Fondation, vient de proposer que Mozilla participe à la création d’un mouvement de scouts du Web. Et il ne s’agit pas là que de paroles. OpenBadges, une des pièces maîtresses de l’investissement de la Fondation dans le secteur éducatif, s’inspire directement des badges certifiant l’acquisition d’une compétence dans certains mouvements scouts. Malheureusement, ce concept de badges et son lien avec l’éducation me semblent plus difficile à expliquer aux francophones avec lesquels je discute. Les éléments de la culture scoute sont sans doute moins partagés dans l’ensemble de la société française. S’en inspirer n’est peut-être pas pertinent.

C’est Mark Surman, encore, qui m’a fait penser au deuxième cas en évoquant la possibilité d’utiliser l’appellation générique de WebMakers pour désigner le programme de soutien à la création sur le Web. C’est un concept que Mark a introduit l’an dernier et qui s’inspire directement du mouvement « make » très actif aux USA depuis fort longtemps. Mark fait aussi référence à l’éthique particulière des adeptes de ce mouvement, souhaitant la transposer au Web. Problème, ce mouvement est encore quasi-inexistant en France, ou n’a du moins ni la forme ni l’ampleur de celui des USA. Quand à l’éthique des makers… Comment dès lors expliquer ce que veut faire Mozilla en promouvant les WebMakers ? Il n’y a même pas de mots français pour désigner le concept, comment expliquer quelque chose que l’on ne sait pas nommer ?

Tout cela m’amène à me demander si Mozilla ne devrait pas introduire un peu de relativisme dans ses plans. Oui, éduquer au Web est important, oui, encourager la création sur le Web est important, je pense que tout le monde au sein de la communauté s’accorde sur ces points. Mais les moyens de le faire ne sont peut-être pas les mêmes partout. Les analogies qui ici éclaireront la démarche l’obscurciront peut-être ailleurs. Je n’aime guère les révolutions culturelles imposées par en haut. Peut-être chaque communauté locale devrait-elle essayer, avec le soutien de la fondation, de s’emparer des questions de l’éducation au Web et de la création sur le Web, et essayer d’y répondre en fonction de son contexte. Ne serait-ce pas finalement l’application de la fameuse formule de René Dubos, « Penser global, agir local » ? Qu’en pensez-vous ?

Comme il n’y a toujours pas de commentaires ici, si vous avez une réflexion sur le sujet à partager, n’hésitez pas à la publier quelque part et à me pinguer, je rajouterai un lien à cette note.


  1. suite à quelques échanges sur Twitter j’avais promis un billet ici sur le sujet. Je l’ai écrit dans ma tête mais n’ai jamais trouvé le temps de le vider sur le clavier, et l’ai à présent oublié. Rajouté à la longue liste des choses que j’espère faire un jour;

Mozilla propose une API sociale

Mozilla, qui suit un peu ce qui se passe en ligne, a remarqué qu’un certain nombre d’internautes utilisent de plus en plus le Web pour interagir entre eux via des sites dits de réseaux sociaux. La Fondation s’interroge naturellement sur les moyens d’améliorer l’expérience des internautes sur ces réseaux, améliorer signifiant pour elle leur donner davantage de contrôle sur ce qu’ils font, leurs données, etc, mais aussi rendre les interactions plus simples et plus riches. Les réponses en la matière avaient pour l’instant été timides. Les laboratoires ont lancé il y a quelques années F1, une extension pour partager des liens. Elle devrait bientôt être intégrée nativement à Firefox sous le nom de Share, mais force est de reconnaître qu’elle ne va pas très loin.

Michael Hanson a annoncé aujourd’hui une initiative autrement plus ambitieuse : une proposition d’« API sociale » permettant au navigateur et à des réseaux sociaux d’interagir. La proposition est longue et encore à l’état de brouillon, je ne vais donc pas la traduire mais essayer d’en résumer certains points.

Configurer des fournisseurs de services à intégrer dans le navigateur

Chaque site désirant utiliser l’API décrirait ses fonctionnalités via un fichier similaire au manifeste des application Web. Ce manifeste contiendrait la description du service et les URLs permettant de communiquer avec ses fonctionnalités. Lorsque l’internaute installera un fournisseur de service dans son navigateur, celui-ci considérera que ces URLs sont dignes de confiance. Le navigateur les autorisera à faire davantage de choses, comme par exemple envoyer des notifications qui s’afficheront dans l’interface. Selon la philosophie Mozilla, l’ajout de nouveaux fournisseurs de services, leur activation et leur désactivation, devrait être simple. La liste des services pourrait être affichée en permanence, si l’interface le permet (ie dans les versions de bureau des navigateurs).

Pour chaque service actif, le navigateur maintiendra une connexion permanente dans un espace sécurisé (sandbox) (techniquement, cela pourra utiliser les shared workers en cours de définition dans HTML5). Outre la connexion au service, le processus dédié à chaque fournisseur pourra également stocker des données localement et interagir avec certaines partie de l’interface du navigateur (pour afficher des notifications par exemple).

Si l’écran le permet (navigateurs de bureau ou tablettes), une barre latérale permettra aux fournisseurs d’afficher du contenu à leur guise. Ils pourront également ouvrir des espaces épinglables dans l’interface — pensez à une fenêtre de discussions flottant en permanence dans un coin de votre navigateur.

Partager des mises à jour

C’est le suite de Firefox Share : un moyen simple de recommander un contenu. Dans son manifeste, chaque fournisseur indique s’il fournit ce service. Le navigateur propose alors des moyens (boutons, menu contextuel) de partager un contenu, avec la liste des fournisseurs disponibles.

Envoyer et recevoir des notifications d’activités

Les services pourront envoyer des notifications que le navigateur affichera à l’internaute. La façon d’afficher ces notifications devra être contrôlable de façon fine.

Afficher le statut des contacts et permettre de dialoguer avec eux

Les fournisseurs pourront également indiquer qu’ils disposent d’une API de gestion de contacts. On pourra ainsi gérer ses contacts sur les différents réseaux sociaux directement depuis son navigateur — je me souviens que des Labs avaient déjà mené une expérience en ce sens il y a des années, hélas abandonnée comme tant d’autres.

Interactions avec le reste du Web

Chaque fournisseur sera cantonné à un bac à sable, d’où il ne saura pas ce que fait l’utilisateur. Les pages Web consultées pourront cependant indiquer qu’elles souhaitent interagir avec un réseau social. L’internaute indiquera alors au cas par cas ce que chaque page / site peut faire. Ça part d’une bonne volonté, mais je pense que c’est une protection illusoire. La majorité des gens sera vite lassée des demandes d’autorisations et autorisera par défaut tous les sites à dialoguer avec tous les réseaux activés.

Interface

Tout comme pour les fonctionnalités, la réflexion sur l’interface commence juste. Le navigateur intégrera sans doute une zone permanente pour les notifications provenant des réseaux, et des composants comme les popups épinglables ou une barre latérale ou autre, pour afficher des contenus spécifiques, flux de nouvelles ou statut des contacts.

Enfin le temps perdu qu’on ne rattrape plus

Pour l’instant, cette API sociale reste une annonce des Labs. Elle reprend, au moins en partie, nombre de précédents projets lancés en fanfare et rapidement tombés dans l’oubli. J’ai été suffisamment échaudé pour ne pas m’enthousiasmer trop vite. Cependant, avec la monté en puissance du groupe de travail sur l’identité et les rapports sociaux, et la déferlante d’APIs auxquelles travaille Mozilla en ce moment, peut-être que cette fois-ci sera la bonne et que Firefox se dotera de moyen d’améliorer les interactions avec les réseaux sociaux. Stallman seul le sait.

Comme d’habitude chez Mozilla, la suite des réflexions et de la conception va se faire de façon relativement ouverte. Si le sujet vous intéresse, n’hésitez pas à vous abonner à la liste ad hoc, dont je ne donnerai pas l’adresse, c’est un Google Group, il faut donc un compte Google pour s’y inscrire. Grrrr.

Les gens ne lisent pas de flux XML

Les gens ne lisent pas de flux XML. Ce sont les machines qui lisent des flux XML. Les gens eux lisent leur courrier.

Il y a 15 ans, lorsqu’on tombait sur un site intéressant, il n’était pas compliqué d’être informé de ses mises à jours. Il suffisait de laisser son adresse de courrier électronique, on s’abonnait à une lettre d’information et on recevait les mises à jour dans sa boîte aux lettres. Puis, sans doute à cause de l’augmentation du nombre de pourriels, les utilisateurs les plus avertis ont commencé à rechigner à laisser leur adresse n’importe où, et à chercher d’autres moyens d’être avertis des mises à jour.

À la même époque naissait RSS. Dans mon souvenir, c’était d’abord un moyen d’échanger des informations entre sites, d’indiquer sur un site les publications des sites amis. Donc un moyen d’échange entre machines. Je ne me souviens plus trop à partir de quand on s’est dit que ça serait un bon moyen de remplacer les newsletters. Puisque les sites mettaient à la disposition des autres sites des flux XML, pourquoi ne pas nous aussi utiliser ces flux. Et nous sommes devenus accrocs à RSS et ATOM, compagnons indispensables de l’aventure des blogs.

En 2011, Mozilla a provoqué un coup de tonnerre en supprimant de l’interface par défaut de Firefox le bouton indiquant qu’un flux était disponible et permettant de s’y abonner. Comme beaucoup d’autres geeks, j’ai crié à la trahison. Comment promouvoir ce format d’échange qu’est ATOM si les utilisateurs n’ont aucun moyen de connaître son existence ?

La vieillesse aidant, je me dis aujourd’hui que cette décision de Mozilla était la bonne. Ce bouton ne promouvait pas RSS/ATOM. Même si un utilisateur, découvrant cette icône étrange au milieu d’autres aussi peu compréhensibles, avait la curiosité de cliquer dessus, que pouvait-il faire ensuite ? Il arrivait sur un écran présentant de manière spartiate les derniers articles et lui proposant d’ajouter le site à son lecteur de flux. Un « lecteur de flux » ? WTF se serait dit monsieur Michu — enfin l’équivalent en Michu, fichtre, palsembleu ou skoastruk — et il serait retourné regarder des vidéos de chat. Intérêt pédagogique nul. Ce bouton était donc bien inutile, n’offrant à la majorité des utilisateurs ni un service utile, ni l’opportunité de découvrir un nouvel usage. Quant aux utilisateurs de flux, ils n’ont pas été lésés, car ils ont pour la plupart le niveau de compétences pour refaire apparaître le bouton chéri.

Et j’en reviens à mon hypothèse initiale. Les gens ne lisent pas de flux RSS, mais ils lisent leurs mails. Il faudrait donc trouver un moyen de fournir un service équivalent aux lettres d’informations, mais sans les problèmes liés à la diffusion de son adresse électronique aux sites. Il faudrait en fait que le navigateur gère tout cela de façon transparente. Et, ça tombe bien, une des évolutions en cours de Firefox permet d’aller dans cette direction, avec BrowserID et le chantier sur la gestion de l’identité. Firefox sait lire des flux XML. Firefox connait notre adresse. Pourquoi ne pas lui demander de créer lui-même des lettres d’information à partir des flux. En arrivant sur un site proposant un flux, on aurait non l’icône orange, mais une enveloppe proposant de recevoir les nouveautés par mail. Cliquer dessus dirait à Firefox de s’abonner au flux et de nous envoyer un mail à chaque mise à jour. Et on pourrait consulter les dernières nouvelles de ses sites préférés directement dans son client de messagerie habituel.

Techniquement, cela ne me semble guère compliqué à réaliser, une extension pourrait probablement faire le boulot dès aujourd’hui. La seule difficulté que je vois est de se connecter à un SMTP pour l’envoi des mails. Mais je me rappelle que Mozilla fut jadis une suite complète intégrant un courrielleur, ils devrait donc bien rester quelques développeurs capables de résoudre ce souci.

Cela ne signifie bien sûr pas la mort d’ATOM. Il a je pense encore un bel avenir comme protocole de communication et format d’échange entre machines. Mais il est temps que les navigateurs proposent aux utilisateurs d’autres moyens de recevoir des nouvelles des sites. Alors qui a cinq minutes pour coder cette extension ?

Le Web est la plateforme

B2G, le projet le projet de Mozilla de créer un système d’exploitation basé sur Firefox, a fait aujourd’hui un grand pas en avant. Plusieurs partenariats ont été annoncés qui vont aider le rêve à devenir réalité. Parmi les différents articles détaillant cette annonce, j’ai traduit à l’arrache celui, synthétique, publié par Robert Nyman.

Boot to Gecko, par Mozilla — Le Web est la plateforme

Le projet Boot to Gecko (B2G) de Mozilla vise à créer un système d’exploitation complet et autonome pour le Web ouvert. Son but est de faire des technologies Web le choix numéro un pour créer des application aussi bien sur les ordinateurs de bureau que sur les téléphones portables, et nous croyons qu’il peut supplanter les environnements propriétaires et contrôlés par une seule société pour le développement d’applications. Nous avons fait quelques progrès excitant que nous voudrions partager avec vous !

Le projet Boot to Gecko

Commençons par jeter un œil aux composants du projet :

Les buts

Boot to Gecko est le système d’exploitation libre et basé sur le Web de Mozilla pour les terminaux mobiles. C’est la base du terminal pour le Web libre qui a été présenté au Mobile World Congress en février 2012.

Les technologies

L’architecture de Boot to Gecko élimine la nécessité de bâtir des application en utilisant des API natives à chaque plateforme. En utilisant HTML5, les développeurs écrivent directement leurs applications pour le Web; ils peuvent créer de fantastiques expériences utilisateur, et des applications débarrassées des règles et des restrictions des plateformes fortement contrôlées.

Des standards ouverts et accessibles

Comme tous les projets Mozilla, le code source de B2G est ouvert et accessible, et le projet est entièrement basé sur des standards ouverts. Pour les fonctions pour lesquelles des standards ouverts n’existent pas encore (en particuliers la téléphonie, l’envoi de SMS, l’accès à l’appareil photo, au Bluetooth, à l’USB, au NFC), Mozilla travaille avec les autorités de certification et les autres éditeurs pour créer des standards. Pour en savoir plus vous pouvez lire l’article « Mozilla et l’évolution de l’API Web mobile »

Voici en vidéo des interviews, dans une grande variété de langues, avec les développeurs du projet Boot to Gecko

Les terminaux pour le Web libre

Les terminaux pour le Web libre (Open Web Devices) ont été annoncés aujourd’hui au Mobile World Congress ! Nous allons travailler avec l’opérateur de téléphonie Telefónica. Voici nos buts, tels que détaillés dans le communiqué de presse :

  • créer des terminaux HTML5 utilisant le Web libre pour offrir les fonctionnalités des smartphones sur des téléphones à bas coûts;
  • soumettre ces fonctionnalités au W3C pour en faire des standards et les rendre librement disponibles;
  • créer de nouvelles opportunités pour les développeurs d’applications et tirer en avant HTML5 en tant que standard inter-plateformes.

Mozilla, Telefónica et Qualcomm vont travailler ensemble pour proposer un prototype de plateforme avec de nombreuses fonctionnalités, basé sur une puce développée par Qualcomm. Le navigateur a déjà un score de 315 points à un test d’implémentation de HTML5, et le résultat devrait être très abordable, puisque d’après Carlos Domingo de Telefónica, les téléphones basés sur Boot to Gecko seront dix fois moins cher qu’un iPhone.

En partenariat avec Deutsche Telekom

Nous sommes également heureux d’annoncer que le laboratoire pour l’innovation de Deutsche Telekom va rejoindre le projet pour développer Boot to Gecko avec Mozilla.

Une démonstration de Boot to Gecko

Voici une démonstration de Boot to Gecko en action  Elle montre comment passer un coup de fil à un contact, naviguer sur le Web et passer un test d’implémentation de HTML5 (où Firefox mobile a le score le plus élevé de tous les navigateurs mobiles). Elle montre ensuite comment utiliser un client Twitter, jouer à un jeu, consulter Google Maps, regarder une vidéo sur YouTube, lire une livre, et fini avec la lecture d’une vidéo locale.

Le Web est la plateforme

Comme nous l’avons toujours cru chez Mozilla, le Web est la plateforme, et les technologies ouvertes sont le moyen d’y créer. Développons pour le Web et pour le futur !

Indigne société

La chronique télé du Canard de cette semaine est bouleversante. Elle annonce un documentaire de Anne Georget qui sera diffusé sur Antenne 21 le mardi 7 février à 23h402. « À la vie, à la mort » est un documentaire sur un être humain atteint du syndrome d’enfermement. Il est conscient mais prisonnier d’un corps qui ne lui obéit plus, qu’il ne peut plus bouger, entièrement dépendant pour sa survie de soins extérieurs. Au bout de quelques années, il décide d’en finir et demande à mourir. Malheureusement, ce choix ne lui appartient plus. Il n’a plus la moindre autonomie, ne peut mourir de sa main. Et l’assistance au suicide est interdite en France. Personne n’a le droit de l’aider à réaliser sa volonté qu’il ne peut pas mettre à exécution lui-même. Le seul cadre légal est l’arrêt de soins. C’est à dire débrancher tous les appareils qui le maintiennent en vie, le font respirer, le nourrissent. Et attendre qu’il meure. Tout seul. De faim. Après trois ans de démarches, des médecins accepteront enfin d’arrêter les soins. Il agonisera pendant trois semaines avant d’être enfin libéré.

Une longue et douloureuse agonie de trois semaines avant d’enfin mourir de faim ou de soif. C’est ce qui attend chacun de nous si à la suite d’un accident, nous nous trouvons ainsi enfermé, incapable ni de continuer à vivre dignement, ni de mettre à exécution notre volonté de mourir dignement.

La chronique de Sorj Chalandon semble pointer du doigt le cadre médical. Je n’ai pas vu le documentaire, et ne peux me prononcer. Mais je ne voudrais pas rejeter la responsabilité de cette agonie sur quelques individus. Je comprend tout à fait que l’on répugne à aider quelqu’un à mourir. Si quelqu’un me demandait pareil service, je suis bien incapable de savoir ce que je répondrais. Non, la responsabilité n’est pas de quelques individus. Elle est collective. C’est nous tous, en tant que société, qui sommes responsables de cette longue agonie. Parce que nous n’avons encore su donner ni cadre ni moyen pour permettre à celles et ceux d’entre nous de choisir d’en finir dignement.

Pourquoi un droit aussi basique que celui de pouvoir librement disposer de son propre corps demande-t-il tant de luttes ? Poser la question, c’est y répondre. Parce que d’autres considèrent que notre corps ne nous appartient pas, leur appartient. Le souverain a besoin de sa force de travail pour lui apporter de la richesse. Le souverain a besoin du rempart de notre chair pour le protéger des canons de ses rivaux et étendre son pouvoir. Les religions sont, pour la plupart, idéologies d’asservissement qui veulent nous posséder tout entier, âme et corps. Maîtres et dieux ont besoin de notre corps, se le ré-approprier demande une lutte incessante. Mais n’est-ce pas une des premières libertés ? Pouvoir choisir ce que l’on fait de son corps ? Pouvoir choisir de se reproduire ou non par exemple. En ce domaine, quelques fragiles progrès ont été enregistrés ces dernières années, dans certains pays, mais ils sont sans cesse remis en cause et bien imparfaits encore3.

Aucun progrès par contre, ou si peu, en ce qui concerne le droit de vivre et mourir dignement. Pour ce qui est de la vie, 99% d’entre nous la subissons dans des conditions matérielles pénibles. Nous ne nous accordons pas le droit de vivre dignement, en maintenant en place des systèmes profondément injustes. Mais nous ne nous accordons pas non plus le droit de refuser de subir cela en s’en échappant. De choisir d’arrêter de vivre, d’éteindre le corps, le tirer le rideau sur la tragédie. Bien sûr le suicide lui-même n’est pas interdit. Mais toute l’information le concernant est réprimée au nom de l’incitation. Et rien n’est fait pour aider les personnes qui ont fait le choix de mourir mais n’ont pas les moyens de mettre en œuvre ce choix.

Pouvoir disposer de son propre corps est pour moi un droit fondamental. Avoir les moyens d’exercer ce droit une nécessité absolue. Ils sont malheureusement bien absents des débats actuels. Que faire ?

PS: je signale l’existence de l’Association pour le droit de mourir dans la dignité, qui milite pour cette juste cause.


  1. et non Arte comme indiqué par erreur dans le Canard;

  2. un choix incompréhensible. C’est un débat de société très important. Si on choisit d’y participer, il faut le faire dans de bonnes conditions, pas à une heure où l’audience sera dérisoire;

  3. je croyais la stérilisation masculine volontaire encore interdite en France, mais découvre que la loi du 4 juillet 2001 a considérablement distendu le cadre légal de la stérilisation. Il semble que l’on puisse donc se faire stériliser en France;

En attendant le fichage général

Il y a quelques jours, un vieil homme est mort. Rangeant ses papiers, sa famille a retrouvé une carte d’identité, avec sa photo et un autre nom. Un faux qui lui avait permis dans les années 40 d’échapper au STO. Les effets de son utilisation d’une fausse carte d’identité sont encore mesurables aujourd’hui. Elle lui a évité le départ en Allemagne. C’est sous cette identité qu’il a connu celle qui allait devenir son épouse. Son passage à la clandestinité a aussi eu des conséquences funestes pour des membres de son entourage, victimes de représailles.

Cette histoire, narrée par un ami, me laisse songeur. Dans quelques heures, le sénat débattra une dernière fois d’un des pires délires sécuritaire de ce gouvernement, un texte créant une carte d’identité biométrique associée à un fichier. C’est à dire la création d’un gigantesque fichier de l’ensemble des habitants de ce pays. La possibilité pour le pouvoir en place, quel qu’il soit, de connaître intimement la totalité de ses sujets.

Un des mythes fondateurs de la période politique actuelle — depuis la fin de la seconde guerre mondiale — est celui de la Résistance. Pendant les trois ou quatre décennies qui ont suivi la guerre, la majorité des professionnels de la politique se sont réclamés de l’héritage de ces hommes et de ses femmes qui, en leur temps, ont changé d’identité, utilisé des faux papiers, fait des attentats… S’ils avaient perdu, ils seraient restés dans l’histoire comme des terroristes. Le hasard a voulu qu’ils gagnent, deviennent des héros et la caution des politiques ultérieures. On ne peut refaire l’histoire, mais je ne peux m’empêcher de me demander ce qu’il serait advenu des résistantes, des résistants, et du vieil homme réfractaire au STO, si en 40 l’armée d’occupation avait eu à sa disposition un fichier tel que celui en train d’être voté dans une indifférence quasi-générale.

J’ai beau être naïf, je sais que l’on n’apprend rien de l’histoire. Qu’il est inutile de rappeler, exemples à l’appui, que la possibilité de faire des faux est un moyen, extrême mais indispensable, d’éviter le basculement dans une société totalitaire. On n’apprend rien de l’histoire. À peine vainqueurs d’une barbarie, certains des héros de 45 se sont empressés d’enfiler le costume du bourreau pour, de Sétif à Madagascar, aller reproduire ce qu’ils avaient combattu. Évoquer 65 ans plus tard le danger des fichiers et des cartes d’identité « infalsifiables » est malheureusement inutile. D’autant que ce fichier devient chaque jour plus indispensable à ses promoteurs, à mesure que s’aggrave la crise économiques. Bientôt, de plus en plus de gens n’auront plus rien à perdre. Qui sait ce dont ils seraient capables, poussés par le désespoir. Le pouvoir a besoin d’outils pour se protéger des prochains troubles sociaux et de la contestation. Avec ce fichier, il disposera bientôt d’un puissant moyen de plus de contrôler la population.

Débloquer une socket

Il arrive de temps en temps qu’un de mes logiciels gèle en attendant une opération d’entrée-sortie. C’est le cas par exemple de Mutt qui se bloque parfois lorsque la connexion à un serveur distant est victime d’un problème réseau. J’ai trouvé un moyen de reprendre la main sans tuer le programme, mais il est très laborieux. Je serais curieux de découvrir des méthodes plus propres d’arriver au même résultat.

Pour l’instant, lorsque mon Mutt cesse de réagir, voici ce que je fais :

  • je lance htop, cherche le processus et tape s pour tracer les appels système du processus (alternative : chercher le numéro du processus et utiliser strace -s pid);
  • si le programme est bien bloqué sur une lecture de socket, je vois quelque chose comme recv(4, : le processus attend des données du fichier dont le descripteur est 4;
  • je vais faire un tour dans /proc pour récupérer la chaussette correspondant au descripteur : ls -l /proc/pid/fd/4 devrait afficher quelque chose comme 4 -> socket:[12345];
  • reste à fermer proprement cette socket, en espérant que le processus reprendra alors une activité normale. J’utilise pour cela un petit script perl bien pratique, killcx;
  • killcx a besoin des adresses et des ports d’origine de la connexion. Que l’on peut obtenir par exemple avec netstat : netstat -taupeevn | grep 12345 tcp 0 0 192.168.0.1:40968 192.168.0.2:993 ESTABLISHED 1000 12345 42/mutt
  • on ferme : killcx 192.168.0.1:40968 192.168.0.2:993;

Quand j’ai de la chance, mutt affiche un message d’erreur indiquant qu’il a perdu une connexion, et me rend la main. Sinon, il segfault.

Des idées pour faire la même chose plus proprement ?

La mamie du Berry

Le Canard de cette semaine narre l’histoire de la lutte des habitants d’un petit village du Cher, Sidiailles, contre l’implémentation d’une secte. Parmi les principales opposantes, une octogénaire en fauteuil roulant, propriétaire du terrain où la secte veut s’installer. Elle avait signé une promesse de vente avant de découvrir à qui elle avait affaire. Le volatile rapporte ainsi ses propos : Ils pensaient que j'étais le pigeon parfait. Mais, malgré mon âge, je manie bien Internet. Maintenant je sais à qui j'ai affaire.

Tiens, voilà donc une Mamie du Berry qui manie bien les Internets, et a grâce à eux évité de se faire arnaquer. Le Cher n’est pourtant pas très loin du Cantal où, d’après Stéphane Richard, pédégé d’Orange, les mamies n’ont pas les mêmes besoins de télécommunications que les geeks parisiens. Pour que la mamie de Sidiailles puisse encore longtemps utiliser Internet comme elle le veut, ne reste plus qu’à espérer que fleurissent rapidement mille FDN qui offriront à toutes et tous, mamies parisiennes comme geeks du Cantal et Cher, du vrai internet, avec de la bonne neutralité dedans et un débit décent. De l’Internet dont les utilisateurs seraient aussi acteurs et ne dépendraient pas des étiquettes accolées par quelques stupides grosses têtes. Pour qu’ils puissent se libérer de l’Internet selon Orange et Stéphane Richard, l’Internet à la tête du client (ou de son porte-feuille ?).

Accessibilité : farine ou cerise

L’accessibilité est-elle une cerise que l’on dépose au sommet d’un gâteau pour le transformer en chef d’œuvre, ou la farine sans laquelle la recette ne prendra pas ? Fait-elle partie des fondements de tout projet, auxquels il faut penser dès la première ligne de code du premier prototype, ou suffit-il pour rendre un logiciel accessible de « rajouter des attributs sur toutes les balises HTML » ?

Il n’y a sans doute pas de réponse universelle, valable pour tous les projets. Mais la question mérite je pense d’être posée à chaque fois que l’on envisage de se lancer dans une nouvelle aventure culinaire.

Et elle se pose tout particulièrement pour ma boutique préférée, la Pâtisserie Mozilla. Les pâtissiers y sont plein d’idées et ne cessent d’inventer de nouvelles recettes de gâteaux. Bien sûr, on ne peut pas trouver la meilleure recette du premier coup, il faut faire des essais, les faire goûter aux clients, affiner les réglages. Dans ces gâteaux, l’accessibilité fait-elle partie des ingrédients de base, ou est-elle une décoration que l’on rajoutera comme une touche finale pour couronner l’œuvre ?

J’aurais tendance à pencher pour la première réponse, l’accessibilité devrait être un des composants de base de toute recette sortant du fournil de Mozilla. C’est une boutique qui crée des gâteaux destinés au plus grand nombre, il ne me semble guère judicieux de ne pas permettre à certains clients de participer aux essais. Surtout, les pâtissiers sont animés par des valeurs, l’envie de permettre à tout le monde de déguster de bon gâteaux et d’en cuisiner soi-même. Ces valeurs ne sont pas que des arguments marketing imprimés sur l’emballage. Elles sont inscrites dans chacun des gâteaux qui sort du four, et devraient l’être dès les premiers essais.

Pourtant, j’ai remarqué que ce n’était pas toujours le cas. Que parfois, on créait une recette en se focalisant sur quelques points, mais en oubliant certains ingrédients de base, pour ne les rajouter que plus tard. En omettant de penser dès le début à l’accessibilité, ou du moins à celui de ses versants auquel je suis le plus sensible, pour être directement concerné, l’internationalisation1. Alors que Firefox est le navigateur le plus accessible et un de ceux disposant du plus de versions localisées2, certains récents projets ont dans un premier temps fait l’impasse sur la localisation.

L’exemple le plus frappant est bien sûr Jetpack, le nouveau système d’extension, dont la première version stable est sortie, après une longue gestation, sans fournir de solution pour traduire les extensions. Cela devrait bientôt être réglé3, mais je trouve cela assez choquant au regard de l’histoire de Mozilla et de sa tradition de versions localisées4. Deux autres cas me viennent à l’esprit : BrowserID, en cours de déploiement sur certains sites de Mozilla, mais uniquement en version anglaise. Et Hackasaurus, dont une partie des outils — le kit expliquant comment organiser un atelier de bidouille — n’est pour l’instant pas traduisible. Dans les deux cas, des solutions sont en cours d’élaboration5, mais je trouve dommage que les utilisateurs non anglophones n’aient pas pu pleinement participer aux phases de prototypage de produits.

Il y a mille façons de faire un gâteau, mais je pense qu’à chaque fois, au moment de rassembler les ingrédients, il faudrait se demander si, dans cette recette, l’accessibilité sera de la farine ou juste une cerise posée au dessus.

Et je vous prie de m’excuser pour l’acrobatique métaphore que j’ai essayée de filer, parlant d’un sujet que je ne connais absolument pas. Car si pour compiler un noyau il suffit de savoir cuisiner un gâteau, l’inverse n’est malheureusement pas vrai.

Crédits : merci à Anthony et Goofy qui m’ont inspiré ce billet.


  1. dans nos métiers, l’accessibilité vise à permettre à chacun et chacune, quelles que soient ses capacités physiques et mentales, d’utiliser et de comprendre les logiciels que nous développons. Offrir à l’utilisateur une version dans sa langue fait donc partie de l’accessibilité.

  2. Firefox est disponible dans 83 langues, je ne retrouve plus les chiffres des autres navigateurs;

  3. en particulier, me soufflent les traducteurs d’extensions, grâce aux efforts de ochameau

  4. et nombre de Mozilliens ont mis un premier pied dans la communauté par le biais des traductions, c’est donc aussi un marqueur du caractère communautaire de Mozilla;

  5. vous pouvez suivre les progrès de la localisation de BrowserID via le ticket 706572 et participer à la conversion en POH du Kit de Bidouille via un projet sur Github;

Notre responsabilité

Vinton Cerf1 a publié dans le New-York Times une tribune, « Internet Access Is Not a Human Right » où il explique que selon lui, Internet n’est pas un droit humain2. Son argument est que les technologies sont des moyens d’accéder à des droits, non des droits eux-mêmes. J’avoue que la question ne me passionne guère. Lorsqu’on voit le peu de cas fait de droits universellement reconnus comme des droits humains, je trouve que ce n’est pas un combat prioritaire3. Les dernières lignes de sa tribune m’intéressent davantage, et je vais de ce pas en proposer une traduction :

Cependant, tous ces arguments philosophiques négligent un problème plus fondamental : la responsabilité des créateurs de technologies eux-même de défendre les droits humains et civils. L’Internet a créé une plate-forme extrêmement accessible et égalitaire pour créer, partager et obtenir de l’information à une échelle globale. De ce fait, nous avons de nouveaux moyens pour permettre aux gens d’exercer leurs droits humains et civils.

Dans ce contexte, les développeurs ont non seulement une obligation très forte de donner plus de possibilités aux utilisateurs, mais aussi une obligation d’assurer leur sécurité en ligne. Cela signifie, par exemple, les protéger contre des maux spécifiques, comme les virus et les vers qui envahissent silencieusement leurs ordinateurs. Les techniciens devraient travailler à ça.

Ce sont les ingénieurs — et nos associations professionnelles et nos organismes de standardisation comme l’IEEE — qui créent et maintiennent ces nouvelles capacités. À mesure que nous cherchons à faire progresser l’état de l’art de la technologie et son utilisation dans la société, nous devons être conscients de nos responsabilités civiles en plus de notre expertise technique.

On ne le répètera jamais assez. Sur Internet, le code est la loi. Les règles sont fixées par celles et ceux qui conçoivent les normes et développent les logiciels implémentant ces normes. L’écriture des normes et leur validation par le code allant d’ailleurs généralement de paire. Lorsque nous participons au développement de normes et de logiciels qui les mettent en œuvre, nous ne devons pas seulement chercher à obtenir le meilleur résultat technique. Nous devons aussi réfléchir en législateurs, être conscients que nous fixons les limites des possibles et des usages du réseau. Que notre responsabilité est donc beaucoup plus importante que de juste produire un code qui fonctionne. Selon la façon dont nous les concevons, les outils qui sortent de nos mains peuvent libérer les utilisateurs, ou les aliéner.

L’actualité des derniers mois a fourni bien des illustrations de cette responsabilité. Le réseau a participé à de nombreuses mobilisations citoyennes, de la Tunisie à Wall Street en passant par l’Égypte ou la Syrie. On a pu voir les tentatives de contrôle des gouvernements et les contre-mesures de groupes de hackers comme Telecomix. Heureusement, Internet a vaincu le minitel dans les années 90. Si Telecomix réussit à mettre en échec la censure, c’est grâce à la résilience de l’Internet. C’est parce que le caractère décentralisé, incontrôlable du réseau a été inscrit dans son ADN par ses créateurs, RFC après RFC. Au contraire, les sites centralisés comme Facebook ou GMail ont constitué autant de talons d’Achille du réseau, des cibles faciles pour la censure ou l’espionnage. Si le minitel l’avait emporté, imaginez comme il aurait été simple pour un pouvoir de contrôler l’essentiel des communications des citoyens, et bien plus compliqué le contournement de cette censure.

Lorsque nous concevons des systèmes d’information, il faudrait garder ces exemples en tête, nous souvenir qu’il nous appartient de choisir si nous fournissons à nos utilisateur un minitel qui permettra de les contrôler ou un réseau qui augmentera leurs libertés.

Bien sûr, tout cela, ce sont de beaux discours. Ils rejoignent les multiples tentatives depuis des années de créer des chartes déontologique et autres codes de bonne conduite pour cadrer nos métiers. Souvent des vœux pieux. Dans le cadre professionnel, on peut parfois avoir un rôle de conseil et influer sur les valeurs que portent le produit final. Mais bien souvent, le but recherché étant le profit, le retour sur investissement du logiciel pour les investisseurs prime sur son utilité pour les utilisateurs. Et d’un point de vue purement financier, mieux vaut un utilisateur captif, contrôlé par le logiciel, qu’un internaute libre et adulte.

D’où l’importance de s’investir, hors des projets professionnels qui heureusement ne sont bien souvent que des châteaux de vent, dans des projets qui auront de l’importance pour le Web. Pour aider ces projets à être non seulement les meilleurs possibles d’un point de vue technique, mais aussi les meilleurs humainement parlant. Participer aux discussions du W3C, à la mise au point de nouvelles fonctionnalités, c’est jouer un rôle dans la rédaction des prochaines lois communes. Une oligarchie verrouille le monde actuel, fixe ses règles, ne laisse personne qui ne soit du sérail y mettre le nez. À côté, un autre monde est en train de se bâtir, qui pour l’instant est encore relativement ouvert aux contributions de chacun, malléable. Dans ce monde, nous pouvons encore exercer notre citoyenneté, participer jour après jour à l’élaboration de la cité, et pas juste en faisant mine de donner notre avis par un vote une fois de temps en temps. Nous aurions tord de nous en priver.

Euh, oulah, voilà que je prêche. Désolé. Bref, mettez un pense-bête dans un coin de votre écran pour ne pas oublier, en codant, de réfléchir à l’impact de votre code sur la société.


  1. qui, en tant que co-inventeur de TCP/IP est souvent considéré comme l’un des « pères d’Internet »

  2. le débat court depuis quelques années et a par exemple été évoqué dans un rapport du conseil des droits de l’homme de l’ONU ou une décision du conseil constitutionnel sur Hadopi;

  3. même si tactiquement, la question est intéressante, par exemple pour permettre de bloquer certaines lois;