David Madore's WebLog

This WebLog is bilingual, some entries are in English and others are in French. A few of them have a version in either language. Other than that, the French entries are not translations of the English ones or vice versa. Of course, if you understand only English, the English entries ought to be quite understandable without reading the French ones.

Ce WebLog est bilingue, certaines entrées sont en anglais et d'autres sont en français. Quelques-unes ont une version dans chaque langue. À part ça, les entrées en français ne sont pas des traductions de celles en anglais ou vice versa. Bien sûr, si vous ne comprenez que le français, les entrées en français devraient être assez compréhensibles sans lire celles en anglais.

Note that the first entry comes last! Notez que la première entrée vient en dernier !

Index of all entries — Index de toutes les entréesXML (RSS 1.0) — Recent comments — Commentaires récents

What follows are the entries of 2009-07. For latest entries, see here.

Ce qui suit sont les entrées de 2009-07. Pour les dernières entrées, voyez ici.

2009-07-26 (dimanche)

Les téléphones devraient avoir un système de priorité d'appels

Je ne débranche pas mon téléphone quand je dors[#], notamment parce que je me dis toujours qu'il est possible qu'on cherche à me joindre au milieu de la nuit pour quelque chose d'extrêmement important (ou l'inverse, d'ailleurs : s'il y a une urgence, je ne veux pas perdre de temps à rebrancher l'appareil pour appeler les pompiers). C'est la porte ouverte à des abus : canulars de fort mauvais goût, erreurs de manip ou bugs incompréhensibles ou encore, quand je fais la grasse matinée, offres commerciales non sollicitées. À l'inverse, il peut m'arriver de vouloir appeler quelqu'un en étant sûr de ne pas déranger : malheureusement, il n'y a aucune façon de faire ça, et se dire s'il ne veut pas être dérangé, il aura éteint son téléphone n'est pas juste, comme je viens de l'expliquer.

Ces réflexions me conduisent à penser que j'aimerais que les appels téléphonique aient une notion de priorité ou d'importance (par exemple sur une échelle à cinq degrés : priorité très faible, faible, normale, importante ou très importante). Ce serait l'appelant qui réglerait la priorité, et l'appelé pourrait configurer son téléphone pour ne pas recevoir les appels de priorité plus faible qu'une priorité minimale facilement changeable (je ne fais rien d'important, j'accepte tous les appels ; mais si je suis en train de manger avec quelqu'un j'augmente la priorité minimale pour ne pas être dérangé pour rien). Ce serait alors une question de politesse que de bien régler la priorité des appels qu'on passe (si on veut juste bavarder, on est prié de ne pas faire passer ça comme important), mais, évidemment, on pourrait aussi régler le téléphone pour imposer une priorité maximale aux appels venant de numéros affichés-mais-inconnus-au-répertoire ou bien masqués[#2], ou encore une priorité maximale contact par contact (ou groupe de contacts par groupe de contacts).

Mais évidemment, on va dire que c'est trop compliqué pour 99% des utilisateurs de téléphones. (Ou alors que si le mode par défaut est priorité normale sur les appels sortants, et réception de tous les appels entrants, l'immense majorité des gens resteraient en permanence dans ce mode et le système ne servirait à rien.) L'incapacité de la majeure partie de la population à apprendre un peu à se servir de la technologie a quelque chose de terrifiant.

[#] Ni mon mobile ni mon fixe. Je devrais peut-être couper mon mobile, en fait, puisqu'on capte de toute façon mal chez moi (ça donne des conversations entrecoupées de blancs), mais quelle que soit la façon dont on dit aux gens essayez d'appeler mon fixe avant d'essayer mon mobile, ils ne le font pas.

[#2] Déjà, je suis assez agacé que mon téléphone fixe ne me permette pas d'ignorer simplement les appels venant de numéros masqués (ou de les rediriger vers un enregistrement qui expliquerait si vous voulez me cacher votre numéro, je ne suis pas intéressé par ce que vous avez à me dire), car ce sont essentiellement toujours des pubs. Bon, ce n'est pas vrai : il arrive que les numéros institutionnels (venant de derrière le central d'une administration ou d'une entreprise) apparaissent masqués, je ne sais pas bien pourquoi.

2009-07-25 (samedi)

Quelques mots sur un songe

J'avais promis quelques explications sur ce texte : je vais tâcher de m'exécuter car, même si je ne trouve pas que la poésie puisse vraiment s'expliquer, tenter de le faire peut néanmoins inciter à découvrir ou redécouvrir des textes. Et, en fait, je tiens à me rappeler moi-même certaines des choses que j'avais à l'esprit ou certaines des associations d'idées que j'ai pu faire. Bref, l'exercice qui suit n'est pas très différent de ce que je fais quand je tente de déchiffrer mes propres rêves.

Ici, bien sûr, le point de départ est un poème de Gérard de Nerval, El Desdichado, qui ouvre un ensemble de douze sonnets (ou sept sonnets plus un quintuple), Les Chimères, placé à la fin de son ultime recueil, Les Filles du feu. Mais il n'en est que le point de départ : mon intention n'est certainement pas de proposer une explication à ce poème, composé à un moment où l'auteur n'avait plus toute sa santé mentale (indépendamment de savoir s'il a vraiment promené un homard au bout d'une laisse au Palais-Royal) ; il s'agit éventuellement d'imaginer quelles visions auraient pu faire naître certaines des images de ce poème ou d'autres, ou, en tout cas, quelles visions elles peuvent suggérer. Me suggérer, je veux dire (donc sans avoir peur de contresens, ni même l'anachronisme consistant à « expliquer » Nerval même par des auteurs postérieurs !).

Pour plus de commodité, je recopie ici le poème :

Je suis le Ténébreux, — le Veuf, — l'Inconsolé,
Le Prince d'Aquitaine à la Tour abolie :
Ma seule Étoile est morte, — et mon luth constellé
Porte le Soleil noir de la Mélancolie.

Dans la nuit du Tombeau, Toi qui m'as consolé,
Rends-moi le Pausilippe et la mer d'Italie,
La fleur qui plaisait tant à mon cœur désolé,
Et la treille où le Pampre à la Rose s'allie.

Suis-je Amour ou Phébus ?… Lusignan ou Biron ?
Mon front est rouge encor du baiser de la Reine ;
J'ai rêvé dans la Grotte où nage la Sirène…

Et j'ai deux fois vainqueur traversé l'Achéron :
Modulant tour à tour sur la lyre d'Orphée
Les soupirs de la Sainte et les cris de la Fée.

Mais en fait c'est plutôt d'autres textes et même d'autres auteurs qu'il est question. Pour commencer, il y a Faust, tel qu'imaginé par Goethe dont le jeune Nerval avait traduit la première partie de la tragédie, ce qui lui avait valu les éloges du Maître (d'autant plus surprenants que, semble-t-il, Nerval connaissait mal l'allemand). Rappelons-en un passage. L'Alchimiste est rentré dans son étude après une promenade où il a été suivi par un caniche (et non un homard) qui s'avérera être Méphisto, et il entreprend de traduire l'évangile selon Jean. Or dès la première phrase, un mot pose problème, le mot le plus difficile de tous : Λόγος (ou en latin, Verbum, le Verbe : or le Verbe était auprès de Dieu, et le Verbe était Dieu). Ce mot grec signifie, justement, mot (au sens assez général : affirmation, propos ; voire : pensée, raison). Pour savoir ce que c'est que ce Verbum, une illustration intéressante est fournie par une gravure d'Escher de ce nom (qui a justement une forme hexagonale comme le sceau de Salomon). Faust, qui ne peut pas estimer à ce point un mot, commence par traduire : au commencement était l'esprit (c'est du moins ainsi que Nerval rend l'allemand der Sinn ; pour ma part j'aurais plutôt écrit, le sens) ; puis, pensant à ce qui crée et meut tout, au commencement était la force ; et enfin, frappé d'inspiration : au commencement était l'action. À ce moment-là, le caniche s'agite et commence à se métamorphoser dans un nuage de fumée, Faust tente de le contenir avec le sceau de Salomon, et il (le caniche) se révèle comme Méphisto (une partie de cette force qui perpétuellement veut le mal et perpétuellement accomplit le bien — l'esprit qui toujours nie).

Le sceau de Salomon, également connu sous le nom d'étoile de David, avant d'être un symbole alchimique, est un thème récurrent des Mille et Une Nuits, où il a le pouvoir de contenir les djinns, notamment dans le célèbre Conte du pêcheur et du démon (autour de la 4e nuit). Nerval avait fait un voyage en orient vers 1842–1843, au cours duquel il a été initié à la religion druze ; les Druzes sont musulmans (enfin, plus ou moins musulmans) gnostiques (un petit bonjour au passage à Madame Blavatsky) qui croient à la réincarnation de l'âme (qui est certainement un thème important de El Desdichado) : les couleurs verte, rouge, jaune, bleue et blanche que je mentionne sont les couleurs de l'étoile sacrée des Druzes. Quant au caliphe Hakem (c'est-à-dire al-Hākim bi'Amr Allāh, sixième caliphe fāṭimide), c'est une des figures centrales de la religion druze (selon laquelle il n'est pas mort mais a été enlevé par Dieu). Nerval rapporte (et romance) l'histoire de Hakem en appendice de son Voyage en Orient : le caliphe (suivant l'exemple du fameux Hārūn al-Rashīd des Mille et Une Nuits) aimait à se déguiser pour se mêler à ses sujets, et au cours d'une de ces promenades, on l'a initié au haschisch.

Le haschisch a révélé à Hakem qu'il était Dieu (et c'est peut-être sous son influence que le caliphe a ordonné l'exécution de tous les chats et chiens, caniches compris — mais pas les homards ; de façon plus sérieuse, c'est aussi Hakem qui a fait détruire le Saint-Sépulcre de Jérusalem en 1009, ce qui a peut-être contribué à faire naître en Occident l'idée des croisades ; en tout cas, on peut penser qu'il est devenu assez fou). Le haschisch était également connu et utilisé des alchimistes européens (par l'intermédiaire des soufistes, d'Avicenne, etc.), il en est même question chez Rabelais. Et (avec d'autres drogues, notamment l'opium) des écrivains romantiques : on pense par exemple aux Paradis artificiels de Baudelaire, lequel fréquenta le Club des Hachichins fondé en 1844 par Jacques-Joseph Moreau, où il rencontra Théophile Gautier ; d'autres gens aussi s'y croisèrent (Alexandre Dumas père, et plus ponctuellement Balzac, Flaubert ou Hugo), dont Gérard de Nerval. J'ai pris Thomas de Quincey comme figure représentant l'écrivain consommateur de drogues (même si c'est d'opium qu'il s'agit), parce que c'est celui qui a lancé l'idée pour beaucoup d'autres.

[Tableau de Caspar David Friedrich]Je n'ai pas résisté, ensuite, à un petit clin d'œil à une image (trop ?) célèbre du romantisme (notamment allemand). Et pour faire bon poids, l'aventurier que j'ai imaginé au sommet de cette montagne, c'est l'incontournable figure du voyageur Lord Byron (ce qui fait aussi un petit clin d'œil à un fragment précédent). Je ne pense pas que le Biron dont parle Nerval dans son poème fasse référence à Byron (plus probablement à Biron dans le Périgord, ou plutôt à la famille noble éponyme, à laquelle Nerval était vaguement apparenté), mais dans un rêve rien de plus commun que de passer d'un nom à un nom homonyme. Byron admirait énormément le poème épique de Milton, et notamment le personnage de Satan[#] (assez semblable au Lucifer du Caïn de Byron, d'ailleurs) : je le présente donc lisant ce qui pourrait servir de définition à Satan, ce qui le rend sympathique aussi : Ici, au moins, nous serons libres. […] Il vaut mieux régner en Enfer que servir au Paradis. (vers 258–263). Une sorte de pendant à la définition que Méphisto se donne dans le Faust.

Il serait trop fastidieux de citer toutes les associations d'idées qu'on peut faire avec les sept poètes épiques que j'ai cités comme prédécesseurs de Milton : Homère, Virgile, Ossian, Wolfram von Eschenbach, Dante, le Tasse et Edmund Spenser. Virgile est au moins aussi incontournable que Lord Byron, évidemment : il est assez directement appelé par le poème de Nerval puisque le Posilipo est le quartier de Naples où Virgile avait une villa et où se trouve (ou du moins pas loin) son tombeau supposé. C'est aussi Virgile, bien sûr, qui sert de guide à Dante pour traverser l'Achéron. Le Tasse renvoie à la première croisade dont les actions de Hakem étaient peut-être une cause et où la famille Lusignan se distingua — mais on associe aussi le nom de Lusignan à la troisième croisade à cause de Guy de Lusignan ; c'est aussi à la troisième croisade qu'on pense si le titre du poème, El Desdichado, fait référence à la façon dont Richard Cœur-de-Lion, de retour en Angleterre de façon anonyme, s'identifie dans l'Ivanhoé de Walter Scott. La mention d'Ossian mérite sans doute une explication : car cet auteur plus ou moins mythique doit avoir les traits de quelqu'un d'un peu plus réel (pour les yeux du Nerval rêveur), ce sont évidemment ceux de Walter Scott (l'auteur de Waverley) ; mais c'est aussi une façon d'évoquer les Souffrances du jeune Werther pour revenir à Goethe[#2] et car Nerval a quelque chose de Werther, et il a — comme toute une génération — beaucoup été marqué par ce roman. Les chariots de feu sont évidemment une référence à l'enlèvement du prophète Élie (et une façon pour moi de demander à William Blake pardon de ne pas l'avoir mentionné ;-)).

[Gravure d'Albrecht Dürer]Le soleil noir de la Mélancolie, dans mon esprit, évoque immanquablement la gravure de Dürer qui porte ce nom et qui est certainement l'une des œuvres d'arts graphiques qui ont été le plus analysées et commentées au monde tant le symbolisme y est abondant et savant. Expliquer les rapports entre cette gravure hermétiquement symbolique et ce poème qui l'est aussi, voilà qui serait sans doute trop ambitieux pour que je le tente. Est-ce un caniche ou un homard qui est allongé entre la sphère et le polyèdre ? %-)

La Mignon qui chante das Land wo die Zitronen blühen (c'est-à-dire l'Italie, dont elle vient) est un personnage des Années d'apprentissage de Wilhelm Meister de Goethe. Je trouve que cette chanson (qui est certainement une des poésies les plus connues de la langue allemande) éclaire assez bien l'esprit de certains passages du poème de Nerval. Comme cette réponse que Mignon fait à Wilhelm qui se préoccupe de son instruction : Je suis suffisamment instruite pour aimer et pour être en deuil. (Ich bin gebildet genug, um zu lieben und zu trauern.) Mais Wilhelm Meister nous renvoie au théâtre, et spécifiquement à Shakespeare, donc pour clore le spectacle des visions du rêve il est normal que ce soit le Prospero de la Tempête qui vienne saluer par son discours d'adieu à la magie :

Now my charms are all o'erthrown,
And what strength I have's mine own;
Which is most faint; now 'tis true,
I must be here confin'd by you,
Or sent to Naples. Let me not,
Since I have my dukedom got,
And pardon'd the deceiver, dwell
In this bare island by your spell:
But release me from my bands
With the help of your good hands.
Gentle breath of yours my sails
Must fill, or else my project fails,
Which was to please. Now I want
Spirits to enforce, art to enchant;
And my ending is despair,
Unless I be reliev'd by prayer,
Which pierces so that it assaults
Mercy itself, and frees all faults.
As you from crimes would pardon'd be,
Let your indulgence set me free.

[#] À peu près tout le monde préfère Satan dans Paradise Lost. C'est comme Dante qui, dans sa Divine comédie, essayait de nous persuader que de la bonté du paradis (et qui voulait sans doute que ce soit la partie la plus réussie de son œuvre), mais qui n'a pas réussi à éviter que l'enfer soit vraiment plus intéressant de tout point de vue.

[#2] Qui lui-même profitait de son roman pour traduire la traduction par Macpherson des poèmes censément d'Ossian.

2009-07-24 (vendredi)

Je déteste les comparateurs de prix en ligne

Quand je cherche des renseignements sur un moteur de recherche, je suis régulièrement agacé de tomber sur des pages qui essaient de me vendre quelque chose. À l'inverse, quand je cherche à acheter des choses en ligne, je suis souvent étonné de voir à quel point, malgré toute ma bonne volonté pour faire marcher le e-commerce, ça peut s'avérer difficile. Je ne parle pas des livres, qui sont remarquablement faciles à acheter en ligne (quand ils ne sont pas épuisés, au moins), ni des produits électroniques pour lesquels c'est simplement impossible quand on a le malheur d'habiter en France. Mais mettons un article de textile : ça ne devrait pas être trop difficile, ça, tout de même, et ce ne sont pas les vendeurs qui manquent dans les rues.

Pourtant, quand je cherche le nom d'un type d'article de textile sur Google (et particulièrement quand je le cherche en français — car je sais que si je cherche en anglais je vais tomber sur des vendeurs qui ne savent pas ce que c'est que la poste internationale), je tombe sur des sites du genre comparateurs de prix, agrégateurs d'offres commerciales, chasseurs de « bonnes affaires », guides des prix pour acheter moins cher, etc. (enfin, ça c'est la façon dont ces sites se qualifient eux-mêmes). Par exemple cette page-ci sur leguide.com. Je tombe très rarement depuis Google directement sur les sites marchands eux-mêmes (la Redoute, les Trois Suisses, que sais-je) : je soupçonne que c'est parce que les sites marchands abusent du contenu dynamique et des URL avec sessions qui expirent[#], si bien que les moteurs de recherche normaux n'arrivent pas à les référencer correctement. C'est vraiment con, parce que ce serait leur intérêt !, surtout que les moteurs de recherche internes de ces sites marchands sont nullissimes. Les comparateurs de prix dont je parle, eux, ils sont malins, ils ont l'air de créer à la volée des pages statiques pour les résultats des recherches les plus communes qu'ils voient passer (c'est ainsi qu'on voit des pages qui commencent par comparer toutes les offres de foobar bleuté et, bien sûr, il n'y a pas un seul foobar bleuté dans ce qui suit) ; et je ne sais pas comment ils arrivent à se dépatouiller des contenus dynamiques des sites marchands mais le fait est que ça ne marche pas : les trois quarts des liens que proposent ces agrégateurs d'offres commerciales sont, tout simplement, cassés (et renvoient à la page d'accueil du marchand au lieu de dire ce produit n'est plus disponible ou je ne sais quoi — c'est horripilant).

Il serait peut-être temps de mettre en place des extensions de web sémantique pour permettre aux sites marchands d'indiquer aux moteurs de recherche cette page Web, dont l'URL statique permanente est <…>, décrit un produit de <telle catégorie>, <telle sous-catégorie>, dont la description brève préférée est <telle ou telle> (et <telle ou telle> dans telle autre langue), la marque <telle>, et le prix <tant>, livrable dans <tels pays>. Histoire qu'on puisse un peu commencer à chercher des produits de façon commode avec Google et avec des filtres convenables (type de produits, gamme de prix, pays de livraison, etc.). Ça n'a vraiment pas l'air compliqué à mettre en place avec un peu de magie RDF, et tout le monde (vendeurs, consommateurs, et moteurs de recherche — enfin sauf peut-être ces foutus agrégateurs de prix mal ficelés) aurait tout à y gagner. Et c'est tellement évident : pourquoi est-ce que ça n'existe pas déjà ?

(Vous allez me dire : pourquoi est-ce que je ne brevette pas cette idée pour gagner des milliards avec quand j'aurai révolutionné le e-commerce ? Parce que je ne cherche pas spécialement à gagner des milliards, je cherchais juste à acheter un sweat à capuche sans manches, scrogneugneu.)

[#] En fait, non, ça n'a même pas tellement l'air d'être le cas.

2009-07-23 (jeudi)

Les mentions légales en petits caractères

Quand des informaticiens[#] conçoivent un logiciel dont l'usage est si complexe que seuls quelques experts peuvent s'en servir, on ne s'attend normalement pas à ce que tout le monde le maîtrise. Les juristes ne semblent pas avoir de tels scrupules : faire signer à tour de bras des licences, des contrats, des conditions générales (de vente, d'utilisation… — dont on atteste avoir pris connaissance) écrits en caractères microscopiques et dans un langage cryptique qu'il est impossible que le commun des mortels comprenne, cela ne semble pas gêner outre mesure. Je trouve personnellement que considérer que la signature d'un tel document, par quelqu'un qui non seulement n'a eu aucune part à son élaboration mais en fait ne peut généralement pas le comprendre ni même décemment prendre le temps de le lire en entier sans passer pour un goujat face aux clients qui attendent derrière, et à peu près autant une preuve de consentement éclairé que quand des gens sont venus voir le chefs des tribus d'indiens pour leur dire voilà, vous dessinez un petit truc là et toute cette terre est à nous[#2]. Le droit de pouvoir aller voir la concurrence, si la concurrence propose également un contrat du même genre, il ne vaut pas grand-chose…

Premier problème : un contrat librement consenti est censé être négocié entre les deux parties. Négocié, ça ne veut pas dire — ça ne devrait pas vouloir dire — qu'une partie puisse se pointer avec le contrat déjà tout écrit (et dont le contenu peut donc, en pratique, se résumer à la phrase nous nous réservons tous les droits que la loi nous permet de nous réserver — voilà, vous datez et vous signez en bas à droite). Je trouve qu'un tel contrat devrait être nul d'un côté (je veux dire, ne devrait pas produire d'obligation pour la partie qui se le voit présenter en bloc et qui n'a donc véritablement consenti à rien). Le problème c'est, comment le prouver et surtout, comment arriver à quelque chose de gérable en pratique (l'idée que chaque client puisse ou doive négocier individuellement son contrat n'est pas forcément très applicable). Je n'ai pas de solution à ça (le fait de ne pas avoir de solution ne signifie pas qu'il n'y a pas de problème[#3] et qu'on n'ait pas le droit d'y réfléchir), mais j'ai quand même des bouts d'idée. On peut imaginer de prévoir la possibilité, quand un consommateur se voit présenter un contrat commercial à signer, pour lui de le modifier et de renvoyer cette version modifiée au service qui l'a rédigé pour obtenir son accord, avec obligation de réponse dans un temps raisonnable[#4][#5] ; et que si on peut prouver que le service en question refuse toute altération du contrat et ne fait aucun effort honnête pour converger vers une version commune (ou pour proposer un prix raisonnable à un service que le client ferait ajouter au contrat et qu'il lui serait techniquement possible de fournir), alors tous ceux qui ont signé un contrat type apparemment non négociable sont délivrés de leurs obligations (enfin, pas celle de payer, quand même). L'autre bout d'idée, si on veut quand même préserver des contrats-types, c'est de les faire estampiller par des associations de consommateurs agréées : ce sont elles qui, pour les contrats un peu importants, auraient conduit la négociation, en amont, avec le fournisseur ou commercial, et elles auront été à armes un peu plus égales face à lui qu'un individu à qui on dit signez là. (Évidemment, les associations de consommateurs peuvent faire un peu pression sur les contrats dans l'état actuel des choses, mais elles ne sont pas associées à leur rédaction dès l'origine.)

Second problème : même si on avale l'idée qu'il est normal que le contrat ne soit pas négocié par celui qui le signe, le texte-type n'est même pas compréhensible par lui. Il faudrait par exemple un résumé, fait de bonne foi et en langage clair, des termes importants ou inhabituels du contrat. Là, le problème se pose de qui pourrait rédiger un tel résumé ? Si le contrat-type est véritablement négocié, on peut imaginer que le résumé le soit aussi ; on peut aussi imaginer que la justice puisse frapper des parties du contrat si le résumé est trompeur à leur égard, ou quelque chose de la sorte. À l'inverse, le résumé n'aurait pas à reprendre les choses particulièrement normales et évidentes pour un contrat du type considéré.

Le même genre de question se pose pour les notes en bas de page et autres astérisques traîtres dans les publicités : offre limitée à gnagnagna, hors frais de machin et de truc, ou le plus scandaleux, voir conditions sur www.notresite.tld (où vous trouverez douze pages entières de mentions légales, dont on ne va certainement pas vous faire un résumé sur cette affiche). Je trouve que si la clause modifie significativement l'offre promise par les gros caractères, elle devrait figurer en caractères tout aussi gros ; tandis que si elle est juste là pour se protéger contre les attaques des gens procéduriers ou pénibles, il est normal qu'elle soit en petits caractères. Mais comment trancher ? Je pense notamment aux mentions photographie non contractuelle : une fois sur deux je pense que c'est complètement inutile de le mettre (il faudrait être vraiment débile pour s'imaginer que <ceci> fait partie du produit !), et une fois sur deux je pense qu'il faudrait le mettre en gros et en rouge et en clignotant (cette photo est carrément mensongère) — mais dans les deux cas on a juste cette mention légale idiote. Sans doute, il faudrait un accord informel préalable (qui pourrait intervenir dans le cadre d'une institution comme le bureau de vérification de la publicité[#6] si celui-ci avait une position un peu plus impartiale entre annonceurs et consommateurs) pour orienter un éventuel règlement en justice en cas de litige[#7].

Mais dans tous les cas, la fiction qui consiste à avoir des mentions légales en petits caractères que personne ne lit, cela a quelque chose d'un peu obscène. Soit ces choses sont importantes, et elles devraient être en gros et en gras, soit elles ne le sont pas, et alors on se demande pourquoi on les écrit.

[#] D'accord, mon entrée en matière est complètement pourrie.

[#2] Comparaison pourrie aussi, et je n'ai pas vérifié comment ça s'était passé. Mais vous voyez l'idée.

[#3] Sauf chez les shadoks.

[#4] Et peut-être modulo paiement d'un frais de dossier raisonnable, pour que les modifications soient un peu motivées et excluent les demandes loufoques. Quand je dis raisonnable, ça ne couvre pas les honoraires d'un avocat pour l'examiner en profondeur ; mais ça, c'est normal : je ne peux pas, moi, me permettre de faire examiner en profondeur par un avocat chaque texte qu'on me fait signer, donc il n'y a pas de raison que la partie en face ait à en faire autant.

[#5] Exemple concret : mon poussinet aurait envie d'ajouter dans un contrat qui le lie avec l'opérateur de téléphonie SFR une clause du genre l'accès au port TCP 22 est considéré, pour les termes du présent contrat, comme faisant intégralement partie d'un accès au Web ; la limitation de l'accès à ce port par l'opérateur délie le client de sa période d'engagement. Essayez de faire signer ça ! Pourtant l'opérateur devrait être tenu d'examiner la demande (soit pour l'accepter, soit pour l'accepter modulo une augmentation du prix de l'abonnement, soit pour la refuser). Mais non, on ne peut même pas demander une addition au contrat.

[#6] Rappelons d'ailleurs qu'il s'agit d'une association purement privée, pas du tout d'un organe public comme on le croit parfois.

[#7] En clair, que si quelqu'un a signalé un peu officiellement à l'annonceur votre formulation est vraiment trop trompeuse, j'espère que sa position est plus précaire, ensuite, en justice, que si on lui a dit que c'était tout bon…

2009-07-22 (mercredi)

Tout est dans l'emballage

J'ai commandé une carte SIM (sur abonnement prépayé, nu) par Internet. Taille de l'objet : environ 2.5cm × 1.5cm × 0.1cm. Taille du paquet déposé dans ma boîte aux lettres : environ 36cm × 30cm × 8cm. Volume perdu : 99.996%.

2009-07-19 (dimanche)

Les incantations propitiatoires programmatiques

J'essaie d'apprendre un peu à programmer pour Android ; j'ai un certain nombre d'idées d'applications qu'il pourrait m'amuser d'écrire[#] : par exemple, un programme d'éphémérides astronomiques[#2] ou une calculatrice scientifique à notation polonaise inversée ; mais plus pragmatiquement, je suis intéressé à apprendre un peu plus sur Java — que je ne connais que d'assez loin[#3]. Je trouve que parcourir la référence de la bibliothèque standard donne un peu envie de coder pour ce gadget. À l'inverse, la complexité du cadre général fait un peu peur (et explique en partie pourquoi, même du point de vue de l'utilisateur, on soit un peu perdu : savoir quand une application continue à tourner en tâche de fond, quand elle est arrêtée, à quel point on va revenir en appuyant sur la touche de retour arrière, etc., tout cela est assez explicitement mal défini).

Ce qui est souvent irritant, en programmation, ce sont les quantités d'incantations propitiatoires qu'on doit prononcer avant de pouvoir enfin arriver à un état qui fait vraiment quelque chose d'utile : j'ai l'impression que, plus l'informatique progresse et plus ce phénomène se répand — les langages ou environnements modernes ont peut-être une efficacité marginale plus élevée que les anciens, mais les environnements graphiques ont tendance à demander un code extrêmement lourd pour juste ne rien faire du tout, c'est-à-dire, pour pacifier les puissances tutélaires qui veillent sur votre code. En C standard, pour écrire Hello, world!, il suffit de faire

#include <stdio.h>

int
main (void)
{
  printf ("Hello, world!\n");
  return 0;
}

alors que si vous voulez faire la chose analogue (dans une fenêtre), disons, en Gtk, ça ressemble plutôt à ceci :

#include <stdio.h>
#include <stdlib.h>

#include <glib.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>

static gboolean
key_callback (GtkWidget *window, GdkEventKey *event,
	      gpointer data)
{
  if ( event->keyval == GDK_Escape
       || event->keyval == GDK_q || event->keyval == GDK_Q )
    gtk_main_quit ();
  return TRUE;
}

int
main (int argc, char *argv[])
{
  GtkWidget *main_window;
  GtkWidget *event_box;
  GtkWidget *text_label;

  gtk_init (&argc, &argv);

  main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_container_set_border_width (GTK_CONTAINER (main_window), 10);

  event_box = gtk_event_box_new ();
  text_label = gtk_label_new ("Hello, world!");
  gtk_container_add (GTK_CONTAINER (main_window), event_box);
  gtk_container_add (GTK_CONTAINER (event_box), text_label);

  g_signal_connect (G_OBJECT (main_window), "delete-event",
		    G_CALLBACK (gtk_main_quit), NULL);
  g_signal_connect (G_OBJECT (event_box), "button-press-event",
		    G_CALLBACK (gtk_main_quit), NULL);
  g_signal_connect (G_OBJECT (main_window), "key-press-event",
		    G_CALLBACK (key_callback), NULL);

  gtk_widget_show (GTK_WIDGET (text_label));
  gtk_widget_show (GTK_WIDGET (event_box));
  gtk_widget_show (GTK_WIDGET (main_window));

  gtk_main ();

  return 0;
}

Beaucoup de ces lignes sont vraiment ce que j'ai envie d'appeler des incantations rituelles. Et je doute que ce soit beaucoup mieux dans un des concurrents quelconques de Gtk (comme Qt ou, sous d'autres OS, les environnements graphiques de Windows ou Mac OS) : d'une manière ou d'une autre, il faudra bien décider comment on quitte le programme, et aussi définir tous les widgets et comment ils s'imbriquent, même si j'aurais envie que le code pour ça ressemble plutôt à quelque chose comme new Window([new Label("Hello, world!")]) — enfin bon. Parfois des gens se sont dit, oh, pour concevoir les interfaces utilisateur, au lieu d'avoir du code qui fabrique les widgets un par un, mettons-les dans un arbre XML : ça part d'une bonne intention, mais le XML est à peine moins lourd, en fait, et je ne parle pas des cérémonies qu'il faut effectuer pour pouvoir utiliser ce XML depuis le code proprement dit (sous Android, quand on veut utiliser des chaînes de caractères placées dans un fichier XML pour aider l'i18n, il y a un truc magique qui génère une classe R qui contient uniquement des constantes qui permettent de désigner des ressources accessibles via ctx.getResources().getText(R.string.leNom) : était-il vraiment impossible de faire plus concis ? pourquoi R.string.leNom ne serait-il pas directement la chaîne voulue ?).

Tant qu'à faire des incantations propitiatoires, autant l'assumer et imaginer un langage de programmation dans lequel on doive régulièrement appeler perform_ritual_sacrifice(&apollo, cattle_head, 100), un peu comme le PLEASE d'Intercal.

[#] Soit parce qu'elles n'existent pas du tout, soit qu'elles existent mais pas sous une licence libre, soit simplement que je trouve que ça a l'air amusant de réinventer la roue.

[#2] Oui, je sais qu'il existe Google Sky Map.

[#3] Ce qui devient un peu irritant, cependant, avec les langages de programmation, c'est qu'on dépense l'essentiel de l'effort cognitif associé à leur apprentissage sur les détails complètement insignifiants du sucre syntaxique. Se rappeler pour quels langages il faut écrire else if, pour lesquels c'est elsif, elif ou encore elseif, c'est vraiment assez peu intéressant. (Et pour Java, je n'ai pas forcément envie non plus de retenir les choses marginalement syntaxiques comme la signification de final public static private blah.) Bizarrement, je n'arrive pas à trouver facilement en ligne de générateur de cheat sheet qui permette commodément de générer et d'imprimer des listes récapitulatives ou comparées des constructions syntaxiques les plus communes dans les langages qu'on choisirait. Je note ça pour plus tard !

2009-07-15 (mercredi)

Spectacle du 14 juillet

[Photo de nuage noctulescent]J'ai regardé le spectacle depuis les toits du département de biologie de l'ENS (donc environ 10 étages au-dessus du niveau de la rue) : je ne parle pas seulement du feu d'artifice — qui était ce que nous étions venus voir, et qui était certes tout à fait réussi — mais aussi d'un nuage noctulescent, que tous les franciliens ont dû pu voir dans la nuit du 14 au 15 (entre le coucher du soleil, où il a commencé à devenir évident qu'il restait brillant, et environ 1h du matin), s'ils ne regardaient pas uniquement vers la tour Eiffel. Il s'agit de nuages qui se forment dans la mésosphère, c'est-à-dire très très haut au-dessus des nuages « ordinaires », et qui restent donc éclairés par le soleil bien longtemps après que celui-ci a cessé d'être visible au niveau du sol. Au début je l'ai pris pour un front de cirrus, surtout qu'on était en fin d'un temps un peu agité — mais comme il restait visible alors que le ciel était bien noir, mon poussinet et moi avons commencé à soupçonner un nuage noctulescent. En comparant avec des photos trouvées sur le Web, il n'y a guère de doute. C'est la première fois que j'en voyais un (ou en tout cas, que je le remarquais). La photo ci-dessus[#], prise par le poussinet sur son téléphone, est évidemment mauvaise et ne rend absolument pas justice à la texture éthérée du nuage. Le même nuage était visible d'Amiens en même temps (ce qui donne une idée de sa hauteur !). Sinon, il semble qu'un nuage noctulescent ait été visible en Normandie il y a dix jours : encore le même, j'imagine, mais je n'ai aucune idée de comment ils se déplacent ni de combien ils durent.

Cette page a des photos d'un certain nombre de phénomènes néphélologiques (?) amusants.

[#] La rue dont on voit les lumières en bas est la rue Gay-Lussac, vers le nord-nord-est.

2009-07-14 (mardi)

C'est décidé…

…aujourd'hui je n'irai pas à la garden-party de l'Élysée.

2009-07-12 (dimanche)

Fragment littéraire gratuit #122 (correspondances)

Ce qui me frappait le plus dans sa conversation était sa manie de mettre en avant avec un aplomb inébranlable les analogies les plus incongrues. Il était capable de dresser des parallèles — il préférait parler de correspondances — entre les choses les plus étonnantes, et de les défendre avec un sérieux, que je savais complètement feint, d'autant plus obstiné que son exemple s'y prêtait mal. Un des termes de la comparaison était souvent religieux ou ésotérique, ce qui était cocasse quand on savait Damien viscéralement athée et matérialiste : il m'avait ainsi expliqué sans un sourire que la sécurité informatique suivait des règles formellement équivalentes à celles de la cacherout alimentaire juive (je n'arrive malheureusement plus à retrouver quel était son argument). Après que j'avais soutenu ma thèse, il m'avait félicité pour mon ordination : et quand j'ai demandé ingénument si le choix de ce terme était réfléchi, il m'avait longuement détaillé pourquoi il voyait dans la collation des grades universitaires un reflet des sacrements catholiques, et dans la généalogie doctorale et académique — c'est-à-dire la recherche des lignées d'élève à professeur qu'on tente de faire remonter à des ancêtres illustres — une démarche de justification par filiation complètement identique à celle de l'Église qui fait valoir sa succession apostolique. Encore une autre fois, il m'avait expliqué pourquoi la hiérarchie positiviste des sciences (Damien avait les œuvres complètes de Comte en bonne place dans sa bibliothèque) était en fait, ironiquement, une traduction de la disposition kabbalistique des séphirots sur l'arbre de vie — les mathématiques jouant le rôle de Kheter, l'astronomie celui de Hokhmah et ainsi de suite jusqu'à la sociologie qui prenait la place de Malkhut. Si jamais j'osais me plaindre que son talent pour trouver les correspondances les plus invraisemblables s'aventurait un peu trop loin, il me rétorquait que Poncelet n'aurait jamais inventé la géométrie projective s'il avait refusé que les points et les droites pussent jouer des rôles analogues, ni de Broglie la dualité onde-corpuscule s'il avait eu des réticences semblables. Et il ne rechignait pour sa part pas à faire des comparaisons entre comparaisons afin d'avoir toujours, comme il aimait le revendiquer, un méta d'avance.

2009-07-10 (vendredi)

Fin des concours

Revenant chaque année avec la régularité des migrations des manchots sur l'Antarctique[#], c'est la fin des concours. Aujourd'hui, mon beauf (c'est-à-dire, le petit frère de mon poussinet) a été reçu à l'ENS (par le concours lettres), donc vous avez le droit de crier gnagnagna sérail gnagnagna capital culturel gnagnagna déterminisme social gnagnagna Bourdieu gnagnagna[#2].

Pour ma part j'ai (essentiellement) fini mon travail d'interrogateur. J'aurai appris un certain nombre de résultats mathématiques intéressants — pas tellement dans les dossiers que j'ai eu à évaluer mais plutôt dans les lectures que j'ai faites pour me renseigner sur les sujets pour pouvoir poser des questions un peu intelligentes. Je ne sais pas si les candidats se rendent compte que l'épreuve est aussi angoissante pour les examinateurs : la peur, notamment, de poser une question fausse ou beaucoup plus longue ou difficile que prévue (ou qu'on ne sache pas nous-mêmes résoudre parce que l'idée qu'on avait en tête ne marche pas, ou pour une autre raison), ou, évidemment, de passer pour des guignols. :-)

Les résultats des concours maths et info seront communiqués jeudi. Leur communication sera suivie d'un pot, et peut-être — sait-on jamais — d'une matérialisation de Madame la Directrice depuis le plan astral.

[#] Cette comparaison gratuite et non sequitur vous était offerte avec les compliments du département David est complètement crevé et a les idées assez peu cohérentes.

[#2] Le remplissage des gnagnagna est laissé en exercice au lecteur, moi je suis trop fatigué pour ça. (Prochainement sur ce blog, l'entrée à remplir vous-mêmes.)

2009-07-06 (lundi)

5 courts métrages contre l'homophobie

Je n'aime pas écrire des entrées qui ne sont qu'un lien vers ailleurs, mais j'ai beaucoup aimé ces courts-métrages[#] qu'on vient de me signaler. J'aime particulièrement le dernier, En colo.

(Mon poussinet me dit que je vais sûrement faire remarquer qu'il y a plein de garçons mignons, en plus. Meuhnon, je ne vais… Hein, comment ça, la prétérition m'a tuer ?)

[#] Je fais un lien vers gayclic.com plutôt que vers le site de Canal+ directement, parce que je ne vois pas comment autrement faire un lien vers la collection des cinq.

2009-07-05 (dimanche)

Expérience avec un téléphone Android

Je disais récemment que je m'étais acheté un Android Developer Phone, c'est-à-dire essentiellement un HTC Dream (pour remplacer un HTC Touch donné par mon père, lui-même en remplacement d'un vieux Sagem my C-4 dont la touche flèche haut ne marchait plus). J'ai promis de dire ce que j'en pensais : voici quelques réflexions, donc, du point de vue de l'utilisateur lambda et aussi du geek.

Qu'est-ce qu'Android ?

Quelques mots sur le concept, d'abord. Android, c'est une plate-forme logicielle de téléphonie mobile écrite par un consortium industriel qui s'appelle Open Handset Alliance et qui en fait est surtout piloté par Google. Il existe à l'heure actuelle essentiellement deux téléphones sous cette plate-forme : le HTC Dream, également connu sous le nom de G1 (surtout tel que vendu par l'opérateur T-Mobile) et dont le Android Developer Phone est une variante, et le HTC Magic (quasiment identique, mais sans clavier, avec une autonomie meilleure et quelques petites différences sans importance). En France, le HTC Dream est principalement vendu lié à des abonnements de l'opérateur Orange, et le HTC Magic à des abonnements SFR.

La plate-forme Android se défend d'être concurrente de l'iPhone d'Apple, elle prétend que son but est différent ; mais ne peut pas éviter la comparaison (et de fait, celle-ci a été menée ad nauseam), d'autant plus que beaucoup de fonctionnalités des téléphones ou de l'OS invitent à cette comparaison : 3G, écran tactile, GPS, accéléromètre et appareil photo intégrés, importance donnée aux applications et leur achat par un marché aux applications ou application store, etc. Le principe qu'Android revendique, en revanche, c'est d'être ouverte (ouverte au sens des logiciels libres et des standards ouverts), et même si je vais expliquer ce qu'il faut mettre comme bémols à ça, en gros, le système lui-même est open source et ses interfaces sont publiques. Ce qui est sûr, c'est que contrairement à l'iPhone, sur lequel on ne peut en principe installer que des applications autorisées par Apple[#], Android permet à son utilisateur d'installer des applications qui ne viennent pas du Android Market (il faut juste cocher une case qui dit qu'on est conscient que c'est une Mauvaise Idée et qu'on ne se plaindra pas si des démons se mettent à voler à travers notre nez). Si l'iPhone tourne sur ce qui est essentiellement une version minimaliste de Mac OS X et se programme en Objective C, Android utilise le noyau Linux (ce qui ne signifie pas qu'il ait grand-chose d'autre en commun avec les Linux de bureau auxquels on est peut-être plus habitué) et les applications sont écrites dans un sous-ensemble de Java.

En quoi est-elle ouverte ?

Que la plate-forme Android soit ouverte ne signifie pas que les téléphones le soient tous (c'est là ce que je vois comme une sorte de première arnaque sur le mot ouvert) : si vous achetez un HTC Magic chez SFR (essentiellement ce que mon poussinet a fait), vous avez un téléphone sous Linux mais vous n'êtes pas root dessus — autrement dit, vous n'avez pas un contrôle complet dessus. C'est sans doute normal dans l'idée de verrouiller le téléphone à une carte SIM ou à un opérateur (ce qui se fait à peu près toujours quand on l'achète avec un abonnement), mais je soupçonne très fortement que, passés les six mois réglementaires, l'opérateur vous donnera un code pour déSIMlocker le téléphone et pas pour passer root. Il doit aussi y avoir une volonté des opérateurs d'empêcher les gens d'utiliser leurs téléphones comme un modem 3G/EDGE/GPRS (pour pouvoir leur vendre des clés 3G séparément), ce qui implique évidemment de garder un certain contrôle sur le téléphone aux dépens de son propriétaire.

C'est pour ça que j'ai acheté un Android Developer Phone : c'est, justement, un téléphone sous Android et qui n'est pas du tout verrouillé — par exemple, on peut installer une nouvelle version d'Android sans qu'elle ait été signée (ou, du coup, quelque chose qui serait complètement différent d'Android, si on veut), chose qu'on ne peut pas faire sur un téléphone verrouillé. Même si je n'ai pas spécialement l'intention de modifier l'OS lui-même, comme je n'aime pas tellement l'idée que quelqu'un d'autre que moi contrôle mieux que moi ce qui se passe sur mon téléphone (ou ordinateur, ou n'importe quoi de ce genre), j'ai trouvé que ça valait la peine d'acheter un tel developer phone. (Il y a aussi, bien sûr, que je n'ai aucune sorte de point de fidélité chez un opérateur me permettant d'avoir un téléphone moins cher.) Je l'ai dit dans l'entrée précédente, le cours du dollar est assez bas par rapport à l'euro pour que, de toute façon, ce soit rentable[#2] ; et en plus, comme ça, j'ai un clavier qwerty, ce qui me plaît bien.

Ensuite, il faut voir que même si le téléphone est libre et n'est pas vraiment lié à Google de la même façon qu'un iPhone pourrait être lié à Apple, tout est quand même fait en sorte qu'il soit très (très) très fortement recommandé à l'utilisateur d'avoir un compte Google. Essentiellement la première chose qu'il fait quand on l'allume, en fait, après avoir demandé votre code PIN pour déverrouiller la carte SIM, c'est de vous prier de créer un compte Google ou vous logguer dessus, et il ne vous laisse pas aller plus loin sinon. (Et si on ne peut pas ou ne veut pas utiliser son abonnement téléphonique à ce stade-là, comme il refuse d'utiliser le Wifi pour ce premier enregistrement, on se sent un peu idiot.) En fait, on peut contourner la chose de différentes manières, y compris en mettant à jour Android[#3], mais c'est tout de même un début caractéristique. De même, le téléphone va avoir très fortement envie de synchroniser vos données de contacts avec votre compte Google : on peut le lui interdire, mais il faut y penser. (Évidemment, certains verront ça comme une feature intéressante, d'avoir un calendrier synchronisé avec les Google apps : personnellement je trouve l'idée plutôt irritante.) Et l'attitude désagréablement control freak de Google continue avec le marché aux applications : même s'ils sont loin d'être aussi possessifs d'Apple sur la plate-forme elle-même (comme je l'ai expliqué, on peut très bien installer ce qu'on veut sur son Android sans passer par ce marché), on constate quand même que le site Web du marché ne permet pas de télécharger quoi que ce soit, il faut passer par une application sur le téléphone (qui, pour sa part, n'est pas du tout open source !) ; du coup, comme les fonctions de recherche de ce truc sont nullissimes (et indignes de Google !), il est difficile d'avoir une vision claire des applications qui existent sous Android ; impossible, aussi, de savoir lesquelles sont elles-mêmes open source (on peut rechercher les applications gratuites, mais pas celles dont le code source est disponible).

Concernant le source du système lui-même, il est publiquement disponible (sous licence Apache), mais je n'ai pas encore bien réussi à comprendre ce qu'il recouvre exactement. (Par exemple, j'ai cherché la liste des mots du dictionnaire des complétions parce que j'envisageais de me compiler un dictionnaire mélangeant français et anglais, et je ne l'ai pas trouvée : je ne sais pas si c'est que j'ai mal cherché ou que le dictionnaire est ailleurs, ou qu'il n'est pas fourni dans les sources.) Disons qu'il y a assurément pas mal de choses, mais probablement pas tout, et certainement pas des choses comme le firmware radio (ne rêvons pas !).

Pour autant, si on exclut des trucs ésotériques ou vaporwaresques comme Openmoko, Android — sur un developer phone en tout cas — est indiscutablement ce qu'on peut avoir de plus ouvert et libre comme modèle de téléphone sur le marché actuellement. Je m'en contente donc.

Le matériel

Parlons un peu du téléphone lui-même.

D'abord, il y a l'écran tactile. Si je comprends bien, il existe essentiellement deux technologies d'écrans tactiles : les résistifs, qui réagissent à la pression, et les capacitifs, qui réagissent à la conductivité du doigt. Les résistifs sont moins précis quand on les utilise avec le doigt, mais on peut se servir d'un stylet : le HTC Touch que j'ai utilisé brièvement était de cette sorte, et je dois dire que j'aimais bien le stylet (qui se logeait commodément dans un coin du mobile). Le nouveau HTC Dream dont je parle, comme l'iPhone, a pour sa part un écran tactile capacitif : je n'aime pas trop ça, parce qu'on ne peut pas utiliser de stylet (ou alors il faudrait un stylet conducteur, et par ailleurs ils n'ont pas prévu d'endroit où en ranger un), et avec les doigts on laisse de vilaines traces de graisse partout. Surtout qu'on utilise tout le temps des défilements sur toute la largeur de l'écran : du coup, il faut régulièrement passer un chiffon, je trouve ça assez idiot. Je ne comprends pas ce choix : les écrans résistifs me paraissaient bien mieux (et c'est une des très rares choses que je préférais sur le HTC Touch) — mais j'imagine que beaucoup de gens préfèrent les capacitifs sinon Apple n'aurait pas choisi ça pour l'iPhone. À part le problème des dépôts de graisse, d'ailleurs, je peux me plaindre que je ne trouve pas les écrans tactiles terriblement agréables à utiliser (parfois on les touche sans le vouloir, parfois au contraire on les lâche sans le vouloir).

On peut aussi utiliser le téléphone avec une sorte de petite trackball située en bas de l'écran, mais d'une part c'est malpratique et d'autre part elle n'a pas l'air de permettre de tout faire (dans l'application calculatrice, par exemple, je ne sais pas activer les touches avec la trackball seule). Sinon, il y a cinq touches en bas du téléphone pour accéder à des fonctions essentielles (décrocher, raccrocher/éteindre, revenir à l'écran de base, revenir à l'écran précédent, et appeler un menu contextuel) ; le HTC Magic a aussi une touche de recherche (pas très utile, je pense), mais le Dream a, de toute façon, un clavier 48 touches caché derrière l'écran qui contient notamment cette touche : on peut évidemment toujours se dispenser d'utiliser ce clavier et utiliser l'écran tactile à la place (en revanche, les cinq boutons de fonctions essentielles n'ont pas d'équivalent sur l'écran tactile).

L'appareil dans son ensemble est très encombrant. Autant le HTC Magic (je peux juger parce que mon poussinet en a un) est d'une taille tout à fait acceptable, autant la présence du clavier escamotable du Dream le rend beaucoup plus épais, ce qui est gênant. D'un autre côté, l'existence d'un vrai clavier n'est pas sans intérêt pour, par exemple, taper des SMS.

Je ne peux pas trop juger de la qualité des antennes GSM/UMTS, Wifi ou GPS : je constate juste, empiriquement, que je capte le réseau GSM à des endroits (du genre, sous-sols) où je ne captais pas avec mon vieux téléphone, que pour le Wifi je n'ai eu aucun problème particulier, et que pour le GPS il semble obtenir plus facilement les éphémérides des satellites qu'avec mon GPS Garmin : mais ces impressions n'ont aucune valeur scientifique. Je n'ai pas non plus grand-chose à dire sur les écouteurs fournis (je n'écoute jamais de musique hors de chez moi, donc la fonction baladeur numérique du téléphone m'intéresse extrêmement peu ; sinon, comme oreillette pour téléphoner, bah, ça fonctionne). Il paraît qu'on peut connecter une oreillette par Bluetooth, je n'ai pas essayé.

L'appareil photo intégré est assez mauvais : pour l'instant, toutes les photos que j'ai prises sont floues (d'un autre côté, quand on voit la facilité avec laquelle on met ses doigts plein de graisse sur l'objectif, ça ne m'étonne pas tant que ça). Il y a un autofocus, mais pas de zoom optique, et évidemment pas de flash. Mais bon, à vrai dire, l'utilité d'avoir un appareil photo dans un téléphone ne m'a jamais semblé fulgurante.

Au niveau stockage externe, il y a un compartiment pour une puce micro-SD : le developer phone vient avec une de 1Go, ce qui me semble amplement suffisant. En revanche, il faut dire que beaucoup de choses, notamment justement le compartiment à micro-SD et le cache qui protège le port USB, et peut-être de façon plus gênante la connexion entre le clavier escamotable et l'écran, sont des petits bouts de plastique qui ont l'air de crier très fort coucou, j'ai l'intention de me casser dans les cinq prochains jours. On verra bien. Je n'ai pas encore acheté de housse protectrice adaptée au HTC Dream (en attendant, je continue à utiliser celle du HTC Touch, qui est trop petite).

Enfin, la batterie du developer phone est complètement nulle. Je ne sais pas si c'est aussi le cas de celles vendues avec les HTC Dream et Magic dans le commerce. Ça ne me gêne pas outre mesure de recharger mon téléphone une nuit sur deux (surtout que de toute façon je le branche très souvent par USB pour faire joujou avec depuis l'ordinateur), mais, comme je le disais, le petit cache en plastique qui protège le port USB, je crois qu'il ne tiendra pas longtemps.

Je devrais aussi signaler que, ce matin, le téléphone refusait de fonctionner ou de s'allumer : je me suis dit que la batterie s'était déchargée, mais brancher un câble pour la recharger ne produisait aucun effet. Par contre, enlever la batterie et la replacer a fonctionné : et elle prétendait être toujours chargée à peu près complètement, donc ce n'était pas qu'elle était déchargée, plutôt un faux contact ou un plantage de très bas niveau. Dans les deux cas ça inspire assez peu confiance.

L'interface

Déjà, soulignons que ceux qui veulent tester à quoi ressemble l'interface utilisateur d'Android peuvent le faire en utilisant un émulateur qui est fourni avec le SDK : sur un Intel sous un Linux, par exemple, il vous suffit de décompacter le fichier android-sdk-linux_x86-1.5_r2.zip fourni, ajouter .../android-sdk-linux_x86-1.5_r2/tools dans votre $PATH, puis lancer android create avd -t 3 -n Test (une seule fois, pour créer un téléphone virtuel appelé Test) et ensuite emulator -avd Test (pour démarrer ce téléphone virtuel). C'est très lent (beaucoup plus qu'un vrai téléphone même sur une machine raisonnablement puissante : il faut croire que l'émulation ARM sur Intel n'est pas terrible), et l'environnement logiciel n'est pas exactement identique à ce qu'on trouvera sur un vrai téléphone[#4], mais ça permet de se faire une idée. Évidemment, ce truc est prévu pour permettre de tester les applications qu'on développerait pour Android, pas vraiment pour jouer avec le téléphone, et évidemment on ne pourra pas passer de coups de fil ou quoi que ce soit (si on le fait, il prétend que l'interlocuteur décroche mais reste silencieux), donc l'expérience est limitée. Mais par exemple on peut regarder comment fonctionne le navigateur Web (qui, lui, fonctionnera si la machine hôte a une connexion réseau : c'est la magie de Qemu).

Globalement, je trouve l'interface assez agréable et ergonomique : c'est visuellement joli, on comprend assez bien ce que font les choses proposées, et une fois qu'on a commencé à s'en servir on arrive à faire rapidement ce qu'on veut. Il est vrai que je n'ai guère d'expérience avec des téléphones modernes pour pouvoir comparer, mais j'ai l'impression que le tout est assez bien pensé.

L'écran de base (home), auquel on accède en appuyant sur la touche dont l'icône est une maison, est un triptyque : normalement on en voit la partie centrale, mais il y a un bout à gauche et un bout à droite où on peut aller en faisant défiler avec le doigt dans un sens ou dans l'autre. C'est la partie la plus facilement personnalisable : en changeant l'image de fond, bien sûr, mais aussi en garnissant cette page de racourcis vers les applications ou les contacts dont on a le plus souvent besoin, ou encore avec quelques widgets disponibles pour l'agrémenter (comme une horloge analogique qui a quelque chose de sympathiquement surréaliste). Cet écran de base contribue beaucoup à l'ergonomie de l'interface. En-dessous, on a un onglet qui permet d'accéder aux applications, et sinon la touche menu permet d'effectuer des réglages et paramétrages.

Une autre chose très agréable, c'est le système de notifications : quand une application veut signaler quelque chose à l'utilisateur (par exemple un SMS reçu, un appel manqué, que sais-je), elle inscrit une notification dans la liste des messages qu'on peut dérouler de façon très commode depuis le haut de l'écran (la barre d'état, où l'application fera aussi afficher une petite icône). Et quand on touche la notification, on accède immédiatement à l'application qui l'a envoyée. C'est vraiment commode et intuitif.

Ce que je reprocherai principalement à l'interface, c'est un certain manque de cohérence ; par exemple, parfois la touche entrée sur le clavier confirme une sélection et parfois elle passe juste le curseur à la ligne ; la touche retour annule généralement ce qu'on faisait, mais quand on modifie un contact elle enregistre les modifications (il faut cliquer sur le bouton cancel en bas de l'écran pour annuler) ; parfois un clavier apparaît sur l'écran dès qu'on est dans un champ où on peut entrer du texte, mais pas systématiquement (parfois on peut en faire apparaître un en gardant longtemps la touche menu appuyée, mais parfois il faut sélectionner quelque chose avec la trackball ou encore autre chose). Parfois cliquer longuement sur quelque chose fait apparaître une sorte de menu conceptuel — mais parfois pas, alors qu'on l'attendrait.

De même, le concept d'application qui tourne en tâche de fond (=arrière-plan), qui est pourtant souvent signalé comme un avantage d'Android sur l'iPhone, est un peu perturbant : on ne sait pas exactement ce qui tourne comme ça, ni ce que les applications ont le droit de faire quand elles y sont, ni dans quelle mesure relancer l'application va faire revenir ce qui était en arrière-plan ou quoi. Par exemple, si je lance le navigateur sur une page qui demande à être rafraîchie périodiquement, et que je reviens à l'écran de base, le navigateur est-il fermé ? la page continue-t-elle à être rafraîchie régulièrement ? je n'en sais rien et ce n'est pas clair (et c'est une question passablement importante quand on n'a pas un forfait Internet illimité !). Comme je remarque que mettre en arrière-plan une application GPS fait disparaître l'icône indiquant l'activité du GPS, j'imagine qu'elle n'a plus le droit de s'en servir quand elle est en tâche de fond, mais j'aimerais en savoir plus.

Pour donner un exemple plus précis sur ce que je pense de l'interface, je peux évoquer l'application qui fait la gestion des contacts (c'est une de celles qui viennent avec le système, évidemment). Globalement je la trouve très agréable : la liste des derniers appels passés est clairement et lisiblement présentée, on accède rapidement à la liste de tous les contacts triés par ordre alphabétique (où faire une recherche est très simple), ou bien aux numéros les plus souvent appelés et/ou marqués comme contacts importants. On peut éditer les contacts pour mettre, par exemple, une petite photo de la personne ou une sonnerie particulière, ou ajouter une note ou enregistrer une adresse postale, ce genre de choses. (Je me doute bien qu'à peu près tous les téléphones permettent maintenant ça.) Et si on n'interdit pas au téléphone de le faire, toutes ces informations seront synchronisés avec son compte Google associé. Mais il y a quelques désagréments : pas de vrais groupes de contacts (ou alors il faut passer par le compte Google, justement), donc pas de façon commode, par exemple, de changer la sonnerie affectée à tous ses amis (et d'ailleurs, pour commencer, pas de façon d'affecter une sonnerie à tous les contacts connus). Pas non plus de façon de copier une photo d'un contact à un autre (il faut reprendre la photo dont on est parti, et refaire une sélection dessus — pour les maniaques comme moi qui voudraient exactement la même photo sur deux contacts, c'est irritant).

Quand on passe un coup de fil, faire apparaître le pavé permettant de taper des chiffres (ce qui est utile quand on parle à un serveur vocal) n'est pas aussi facile qu'on pourrait le vouloir (d'un autre côté, c'est un peu une fatalité avec les téléphones à écran tactile : si on met l'écran tactile contre sa joue, on risque effectivement de taper dessus involontairement). Quand on envoie des SMS, il ne semble pas y avoir moyen de faire en sorte qu'il demande confirmation avant d'envoyer (j'aime bien être forcé de me relire avant l'envoi) ; en revanche, la présentation de l'historique des SMS échangés avec une personne, comme un fil de discussion, est plutôt agréable.

Au final, je pense que l'utilisation du téléphone est suffisamment naturelle et intuitive pour qu'on puisse recommander Android aux gens pas du tout geeks ou tech-savvy — ma maman, par exemple. (En revanche, ils auront peut-être besoin de quelques explications sur les principes de tarification de leur opérateur pour les connexions de données, et sur la différence entre les réseaux 3G, EDGE et GPRS — ceci, évidemment, n'a rien à voir avec Android spécifiquement.)

Les applications

Le téléphone vient avec quelques applications basiques : outre, évidemment, celle qui permet de téléphoner, la gestion des contacts et celle des messages (genre SMS) et les préférences système, il y a de quoi prendre des photos et des vidéos, un baladeur musical, un tout petit truc de gestion des photos, un navigateur web, un logiciel de mail, une calculatrice, un réveil, un calendrier (synchronisable avec celui du compte Google). Et bien sûr, comme Google est Google, une application pour consulter Google maps (en se positionnant au GPS), une autre pour regarder YouTube, une pour utiliser Gmail, une pour Google Talk, et évidemment l'application de marché aux applications. Je dois encore oublier une ou deux applications pour composer un numéro de téléphone ou faire une recherche Google avec la voix (le genre de gadgets qui fait vraiment — euh, gadget, justement). Par contre, il n'y a pas d'éditeur de texte ni de gestionnaire de fichiers, ce qui est tout de même dommage (on en trouve plein sur le marché, mais je soupçonne très fortement qu'ils sont mal intégrés à la plate-forme dans son ensemble).

Le marché aux applications est un joyeux bordel, presque pas trié, et les possibilités de recherche sont nulles. (Imaginez une sorte de YouTube avec douze applications lampe de poche — ce qui doit juste vouloir dire que l'écran devient blanc — et cinquante calculatrices, et tout ça avec juste une fonction de recherche basique, par mots.) J'ai déjà signalé qu'on ne pouvait essentiellement pas y accéder depuis un navigateur web normal (autrement que depuis un téléphone, quoi), même pas pour faire des recherches, ce qui est tout de même indiciblement crétin. J'ai aussi déjà signalé qu'il n'y avait pas moyen de rechercher les applications open source — or c'est un des critères qui me paraissent les plus importants parce que je veux avoir autant que possible l'option de corriger les choses qui m'agaceront dans les applications que j'utiliserai (je ne veux pas risquer de commencer à utiliser un truc que je trouverai bien et me rendre compte ensuite qu'il a un défaut qui m'agace et être dans l'impossibilité de le réparer). Finalement, pour chercher des applications open source, il vaut mieux chercher autrement.

Pour l'instant, je n'ai quasiment rien installé : juste un client SSH (ConnectBot), deux-trois application de démonstration qui venaient avec le SDK (une pour prendre des notes très simples, et un jeu de snake minimaliste) et une seule application téléchargée avec le marché, un truc qui sert à afficher l'état du GPS et la position des satellites. Il y a quelques choses que j'aurais éventuellement envie de coder moi-même, comme une gestion des contacts un peu moins primitive, ou une calculatrice polonaise inversée (quelqu'un avait déjà tenté ça, mais ça n'a plus l'air de compiler).

Les geekitudes

Le SDK Android contient un programme appelé adb (pour Android Debug Bridge) qui est une sorte de couteau suisse permettant de faire un nombre incroyable de choses avec le téléphone (via un câble USB, a priori ; mais le même pogramme permet de faire des choses avec des téléphones virtuels tournant dans l'émulateur). À commencer par obtenir un shell. Sur un téléphone non developer, ce shell ne permettra pas de faire grand-chose, parce qu'il n'y a à peu près rien d'installer et qu'on ne peut pas passer root. Sur mon developer phone, je peux accéder, par exemple, aux bases de données SQLite utilisées par les différentes applications. Je m'en suis notamment servi pour faire quelques modifications dans mes contacts qui étaient plus commodes en SQL qu'en passant par l'application normale (comme changer la sonnerie de tous ceux qui avaient une certaine sonnerie, ou donner à deux contacts exactement la même photo) ; bien sûr, j'aurais aussi pu écrire une application pour ça (ça m'aurait évité d'angoisser sur la façon dont SQLite gérerait les accès concurrents ou comment ça interagirait avec la synchronisation Google). Il semble qu'il y ait aussi moyen d'utiliser adb pour fournir un accès réseau au téléphone depuis un ordinateur, ou bien le contraire ; mais je n'ai pas vérifié.

Je n'ai pas encore essayé de coder quoi que ce soit (à part trivialement compiler des choses déjà écrites et les mettre sur le téléphone pour voir si elles tournaient), mais il semble que ce soit plutôt agréable (et les gens d'Ubuntu travaillent à rendre la chose encore plus agréable pour les Linuxiens). Pour en savoir plus sur la plate-forme en général, du point de vue du développeur et des choix techniques (comme la raison d'utiliser Dalvik plutôt qu'une JVM plus standard, ou le système de message-passing), cet article n'est pas mal.

Dans le genre petit détail bizarre, je peux remarquer que bien que l'appareil incorpore un GPS, il n'a pas l'air capable de se mettre à l'heure par GPS : c'est assez absurde, parce que c'est la source de temps la plus précise imaginable à moins d'avoir une horloge atomique (c'est un peu encombrant donc je ne crois pas qu'on aura ça dans des téléphones trop rapidement). Il est capable de prendre l'heure par le réseau 3G, en revanche, mais d'une part ce n'est pas très précis (j'ai observé quelques secondes de retard sur le réseau Bouygues, ce qui est certes assez acceptable pour quelqu'un qui n'est pas comme moi un maniaque de l'heure exacte) et d'autre part, surtout, ce n'est pas toujours dispoanible (mon poussinet chez SFR n'a pas encore accès à la 3G pour des raisons un peu compliquées, et son téléphone ne se met pas à l'heure). De même, quand on a accès à un Wifi, le téléphone ne va pas interroger NTP — mais là c'est plus raisonnable que de ne pas interroger le GPS.


Un mot sur les réseaux de données

Ce qui suit n'a rien à voir avec Android spécifiquement, mais comme je trouve que c'est globalement mal expliqué partout, je vais en dire un mot (tout se trouve sur Wikipédia, évidemment, mais sur Wikipédia il y a comme souvent trop d'information, de sorte qu'on ne sait plus très bien ce qui est pertinent et ce qui ne l'est pas). Le réseau de base de téléphonie mobile déployé actuellement s'appelle le GSM, ou réseau 2G au sens strict : il sert à véhiculer des communications vocales (et des SMS, en utilisant un mécanisme initialement prévu pour des messages d'infrastructure). Pour faire passer des données sur du GSM (donc, typiquement, pour avoir un accès Internet), il faut utiliser une connexion de type CSD qui, en gros, fonctionne en passant un vrai appel vers un numéro spécial ; on n'obtient ainsi qu'un débit de 9.6kbit/s, ce qui est franchement mauvais (pour comparaison, les modems RTC sur lignes fixes fonctionnent normalement en 56kbit/s), et de surcroît la communication sera souvent facturée au temps plutôt qu'aux données transférées (donc on ne veut pas resté connecté en permanence !). En général, les connexions de données qu'on se retrouve à utiliser quand on accède à Internet depuis un téléphone sont plutôt sur les protocoles GPRS (=2.5G), EDGE (=2.75G) et, si on a un téléphone et une carte SIM compatibles 3G, UMTS (=3G) voire HSDPA (=3.5G), HSUPA (=3.75G) et compagnie. Ces réseaux sont en ordre de débit croissant (à partir de 56kbit/s pour GPRS et jusqu'à dans les 21Mbit/s pour UMTS) mais, du coup, aussi, de portée et de disponibilité décroissantes. Les connexions GPRS et EDGE sont des extensions du GSM en ce sens qu'elles utilisent les mêmes fréquence, alors que les réseaux 3G utilisent des fréquences différentes. Du point de vue de l'utilisateur, tout est assez transparent : il faut simplement donner au téléphone un identifiant — l'APN — permettant de se connecter au bon réseau de données (par exemple, pour Bouygues en France c'est ebouygtel.com), et le téléphone sélectionnera le meilleur protocole disponible. Quelques gags sont possibles, cependant : par exemple, il faut bien vérifier que l'opérateur ne facture les connexions de données GPRS/EDGE/3G qu'aux données transférées et pas à la connexion, sinon il va y avoir un gros souci avec un téléphone qui se connecte et se déconnecte sans arrêt (je pense que tous les opérateurs facturent bien au volume de données dans les formules standard, mais mon poussinet a conservé une formule très ancienne chez SFR qui facture à la connexion, donc en attendant d'en changer il doit interdire à son téléphone l'accès aux connexions de données). Une autre chose que mon poussinet a remarquée est que SFR n'a pas déployé le protocole EDGE dans les zones de couverture 3G : donc faute d'abonnement ou de carte SIM compatible 3G, il n'obtient que le débit GPRS dans ces zones, ce qui est assez absurde.


Notes

[#] C'est évidemment contournable, mais pas forcément facilement, et ça peut poser des problèmes (voire, être interdit depuis que les lois délirantes sur la propriété intellectuelle ont fait qu'on n'est plus propriétaire de ce qu'on achète). Sinon, le choix fait par Apple des applications autorisées ou non est assez incohérent parce qu'ils sont complètement submergés par les candidatures (normal, ils ont quelque chose comme 35000 applications acceptées, et sans doute largement plus ont été refusées) : par exemple, ils avaient refusé une application permettant de lire les livres du projet Gutenberg sous prétexte que ce projet contenait une copie du Kāma-Sūtra ; cette application a fini par être acceptée, mais la façon dont son développeur en raconte la saga est intéressante.

[#2] Comptez quand même, par rapport au tarif annoncé de $399, quelque chose comme $45 pour la livraison et $95 pour les frais de douane. Plus les $25 (je crois) préalables pour avoir le droit de se dire développeur Android.

[#3] Le developer phone vient avec un Android 1.0 préinstallé : une des premières choses à faire, donc, est de passer à la 1.5.

[#4] Peut-être, justement, que l'émulateur n'a que ce qui est strictement open source (en tout cas, il n'a pas l'application du marché aux applications, et je remarque qu'il a une seule sonnerie, qu'il n'a pas de dictionnaire de mots…).

Entries by month / Entrées par mois:

2010JanFebMarAprMayJunJulAugSep
2009JanFebMarAprMayJunJulAugSepOctNovDec
2008JanFebMarAprMayJunJulAugSepOctNovDec
2007JanFebMarAprMayJunJulAugSepOctNovDec
2006JanFebMarAprMayJunJulAugSepOctNovDec
2005JanFebMarAprMayJunJulAugSepOctNovDec
2004JanFebMarAprMayJunJulAugSepOctNovDec
2003MayJunJulAugSepOctNovDec

David Madore (david+www[at sign]madore[dot]org)