Vous êtes sur le blog de David Madore, qui, comme le
reste de ce site web, parle de tout et
de n'importe quoi (surtout de n'importe quoi, en fait),
des maths à
la moto et ma vie quotidienne, en passant
par les langues,
la politique,
la philo de comptoir, la géographie, et
beaucoup de râleries sur le fait que les ordinateurs ne marchent pas,
ainsi que d'occasionnels rappels du fait que
je préfère les garçons, et des
petites fictions volontairement fragmentaires que je publie sous le
nom collectif de fragments littéraires
gratuits. • Ce blog eut été bilingue à ses débuts (certaines
entrées étaient en anglais, d'autres en français, et quelques unes
traduites dans les deux langues) ; il est
maintenant presque exclusivement en
français, mais je ne m'interdis pas d'écrire en anglais à
l'occasion. • Pour naviguer, sachez que les entrées sont listées par
ordre chronologique inverse (i.e., celle écrite en dernier est en
haut). Cette page-ci rassemble les dernières
20 entrées (avec un lien, à la fin,
pour les plus anciennes) : il y a aussi un tableau par mois à la fin
de cette page, et un index de toutes
les entrées. Certaines de mes entrées sont rangées dans une ou
plusieurs « catégories » (indiqués à la fin de l'entrée elle-même),
mais ce système de rangement n'est pas très cohérent. Le permalien de
chaque entrée est dans la date, et il est aussi rappelé avant et après
le texte de l'entrée elle-même.
You are on David Madore's blog which, like the rest of this web
site, is about everything and
anything (mostly anything, really),
from math
to motorcycling and my daily life, but
also languages, politics,
amateur(ish) philosophy, geography, lots of
ranting about the fact that computers don't work, occasional reminders
of the fact that I prefer men, and
some voluntarily fragmentary fictions that I publish under the
collective name of gratuitous literary
fragments. • This blog used to be bilingual at its beginning
(some entries were in English, others in French, and a few translated
in both languages); it is now almost
exclusively in French, but I'm not ruling out writing English blog
entries in the future. • To navigate, note that the entries are listed
in reverse chronological order (i.e., the latest written is on top).
This page lists the 20 latest (with a
link, at the end, to older entries): there is also a table of months
at the end of this page, and
an index of all entries. Some
entries are classified into one or more “categories” (indicated at the
end of the entry itself), but this organization isn't very coherent.
The permalink of each entry is in its date, and it is also reproduced
before and after the text of the entry itself.
Un thème dont j'ai parlé à plusieurs reprises sur ce blog,
notamment dans ce billet
et celui-là est celui de l'idée,
idée qui à mon avis est un mythe, selon laquelle le succès, dans à peu
près n'importe quel domaine impliquant une forme
de popularité (de celui d'une chanson à celui d'une
entreprise commerciale en passant par le caractère viral d'un message
sur les réseaux sociaux), serait dû à des caractéristiques
① objectives ou mesurables et/ou ② prévisibles ou reproductibles, de
ce dont on mesure le succès. En réalité, le succès est presque
toujours, selon moi, essentiellement le résultat d'un effet « boule de
neige » : le hasard fait que tel ou tel candidat a un peu plus de
succès que tel ou tel autre, et ce succès initial fait qu'on en parle
plus, donc le
succès s'accumule ; et notre envie de trouver une cause à tout,
notre propension à croire
au sophisme
du monde juste, font qu'on trouve un élément explicatif
rétrospectif comme sous l'effet d'une sorte d'apophénie causale. Bien
sûr qu'il peut y avoir certaines caractéristiques objectives de la
boule de neige qui augmentent ses chances de se transformer en
avalanche — disons que l'absence de succès peut avoir des
causes explicables claires —, mais le succès, dans son ensemble, est
impossible à prédire ou à expliquer.
Ça c'était pour le résumé de l'idée générale que j'ai déjà exposée
et que je réexposerai sans doute à l'avenir parce que j'ai tendance à
radoter.
Mais je voudrais évoquer ici le cas particulier des œuvres d'art
considérées comme des chefs d'œuvre. (Ce qui motive cette réflexion,
c'est cette vidéo YouTube — par ailleurs plutôt intéressante —
consacrée au tableau La Nuit étoilée de van Gogh, qui
propose quelques éléments explicatifs, et certainement pas idiots, de
la popularité de ce tableau, sans vraiment prendre position sur la
part du simple hasard.)
Il est tentant, quand une œuvre est largement considérée comme une
des créations les plus exquises qu'ait produit l'art humain
(la Joconde, le David de
Michel-Ange, La Tempête de Shakespeare, l'Art de la
Fugue — pour prendre quelques exemples dont la proximité
géographique sur le globe doivent d'ailleurs déjà nous inciter à nous
dire que cette appréciation est le fruit d'une culture bien
particulière), de chercher les explications à ce fait dans les
caractéristiques intrinsèques de l'œuvre. Et peut-être de nous
remettre en question quand notre jugement personnel ne s'accorde pas à
ce consensus ostensible (la Joconde, par exemple, me
laisse assez indifférent : rien que chez Léonard je préfère infiniment
son Saint Jean-Baptiste) : si tant de gens aiment,
peut-être qu'il faut regarder de plus près pour comprendre ce qu'il y
a à aimer ?
Mais en fait, le succès d'une œuvre, sa classification comme chef
d'œuvre, a sa propre histoire, qui peut être bien distincte
(notamment : bien postérieure) de celle de l'œuvre. C'est
particulièrement marqué dans le cas de la Joconde :
voyez cette vidéo
et cet
article (que j'ai déjà liés) pour des explications, qui
l'attribuent notamment à un essai écrit en 1869 par Walter Pater, et à
l'attention créée par le vol du tableau en 1911. Dans un monde
parallèle où cet essai n'a pas été écrit et ce vol n'a pas eu lieu
(circonstances largement aléatoires), la Joconde est une
œuvre pas exactement mineure (ça reste un Vinci) mais certainement pas
aussi haut dans la liste de ce que tous les touristes veulent voir
quand ils visitent Paris. Un visiteur de ce monde parallèle
chercherait en vain une différence entre la Joconde qu'il
connaît et la nôtre pour comprendre pourquoi nous éprouvons un tel
engouement. Le fait est que la différence n'est pas dans l'œuvre mais
dans les circonstances.
En fait, ce qui fait la célébrité du tableau, c'est justement qu'il
est célèbre. Un commentaire sous la vidéo de Vox liée ci-dessus fait
cette remarque que je trouve à la fois cruelle et vraie :
la Joconde est un peu la Kim Kardashian de la peinture :
elle est célèbre parce qu'elle est célèbre. (Ou, à l'inverse, Kim
Kardashian est l'exemple le plus frappant du phénomène général dont je
parle : personne ne lui attribue de qualité intrinsèque particulière —
sa seule raison d'être célèbre, c'est qu'elle est célèbre.)
S'agissant de la Joconde, ce qui attire tant de touristes
à venir la voir, c'est qu'ils veulent voir le tableau qui attire tant
de touristes à venir le voir. On se demande ce que ça fait de le voir
en vrai après l'avoir tellement vu reproduit partout ; on veut le voir
en vrai pour pouvoir dire qu'on l'a vu en vrai (ça fait une case à
cocher dans ses expériences de la vie : j'ai vu
la Joconde) ; on cherche à comprendre ce qui fait
qu'il est aussi célèbre. Toutes ces raisons expliquent qu'on veut
voir ce que tant d'autres ont vu — et toutes ces raisons sont sans
lien avec les caractéristiques intrinsèques de l'œuvre.
Il serait complètement stupide de croire que nous pouvons nous
abstraire du jugement des autres quand nous formons le nôtre. J'aime
bien raconter (et je l'ai déjà fait plusieurs fois sur ce blog, parce
que je radote — je vous ai déjà dit que je radotais ?) l'histoire du
Vermeer de Göring. Le bras droit de Hitler se piquait de
collectionner des œuvres d'art, généralement volées, souvent à des
Juifs, et une de ses œuvres préférées était le tableau Le Christ
et la femme adultère, censément de Vermeer, qu'il avait acheté
en 1943 à un marchand d'art peu
scrupuleux, Han
van Meegereen. Sauf qu'en fait le tableau était un faux, fabriqué
par van Meegereen justement parce qu'il connaissait le penchant des
nazis pour ce genre d'œuvres. (Il a d'ailleurs été inquiété après la
fin de la guerre pour avoir vendu des tableaux aux nazis, et s'est
disculpé en arguänt que c'étaient des faux et en prouvant qu'il
pouvait réaliser un faux Vermeer. Tout cette histoire est
complètement rocambolesque et j'apprends seulement maintenant
qu'on en a fait un film — il faut que j'essaie de voir ça.)
Toujours est-il que quand Göring, qui était en prison à ce stade, a
appris que son tableau préféré était en fait un faux Vermeer, il a été
horrifié. (J'ai entendu dire qu'il a réagi comme s'il venait de
découvrir que le Mal existait dans ce monde.)
Ce qui est intéressant dans l'histoire, c'est que le tableau n'a
pas changé. Apparemment ce qui plaisait à Göring, ce n'était pas tant
le tableau qu'il voyait avec ses propres yeux que de savoir que
c'était un Vermeer, qu'il possédait un Vermeer. Et du coup, pas tant
pour les qualités de peintre de Vermeer que pour sa réputation auprès
du monde de l'art en général. (Indiscutablement, posséder un Vermeer,
c'est très exclusif.)
J'ai commencé à écrire ce billet en me disant que j'allais poster
des versions condensées de divers trucs dont j'ai envisagé de faire
des billets plus longs mais je n'ai pas eu le temps. Sauf qu'en fait
j'ai écrit quelque chose d'un peu long pour chacun, et que j'en ai eu
marre à chaque fois, donc j'aurais vraiment mieux fait de faire des
billets séparés plutôt qu'un seul billet six-en-un. (Il y aurait
aussi sans doute une auto-analyse psychologique intéressante à mener
sur pourquoi j'arrive à me convaincre d'essayer poster des choses plus
courtes — enfin, tout est relatif — à condition d'en mettre plusieurs
dans un billet, mais je n'ai pas le temps pour ça maintenant non
plus.)
Je commence par ce qui n'est pas une nouvelle du tout, c'est même
le contraire : j'avais raconté il y a
un an que la Wayback Machine de l'Internet
Archive n'arrive plus à archiver ce site (or s'il y a une chose à quoi
je tiens beaucoup, c'est
la préservation de l'information).
Deux choses sont maintenant certaines : ① ce n'est pas volontaire
(c'est un bug), et ② c'est lié au fait que ce site est (pour les
raisons que j'ai expliquées ici)
servi en HTTP et pas en HTTPS, même si le
problème est sans doute causé par une conjonction de facteurs et
j'ignore quels peuvent être les autres. Je soupçonne qu'il s'agit
d'une sorte de firewall trop agressif qu'ils ont mis en place suite à
des attaques diverses qu'ils ont subies, et qui est probablement mal
calibré pour le HTTP parce que l'immense majorité des
sites sont maintenant en HTTPS et que
les HTTP sert donc essentiellement à renvoyer des
redirections vers HTTPS. Je soupçonne quand même qu'il y
a des conditions où HTTP marche encore sur l'Archive,
parce que sinon ils se seraient rendu compte du problème plus tôt,
mais je n'en sais pas plus. (Si des gens qui me lisent ont la
possibilité de mener tes tests, je vous en supplie, faites-le, je suis
preneur de tous renseignements.)
En attendant j'ai pris l'habitude de faire une copie de sauvegarde
de mes billets de blog
sur Archive.today
(un site qui a plein de noms alternatifs : Archive.is, Archive.ph et
d'autres). Le problème est qu'on ne sait pas qui est derrière ce
truc, et que ses intentions ne sont pas claires : au minimum, on sait
qu'il en profite pour faire résoudre des captchas aux gens qui s'en
servent, et qu'il a lancé des attaques denial-of-service ; et j'ai
aussi entendu passer l'information selon laquelle il aurait truqué des
archives, bref, ce n'est pas une solution de repli raisonnable, sauf à
court terme. J'aimerais vraiment pouvoir revenir à l'Internet
Archive.
Le problème est qu'il est quasi impossible de contacter l'Internet
Archive pour essayer d'attirer l'attention sur le problème qui me
concerne. J'ai essayé de leur écrire plusieurs fois, ça tombe dans un
trou noir. J'ai essayé d'envoyer un courrier papier (vous savez, le
truc du siècle dernier, ou on met un timbre sur une enveloppe), c'est
aussi tombé dans un trou noir. Puis un jour ()
j'ai eu une réponse surgie de l'espace disant qu'ils avaient identifié
un problème et allaient le régler (We have identified
an issue and are working on a fix. I will update you when we have
implemented it.), du coup j'ai eu de l'espoir… sauf qu'en fait
rien ne s'est passé, et le problème n'a pas changé. Puis, il y a deux
mois, nouvel espoir : j'ai
eu une
conversation sur Bluesky
avec Jason
Scott, qui est un des personnages importants de l'Internet
Archive, qui m'a assuré qu'ils n'étaient pas au bord de la faillite
comme je le pensais, qui m'a dit qu'ils pouvaient tout à fait
s'occuper de ce genre de choses, et et qui m'a dit de signaler mon
problème par mail en le mettant en copie… ce que j'ai fait, il m'a dit
avoir transmis à qui de droit, et… deux mois plus tard, toujours pas
le moindre signe de changement.
Bref, j'ai bien peur qu'il faille que j'admette que ce problème ne
sera jamais réglé et que la seule option qui s'offre à moi est de
rendre mon site accessible en HTTPS (enfin, encore
faudrait-il être bien certain que ça réglera le problème, ce dont je
ne suis pas sûr du tout). Je passe donc à l'item suivant de ce
billet.
❦
Activation du HTTPS ?
Il va falloir que j'envisage (à reculons et à contrecœur, donc) de
rendre mon site accessible en HTTPS. Puisque j'évoque le
sujet, il faut d'ailleurs que je
signale cette vidéo (que plusieurs contacts m'ont envoyée
tant elle semble faite pour moi) de quelqu'un qui, pour en gros
exactement les mêmes raisons que
moi n'a pas envie de passer son site en HTTPS et qui
le fait quand même en faisant exprès, pour protester, de rendre
le HTTPS aussi peu sûr que possible : c'est rigolo, et
surtout, en fait, on en apprend pas mal au passage sur le
fonctionnement de HTTPS.
Je n'irai pas jusque là, même s'il est probable que je
publie[#] la partie « privée »
du certificat du site, juste pour me simplifier sa distribution d'une
machine à l'autre. Ma question à moi est surtout comment je peux
faire ce passage en minimisant les emmerdes que je vais devoir subir
en conséquence de ces conneries. À commencer par le fait de devoir
remettre en place tout le setup dès qu'un de mes
serveurs claque entre mes doigts,
ce qui arrive tous les quelques mois. (Exemple de problème :
actuellement, je pare le problème des serveurs qui meurent tout le
temps en ayant un serveur prêt à prendre le relais à tout instant, et
j'ai simplement à changer le DNS pour faire
pointer www.madore.org de l'un vers l'autre ; mais s'il y
a un certificat à fournir, le serveur de secours ne peut pas obtenir
lui-même par des canaux comme Lets Encrypt le certificat
pour www.madore.org puisqu'il n'est, justement, pas
accessible sous ce nom en temps normal ; donc il faut que je trouve un
moyen de transférer le certificat vers le serveur de secours, et c'est
d'ailleurs une des raisons pour lesquelles j'envisage de publier la
partie privée du certificat pour simplifier la démarche.)
[#] Étant bien entendu
que comme ce HTTPS ne sert rigoureusement à rien question
sécurité vu que mon site ne contient rien de non-public, l'aspect
« privé » de ce certificat est bidon, et il peut parfaitement être
rendu public.
Une possibilité serait que j'utilise un certificat auto-signé, ce
qui me permet d'avoir un unique certificat pour toutes mes machines et
de m'affranchir de la limitation de durée de validité sur les
certificats. Ce serait même plus raisonnable en termes de sécurité
(si la sécurité était un enjeu, ce qu'elle n'est pas) parce que comme
ça les gens qui veulent vraiment vérifier l'authenticité du site
pourraient s'assurer que le certificat ne change jamais, alors que si
on passe par Lets Encrypt il faut vérifier que la clé de signature ne
change pas, et c'est beaucoup plus technique. Une chose est que
l'usage d'un certificat auto-signé cause un message d'erreur pénible,
mais bon, ça je m'en fous, c'est le problème des gens qui tiennent à
utiliser HTTPS alors que ça ne sert à rien sur un site
public. En revanche, ce n'est pas clair du tout ce que fait
l'Internet Archive quand ils tombent sur un site en HTTPS
dont le certificat est auto-signé, parce que l'Internet Archive est
quand meme toute la raison de la manœuvre. Et je n'en ai aucune
idée.
Mais la grosse grosse source de maux de tête, c'est ce que fait
Google et ce qui se passe avec la canonisation
des URL.
Le problème fondamental, c'est que les versions HTTP
et HTTPS d'un site Web sont, du point de vue des
standards, deux sites totalement séparés. Et Google n'aime pas que
deux sites séparés dupliquent la même information : c'est pénalisant.
Et pour ajouter l'injure à la blessure, par défaut il va considérer
que HTTPS est le site principal (à renvoyer en priorité),
alors que moi je veux exactement le contraire (je veux bien que le
site soit accessible en HTTPS, mais je ne veux pas que
Google renvoie des liens en HTTPS, qui seront
probablement cassés la moitié du temps vu combien le système est
compliqué et fragile). Je peux mettre un robots.txt
interdisant à Google le parcours de la version en HTTPS,
mais je ne suis pas certain que ça fonctionne, ni que ça suffise, ni
que ça ne soit pas pénalisant. Et je ne sais pas non plus ce que fait
Google quand il rencontre un certificat auto-signé si je choisis cette
solution (s'il refuse d'accéder à la version HTTPS dans
ces conditions, c'est parfait pour moi, mais encore faut-il être sûr
qu'il n'en profite pas pour désindexer ou pénaliser la
version HTTP).
Et puis il y a la question de comment persuader les gens qui
partagent des liens vers mon site d'utiliser uniquement le lien
en HTTP, même si le site est aussi accessible
en HTTPS (par exemple, si je mets
un robots.txt qui interdit la version HTTPS
à Google, c'est indispensable sinon les liens HTTPS
seront en quelque sorte perdus ; et à l'inverse, si je ne le fais pas,
je vais me retrouver avec du crawling en double, par exemple toutes
les IA avides de texte vont probablement tout récupérer
deux fois). Je peux mettre un bandeau en tête de page avec du
JavaScript, mais c'est chiant pour tout le monde.
À un moment je m'étais dit que je créerais un domaine spécial
appelé quelque chose
comme www-https-sucks-please-do-not-use-this-url.madore.org
et que le HTTPS soit accessible uniquement via ce
domaine, mais alors ça ne règle rien côté Internet Archive parce que
personne ne va penser à interroger les archives pour ce domaine
spécial. Ou alors il faut que je mette en place une redirection
de HTTP vers HTTPS uniquement si la requête
vient de l'Internet
Archive[#2].
[#2] Si je ne trouve
pas de solution raisonnable sur comment faire
cohabiter HTTP et HTTPS, peut-être que je
choisirai le pis-aller qui est de n'ouvrir le
port HTTPS que pour les IP de
l'Internet Archive, et, pour elles et pour elles seulement, de faire
une redirection de HTTP vers HTTPS. Donc
tout le monde continuera à n'avoir que du HTTP sauf
l'Internet Archive (ou peut-être les gens super motivés qui m'en
feraient une demande exprès). Je n'aime pas trop cette solution
(c'est une forme de géolocalisation, et je déteste le principe), mais
elle a le mérite d'éviter les tracas liés à la question de ce que fera
Google.
Bref, on voit le genre de questions sans fin auxquelles je suis
confronté, et dont personne ne parle jamais quand on essaie de vous
faire la propagande pour le HTTPS. Je ne peux même pas
vraiment faire de tests, parce que le simple fait d'ouvrir le
port HTTPS sur mon serveur n'est pas du tout anodin.
Tout ça me prend vraiment la tête, et j'ai franchement autre chose à
faire de mon temps que de devoir m'occuper de telles conneries. (Et
j'ai bien peur que ça finisse en demande de conseils à
des IA.)
❦
Gmail traite mon mail comme du spam
Continuons avec le chapitre Google m'emmerde avec une autre
source de tracas dont je me serais bien passé :
En gros tous les mails que j'envoie vers Gmail sont
considérés comme du spam.
Le problème est que j'ai un serveur mail
personnel. OK, mais ce n'est pas nouveau, et
franchement, ils abusent : j'ai publié des
enregistrements SPF, tous mes mails sont signés
par DKIM, il y a une politique DMARC, mon
serveur a des enregistrements DNS valides, avant et
arrière, il n'a jamais envoyé un seul spam (forcément, il ne sert qu'à
mon courrier personnel, et je ne forwarde rien), absolument tous les
champs concernant mon domaine sur postmaster.google.com
sont verts, et pourtant le résultat est là : en gros, tous les mails
que j'envoie vers n'importe quelle adresse Gmail
atterrissent directement dans la boîte à
spam[#3].
[#3] Peut-être que si
le destinataire classifie pas du spam suffisamment souvent,
alors le mail finit par arriver à être considéré comme non-spam. Mais
je crois que même ça ne dure pas longtemps. (Malheureusement, mes
interlocuteurs ne me donnent pas trop de feedback sur ce qui se passe.
J'ai moi-même une adresse Gmail avec laquelle j'ai fait
quelques tests, mais ce que j'observe n'est pas forcément
universel.)
Même quand quelqu'un m'écrit à une adresse
sur madore.org et que je réponds depuis exactement cette
adresse-là, ça tombe (parfois ? toujours ? pas totalement clair) dans
la boîte à spam. Google est vraiment nul, là : un mail qui répond,
avec un message-ID valable, à un mail expédié
depuis Gmail à cette adresse, et surtout si le mail est
signé par DKIM, ça n'a juste aucun sens de
considérer que ça peut être du spam.
Bon, le problème n'a pas que des inconvénients :
généralement, quand j'envoie des mails, c'est plutôt qu'on m'a demandé
quelque chose. Donc parfois ah ben j'aurais bien voulu te répondre
[voire : je t'ai répondu], mais ce n'est pas ma faute
si Gmail ne veut pas de mes messages peut être une
excuse pratique pour ne pas répondre. Mais parfois je veux quand même
contacter des gens sur Gmail. Ma solution temporaire est
d'écrire depuis mon adresse mail professionnelle en mettant mon
adresse personnelle en copie et les deux en reply-to ; ou bien
d'envoyer un message par un autre canal (SMS, Signal,
message privé sur un réseau social) pour dire je t'ai répondu,
regarde dans ta boîte à spam. C'est quand même lourdingue.
Qu'est-ce qui se passe ? Je n'en sais rien. Comme je le dis plus
haut, sur postmaster.google.com on me dit que tout va
bien, que mon domaine n'a rien à se reprocher. Les
rapports DMARC que Google m'envoie ne disent rien non
plus. Le mail n'est pas rejeté : il est marqué comme spam.
Je ne sais pas exactement depuis quand ça date, parce que je
n'écris pas si souvent que ça à des gens chez Gmail, et
je ne sais pas forcément si mon mail s'est perdu ou que la personne a
juste décidé de ne pas répondre. J'ai toujours eu quelques problèmes
à écrire à des adresses Gmail, mais c'est bien pire
maintenant qu'il y a quelques années.
Bon, pour l'instant c'est une
prépublication[#], donc je
mets un point d'interrogation parce qu'on n'est jamais sûr qu'une
prépublication devienne vraiment une publication avant que ce soit
fait, mais quoi qu'il en soit, je pense qu'il faut que j'en parle un
peu sur ce blog, ne serait-ce que parce que c'est dans la continuation
de choses que j'ai évoquées dessus,
notamment ici
et là. Aussi parce
que mon coauteur me connaît
via ce blog — ce qui prouve au passage que tenir un blog peut avoir un
réel intérêt scientifique. Et accessoirement, parce que ce texte est
indirectement responsable du fait que je n'ai rien écrit ici depuis
longtemps (pas tant pour des questions de répartition du temps que de
fatigue de rester coincé à taper sur un clavier).
[#] Aussi
disponible ici
sur HAL, parce que je trouve important que tout
ne soit pas uniquement sur l'arXiv (il faudrait d'ailleurs
que je parle un jour de l'arXiv, du service inestimable qu'elle rend à
la communauté scientifique, mais aussi des problèmes qu'elle pose et
du pouvoir qu'elle donne à l'université de Cornell ; mais à défaut
vous pouvez lire ce que j'en ai écrit
rapidement ici
sur Reddit).
Je n'aime pas parler de mes publications parce que ça amène à des
discussions complexes et potentiellement déplaisantes sur pourquoi
j'en produis si peu, et de façon plus large sur le caractère
restrictif et problématique d'évaluer
la recherche sous l'unique angle des
publications[#2], et sur
l'évolution de la recherche en général. Je ne veux pas entrer dedans
ici. La dernière fois que j'ai fait ça (billet au lien précédent), un
commentateur très agressif s'est estimé obligé de m'attaquer
personnellement, et j'ai écrit encore
un billet pour lui répondre : ça suffit assez.
[#2] Pour résumer, les
publications sont censées être un outil de communication entre
chercheurs ; en les transformant en un outil d'évaluation, on subit de
plein fouet
la loi de
Campbell/Goodhart,
et cela nuit à la communication qui était le but initial du système
(sans même parler des problèmes causés par la rapacité des éditeurs,
qui sont liés mais distincts).
Mais il y a quand même une chose dont je suis content, car
on sait mon attachement à
l'éclectisme, c'est la diversité des thématiques mathématiques sur
lesquelles j'ai écrit quelque chose :
en cryptographie,
en géométrie algébrique,
en codes correcteurs,
en géométrie combinatoire, en théorie des automates (je
ne peux pas le lier pour l'instant, mais il y a un truc accepté qui
sera présenté à la
conf Latin 2026) ;
et il faut que j'ajoute des textes qui pour des raisons diverses ne
deviendront pas des publications sans que ce soit à cause de problèmes
scientifiques, en théorie des graphes et
en épidémiologie. (Sinon, j'ai aussi un truc récemment
écrit en analyse réelle pour montrer essentiellement que le dual de
Gel'fand de L∞(ℝ) est la limite projective des
compactifiés de Stone-Čech des ouverts denses de la topologie de la
densité sur ℝ, mais j'ai peur que ce soit déjà considéré comme « bien
connu », donc c'est plutôt de l'exposition que de la recherche à
proprement parler et je ne sais pas bien quoi en faire.) Néanmoins,
la calculabilité ou la logique manquaient cruellement à cette liste de
sujets alors que ce sont des domaines qui m'intéressent énormément (et
que j'ai décidé d'enseigner depuis
quelques années à Télécom Trifouilly-lès-Saclay et sur lequel
j'ai pas
mal échangé sur MathOverflow).
Or, comme je l'avais dit dans ce
billet où j'avais tenté de semi-vulgariser le sujet mais sans
doute assez mal (et ici je l'avais
vulgarisé, mais de façon très superficielle), j'ai été assez fasciné
par la description faite par Takayuki Kihara
dans cet
article d'une notion d'oracles qui me semble à la fois très
élégante et très générale, et à ce stade trop peu étudiée.
Ce texte est donc en partie une opération de publicité pour ces
oracles à la Kihara, que nous
appelons[#3] les degrés
d'Arthur-Nimué-Merlin. Nous avons bien un résultat à nous à
proposer, mais ça me motive au moins autant de faire la pub pour les
degrés d'Arthur-Nimué-Merlin et leur étude en essayant de convaincre
d'autres gens qu'ils sont intéressants et jolis à étudier (et
notamment, en les décrivant de façon que j'espère pas trop
compliquée).
[#3] La terminologie
est un épouvantable sac de nœuds. Dans
son article de
2023, Kihara les appelle topologies de Lawvere-Tierney sur le
topos effectif, parce qu'ils leur sont équivalents, ou plus
exactement, ils en fournissent une description concrète. Mais c'est
un terme qui fait très peur à tous les gens qui ne savent pas ce
qu'est un topos (en réalité, il n'est ni besoin de savoir ce qu'est un
topos en général pour comprendre le topos effectif, ni besoin de
comprendre ce qu'est le topos effectif pour comprendre ce qu'est une
topologie de Lawvere-Tierney sur le topos effectif, ni besoin de
comprendre ce qu'est une topologie de Lawvere-Tierney sur le topos
effectif pour étudier les degrés d'Arthur-Nimué-Merlin, quoique ces
liens soient éventuellement importants pour motiver les définitions) ;
en en plus, on ne sait pas comment énoncer le théorème principal de
l'article de Kihara qui, dans la terminologie que j'utilise, dit
justement que les topologies de Lawvere-Tierney sur le topos effectif
sont équivalents [isomorphes comme ensemble ordonnés] aux degrés
d'Arthur-Nimué-Merlin : ce n'est pas parce que deux choses sont
isomorphes qu'il faut les nommer de la même manière. Par ailleurs,
les fonctions par lesquelles les degrés en question sont présentés
sont appelées fonctions bicouche (bilayer
function) dans l'article de 2023 et prédicats de Weihrauch
étendus dans sa
« présuite », ce qui pose encore d'autres problèmes (notamment
parce que ce n'est pas du tout une réduction de Weihrauch qu'on
regarde). Comme les personnages que Kihara utilise pour décrire son
jeu sont Arthur, Nimué et Merlin (et que je n'aime pas nommer les gens
d'après des personnes réelles, donc je ne veux pas dire degrés de
Kihara), nous avons décidé d'utiliser le terme de degrés
d'Arthur-Nimué-Merlin pour eux, au risque de
provoquer cette situation.
Essayons donc de (semi-)vulgariser ici un minimum de quoi il est
question. Mais pour ceux qui aiment plutôt les présentations sous
forme de
transparents, voici
une présentation que j'ai faite la semaine dernière sur ce
travail,
et en
voici une (un peu plus vieille) par mon coauteur.
Méta : Comme souvent quand
j'écris sur ce blog, je ne sais pas bien à quel niveau de technicité
me placer (à la fois parce que je sais que mon lectorat est très
varié, allant de gens qui ne connaissent rien en maths — même si
ceux-ci ont probablement déjà arrêté de lire à ce point du billet — à
d'autres qui sont spécialistes du sujet, et aussi parce que je change
moi-même d'avis). Donc, comme souvent, il faudra me pardonner une
certaine incohérence en la matière, une remarque très technique
pouvant s'insérer subrepticement dans un passage prétendant être de la
vulgarisation : normalement on peut sans problème se contenter de les
ignorer.
❦
Pour commencer, il y a une notion très standard en calculabilité,
c'est la réduction de Turing (et les degrés de
Turing) qu'elle définit. (C'est ce que j'avais essayé
d'expliquer dans ce billet.)
Disons de façon simplifiée qu'on dit qu'une fonction mathématique
est calculable lorsqu'il existe un algorithme capable de la
calculer (en temps fini, et de façon certaine) ; et qu'une
fonction f est calculable relativement à une
autre g lorsqu'il existe un algorithme capable de
calculer fà condition qu'on fournisse à cet
algorithme le moyen magique (auquel on donne le nom
d'oracle) d'obtenir la valeur de g en n'importe
quel point, aussi souvent qu'il le souhaite. (Quand je
dis fonction, il faut imaginer une fonction prenant en entrée
une donnée finie et renvoyant une donnée finie ; comme en
calculabilité on ne préoccupe pas du tout de questions d'efficacité,
on peut toujours supposée que les données finies sont représentées,
fût-ce de façon tarabiscotée, par des entiers, donc on imagine qu'on a
affaire à des fonctions des entiers vers les entiers.
Cf. cet autre billet pour les
bases.) Si on pose à l'oracle la question n, il répond
par g(n), on a le droit de faire ça autant qu'on
veut, et tout ce qu'on peut calculer par un algorithme utilisant un
tel oracle est dit calculable relativement à g.
C'est cette notion de calculabilité relative qui porte le nom
de réduction de Turing (on peut en définir plein d'autres, par
exemple en limitant le nombre d'accès à l'oracle, mais c'est celle-là
qui m'intéresse ici) : on dit que f
est Turing-réductible à g dans les conditions
que j'ai expliquées (f est calculable relativement
à g), et on dit que f
est Turing-équivalente à g, ou qu'elles ont le
même degré de Turing, lorsque f est
Turing-réductible à g et g à f. En
quelque sorte, le degrés de Turing d'une fonction est une mesure
d'incalculabilité : si f est calculable, son
degré de Turing est 0 (le plus petit possible, celui qui ne
nécessite aucun oracle, ou, ce qui revient au même, un oracle qui
répond toujours 0 donc rien d'utile) ; et de façon plus générale, dire
que f est calculable relativement à g, i.e.,
Turing-réductible à g, signifie exactement que le degré de
Turing de f est inférieur ou égal à celui de g
(c'est ce qui définit l'ordre sur les degrés de Turing), et
intuitivement, qu'elle est « au pire aussi incalculable
que g ».
Énormément de choses sont connues sur les degrés de
Turing[#4]. On peut toujours
chercher à en savoir plus, bien sûr, mais on peut aussi chercher à
élargir la notion. Et c'est ce que font les degrés
d'Arthur-Nimué-Merlin introduits par Kihara (ce ne sont cependant pas
la seule généralisation possible ! mais elle me semble
particulièrement intéressante).
[#4] Et aussi sur les
degrés de Turing calculablement énumérables, c'est-à-dire ceux des
fonctions de la forme est-ce que telle valeur apparaîtra dans une
certaine suite calculable ? : ce n'est pas parce qu'une suite est
calculable qu'on peut décider de façon calculable si une certaine
valeur apparaîtra dedans, c'est même l'essence du problème de l'arrêt,
mais c'est un type particulier et important de problème,
dit semi-décidable parce que si la réponse est oui
on finit toujours par le savoir ; et les degrés de Turing qu'ils
définissent ont été étudiés spécifiquement : il s'avère qu'ils se
comportent assez différemment des degrés de Turing en général. (Par
exemple, il existe des degrés de Turing >0 minimaux, mais
ils ne peuvent pas être calculablement énumérables, parce que
si a<b sont deux degrés c.é. il y en a toujours un
troisième strictement compris entre les deux.)
La manière dont j'aime présenter les choses, c'est que cette
généralisation se fait en trois étapes : si je renomme
en degrés T0 les degrés de Turing ordinaires :
Au niveau T1, on autorise des fonctions
partielles, c'est-à-dire que certaines questions sont interdites
(la valeur g(n) n'est pas définie) : si on les
pose, l'oracle ne répond pas, et, pire, ça casse tout le processus
calculatoire (disons que l'oracle vous tue si vous lui posez une
question interdite). Symétriquement, bien sûr, quand on vous demande
de calculer une telle fonction f, on ne vous demandera de
calculer que des valeurs définies.
C'est une extension qui peut sembler mineure, mais qui pousse déjà
la notion en-dehors de ce qui a été très étudié. (Il y a quand
même cet article, dont Kihara est
coauteur, sur ce que j'appelle les degrés T1 et que lui a choisi
d'appeler « degrés de sous-Turing » — et d'ailleurs, de façon
amusante, il me crédite pour l'introduction de la notion parce que
j'avais
posé cette
question sur MathOverflow il y a longtemps.)
Au niveau T2, on autorise le non-déterminisme, ou
plus exactement le non-déterminisme adversarial.
C'est-à-dire que certaines questions à l'oracle peuvent avoir
plusieurs réponses possibles (la fonction g est remplacée
par une multifonction, ou, si on n'aime pas cette notion, par
une fonction renvoyant un ensemble d'entiers naturels — les valeurs
autorisées — plutôt qu'un seul) : l'oracle vous fournira une des
réponses possibles, mais sans aucune garantie sur laquelle.
Symétriquement, bien sûr, quand on vous demande de calculer une
fonction f admettant plusieurs valeurs, votre but est de
fournir n'importe laquelle.
Comme le calcul doit fonctionner quelles que soit les valeurs
renvoyées par l'oracle, il faut imaginer que l'oracle essaye de vous
embêter : la réduction de f à g devient alors
une forme de jeu, où Arthur (le programme) essaye de mener un calcul,
et quand il interroge l'oracle, un autre joueur, Merlin (son
adversaire) choisit les valeurs renvoyées parmi celles autorisées par
la fonction g, en essayant de faire échouer le calcul. On
dira que f est T2-réductible à g lorsque Arthur
a une stratégie calculable, c'est-à-dire qu'un programme peut jouer sa
partie, pour interroger l'oracle et finalement déclarer une valeur
finale correcte quelles que soient les réponses faites par Merlin.
Au niveau T3, Kihara introduit encore un personnage dans le
jeu : Nimué, qui est l'alliée d'Arthur contre Merlin, et qui essaie
d'aider le calcul alors que Merlin essaie de le faire échouer. C'est
donc une autre forme de non-déterminisme, si on veut, mais du
non-déterminisme coopératif : côté Nimué, l'oracle vous
fournit la meilleure réponse possible, alors que côté Merlin
il faut s'attendre à ce qu'il fournisse la pire possible.
Il y a diverses façons de voir ça. On peut dire que Nimué et
Merlin sont les deux faces de l'oracle : Nimué en est la face amicale,
qui fournit la meilleure réponse possible (du point de vue d'Arthur),
mais qui ne peut pas communiquer directement à Arthur, elle fait un
choix qui contraint celui de Merlin qui, lui, est la face hostile de
l'oracle ; et Arthur ne voit que sortie finale (celle que lui donne
Merlin). On peut aussi dire que l'oracle est la seule personne de
Merlin, et alors Arthur et Nimué l'interrogent de façon conjointe,
Arthur étant limité à mener une stratégie calculable, alors que Nimué,
son ange gardien, complète magiquement ses coups sans qu'Arthur puisse
voir directement ce qu'elle fait. Ou on peut voir le jeu comme un
problème de communication entre Arthur et Nimué : Nimué est
omnisciente mais elle ne peut envoyer d'informations à Arthur qu'en
passant par Merlin, qui est leur adversaire.
Le personnage de Nimué est aussi une façon commode de définir
rigoureusement ce que cela signifie d'interroger un oracle omniscient,
en évitant l'embêtement des questions auto-référentielles du
style quelle ne sera pas ta réponse à cette question ? — on
postule un personnage qui n'est pas limité à agir de façon calculable,
et qui fournit ou oriente les réponses en ayant intérêt à faire gagner
Arthur (celui qui pose les questions).
Je n'ai plus Internet par fibre et je suis furieux contre OVH
Depuis mercredi dernier soir (),
notre connexion domestique Internet par fibre (FTTH) est en panne, et je commence à être vraiment
furieux contre mon fournisseur d'accès (OVH). Pas
tellement du problème lui-même, mais du fait qu'il faille autant de
temps pour le régler alors que c'est au pire un câble branché au
mauvais endroit.
Nous avons perdu la connexion mercredi à 22h50 (plus ou moins
quelques minutes), donc. (Notez l'heure : 22h50, ce n'est
certainement pas l'heure à laquelle quelqu'un intervenait au niveau du
terminal optique.) Comme l'équipement réseau de l'opérateur n'est pas
d'une fiabilité à toute épreuve, je suis allé me coucher en me disant
que ce serait sûrement un problème transitoire, réparé le lendemain,
d'autant que les lumières-témoin sur le boîtier ONT
(celui où la fibre arrive de mon côté, c'est-à-dire qui fait le pont
entre le réseau optique et le réseau Ethernet) étaient normales,
suggérant une absence de problème physique (p.e., une fibre cassée).
Mais le lendemain matin, pas de changement.
En fait, si, mon opérateur (OVH, disais-je) m'avait
envoyé pendant la nuit un mail automatisé dont le contenu essentiel
était le suivant : Votre accès Internet [numéro] sur le numéro
[numéro] est détectée [sic] comme inactive par nos outils de contrôle,
vraisemblablement victime d'un écrasement (slamming) de votre ligne.
C'est-à-dire qu'une nouvelle connexion aurait été demandée depuis un
autre opérateur sur cette ligne. Si vous n'êtes pas à l'origine de
cette demande, merci de nous le confirmer dans les meilleurs délais
afin que nous puissions lancer une reconstruction, par message
OBLIGATOIREMENT écrit et transmit [sic] via le contact assistance de
votre Manager.
Passons sur l'orthographe approximative, ce qui m'énerve surtout
est le concept pour l'opérateur d'écrire au client pour demander au
client d'écrire au support technique de l'opérateur. Ils auraient pu
au moins, disons, simplifier la tâche en fournissant juste un lien à
cliquer je n'ai pas demandé de transfert de ma ligne, peut-être
fournir un ticket prérempli à compléter par des informations de ma
part s'il leur en fallait (apparemment même pas), plutôt que de
m'obliger à retrouver comment on ouvre un ticket dans leur interface
et rédiger quelques phrases juste pour dire en substance ben je
vous écris comme vous m'avez demandé de vous écrire, maintenant faites
votre boulot de manière à avoir le droit de démarrer le processus
de reconstruction.
Évidemment, quand on n'a plus d'accès Internet, accéder à
l'interface Web de gestion du fournisseur d'accès n'est pas la chose
la plus évidente. Heureusement, j'ai un téléphone qui peut faire du
partage de connexion, mais il y a quand meme des inconvénients à ça,
je vais y revenir. (J'ai quand même perdu un temps dingue, parce que
la machine sur laquelle j'ai réussi à rétablir une connexion via le
téléphone n'était pas celle sur laquelle j'avais les identifiants
permettant d'accéder à l'interface de gestion de l'opérateur. Certes,
ça c'est un peu ma faute, mais dans ce genre de cas on veut essayer de
simplifier la vie du client, pas lui demander de perdre son temps à
passer par plein de trucs compliqués.)
J'ai ouvert le ticket à 08h35 (jeudi
matin , donc), et il a fallu
attendre encore quatre heures pour que quelqu'un y réponde.
Deuxième raison d'être en colère, donc : que ce ne soit pas totalement
automatisé alors qu'ils m'avaient envoyé un mail automatisé pour me
signaler le problème, donc ils étaient au courant. La réponse dit
juste : je vais demander la reconstruction de l'accès, nous sommes
en moyenne sur un délai de cinq jours ouvrées pour ce type
d'intervention.
Cinq jours ouvrés, c'est de la novlangue
insupportable[#] pour
dire une semaine. Et une semaine pour que quelqu'un daigne
rebrancher ma fibre dans le bon trou (si tant est qu'il y ait même
besoin de faire ça), c'est vraiment se foutre de la gueule du monde.
Et apparemment je n'ai même pas droit à des mises à jour du
style nous avons planifié l'intervention, il est prévu que
le technicien intervienne [tel jour], merci de rester joignable :
à ce stade, je ne sais rien de plus que ce qui est écrit ci-dessus,
depuis c'est le grand silence.
[#] Admettons que parler
de 1 ou 2 jours ouvrés a un sens, à la rigueur 3. Mais 5, c'est
ridicule : à part quelques jours fériés exceptionnels, 5 jours ouvrés
c'est une semaine, c'est tout. Et de façon générale, pour un nombre
≥4 de jours ouvrés, multiplier par 7/5 au lieu d'essayer de
finasser pour faire croire que les choses iront plus vite qu'elles
n'iront (ça me fait la même impression que quand on donne un prix hors
taxes, ce qui devrait être interdit et ce qui l'est d'ailleurs plus ou
moins).
Et je parie d'ailleurs que je ne vais pas non plus avoir droit à
une explication technique du problème quand il sera réglé. Je pense
que les gens ne comprennent pas que, quand il y a un problème
technique, on apprécie d'avoir des explications techniques sur ce qui
s'est passé, pas juste que le problème soit réglé. C'est de la
psychologie humaine de base.
Je précise que je ne suis pas chez un fournisseur d'accès grand
public, justement en partie parce que je ne veux pas être traité comme
quelqu'un qui veut juste que ça marche et qui ne veut rien savoir des
aspects techniques.
Je suis, donc, chez un fournisseur d'accès qui se
veut pro[#2],
c'est-à-dire qu'il cible avant tout les petites entreprises (c'est
pour ça que beaucoup de gens me disent OVH ? jamais
entendu parler quand ils me demandent si je suis chez Orange,
Free, SFR ou Bouygues pour la fibre). Pour ça je paie
quelque chose comme 2 à 3 fois plus cher qu'un abonnement fibre normal
pour un particulier (je paie — enfin, mon poussinet et moi payons —
62€/mois à OVH, même si la facturation a l'air d'être pas
mal à la tête du client parce que ma mère paye moins pour exactement
la même offre). Et pour ce prix, je n'ai pas d'abonnement télé, et
pas de box, ces trucs que les fournisseurs d'accès français
grand public veulent absolument vous refourguer, qui font à la fois
modem-routeur et plein d'autres choses avec une interface merdique.
Je suis content parce que je ne veux, justement, ni de télé ni de box,
mais j'espère quand même, pour le prix, avoir des services un peu plus
« pro » que chez un fournisseur grand public.
[#2] Oui, je sais,
j'ai écrit il y a bien longtemps
que je détestais le mot professionnel (et je le pense toujours
largement). Mais ce que je déteste, c'est la situation où une offre
ne serait pas accessible aux particuliers (or chez OVH ce
n'est pas le cas, la preuve), ainsi que l'idée générale nocive (à
laquelle je
proposais de donner le nom d'ergomanie, mais un
copain proposait
plutôtbossisme) d'accorder plus de valeur à une activité
quand elle est effectuée contre rémunération. Ici je veux juste
dire j'accorde énormément d'importance à ma connexion Internet et
au fait qu'elle fonctionne, et je veux bien payer en conséquence pour,
mais j'attends un service correct en retour (et ce n'est pas
uniquement pour des raison professionnelles que j'en ai besoin).
Il est vrai que le service technique, normalement, est
plutôt efficace : on peut lui parler de choses techniques sans avoir
besoin de passer un appel téléphonique, patienter trente minutes au
téléphone, et prononcer le mot shibboleth ; on ne parle pas à
quelqu'un d'incompétent qui vous dira d'abord de rebooter votre box
(que vous n'avez pas) et votre ordinateur avant de consentir à écouter
votre problème, et on ne passe pas pour un extra-terrestre si on dit
qu'on a son propre routeur Linux derrière le boîtier ONT.
Je paye aussi pour le service d'avoir une IP et un
préfixe IPv6 (un /56) natifs et fixes, et de pouvoir
enregistrer leur reverse DNS, par exemple. Ça ce sont
des choses auxquelles j'accorde de la valeur.
N'empêche qu'un « professionnel », je pense qu'il n'est pas très
content s'il perd son accès Internet pendant 7 jours. Un commerçant
qui en a besoin pour faire des paiements carte bancaire, il perd
probablement plus que les 30€ par semaine que l'Arcep, dans sa grande
bonté, prévoit
comme dédommagement forfaitaire dans mon cas. Donc j'aimerais bien
savoir ce que font, concrètement, les professionnels dans le cas où un
sagouin débranche inopinément une fibre optique ou quelque chose de ce
genre.
Qu'est-ce qui a bien pu se passer, justement ? L'explication la
plus courante qui m'a été donnée, à la fois par des humains sur les
réseaux sociaux
et par
ChatGPT (qui hallucine peut-être — comme d'habitude,
c'est plausible mais est-ce vrai je n'en sais rien), c'est qu'un
technicien voulant raccorder un autre client à un autre opérateur
aurait par erreur rattaché ma fibre à moi à cet autre opérateur, soit
au niveau du nœud de raccordement du quartier, soit au niveau du point
de mutualisation de l'immeuble. (Dans les deux cas, il semble en
effet qu'on y accède comme à un moulin.) Cette explication ignore le
fait qu'à 22h50 je pense que personne n'intervient dans les locaux des
nœuds de raccordement sur les lignes individuelles (généralement les
gens qui ont besoin d'une semaine pour remettre une fibre dans le bon
trou, ils ne travaillent pas tard le soir), et après petite enquête
dans l'immeuble (où tout le monde se connaît) personne n'a touché au
boîtier fibre à ce niveau-là non plus.
Le fait que mon boîtier ONT ait des lumières toutes
vertes signifie qu'il détecte bien un signal optique : ma fibre est
donc bien raccordée à quelque chose. Elle n'a pas été purement et
simplement débranchée ou sectionnée, par exemple. (Là il y aurait une
lumière rouge très claire.) Mais il est possible qu'elle soit
branchée au mauvais opérateur (même si, comme je viens de le dire, j'y
crois assez peu). Je soupçonne plutôt que ma ligne a été
malencontreusement effacée dans une base de données logicielle, ce qui
devrait être encore plus facile à résoudre : je doute que quelqu'un
ait vraiment besoin de se déplacer physiquement jusqu'au nœud de
raccordement.
Ce système est quand même invraisemblablement pourri. On a un
boîtier ONT qui fait le pont entre réseau optique et
réseau Ethernet, apparemment en s'authentifiant auprès de l'opérateur
à l'autre bout (donc si on est relié au mauvais opérateur, eh bien
rien ne passe) : ils ont prévu une lumière pour signaler si un signal
optique est détecté, très bien, mais ils n'ont rien prévu pour
signaler si l'authentification réussit. Pire encore, si on est relié
au mauvais opérateur, il n'y a pas un signal qui passe pour
dire vous êtes relié au port numéro [tant] de l'opérateur
[truc], et, dans l'autre sens, je suis le
boîtier ONT de la ligne [tant] de l'opérateur [truc]
— ce qui permettrait de diagnostiquer et régler ce genre de problèmes
d'écrasement, apparemment fréquents, de façon immédiate. (On saurait
immédiatement, côté opérateurs, quels sont les fibres reliées à des
boîtiers ONT qui n'arrivent pas à s'authentifier et où
ceux-ci devraient être connectés, et, inversement, côté client, si on
est connecté à un mauvais opérateur.) Je sais que mon idée est
révolutionnaire : faire transiter des informations par une fibre
optique. Je vous assure, pourtant, je ne l'ai pas brevetée.
Mais non, apparemment, il faut tâcher quelqu'un de faire une
reconstruction de ligne, et prendre une semaine pour ça.
Pourquoi si longtemps ? Probablement parce qu'on touche à une
autre maladie du capitalisme : la manie de tout sous-traiter. Dans le
monde dans lequel nous vivons, aucune entreprise ne fait jamais rien
elle-même, elle sous-traite à une autre, qui elle-même sous-traite à
une autre, qui elle-même, etc., jusqu'à ce que tout le boulot tombe
sur les épaules d'un seul pauvre type surchargé, probablement mal payé
et pas forcément super compétent.
Parce qu'évidemment ce n'est pas OVH qui assure
lui-même la collecte fibre chez les particuliers : ils dépendent du
réseau SFR. Mais ce n'est pas non plus SFR
qui va s'occuper des fibres chez les particuliers : ils sous-traitent
ça à des gens qui sont des auto-entrepreneurs et qui finissent par
faire le boulot pour tous les opérateurs. Comme ces gens sont payés
au lance-pierre, souvent ils font un boulot de
sagouins[#3], et c'est comme ça
qu'on se retrouve à débrancher la fibre de Pierre en voulant raccorder
Paul, ce qui obligera un autre opérateur à faire appel au même
sous-traitant pour re-raccorder la fibre de Paul.
[#3] Je ne veux
cependant pas dire qu'ils sont tous incompétents ou malhonnêtes : le
type qui est venu poser la fibre chez ma mère était remarquable de
compétence et de conscience professionnelle.
Donc on a cette chaîne complètement ubuesque où OVH
m'envoie un mail automatisé pour me signaler que je dois leur écrire
un message pour qu'ils s'occupent du problème, j'ouvre un ticket,
quelqu'un du support technique d'OVH va ouvrir un ticket
chez SFR, et quelqu'un du support technique
de SFR va faire appel au type-qui-fait-tout, et surtout
il est interdit de court-circuiter un maillon de cette chaîne
totalement stupide de téléphone arabe, qu'Apollon nous préserve de la
possibilité que le client puisse entrer directement en communication
avec le type-qui-fait-tout sans passer par la Voie Hiérarchique de la
Sainte Sous-Traitance. Chaque étape fait perdre au moins un jour
« ouvré ». Et à chaque maillon des infos vont se perdre ou se
déformer : je doute fortement, par exemple, que l'info que la coupure
ait eu lieu à 22h50 soit répercutée jusqu'au bout de la chaîne, ni que
je puisse faire passer le message ne venez regarder dans notre
immeuble qu'en dernier recours, il est extrêmement improbable que
quelque chose se soit passé ici.
Bon alors, certes, je ne suis pas complètement privé d'Internet
pendant le temps qu'OVH joue au téléphone arabe, puisque
je peux profiter de mon téléphone pour partager sa connexion. Mais
les inconvénients de ce système de tethering sont
tout de même nombreux. Ce n'est pas tant que c'est lent (la 5G, il
faut le reconnaître, a un bon débit), mais la latence est élevée. Et
je n'ai pas non plus d'IPv6 (mon téléphone l'a, mais
apparemment il ne sait pas faire de partage de
connexion IPv6), ce qui, de nos jours, est vraiment assez
pénible[#4]. De façon plus
problématique, je dois jouer à activer le partage de connexion quand
je veux utiliser Internet, et le désactiver quand je veux faire autre
chose avec le téléphone (l'éloigner de l'ordinateur), ou juste pour le
laisser refroidir parce que, je suppose, le partage de connexion même
par USB empêche le téléphone de s'endormir. En fait, je
n'arrête pas d'activer et désactiver le partage de connexion (brancher
et débrancher le téléphone), je perds un temps fou avec ça. Et à
m'énerver contre les câbles USB-C de merde qui se
déconnectent dès qu'on déplace un peu trop le téléphone. Mais en plus
de ça, même si ça règle le problème d'accéder au monde extérieur
depuis mon PC, je n'ai clairement pas de solution pour
accéder à mon PC quand je suis sorti, chose que je fais
tout le temps en temps normal.
[#4] Certes, je
pourrais trouver quelques acrobaties supplémentaires pour faire quand
même passer l'IPv6 au-dessus de ce que j'ai
comme IPv4 — on m'a recommandé
d'essayer tinc — mais j'espère
que le problème de fibre sera réglé assez vite pour que je n'aie pas à
m'arracher les cheveux à comprendre ça et à le faire marcher derrière
une connexion moitié foireuse.
Au bout du compte, je suppose que ma connexion finira par être
rétablie, et je sais très bien ce qui va arriver : le service
technique OVH va me demander de mettre une note au pauvre
type qui a pris mon ticket, et qui n'est responsable de rien, il a
juste eu à transmettre ma demande dans ce jeu totalement stupide de
téléphone arabe vers le service technique de SFR. (Je
crois que je ne pourrai même pas fermer le ticket sans mettre une
note.) Si je lui mets une sale note, ça le pénalise injustement d'un
truc dont son employeur est responsable, et si je lui mets une bonne
note, son employeur s'en servira sans doute dans sa pub. Mais je n'ai
pas envie de le noter lui, j'ai envie de noter cette organisation
totalement stupide où tout doit passer par une chaîne de
sous-traitants et où les boîtiers ONT chez les
particuliers et les terminaux optiques aux points de raccordement ne
sont pas foutus de s'échanger des paquets réseau non authentifiés pour
dire à qui ils sont et retrouver sur quel port ils sont connectés.
Mise à jour
() : Ma connexion a été rétablie
après passage d'un technicien (très aimable, et pas du tout un
sagouin) qui m'a changé mon boîtier ONT. Il m'a dit que
ces choses-là vieillissent et que le problème arrive. En tout cas, ce
n'était pas un problème de fibre branchée dans le mauvais trou.
Où et quand voir des cerisiers en fleurs en Île-de-France
Image : Magnolias de l'école Estienne (photo prise
le ) (Non, ce ne sont pas des
Prunus !)
Plus les années passent plus j'attends les signes de l'arrivée du
printemps avec impatience comme une sorte de libération. Là fait
quelque chose comme quatre mois (avant même le début de l'hiver, donc)
que je répète sans arrêt à mon poussinet : j'en ai
marre de l'hiver ! je veux voir des
cerisiers en fleurs !
Ce n'est pas comme si je ne remarquais pas les fleurs avant, bien
sûr, mais comme je l'ai dit plusieurs fois
(cf. le dernier billet, en fait),
mon rapport à l'espace extérieur a, pour diverses raisons, pas mal
changé vers 2020. Et depuis 2021, à chaque printemps, je photographie
les arbres en fleurs, et maintenant je commence à savoir identifier
quelques espèces[#], et à bien
connaître l'ordre dans lequel le ballet du printemps se déroule.
[#] Je veux dire que
je partais de loin. En 2010, pour moi, tous les noms d'arbres étaient
synonymes de arbre : je savais peut-être distinguer un cerisier
d'un mélèze, mais c'est à peu près la limite.
(Séquence
obligatoire des Monty Pythons.)
J'aime bien les magnolias, qui fleurissent de manière si éphémère
(et cette année ils
sont en
avance d'environ trois semaines). Plus tard dans la saison,
j'aime beaucoup les fabacées comme
les robiniers
faux-acacias et
les glycines,
surtout pour leur parfum doux et sucré ; encore plus tard, j'aime bien
l'odeur des faux jasmins (Trachelospermum jasminoides) et du
chèvrefeuille des bois (Lonicera periclymenum), que je n'arrive
pas bien à distinguer bien que ces plantes n'aient que peu de rapport.
Et n'oublions pas, au passage, les paulownias qui fin
avril colorent
brièvement en mauve la place d'Italie.
Image : Pommiers d'ornement Malus × zumi ‘Golden
Hornet’ (photo prise le ) (Pas non plus
des Prunus, mais ce sont des rosacées.)
Mais pour moi, les rois du printemps, ce sont les rosacées. Et
parmi les rosacées, sans vouloir porter ombrage aux pommiers et
poiriers d'ornement qui peuvent avoir des fleurs magnifiques
(comme ceux-ci
dans notre quartier
ou ceux-ci
à Chèvreloup), mes préférés sont certainement les Prunus.
S'il y a besoin d'éclaircissements, le genre Prunus est un
genre parmi d'autres dans la famille des rosacées
(voyez ici si le rapport entre
une famille, un genre et une espèce vous échappe,
mais c'est du plus grand au plus précis), et il regroupe diverses
espèces d'arbustes ou arbres fruitiers : cerisiers, pruniers, pêchers,
abricotiers, amandiers, prunelliers, etc. — tout ça ce sont des
Prunus. (Les pommiers et poiriers, ainsi que toutes sortes d'autres
choses comme les ronces et les roses, sont dans la même famille des
rosacées, mais pas dans le genre Prunus. La caractéristique la plus
évidente des rosacées est leurs fleurs à cinq pétales, même si
certains mutants ont été sélectionnés pour faire des fleurs beaucoup
plus épaisses.)
Ce qu'on appelle communément les cerisiers est un
sous-genre, nommé Cerasus, au sein du genre Prunus. Ce
sous-genre des « cerisiers vrais » comporte notamment
l'espèce Prunus avium, le merisier, qui est l'ancêtre sauvage
de ce qu'on cultive pour ses fruits appelées cerises, mais
aussi P. cerasus, le griottier (elle est l'espèce-type du
sous-genre), ainsi que P. serrulata, le cerisier du Japon, qui
est l'ancêtre, ou un des ancêtres, de la grande majorité des cerisiers
d'ornement dont je vais parler plus bas.
Comme les humains aiment bien les belles fleurs et les fruits
juteux, on a beaucoup croisé et sélectionné les Prunus pour obtenir
l'une ou l'autre (rarement les deux) de ces caractéristiques en
abondance. Mais même à l'état sauvage, les Prunus ont de très jolies
fleurs (dans les forêts d'Île-de-France, à l'état sauvage, on trouve
des Prunus spinosa, ou prunelliers, qui sont des sortes de
buissons, et des P. avium, ou merisiers).
Image : Buisson
de Prunus spinosa sauvage à Chèvreloup (photo prise
le ) Le prunellier est un des Prunus
sauvages qu'on voit couramment en Île-de-France
Je ne prétends pas comprendre la classification au sein du
genre Prunus, ni même du sous-genre Cerasus qui regroupe
les vrais cerisiers. C'est très compliqué, parce que déjà on a un
certain nombre d'espèces naturelles (et avec les plantes, la notion
d'espèce est toujours délicate, encore plus qu'avec les
animaux), qui ne collent pas toujours parfaitement bien avec les noms
vulgaires (cerisier, prunier, etc. : chacun de ces
termes peut regrouper plusieurs espèces). Ces espèces elles-mêmes
peuvent prendre diverses formes ou variétés. Et comme je viens de le
dire, on a croisé et sélectionné, c'est-à-dire créé
des cultivars au cours de toutes sortes de traditions
d'horticulture (la plus célèbre pour les cerisiers à fleurs étant
celle du Japon) qui leur donnent des noms qui ne permettent pas
toujours de bien retrouver la ou les espèces sauvages parentes, si
tant est qu'elle soit identifiable. Je me suis procuré une copie du
livre Japanese Flowering Cherries de Wybe
Kuitert, et j'avoue que c'est un peu décourageant si on veut s'y
retrouver, il y a pas loin de 400 pages dans ce lire consacré juste
aux cerisiers à fleurs japonais (les espèces Prunus
campanulata, P. incisa, P. nipponica, P. pendula, P. sargentii
et bien sûr P. serrulata, leurs hybrides et très nombreux
cultivars), qui ne sont qu'un sous-ensemble des Prunus (même si ce
sont les plus importants dans les arbres d'ornement).
Quelques précisions, quand même, pour les maniaques, au sujet de la
terminologie et de la nomenclature (les autres, vous pouvez sauter ce
passage en petits caractères), de ce que j'ai compris de mes
lectures :
Un nom d'espèce s'écrit en donnant le genre et
l'espèce, en latin, et si possible en italiques, par
exemple Prunus cerasifera, vulgairement appelé le
prunier-cerise ou myrobolan. Le nom du genre prend toujours une
majuscule, le nom de l'espèce n'en prend jamais (et ne peut pas
commencer la phrase puisque le nom du genre précède forcément) ; pour
éviter des répétitions lourdes quand on parle toujours du même genre,
on peut abréger le dernier genre évoqué en juste son initiale,
p.ex. P. cerasus, le cerisier aigre ou griottier. Il y a aussi
des hybrides, qu'on indique soit en donnant les espèces parentes
séparées par des signes ‘×’, soit juste un signe ‘×’ devant un nom
spécifique de l'hybride, par exemple P. × yedoensis qui est un
croisement (probablement artificiel, mais partiellement devenu féral)
entre plusieurs taxa du sous-genre Cerasus (du
genre Prunus), mais ce n'est pas totalement clair lesquelles
(probablement P. serrulata var. speciosa côté mâle
et P. pendula f. ascendens côté femelle ; voir ci-après
pour la signification de var. et f.).
En-dessous de l'espèce, contrairement aux zoologistes qui ne
connaissent que la sous-espèce, les botanistes distinguent
la sous-espèce, la variété et
la forme (dans l'ordre décroissant), mais il est rare
d'avoir plusieurs, et à plus forte raison toutes ces choses, donc on
note que ce qui intervient, en sous-entendant que ce qui n'est pas
écrit a le même nom que le taxon immédiatement au-dessus (et souvent
qu'il est le seul). On abrège ça en subsp.
(ou ssp.), var. et f. respectivement (qu'on ne
doit pas écrire en italiques, contrairement aux noms des taxons
eux-mêmes). Par exemple : Prunus cerasifera
var. pissardii, le prunier de Pissard, qui est une variété du
prunier-cerise. En gros, si je comprends bien, la notion de
sous-espèce doit correspondre à des groupes géographiquement séparés
qui ne se reproduisent donc pas et qui acquièrent des caractéristiques
particulières en s'adaptant à leur environnement ; une variété se
réfère à des variations naturelles au sein de l'espèce ; et une forme
se réfère à des variations encore plus mineures (qui peuvent
apparaître par une mutation accidentelle).
Mais comme il n'y a pas d'autorité divine ou de consensus clair ce
qui est une espèce, tout ça est laissé à l'appréciation de qui fait la
classification : l'espèce Prunus pendula est parfois classifiée
comme variété P. subhirtella var. pendula de
l'espèce P. subhirtella (alors que d'autres considèrent cette
dernière, notée P. × subhirtella, comme hybride
entre P. pendula f. ascendens et P. incisa — vous
suivez ?), et l'espèce P. speciosa parfois considérée (surtout
au Japon) comme variété P. lannesiana var. speciosa
d'une espèce P. lannesiana (qui, pour d'autres, est un
groupement artificiel). Il ne faut pas s'imaginer que vous verrez
toujours le même nom sur les étiquettes de plantes essentiellement
identiques ! Le choix des noms lui-même a une histoire et des
traditions, parfois assez compliqués.
D'ailleurs, quand on cite un taxon, on est censé aussi donner une
citation, justement, qui donne l'attribution à la première personne en
ayant validement publié une description de celui-ci (très
souvent c'est Linné, qu'on cite juste comme L.) ; et il y a
encore des règles très compliquées sur la bonne manière de citer quand
le taxon a été reclassifié ou renommé. Le code international de la
nomenclature botanique se lit de façon aussi plaisante et distrayante
qu'un recueil de lois (je le sais parce que j'ai plongé
dans les deux).
Tout ça, bien sûr, concerne les plantes sauvages : les
botanistes ne s'intéressent pas à l'horticulture (enfin, ils peuvent,
mais ce n'est pas leur centre d'intérêt, cf. ce
que je disais sur les linguistes et
les conlangs) ; et bien sûr, parfois les taxa créés artificiellement
s'échappent dans la nature et deviennent féraux. Un taxon créé
artificiellement s'appelle un cultivar. Un cultivar se
cite normalement (je ne sais pas s'il y a une norme claire en la
matière) en mettant entre guillemets (moi j'utilise des guillemets
simples) le nom que lui a donné la personne qui a créé (ou, à défaut,
décrit) le cultivar, après le nom du taxon naturel dans la mesure où
on peut le retrouver, p.ex. Prunus serrulata ‘Albo Plena’ (un
nom donné en 1906 par Camillo Schneider, mais le cultivar semble
remonter à un individu importé du Japon en Angleterre, probablement
aux jardins botaniques royaux de Kew, au début du XIXe siècle ; en
tout cas, celui-là n'est pas un cultivar japonais même si l'espèce
parente est originaire du Japon). Comme je l'ai dit plus haut,
retrouver l'espèce d'un cultivar est parfois tellement confus qu'on
doit se contenter d'une approximation.
Notamment, il y a tout un groupe de cultivars japonais anciens,
dit sato-zakura (里桜, littéralement
fleurs de village), dont la généalogie est tellement confuse que des
experts conseillent d'écrire simplement Prunus groupe
‘sato-zakura’ sans chercher à spécifier une espèce précise (les
espèces sauvages parentes semblent être
majoritairement P. serrulata, peut-être en trois formes
différentes, mais aussi P. apetalata
et P. pseudocerasus). Donc pour les cultivars de ce groupe
(comme ‘Ama-no-gawa’ et ‘Kanzan’), on pourra chercher à donner une
espèce, généralement P. serrulata et/ou écrire Prunus
groupe ‘sato-zakura’.
Et puis pour arranger le tout, les cerisiers sont souvent greffés,
donc l'espèce (ou en tout cas le cultivar) du tronc porte-greffe et
l'espèce des branches qui donnent des fleurs peuvent être différents,
d'ailleurs parfois le porte-greffe se rebelle
et fait
ses propres fleurs, si bien qu'on voit clairement que l'arbre est
composite.
Voilà, donc pour résumer : c'est Compliqué™.
Comme en plus les caractéristiques permettant l'identification ne
sont pas du tout évidentes et ne sont souvent pas ce qu'on remarquera
spontanément (par exemple, la couleur des fleurs est une mauvaise clé
d'identification), et que certains traits sont très instables dans une
espèce, on s'y perd complètement. Ce qu'il faut vraiment regarder
pour identifier les espèces, c'est la forme des pétales, la forme des
étamines et du pistil, la structure des inflorescences, la longueur du
pédoncule, l'attachement aux branches, etc. Ce ne sont pas les choses
qu'on remarque si on veut juste admirer les arbres (et ce n'est sans
doute pas un hasard : c'est justement parce qu'on ne les
remarque pas qu'il n'y a pas eu de sélective artificielle à ce sujet,
donc ces paramètres peuvent servir à l'identification). Et j'avoue
que, moi, je ne regarde pas trop de près.
🌸
Mais peu importe le nom précis du Prunus, on peut se contenter de
l'admirer.
Donc, où et quand peut-on voir des beaux Prunus en Île-de-France ?
(Je parle de l'Île-de-France parce que c'est là où je vis et ce que je
connais, mais évidemment beaucoup de remarques générales comme celles
sur le moment de la floraison s'appliquent à tout endroit qui a un
climat comparable.)
Le où et le quand vont ensemble, bien sûr : chaque
arbre donné va fleurir pendant quelque chose comme une à deux
semaines, mais la floraison de l'ensemble des Prunus s'étale entre fin
février et fin avril. En excluant des
floraisons carrément
hivernales (qui peuvent être des accidents, des mutants ou des
cultivars très spécifiques), les premiers à sortir leurs fleurs ce
sont les prunelliers (sauvages), Prunus spinosa (espèce du
sous-genre Prunus, c'est-à-dire plus proches des pruniers que
des cerisiers vrais), des petits buissons épineux assez nombreux sur
le bord des chemins et des routes et qui se repèrent bien parce qu'ils
se parent de jolies petites fleurs blanches assez délicates. Bon, de
près,
c'est un
peu décevant, mais de loin c'est très mignon, surtout quand il y
en a beaucoup, et je les aime surtout parce que je vois ça comme le
signe que ça y est c'est le printemps qui arrive. (J'en ai mis une
photo plus haut à gauche.)
Image : Prunus cerasifera var. divaricata à
Chèvreloup (photo prise le ) Ce sont parmi
les premiers à fleurir.
Dans les parcs et jardins, ce sont surtout les Prunus
cerasifera (pruniers-cerises, aussi dans le
sous-genre Prunus) qu'on
va voir
fleurir à peu près à ce moment-là (je veux dire, maintenant, tout
début mars). Et au sein de cette espèce, il y a un groupe
d'individus, précisément des Prunus cerasifera
var. divaricata, auxquels je suis particulièrement attaché, et
auxquels je vais rendre visite chaque année début mars : ils sont
situés ici
dans l'arboretum de
Versailles-Chèvreloup[#2] (il
faut tourner à gauche immédiatement après l'entrée, et ensuite avancer
d'environ 300m). Je les
avais vus
pour la première fois le , en fleurs, par
un temps absolument magnifique, et j'étais complètement émerveillé par
leur aspect presque argenté, resplendissant au soleil : chaque année,
depuis, j'essaie de retrouver ce moment magique, mais ce n'est pas
toujours possible (il faut qu'il y ait un moment de beau temps qui
tombe à la fois pendant la brève floraison des pruniers-cerise et où
je sois disponible pour aller à Chèvreloup). J'ai enfin réussi
à les
revoir aussi beaux hier (photo ci-contre, à droite) et c'est
essentiellement ça qui me motive à écrire ce billet de blog. Si vous
voulez les voir, il faut y aller maintenant : dans une
semaine ce sera déjà trop tard.
[#2] L'arboretum
de Chèvreloup, situé sur la commune du Chesnay-Rocquencourt, est
situé immédiatement au nord du parc de Versailles (juste à côté du
domaine de Trianon), en face du centre commercial Parly 2. Il
appartient au Museum national d'Histoire naturelle (comme le Jardin
des Plantes de Paris). Ce n'est pas un jardin paysager mais bien un
arboretum : le but n'est pas de faire joli, mais de rassembler des
specimens de nombreuses espèces et de les étiqueter ; néanmoins, c'est
un cadre agréable où se promener (ou bien pour faire un pique-nique si
on aime ça), et le poussinet et moi aimons bien y aller (souvent après
avoir pris un brunch au café Coutume à Parly 2).
L'entrée de l'arboretum est payante, mais ce n'est vraiment pas
exorbitant et il y a des abonnements annuels. Ils ont une jolie
collection de cerisiers à fleurs, mais je souligne que les
pruniers-cerise dont je parle ci-dessus, qui fleurissent nettement
avant les autres, ne sont pas au même endroit (ce ne sont pas des
cerisiers vrais, c'est-à-dire du sous-genre Cerasus, ce sont
plutôt des pruniers). À toutes fins utiles, je précise qu'on peut y
aller en transports en commun (prendre le bus depuis Versailles
jusqu'à Parly 2 et ensuite c'est à quelques minutes de marche), même
si c'est un peu long.
Mais la floraison des cerisiers proprement dit (le
sous-genre Cerasus du genre Prunus) commence plus tard,
typiquement vers la dernière semaine de mars ou tout début avril.
Image : Le célèbre Prunus serrulata ‘Shirotae’ au
Jardin des Plantes de Paris (photo prise
le )
Personnellement je préfère ceux qui ont des fleurs blanches, et à
ce sujet,
un magnifique
specimen est le Prunus serrulata f. albida
‘Shirotae’ du Jardin des Plantes de Paris (il
est ici[#3]).
Le nom du cultivar, Shirotae (que j'eus par le passé écrit par
erreur Shirotæ, pensant que c'était le génitif d'une
latinisation), en japonais 白妙, signifie
littéralement tissu blanc. Et de fait, quand il fleurit
(typiquement vers la dernière semaine de mars), et c'est vraiment un
spectacle, il y a toujours plein de gens qui se pressent autour pour
le prendre en photo, se prendre en photo avec lui (y compris des
couples de jeunes mariés, d'ailleurs). Si vous voulez voir un
Shirotae aussi beau mais sans les nuées de visiteurs autour,
il y
en a un à Chèvreloup (il est
précisément ici).
[#3] J'hésite toujours
un peu à désigner un arbre individuel pour les raisons que
j'ai évoquées ici (à propos de la
destruction du Sycamore Gap Tree). Mais bon, je
fais le pari que mon blog n'est pas lu par des millions de personnes
et que ces personnes ne sont par ailleurs pas des vandales, et de
toute façon cet arbre précis est déjà hyper connu. Mais j'avoue que
je suis toujours nerveux quand je vois tant de gens autour de lui :
c'est un specimen fragile, quand même. Donc j'en profite pour
rappeler qu'on ne touche pas les plantes (quelles qu'elles
soient), on se contente d'admirer avec les yeux et éventuellement
d'approcher le nez pour sentir.
Image : Prunus
(peut-être Prunus × yedoensis) ornant la route de Damiette à
Gif-sur-Yvette (photo prise
le )
Image : Prunus
(peut-être Prunus × yedoensis) ornant le parking de la gare de
Courcelles à Gif-sur-Yvette (photo prise
le )
Mais les beaux specimens ne sont pas forcément plantés dans un
jardin : parfois ils décorent modestement une rue. La route de
Damiette à Gif-sur-Yvette
(ici)
et, pas loin de là, le parking relais de la gare de
Courcelles-sur-Yvette
(ici)
sont ornés de
cerisiers absolument
splendides. Comme ils ne sont pas étiquetés et que je ne sais pas
identifier les plantes avec ce degré de précision, je ne sais pas de
quels cultivars il s'agit : je penche pour Prunus × yedoensis
‘Somei-Yoshino’ (je ne sais même plus bien sous quelle base j'avais
fait cette identification), mais ils ressemblent quand même aussi
beaucoup à ces Prunus serrulata (groupe ‘sato-zakura’)
f. erecta
‘Ama-no-gawa’ photographiés
ici. En tout cas, ils ont des fleurs blanches délicates mais très
nombreuses : alors que le Shirotae mérite son nom de tissu blanc,
celles-là m'évoquent plutôt de la neige ou du coton. La première fois
que j'avais vu ces arbres (en passant en voiture), je les avais
qualifiés de floup-floup pour désigner leur aspect cotonneux.
Et oui, je sais, le parking relais de la gare de
Courcelles-sur-Yvette, ça ne fait pas rêver, mais je vous assure
que, l'an dernier, j'avais trouvé
l'endroit absolument
féerique (même si les photos ci-contre, à droite, ne le rendent
pas bien), et je compte bien y retourner cette année, surtout s'il
fait beau.
Image : Hanami au parc de Sceaux sous les Prunus
serrulata ‘Kanzan’ du bosquet nord (photo prise
le )
Maintenant, si vous préférez les cerisiers à fleurs roses à ceux à
fleurs blanches, le cultivar le plus populaire est Prunus
serrulata (groupe ‘sato-zakura’) f. purpurascens ‘Kanzan’,
cultivar également connu commercialement sous le nom
de Hizakura mais en fait c'est la même chose. Ceux-là
fleurissent plus tard, typiquement vers la première ou deuxième
semaine d'avril, et ils ont de très abondantes fleurs roses. (En
fait, je crois que ce sont presque toujours des greffes : je ne sais
pas quelle est l'espèce du porte-greffe, mais le cultivar dont je
parle est celui des branches à fleurs.) Il y en a par exemple
de très
jolis au jardin Brassaï à Paris
(ici),
ou, pas loin de là,
un superbe
alignement au mail de Bièvre
(ici).
Mais pas seulement à Paris, ils sont un peu partout : j'avais
remarqué, par exemple, le chemin de la Hunière
(ici),
dans le quartier des Joncherettes à Palaiseau, un autre très joli
alignement de ces cerisiers précis.
Ceci étant, si vous voulez célébrer 花見 (hanami, contemplation des fleurs) en
Île-de-France, l'endroit évident est le parc de Sceaux. Le bosquet
nord
(ici)
est planté du cultivar ‘Kanzan’ à fleurs roses et, le week-end où ils
fleurissent, s'il fait
beau, il
y a carrément foule, des gens qui font des pique-nique, des
cosplayers japonisants, c'est vraiment très bon enfant (cf. la photo à
gauche). Le bosquet sud
(ici),
lui, accueille des Prunus avium ‘Plena’ (je crois), à fleurs
blanches (et qui fleurissent un peu plus tardivement) : il est
beaucoup moins populaire, mais comme j'ai dit que je préférais les
Prunus à fleurs blanches que roses, je trouve
ça très
joli aussi.
Précision importante
() : Ma maman me fait part d'une
information lue dans je ne sais quel journal : comme la
surfréquentation des bosquets de cerisiers du parc de Sceaux abîme les
arbres (dont les racines sont, si je comprends bien, victimes d'un
champignon que le piétinement aggrave), le département propriétaire du
parc a décidé qu'à partir de cette année 2026, l'accès aux bosquets
pendant hanami se ferait sur réservation préalable (gratuite), de
manière à limiter le nombre de visiteurs.
Voyez sur
cette page pour le programme et la manière de réserver.
Voilà, je n'ai fait que lister quelques uns des endroits que j'ai
remarqués, soit parce que j'y passe souvent soit parce qu'ils sont
particulièrement spectaculaires, mais il va de soi qu'il y a plein
d'autres endroits en Île-de-France où on peut voir des beaux Prunus.
N'hésitez pas à en signaler en commentaires si vous en connaissez de
remarquables.
Je croule sous les choses à faire, et en
plus j'ai justement besoin de dormir, donc ce billet sera forcément un
peu bref, mais c'est peut-être une bonne chose.
J'ai fait une longue insomnie il y a quelques nuits, au cours de
laquelle je me suis mis à penser à des questions de
maths[#], ce qui n'est
généralement pas un bon signe pour le fait de se rendormir, et j'ai
repensé à ce billet où je parlais
de pensées somnifuges (qui éloignent le sommeil)
et somnipètes (qui le procurent), et je classifiais à cette
occasion les maths comme particulièrement somnifuges. Je pense
toujours que c'est effectivement vrai, mais je me dis qu'il y aussi
une causalité dans l'autre sens.
[#] Si vous voulez
savoir à quel sujet : j'ai trouvé la preuve des propositions que
j'expose
dans cette
question MathOverflow à 5h30 du matin (et ça m'obsédait
depuis quelques
jours).
Et je veux dire par là quelque chose d'un peu différent de quand
je suis fatigué, je n'arrive pas à penser à des maths. En fait,
j'arrive assez bien à penser à des maths même quand je suis fatigué
mais debout : c'est plus laborieux et ça marche moins bien (le
problème est surtout que je perds sans arrêt le fil de mes pensées),
mais il n'y a pas d'obstacle fondamental à y penser.
Alors que je me suis rendu compte que quand je suis dans un certain
mode d'endormissement (en gros quand je viens de me coucher et que je
vais m'endormir prochainement sans trop de mal), c'est plus que ça :
je ne peux pas penser aux maths. Ça ne marche tout
simplement pas. J'ai l'impression qu'il y a un bout de mon cerveau
qui s'est déjà déconnecté. (Si je fais un gros effort, ou si je me
lève, je peux le réveiller, mais ça compromet alors ma capacité à
m'endormir.) Et ce n'est pas comme si j'étais incapable de penser
tout court : je peux me raconter des histoires, ça ça marche très
bien ; je suis même aussi capable, dans cette phase d'endormissement,
ou plutôt, de pré-endormissement, de visualiser des images avec
beaucoup plus de facilité que quand je suis debout et bien éveillé (où
j'ai une légère tendance à l'aphantasie).
Quand je dis que je ne peux pas penser à des maths, je veux dire
que c'est la partie formelle des maths qui me devient assez
inaccessible, pas vraiment l'intuition derrière les concepts
mathématiques : si on me dit le compactifié de Stone-Čech de ℕ,
j'ai une sorte d'image mentale intuitive associée
(compliquée[#2], d'ailleurs),
et cette image sera toujours présente, donc ce n'est pas comme si je
perdais toute notion des concepts mathématiques, mais si j'essaie de
me demander, par exemple, si ℕ est ouvert dedans, c'est quelque chose
que je sais très bien faire quand je suis debout, mais qui me devient
complètement impénétrable dans cette phase de pré-endormissement.
[#2] Je prends cet
exemple parce que c'est justement un objet dont il est très compliqué
de donner une représentation intuitive sous forme graphique
(j'avais fait
une tentative merdique il y a longtemps), mais dont j'ai quand
même une certaine image mentale intuitive, difficile à communiquer,
mais qui ne se limite pas à une définition formelle (je renvoie
à ce passage
de ce billet pour une discussion
générale). Et qui est susceptible d'apparaître dans un rêve (bon, je
ne sais plus si j'ai rêvé de βℕ, mais je suis sûr d'avoir rêvé de ω₁
et ω₂, par exemple).
Et c'est exactement ce qui se passe dans les rêves, aussi : je fais
parfois des rêves impliquant des concepts mathématiques, de manière
pas complètement absurde, parfois même avec des idées pas idiotes,
mais comme si la rigueur mathématique avait complètement disparu et
que les maths étaient plutôt une sorte d'activité artistique pure.
Et c'est aussi à rapprocher du fait que, et là pour le coup
j'imagine qu'il n'y a pas besoin d'être mathématicien pour s'en rendre
compte, le calcul mental dans les rêves ne marche pas du tout. Pour
moi, en tout cas, si des nombres apparaissent dans un rêve, ce sont
généralement des nombres auxquels j'ai pensé récemment à l'état
d'éveil, et si je tente de faire une opération en rêve, le résultat
sera complètement fantaisiste, probablement un autre nombre tiré au
pif de ma mémoire récente. Ou alors je vais me rendre compte dans le
rêve lui-même que je n'arrive pas à faire le calcul.
Spontanément j'aurais dit que les nombres (au sens du calcul
mental) et les mathématiques (au sens du raisonnement formel et
rigoureux) n'ont que peu de rapport, mais en fait c'est sans doute mon
orgueil de mathématicien pas très doué pour le calcul mental qui veut
croire ça, et les neurosciences ne sont pas forcément d'accord.
D'ailleurs, si j'en
crois cette
vidéo
(version
texte ici — dont je dois cependant préciser que je n'ai pas
vérifié les sources et je ne sais pas bien le niveau de sérieux), il y
a bien des régions du cerveau spécifiquement impliquées dans le
raisonnement mathématique, et ces régions servent effectivement au
calcul mental même chez les non-mathématiciens, mais aussi au
raisonnement mathématique complexe chez les mathématiciens. Peut-être
que ces régions s'endorment (ou en tout cas deviennent moins actives,
ou différemment actives) avant les autres. Tandis que les régions
impliquées dans l'intuition mathématique, elles, sont tout à
fait différentes et restent actives pendant certaines phases du
sommeil (dont les rêves).
En tout cas, la conclusion que j'en tire provisoirement est que ce
n'est pas tant, ou en tout cas pas seulement, le fait de penser à des
maths qui m'empêche de m'endormir, mais aussi que le fait d'arriver à
penser à des maths est le signe que je ne suis pas dans une phase qui
va me permettre de m'endormir.
Sur l'étendue de l'espace et la manière dont je la ressens
Le présent billet est censé former un diptyque
avec celui-ci qui concernait le
passage du temps. Je me rappelle que dans les platitudes qu'on nous
avait inculquées lors de mes cours de philosophie de Terminale, il y
avait une phrase de Jules Lagneau (personne dont je ne sais absolument
rien hormis qu'il a dit cette banalité) disant
approximativement[#]
ceci : L'espace est la marque de ma puissance, le temps celle de
mon impuissance. Ce qui suit est donc une tentative pour exprimer
la manière dont je vis et habite l'espace après avoir dit la manière
dont je subis et endure le temps.
[#] J'écris approximativement parce
qu'elle semble exister en plein de petites variations en ligne, et
quand on va
chercher une
source correcte, la phrase est vraiment (fragment nº40) : Le
temps marque de mon impuissance, l'étendue de ma puissance. Je
suppose que c'est censé être une phrase nominale, pas un usage
intransitif du verbe marquer, mais la syntaxe me semble bizarre
(j'aurais mis une virgule après marque si c'est une phrase
nominale) ; et je ne sais même pas si étendue veut vraiment
dire ce que j'appellerais l'espace — peut-être qu'avant
Minkowski il était plus courant de contraster le temps et
l'étendue que le temps et l'espace. (Ce que je vois du reste
des Fragments du Monsieur me semble, à vrai dire, presque
délibérément sibyllin dans son caractère gnomique : L'espace est un
système unique et infini de dimensions indéfinies en nombre et en
longueur — qu'est-ce que c'est que ce charabia ?) En tout cas,
pour moi, étendue de l'espace est assez symétrique
de passage du temps, d'où le choix du titre de ce billet.
Depuis que je suis enfant je n'aime pas voyager. On pourrait en
conclure que je n'aime pas explorer l'espace, mais en fait ce n'est
pas du tout la bonne conclusion : ce que je n'aime pas dans le voyage,
c'est qu'il est le prix à payer pour explorer l'espace, pour
se rendre ailleurs, prix qui se paye à la fois en temps (voyager prend
du temps), en argent (voyager coûte cher) et en confort ; s'agissant
de mon cas, c'est souvent le dernier élément qui l'emporte (je ne
reviens pas sur ce que j'ai écrit
ici sur les objets que j'aime bien avoir avec moi). Disons qu'il
y a une expérience de pensée claire pour faire la distinction : si je
disposais d'un téléporteur me permettant de me rendre à n'importe quel
point de la Terre, je m'en servirais tout le temps pour aller voir
toutes sortes
d'endroits[#2].
[#2] Par exemple, ça me
fascinerait de pouvoir passer juste une heure sur l'île Bouvet (bon, à
condition d'être vraiment vraiment certain que le téléporteur
va marcher pour me ramener chez moi). Mais certainement pas au point
de chercher à faire le voyage jusque là.
À défaut de téléporteur, le souhait de passer généralement la nuit
chez moi, même s'il n'est pas absolu et irréfragable, limite
généralement mon exploration de l'espace aux environs de Paris au sens
large, ainsi qu'à quelques villes accessibles en ~3h de train
maximum.
Mais en fait, la sensation de se sentir à l'étroit ou pas dans tel
ou tel horizon d'accessibilité dépend vraiment de la manière dont on a
intériorisé mentalement ces limites. Je m'explique.
Au risque de répéter un peu ce que je disais
dans ce billet, pendant bien des
années, habitant Paris, je me contentais très bien de déambuler dans
essentiellement deux petits bouts de territoire : Paris d'une part, et
de l'autre les environs d'Orsay (où j'ai grandi, et où mes parents
habitaient), sans même vraiment de continuité entre les deux. Entre
quelque chose comme 2000 et 2015, j'ai beaucoup arpenté Paris et
quasiment rien en-dehors de Paris, et manifestement je ne m'y sentais
pas particulièrement à l'étroit (et rétrospectivement je n'arrive plus
à me comprendre).
Puis mon horizon s'est élargi. Il y a en gros trois raisons à ça.
La première, c'est que (vers 2015) le poussinet et moi avons commencé
à nous intéresser aux parcs et
jardins[#3], et par extension,
aux forêts, et que les parcs et jardins et à plus forte raison les
forêts, à Paris, c'est vraiment
limité[#4]. La deuxième
raison, c'est que mon boulot a déménagé de Paris
à Trifouilly-lès-Saclay et que, en
préparation à ça, j'ai passé le
permis en 2018 (puis, pour essayer de dissiper ma gêne à conduire
une voiture, le permis moto en
2019) : tout ça m'a à la fois rendu possible et rendu nécessaire le
fait d'explorer au-delà de Paris et de la vallée de Chevreuse (même si
le plateau de Saclay est juste au bord de la vallée en question). Le
poussinet et moi nous sommes mis à nous promener dans les forêts
d'Île-de-France (j'ai même commencé à écrire
un guide touristique, que je ne
sais pas si j'aurai le courage de continuer), et j'ai pris goût aux
balades à moto. La troisième raison, c'est les confinements liés au
covid en 2020 m'ont rendu absolument insupportable le fait de rester
enfermé chez moi ou proche de chez moi. Notamment, ce qui m'a permis
de ne pas craquer totalement, pendant le premier confinement, c'est le
fait que le poussinet m'a entraîné à faire des « fugues » en forêt,
bien au-delà de la limite de 1km du domicile que l'absurdistan
autoritaire prétendait nous imposer. Bref, ces trois facteurs
ensemble font que mon rapport à l'espace a totalement changé entre
2015 et 2020.
[#3] Ça a dû débuter avec une série documentaire
intitulée Jardins d'ici et d'ailleurs sur Arte, dans
laquelle nous avons entendu parler pour la première fois de la
Vallée-aux-Loups, alors que ce n'est vraiment pas loin de chez
nous. Donc nous sommes allés voir.
[#4] Il y a quand même
quelques beaux trucs, notamment les jardins de l'école du Breuil
(école d'horticulture de la Ville de Paris) dans le bois de Vincennes,
ou le parc de Bagatelle dans le bois de Boulogne, que j'aime beaucoup.
J'aimais aussi beaucoup le parc André Citroën autrefois, mais il est
en manque cruel d'entretien et maintenant toutes les petites serres
qui faisaient son charme sont fermées et toutes les fontaines sont en
panne ou carrément supprimées. Cependant, l'exploration d'espaces
plus vastes m'a rendu très désagréables les simulacres d'espaces verts
qu'on trouve à Paris, et je trouve finalement presque pire de voir
trois malheureux marronniers (tellement malades qu'ils perdent leurs
feuilles en août) dans un square minuscule, ou encore la mode actuelle
des « rues végétalisées », qu'une absence totale de verdure.
Mais il y a aussi un facteur sous-jacent chez moi, c'est que je
suis assez fasciné par les cartes. Une carte seule ne me donne pas
vraiment envie d'explorer si je ne connais pas déjà l'endroit (la
carte ne me « parle » pas vraiment si je n'ai pas mis les pieds sur le
terrain). Connaître le terrain ne me donne pas non plus en soi
l'envie d'explorer. Mais si je vois sur une carte un endroit que je
connais, mon cerveau se met immédiatement à rechercher la
correspondance entre mes souvenirs visuels de l'endroit et les points
sur la carte (dans la terminologie que j'évoquais
dans ce billet, entre le « mode
vue » et le « mode carte » du sens de l'orientation), et à rechercher
tous les lieux que je ne connais pas, et ça me donne envie d'aller les
voir[#5].
[#5] Et la première
chose que j'ai faite quand j'ai eu une moto a été, en quelque sorte,
de « comprendre » l'espace, autour d'Orsay, dans lequel j'ai grandi,
c'est-à-dire me faire une représentation mentale de l'emplacement
d'endroits associés à diverses images dans mon souvenir (souvenir
constitué largement de mon expérience de spectateur passif comme
passager d'une voiture).
Du coup, on peut ajouter un quatrième facteur à ceux que j'ai
évoqués plus haut : l'existence d'OpenStreetMap combinée à la
disponibilité plus large des GPS dans les smartphones, et
notamment l'application OsmAnd que j'utilise maintenant pour
enregistrer quasiment tous mes déplacements (à pied, à vélo, à moto,
en voiture, et parfois même en transports en commun), tout ça m'incite
à regarder beaucoup plus les cartes, pour voir où je suis allé et donc
où je pourrais aller. Regarder la carte de nos balades en forêt, ou
bien des lieux où j'ai pris une photo géolocalisée (j'en ai posté une
version ici
si vous voulez voir à quoi ça ressemble) me donne une représentation
visuelle de mon rapport au territoire qui m'entoure et ne cesse de me
suggérer d'aller voir ce qui se cache aux endroits où je n'ai pas
encore été.
Mais cette carte de possibilités où aller m'évoque maintenant aussi
quelque chose de fondamental : c'est la liberté d'y aller.
C'est quelque chose que m'a dit mon moniteur d'auto-école à une de
mes premières leçons : en gros, la voiture, c'est la liberté.
En Parisien qui n'avait jamais eu de voiture (et pas vraiment, à ce
stade, de motivation d'en acquérir une), et qui passais le permis par
besoin parce que mon boulot déménage, en considérant ça comme une
emmerde profonde, j'ai hoché la tête en me disant qu'il faisait sa pub
pour la bagnole. Même en m'inscrivant au permis moto je ne crois pas
que j'avais vraiment cet aspect en tête (et pourtant, la liberté est
quelque chose que les motards mettent souvent en avant). Presque
malgré moi, l'usage de ces véhicules, mais aussi et surtout les
confinements imposés, m'ont fait prendre conscience de l'importance —
de la nécessité, même, pour ma santé mentale — de cette liberté
d'aller où je veux, notamment à travers le plaisir de la retrouver en
mai 2020 et la douleur de la reperdre en octobre
(cf. ce billet où j'ai décrit
l'intervalle entre les deux).
Je ne m'étais pas rendu compte auparavant à quel point les
transports en commun étaient
limitants[#6]. Ce n'est pas
juste qu'ils sont très lents : c'est qu'ils ne couvrent que les
endroits très peuplés, et explorer le territoire, aller se balader
dans la nature, c'est justement aller dans des endroits qui ne sont
souvent pas très peuplés. Je suis notamment tombé amoureux du Vexin
(j'ai déjà écrit un billet à son
sujet), mais c'est une région rurale, et pas toute petite, où il est
essentiellement impossible de se rendre en transports en commun (à
part pour une unique branche du transilien qui ne dessert vraiment pas
grand-chose). Le monde accessible en transports en commun est
essentiellement de dimension 1, et dès qu'on s'écarte du point central
où toutes les lignes sont concentrées, ça devient vraiment
frappant.
[#6] Je ne dis pas ça
comme une critique mais comme un regret. C'est juste une évidence
logique que des transports en commun ne peuvent exister que
dans la mesure où tout le monde veut voyager aux mêmes endroits, donc
ils ne peuvent pas vraiment fournir de liberté de déplacement (en tout
cas, pas la liberté d'aller là où personne ne veut aller).
La liberté qui rend la balade agréable, c'est celle de pouvoir
partir sans itinéraire prédéfini et, à chaque choix de chemin à
prendre, de décider sur le coup, sans raison, tiens, ça a l'air
joli par là, voyons où ça nous mène. Chaque bifurcation est une
invitation à revenir plus tard à l'endroit en question et à prendre
l'autre branche. C'est ça la différence profonde entre le temps et
l'espace, la marque de notre impuissance et de notre puissance : dans
le temps, nous devons faire des choix qui sont ensuite gravés dans le
marbre de l'éternité, tandis que dans l'espace, nous pouvons revenir à
l'endroit du choix et explorer les autres possibilités.
Maintenant, peut-être que si mon boulot n'avait pas déménagé, et/ou
s'il n'y avait pas eu la pandémie, j'aurais continué à ne pas regarder
au-delà de l'horizon du périphérique parisien. Et inversement, dans
un monde parallèle (ou, qui sait, peut-être dans l'avenir ?), il y a
peut-être un David Madore qui a parcourt carrément le monde entier
(tout en se désolant que l'avion émette tant de CO₂) et en a besoin
pour ne pas se sentir emprisonné. Lequel est le plus heureux ? C'est
difficile de juger nos propres inclinations.
Il y a aussi la liberté de partir sans avoir à se justifier. Le
poussinet et moi nous sommes un jour (un peu) moqués de ma maman, qui,
habitant Orsay depuis plus de 40 ans, me disait qu'elle n'avait jamais
visité le parc de Chamarande, pourtant situé à à peine une demi-heure
de route de chez elle, alors qu'elle en avait entendu parler et que ça
l'intéressait : mais apparemment elle attendait d'avoir une
« occasion » pour le faire. Alors nous lui avons dit bon ben on y
va maintenant, et elle a été ravie. Mais c'est aussi ça qui rend
la liberté tangible, c'est de pouvoir décréter l'occasion de se
déplacer, sans attendre qu'elle nous tombe dessus par l'extérieur.
Je ne suis vraiment pas du genre aventureux (à de rares exceptions
près, j'ai une forte aversion au risque), mais je suis néanmoins
curieux, et l'exploration de l'espace autour de moi, tant qu'il est
accessible dans les limites de mon aversion au risque et de mon désir
de confort, fait partie de cette curiosité : si je vois un endroit sur
la carte où je n'ai jamais été, qui semble intéressant mais qui n'est
pas trop difficile d'accès, je peux être tenté de mettre le doigt
dessus et de dire maintenant, je vais là !. Voilà : je n'aime
pas voyager, mais j'aime me promener, et découvrir le territoire.
Pourquoi l'écosystème Linux est un puzzle (et ce qu'on peut y faire)
Je continue ma tentative d'écrire des
billets pas trop interminables avec une autre considération
informatique (qui mériterait pourtant un traitement beaucoup plus long
et approfondi, parce que c'est quelque chose d'important et de trop
peu souligné). Contrairement à la
précédente, ici je ne vais pas prétendre que c'était mieux
âââvant : ce n'était pas mieux avant
(la preuve !), il y a même
peut-être eu une légère amélioration ; et c'est peut-être un problème
assez inévitable, mais ça ne veut pas dire qu'on ne puisse rien y
faire.
Beaucoup d'efforts sont consacrés au fait de rendre les systèmes
Linux utilisables par des gens qui n'y connaissent rien : donc de leur
fournir des interfaces graphiques faciles et conviviales pour faire
des tâches courantes (et j'ai déjà souligné
que ce n'était pas forcément une si
bonne idée). Mais souvent, en informatique, on veut faire quelque
chose qui n'est pas exactement dans les sentiers battus (après tout,
c'est bien le principe d'un ordinateur que de pouvoir servir
à essentiellement
n'importe quoi : il n'est pas concevable de faire une interface
simple et conviviale pour n'importe quelle tâche imaginable). Donc il
faut aussi que le système soit utilisable par quelqu'un qui est prêt à
fouiller un peu plus pour faire des choses plus compliquées : et ces
deux impératifs entrent fréquemment en tension.
Le problème principal de l'écosystème Linux, de ce point de vue-là,
est aussi ce qui fait sa force : le fait qu'il a émergé sans
conception centrale. N'importe qui a le droit d'écrire un bout de
logiciel, ou de lancer un projet pour faire telle ou telle tâche, il
n'y a pas à demander d'autorisation. Du coup, plein de gens ont fait
plein de bouts de logiciels qui font plein de choses différentes, sans
bien se coordonner, et parfois avec des idées très différentes sur
la Bonne
Façon de faire ceci-ou-cela. Donc on se retrouve avec un puzzle
gigantesque d'outils et de mécanismes, qu'il y a souvent plein de
façons différentes d'assembler.
La tâche principale d'une distribution Linux, c'est d'assembler le
puzzle pour vous. Ou du moins de préassembler plein de bouts du
puzzle de manière un peu cohérente. Mais même comme ça, il reste des
libertés d'assemblage et des choix non résolus.
(Bon, peut-être que ma métaphore du puzzle n'est
pas terrible. Au début je pensais parler de labyrinthe, mais ce n'est
pas idéal non plus. En tout cas, je n'ai pas vraiment trouvé mieux,
alors tenons-nous en au puzzle, surtout que ça va me permettre de
donner à ce billet une fin dont je suis très content.)
Je pense que beaucoup d'utilisateurs même parmi les plus débutants
sont conscients du fait qu'il y a, par exemple, plusieurs navigateurs
Web entre lesquels on peut choisir : presque tout le monde utilise
Chrome, de nos jours, mais on peut aussi préférer Firefox (c'est mon
cas) ou Opera. Ce qui n'est pas forcément clair pour les débutants,
c'est qu'en fait, ce genre de choix existe pour énormément de
composantes du système, et si ça représente une grande liberté, c'est
aussi une source possible de confusion.
Pour à peu près n'importe quelle tâche, dans l'écosystème
Linux, il y a plusieurs outils différents, et la manière de régler des
problèmes dépend de celui que vous utilisez, parfois sans le
connaître. C'est la raison principale pour laquelle, quand
on cherche comment faire <machin> sous Linux ? on trouve
souvent des conseils qui, quand on les applique, ne marchent pas du
tout (ou, pire, cassent des choses) : ils supposent que vous utilisez
un outil différent.
Et ce n'est pas juste qu'il y a souvent 7 outils différents pour
faire la même chose et qui fonctionnent différemment : le lien
entre ces outils peut être très varié, et ne se résume pas toujours
simplement à un choix entre eux. Ils ne recouvrent pas
forcément le même terrain, ils peuvent avoir des philosophies très
différentes.
Parfois Bar est prévu pour être un remplacement de Foo (et on va
prétendre que Foo est maintenant obsolète, ce qui ne veut pas
forcément dire que tout le monde est d'accord avec ce jugement :
certains vont parfois lutter pour garder Foo vivant parce qu'ils
trouvent que Bar ne le remplace pas correctement — c'est même une
situation très courante). Parfois Bar continue à utiliser des bouts
de Foo : parfois il émule son comportement pour que les programmes qui
prévoyaient de tourner avec Foo puissent quand même fonctionner avec
Bar ; mais parfois il y a des différences subtiles entre Foo et
Foo-émulé-par-Bar, et parfois il y a en fait le choix entre Foo,
Foo-émulé-par-Bar, et Bar-nouvelle-façon-de-faire.
Et bien sûr, parfois, alors que Bar prétendait remplacer Foo et que
ça se passait mal, un troisième arrivé, Qux, prétend résoudre la
confusion en apportant ses propres solutions d'harmonisation, et le
résultat est encore plus de confusion.
(Il y a un
xkcd pour ça, évidemment.)
Ça peut vite devenir un véritable chaos.
Et si vous n'imaginez pas qu'un projet puisse être à la fois tout
neuf et en même temps déjà considéré comme obsolète (voire, plus
obsolète que le truc qu'il est censé remplacer), c'est que vous n'avez
pas beaucoup utilisé Linux.
La situation classique, donc, c'est que Foo est obsolète, Bar est
censé le remplacer, sauf qu'en fait Qux est en développement pour
régler les problèmes causés à la fois par Foo et Bar, mais il y a
aussi des gens qui préfèrent Corge, lequel est un fork de Bar fait par
des gens qui ne veulent vraiment passer à Qux parce qu'ils lui
reprochent de ne pas correctement faire tout ce que faisait Foo ; et
il y a aussi Flarp qui est un petit projet développé dans son coin par
un unique développeur qui a ses propres idées sur la façon de tout
faire, et qui a son propre groupe de fans, sans parler de Grault, qui
n'a pas bougé depuis 1999 (où il cherchait à reproduire un outil de
Solaris) mais qui continue à plaire aux gens qui aiment la
stabilité.
Bref, parfois les outils différents pour une même tâche sont des
alternatives entre lesquels il faut choisir. Parfois ils sont
strictement incompatibles (et si vous essayez de les utiliser en même
temps, il vous arrivera toutes sortes de malheurs, ou au moins des
messages d'erreur totalement incompréhensibles). Parfois ce sont des
couches au-dessus les unes des autres (i.e., Bar ne remplace pas Foo,
il se met au-dessus, et vous êtes censé utiliser l'interface fournir
par Bar, pas directement celle de Foo, mais vous pouvez quand même et
ça causera de la confusion). Parfois ils tentent de s'abstraire les
uns les autres (c'est-à-dire qu'un certain outil vous tente de fournir
la même interface que plusieurs autres au-dessus desquels il se place
et entre lesquels il faut peut-être choisir). Parfois ils s'émulent
partiellement. Parfois ils peuvent cohabiter harmonieusement.
Parfois ils partagent une partie de leur état, parfois ils sont
strictement séparés. Parfois ils ont différents modes de
compatibilité permettant d'utiliser l'un sans l'autre ou les deux
ensemble. Et souvent, très souvent, trop souvent, ils ne vous disent
pas clairement dans lequel de ces cas de figure vous êtes.
Parfois votre distribution Linux fait un choix pour vous. Parfois
elle vous fournit les mécanismes pour faire votre propre choix.
Parfois vous avez une couche graphique au-dessus de tout ça qui
fait elle-même des choix, et vous avez le plus grand mal à savoir si
l'outil graphique est un truc indépendant ou s'il fait en fait appel à
Foo, Bar ou Qux : et trouver ce qu'il en est se transforme en un
véritable jeu de piste.
Parfois le choix entre Foo, Bar et Qux est un choix global au
niveau du système, parfois c'est un choix par utilisateur ou par
session. Parfois c'est même juste au sein d'un programme donné
(souvent le noyau Linux lui-même) qu'il y a trois mécanismes
différents pour faire la même chose. Parce que chaque programme un
peu important de l'écosystème Linux est son propre mini-écosystème,
qui tire dans plusieurs directions à la fois et n'a souvent pas de
chef clair, ou dont le chef aime le principe de la liberté de
choix.
On comprend que les choses peuvent rapidement ressembler à un
puzzle 10 000 pièces, qui, en plus de ça, a la possibilité d'être
assemblé de plein de manières différentes.
Mais soyons bien clair : je ne me plains pas vraiment de
cette situation (qui est une conséquence inévitable du principe même
du logiciel libre) ; je me plains surtout de la difficulté à trouver
des explications sur la situation dans tel ou tel
sous-domaine.
Parce que le problème ce n'est pas tant qu'il existe Foo, Bar, Baz,
Qux, Flarp, Corge et Grault qui font plus ou moins la même chose. Ça
c'est plutôt bien, en fait : in varietate
concordia et tout et tout. Le problème c'est surtout que la doc
de Foo ne mentionne même pas Bar, la doc de Bar mentionne brièvement
Foo mais n'explique pas clairement si Bar remplace Foo ou peut
cohabiter avec lui, la doc de Qux ne dit pas qu'il est à moitié
inachevé, la doc de Corge est écrite par des gens qui détestent Qux
donc ils en disent délibérément du mal, la doc de Flarp ne parle que
de Flarp donc vous n'arrivez pas à savoir comment il s'articule avec
Foo, Bar et Qux, et la doc de Grault, évidemment, date de 1999 donc
passe la moitié de son temps à vous expliquer comment l'installer sous
Solaris.
Ah et bien sûr, vous avez une interface graphique qui utilise
probablement un de ces outils, mais vous ne savez pas lequel, et vous
ne savez pas comment chercher cette information. Ça c'est vraiment ce
qui me met hors de moi.
Et pour couronner le tout, vous avez un million de pages Web qui
prétendent vous expliquer comment faire <truc> sous Linux, sans
vous expliquer lequel de ces outils elles prétendent utiliser. Sans
commencer par un avertissement en gras pour dire que ce qui suit
s'applique uniquement à ceux qui utilisent Qux. Et vous avez un
million de débutants (pressés et qui n'ont pas envie d'apprendre,
juste de régler leur problème) qui vont aléatoirement suivre les
conseils de ces pages Web (ou, maintenant, demander à
des IA sans leur donner les infos nécessaires, et suivre
les hallucinations de ces IA), peut-être éditer les
mauvais fichiers de config qui ne vont avoir aucun effet jusqu'au jour
où leur système passe de Bar à Qux et là le fichier de config qu'ils
avaient édité et oublié qu'ils ont édité des années avant se met à
prendre effet et ils ne comprennent rien pourquoi tout est cassé.
Ce qui manque surtout, selon moi, ce sont des gens qui essaient
d'expliquer la situation d'ensemble. Idéalement, la doc de
chacun des projets Foo, Bar, Baz, Qux, Flarp, Corge et Grault devrait
mentionner honnêtement chacun des autres, et surtout, comment ils
s'articulent avec le projet dont cette doc parle, et comment savoir
auquel on a affaire. Et plus généralement, dans toutes
sortes de sous-domaines de l'écosystème, on a besoin de gens pour
écrire des pages donnant the big picture :
quelles sont les pièces du puzzle dans ce domaine, quels sont les
choix possibles, et quelles sont les façons de les assembler.
Clopen source : de la difficulté croissante de compiler des programmes
Je vais de nouveau tenter d'écrire un ou
plusieurs billets pas trop interminables. On va voir comment ça va
marcher.
Ce que je veux dire ici va recouvrir en partie ce que je disais
déjà dans ce billet récent mais
concerne un aspect un peu différent : la difficulté à compiler des
programmes sous Linux. Et ce n'est pas juste que ça devient
difficile, c'est aussi que plus grand-monde ne le fait, et les deux
aspects forment un cercle vicieux.
👉︎ Quelques explications
terminologiques pour les personnes pas trop familières de
l'informatique : Quand on [= des humains] écrit un programme, la forme
textuelle du programme (ou package) sur laquelle
on travaille est appelée le code source, ou de façon un peu
abusée, le source (notez le genre masculin). La forme que
l'ordinateur est capable d'exécuter est appelée l'exécutable
binaire, ou de façon un peu abusée, le binaire. Comme le
binaire est illisible et non éditable en pratique par un humain, et
qu'il dépend des détails de l'ordinateur sur lequel on va le faire
tourner (type de processeur, système d'exploitation, etc.), on préfère
souvent distribuer le source et refabriquer le binaire au besoin.
L'opération par laquelle on passe du source au binaire est appelée
la compilation (bon, c'est simplifié parce qu'il peut y avoir
d'autres opérations qui vont avec, par exemple de préparer des
fichiers de données annexes, mais c'est l'idée). Conceptuellement, ce
n'est pas compliqué, on applique un programme appelé compilateur sur
le source et il fabrique le binaire (adapté au processeur et à
l'OS souhaités). En pratique, le diable est dans les
détails, il y a énormément de bouts de source à compiler dans un ordre
bien précis, souvent avec des dépendances compliquées, il faut donner
des options très précises au compilateur, et il existe toutes sortes
de mécanismes différents servant à lancer la compilation comme il
faut.
À titre d'exemple, je compile mes propres
Firefox[#] à partir du source.
Je ne connais absolument personne d'autre qui fasse ça.
Pourtant, je fréquente pas mal de geeks, mais je n'ai jamais rencontré
qui que ce soit d'autre que moi qui compile Firefox (régulièrement, ou
même de temps en temps pour essayer) et qui ne soit pas dans — ou
facilement assimilable à — l'une des deux catégories évidentes :
ⓐ développeur pour Mozilla, ou bien ⓑ mainteneur d'une distribution
Linux. Absolument personne. Je sais parce que j'ai souvent fait des
appels à l'aide suite à des problèmes de compilation de Firefox, et
personne ne répond jamais. Tout le monde télécharge simplement son
Firefox sous forme de binaire sur le site de Mozilla, ou utilise celui
de sa distribution.
[#] La principale raison
pour laquelle je le fais est qu'il y
a un bug
insupportable dans Firefox depuis plus de 20 ans(!) qui fait qu'il
transforme des espaces insécables (U+00A0
NO-BREAK SPACE) en espaces normales
(U+0020 SPACE) lors du copier-coller
dans de nombreuses circonstances. Comme je ne veux pas que ce billet
devienne interminable, je ne donne pas plus de détails,
mais voyez
ce fil Bluesky si vous voulez en savoir un peu plus sur le fait
que ce bug a été partiellement mais non complètement corrigé, et
pourquoi ils ne veulent pas le corriger complètement. Bref, j'ai un
patch très facile qui le corrige en grande partie (mais pas
complètement non plus) et je tiens à l'appliquer.
Je ne veux pas trop jouer au vieux con sur l'air de c'était
mieux âââvant, mais j'ai connu une époque où c'était assez normal
de compiler beaucoup de programmes qu'on utilisait. Les raisons
pouvaient varier (programme pas packagé par la distribution, souhait
d'appliquer un patch ou de changer les options de compilation ou de
configuration ou les d'utiliser des bibliothèques différentes, ou
d'avoir une version différente, ou simple question de principe), en
tout cas, c'était courant.
Et ce n'est pas juste que c'était courant : c'est le principe
d'utiliser des logiciels libres, ou open source,
que ce soit possible. C'est la liberté la plus basique derrière le
terme de logiciel libre, c'est la base de la notion
d'open source, et le problème fondamental avec
les libertés qu'on n'utilise pas, c'est qu'elles finissent toujours
par s'éroder.
Je ne dis pas que c'était terriblement facile. Quand j'ai
commencé à utiliser des Unix, c'était vraiment assez chaotique,
généralement il fallait éditer des fichiers d'options de compilation
pour dire à quoi ressemblait le système pour lequel on voulait
compiler (et parfois on n'avait aucune idée de la réponse à des
questions du style les gestionnaires de signaux se comportent-ils
façon BSD ou façon System V ?). Puis est venu un jeu
d'outils appelé les GNU
autotools qui fabriquent un script appelé configure
qui détecte tout seul plein de choses sur le système au lieu de
demander à l'opérateur humain de répondre à toutes ces questions :
très commode quand ça marchait, mais souvent ça ne marchait pas et on
ne savait pas comment réparer le
problème[#2]. Néanmoins, ils
avaient l'avantage d'être assez standards, donc on savait à quoi
s'attendre et comment s'en servir.
[#2] Ceci est un
phénomène récurrent et courant en informatique : plus quelque chose
est automatisé, plus c'est commode quand ça marche, mais
compliqué de réparer les choses quand quelque chose ne va
pas. Il y a certainement des moyens de réduire la tension entre
les deux (par exemple fournir des outils capables de décomposer les
étapes, montrer ce qu'ils font à chaque étape, proposer des moyens de
modifier le comportement à chaque niveau, etc.), mais ils ne sont pas
assez mis en œuvre.
A contrario, distribuer des programmes sous forme binaire
était terriblement difficile, quasi impossible, il y a 25–30 ans :
Linux était quasiment incompatible avec Linux, chaque distribution
avait ses propres idiosyncrasies, rendant la compilation quasiment
obligatoire. Soit votre distribution se chargeait de vous donner
exactement le bon binaire pour vous, soit il fallait le produire par
vos propres moyens à partir du source.
Il me semble qu'il y a eu plusieurs évolutions. Distribuer les
binaires est devenu plus facile : les distributions Linux ont fait des
efforts pour se rendre au moins minimalement compatibles entre elles,
les Unix autres que Linux (et éventuellement les *BSD)
ont quasi disparu, l'espace disque et le temps de compilation sont
plus abondants ce qui permet plus facilement aux auteurs d'un projet
de fournir plein de binaires précompilés ; et aussi, divers systèmes
sont apparus (Snap, Flatpak, Docker, etc.), que je trouve absolument
abominables mais c'est un autre débat, pour permettre de distribuer un
programme en même temps que toutes ses dépendances sous une forme qui
est censée « juste marcher ». Peut-être aussi que plus de programmes
sont fournis par les distributions.
Toujours est-il que ces évolutions ont diminué le besoin de
recompiler à partir du source. Et je crois que les gens qui ne sont
ni ⓐ développeurs du projet Machintruc ni ⓑ mainteneurs de celui-ci
pour le compte d'une distribution, compilent de plus en plus
rarement.
Le principal projet qui me semble faire encore exception, c'est le
noyau Linux lui-même. Parce qu'il est particulièrement facile à
compiler vu qu'il n'a essentiellement pas de dépendances, et parce que
le gain est important vu la myriade d'options qu'on peut régler en le
compilant, ou de patchs qu'on peut vouloir sélectionner, si bien qu'il
est difficile pour les distributions de fournir une version compilée
qui convienne à tout le monde. Mais même le noyau, je pense que
beaucoup moins de gens le compilent maintenant qu'il y a 25–30 ans ;
et l'apparition de code Rust dedans ne va certainement pas simplifier
les choses.
Évidemment, il y a des nuances selon les distributions Linux :
Gentoo, par exemple, part du principe qu'on compile (quasiment) tout
localement. Mais ce n'est pas la compilation au sens dont je parle
ici : je parle de recompiler la version upstream,
celle qui est publiée par les auteurs du programme, pas un package
source créé par les mainteneurs de la distribution (et qui est garanti
fonctionner parce que tout a été fait pour, mais qui n'est pas
fondamentalement différent d'un binaire quand il s'agit de bidouiller
dans les options). Idem pour
Nix[#3], qui utilise l'approche
consistant à tout figer au bit près. Tout ça ne règle pas le problème
fondamental sous-jacent : pour qu'un logiciel soit
véritablement open source, il faut qu'on puisse
lire, éditer et recompiler son source (celui distribué par les auteurs
du projet, pas une version spéciale adaptée pour la distribution),
sans que ce soit impossiblement compliqué ; et ce, même si on n'est
pas développeur du projet ou mainteneur d'une distribution, et sans
que la distribution ait mâché le travail pour nous.
[#3] Les fans de Nix
sont insupportables à venir toujours faire la pub de leur truc : Nix
n'est pas une solution au problème que les sources sont difficiles à
compiler parce que les dépendances sont devenues impossiblement
touffues et parfois contradictoires — Nix est un constat d'échec et
une façon de contourner le problème en actant ce constat d'échec, mais
qui ne règle rien au problème lui-même.
Et il me semble que plus le temps passe, plus la compilation
devient difficile. Ça peut être lié à la multiplicité des
dépendances, ou au fait qu'elles soient extrêmement pointilleuses
(je veux utiliser la version 1.729.42b(8)-deadbeef de la libfoobar
et pas une autre). Ça peut être lié aux langages utilisés. Ça
peut être simplement le fait que comme de moins en moins de
non-développeurs compilent, les auteurs font de moins en moins
d'efforts[#4] (les mainteneurs
pour les distributions vont de toute façon tout refaire à leur sauce).
Ou peut-être que c'est simplement lié à la démocratisation de Linux et
du fait que les utilisateurs n'aient pas envie de compiler des choses
(mais ceci ne peut pas vraiment expliquer la
diminution absolue du nombre de gens qui le font, seulement
une diminution relative).
[#4] À l'inverse, on
vous pousse à récupérer un binaire, et tout est fait pour rendre ça
facile : on vous dit souvent carrément de faire curl
someinstallscript | sh pour, en gros, aller chercher un script
en ligne et l'exécuter directement (ce qui est d'ailleurs un cauchemar
absolu question sécurité). En tout cas, autrefois, le
lien download d'un projet Linux typique pointait
vers le source, maintenant il pointe vers le binaire (et pour le
source on vous renvoie typiquement juste à une page GitHub sans
explications).
La difficulté peut prendre diverses formes. Parfois c'est
simplement une absence d'explications sur comment compiler le projet :
il est difficile d'y voir là autre chose qu'une attitude du
style les développeurs savent comment faire, les mainteneurs des
distributions feront leur propre sauce, et les autres n'ont qu'à
récupérer un binaire. (Ou si ce n'est pas un manque
d'explications sur comment compiler, ça peut être sur la façon
d'installer le(s) binaire(s) une fois compilé(s), ou même sur
l'endroit où ils se trouvent à la fin de la compilation.) Parfois
c'est une absence d'explications sur l'outil
utilisé[#5]. Le bon vieux
système du ./configure --prefix=/some/where
&& make && make install avait toutes sortes de
problèmes, mais au moins on savait quoi faire parce qu'il était
standard au point d'être quasi universel.
[#5] Par exemple, les
projets Rust utilisent cargo : fort bien, mais il faut se
rappeler que la personne qui cherche à compiler le projet ne connaît
peut-être rien de Rust (ou peut-être juste assez pour changer, disons,
un message d'erreur ou un comportement trivial), et n'a peut-être
aucune idée de comment utiliser cargo ni ne veut
apprendre. Pour un outil comme make qui peut servir à
n'importe quel langage, il est raisonnable de demander que celui qui
veut compiler apprenne à s'en servir, mais si l'outil est spécifique à
un langage, ce n'est pas raisonnable vu le nombre de langages de
programmation différents qui existent. (Et on ne peut pas simplement
renvoyer à la doc, qui est généralement beaucoup trop longue, trop
générale, et trop orientée pour les gens connaissant déjà le langage
et ses conventions, pour pouvoir servir aux gens qui veulent juste
compiler une fois un projet utilisant cet outil. Ou alors l'outil
doit prévoir une doc spécifique pour ce cas.)
Parfois c'est une difficulté cachée sous une façade en trompe
l'œil on a fourni un script qui permet de tout compiler
automagiquement (pour la compilation de Firefox, ce script
s'appelle mach), ce qui semble effectivement facile mais
se transforme en cauchemar dès que quelque chose ne va pas exactement
comme prévu (cf. ma note #2
ci-dessus) ou dès qu'on sort du périmètre exact du script magique qui
fait tout.
Certains sont d'ailleurs tellement pinailleurs qu'ils commencent
par télécharger la version exacte du compilateur qui va faire marcher
la compilation (Firefox est de ce genre : il veut une version
tellement précise de CLang et Rust et compagnie que le
script magique qui le compile commence par télécharger les binaires de
tout ça). On se demande un peu quel est l'intérêt de compiler si en
fait la compilation consiste à aller chercher d'abord les
binaires pour le compilateur qui est le seul à pouvoir servir ! Le
source est ce qui est censé pouvoir permettre de reproduire l'outil
qu'on compile ab ovo à partir d'outils standards,
pas à partir d'une version unique du compilateur que vous ne pouvez
pas reproduire elle-même.
Un problème supplémentaire est que ces outils compliqués ont
tendance à devenir de moins en moins reproductibles : ils vont stocker
des choses dans votre répertoire personnel
($HOME)[#6], soit
des bouts de code téléchargés ou déjà compilés ou carrément installés
localement, soit un état global (options de configuration ou de
compilation, variables diverses), et comme on ne sait pas où et
comment ces choses sont stockées ni ce qui peut l'être, on perd
l'aspect reproductible d'une compilation. Là aussi, la documentation
peut être particulièrement opaque pour qui n'a pas envie d'apprendre à
se servir en détail de l'outil, juste de compiler un projet bien
précis.
[#6] La pollution
du $HOME est une des choses qui m'énervent
particulièrement : autrefois, ça ne se faisait jamais, mais maintenant
tout le monde semble trouver normal de faire ses besoins malodorants
dans un sous-répertoire de $HOME sans qu'il y ait un
avertissement préalable. Comme le mien est distribué entre plusieurs
machines et fait l'objet de sauvegardes abondantes, l'espace dedans
est particulièrement cher : je n'ai pas envie que la moindre
compilation le remplisse de giga-octets de données partiellement
compilées. Si je lance la compilation
dans /usr/local/src/somepackage-0.42 j'entends bien qu'il
se serve de ce répertoire et de ce répertoire seulement pour
toute écriture. Quand j'ai un doute, je compile sous le nom d'un
utilisateur qui n'a pas le droit d'écrire dans son $HOME,
ce qui provoque une erreur s'il cherche à le faire : mais si ça
arrive, ça ne me dit quand même pas comment remédier au problème.
Toujours est-il que Linux évolue de plus en plus dans la direction
d'Android[#7]. Il y a bien
quelques logiciels open source dans les
applications Android, mais essayer de fabriquer un .apk
binaire à partir du source est une tâche incroyablement
difficile, et je ne parle pas de recompiler le système Android
lui-même (en gros il vous faudra une machine dédiée à ça, avec
exactement la bonne version de tous les outils). Et de toute façon,
même si vous y arrivez, vous ne pouvez même pas vraiment vous en
servir, parce que vous ne pouvez pas signer l'application avec la clé
des distributeurs, donc le système Android, sous le prétexte
de sécurité (bidon), ne vous laissera pas installer la version
que vous aurez compilée à moins d'effacer totalement la version
antérieure (et donc de perdre toutes vos données). Bref, tout est
fait pour que vous n'ayez aucune liberté dans l'affaire
(cf. cet autre billet).
[#7] Oui, Android est
un Linux en interne, mais il n'y ressemble pas du tout, et il n'est
pas du tout fait pour vous laisser bidouiller avec, cf. ce
que j'écrivais il y a déjà
11 ans.
Je propose d'utiliser le terme clopen source
(clopen est un mot-valise
entre closed
et open, souvent
utilisé en topologie) pour parler de ces projets qui sont
théoriquement open source, mais en pratique faire
quelque chose du source est tellement difficile (soit parce qu'il est
difficile à compiler ou à comprendre comment compiler, soit parce
qu'il y a d'autres barrières comme les signatures Android dont je
viens de parler) que c'est presque complètement théorique.
Sur le papier, l'open source a gagné, beaucoup
de projets importants ont maintenant un code source public, mais en
pratique, c'est surtout le clopen source qui a
gagné : vous avez accès à du code, mais c'est tellement difficile d'en
faire quoi que ce soit que personne n'en fait rien, et en plus tout le
monde s'en fout. Est-ce que ça valait la peine de se battre pour la
liberté des logiciels si c'était pour en arriver là ?
Est-ce que l'intelligence a un sens ? Peut-on la mesurer ?
Après avoir écrit un
ou deux billets sur
l'« intelligence » artificielle, ça fait longtemps que je me
dis qu'il faut que j'en écrive un sur l'intelligence « naturelle »,
humaine, et sur les tentatives pour la mesurer. J'y suis poussé
par une
conversation sur Twitter (où, sans surprise, il n'a pas fallu
longtemps pour
que je
croise un raciste pas du tout subtil dans sa tentative de me
convaincre que si les pays africains sont moins « développés » c'est
qu'il y a une différence d'intelligence d'origine génétique entre les
populations — ben voyons).
J'aime bien dire de façon courte mais sèche que les mesures
de QI sont une bonne façon de tester l'intelligence parce
que les gens qui y croient sont des idiots complets. Mais essayons de
développer un peu.
☞ Qu'est-ce que l'intelligence ?
Le principal problème avec l'intelligence, déjà, c'est que personne
ne sait ce que c'est. Si vous ouvrez N dictionnaires, vous
trouverez N définitions différentes, chacune énumérant
d'ailleurs souvent plusieurs traits ou caractéristiques, le rapport
entre lesquelles est laissé en exercice au lecteur. Wikipédia en
français, par
exemple, écrit :
L'intelligence est l'ensemble des processus trouvés dans des
systèmes, plus ou moins complexes, vivants ou non, qui permettent
d'apprendre, de comprendre ou de s'adapter à des situations nouvelles.
La définition de l'intelligence ainsi que la question d'une faculté
d'intelligence générale ont fait l'objet de nombreuses discussions
philosophiques et scientifiques. L'intelligence a été décrite comme
une faculté d'adaptation (apprentissage pour s'adapter à
l'environnement) ou au contraire, faculté de modifier l'environnement
pour l'adapter à ses propres besoins.
— tandis que pour Wikipédia en anglais :
Intelligence has been defined in many ways: the capacity for
abstraction, logic, understanding, self-awareness, learning, emotional
knowledge, reasoning, planning, creativity, critical thinking, and
problem-solving. It can be described as the ability to perceive or
infer information and to retain it as knowledge to be applied to
adaptive behaviors within an environment or context.
On sent bien là une tension entre différentes définitions et entre
différents domaines : biologie de l'évolution, sciences cognitives,
philosophie, neurologie, psychiatrie, psychologie, cybernétique, que
sais-je encore, chacune peut avoir sa propre définition de
l'intelligence avec un rapport pas forcément très clair.
Mais bon, le fait qu'on ne sache pas définir quelque chose n'est
pas forcément un signe que cette chose n'existe pas : c'est
probablement encore plus difficile de définir ce qu'est
la beauté que l'intelligence, ce qui ne veut pas dire que le
mot soit dénué de sens (nonobstant le fait qu'il est éminemment
subjectif et variable selon la personne qui juge).
☞ L'idée des tests objectifs
La différence, c'est qu'il est largement admis que la beauté est
une caractéristique essentiellement subjective et culturelle (ce qui
n'est pas pour autant dire que tout le monde est également beau), et
que ça n'a pas de sens d'essayer de la quantifier, il y a beaucoup de
gens, y compris avec une certaine formation
scientifique[#], qui voudraient
nous faire croire que l'intelligence est quelque chose de précisément
et objectivement mesurable, voire, qu'ils ont effectivement des tests
permettant de faire ça.
[#] Dans une direction
un peu différente, il y a aussi (notamment autour d'un gourou
appelé Eliezer
Yudkowsky, dont je n'ai jamais bien compris pourquoi plein de gens
l'écoutent ni quelles compétences il est censé avoir sur le sujet) des
gens qui vouent carrément une sorte de culte à l'intelligence et/ou à
la « rationalité », humaine ou artificielle. Ils ont même développé
une sorte de catéchisme ou de mythologie,
avec des
notions qu'on peut difficilement qualifier d'autre chose que
religieuses — ici une sorte de resucée du pari de Pascal. Je n'en
parle pas plus ici parce que ce n'est pas vraiment mon sujet, mais
c'est difficile de ne pas mentionner ces gens dont le rapport à la
notion d'intelligence semble assez proche de celle
de beauty influencers à la beauté ou
de fitness influencers à la forme physique.
Évidemment, on peut toujours postuler que l'intelligence est
justement et par définition ce que mesure tel ou tel test
d'intelligence existant, auquel cas, oui, l'intelligence a un sens,
mais la question est maintenant si ce sens a le moindre intérêt ou le
moindre rapport avec ce qu'on entend informellement par le mot.
Pour commencer, les premiers tests d'intelligence étaient plutôt
faits pour identifier les enfants présentant des retards de
développement mental (soit dans l'idée de les aider spécifiquement,
soit dans l'idée de les écarter, tout ça n'est pas forcément très
clair ni très cohérent mais peu importe ici). L'idée de prendre une
méthodologie développée (et peut-être pas de façon très soigneuse)
pour diagnostiquer des problèmes et essayer de s'en servir pour
définir une caractéristique positivement valorisée, c'est peu comme si
des gens se mettaient à se vanter d'avoir un test de diabète très bas
et en faisaient un signe qu'ils ont une constitution particulièrement
vigoureuse.
☞ Remarques sur mon cas personnel
À ce point il faut sans doute que je fasse un avertissement
concernant une possible partialité liée à mon cas personnel. Plein de
gens ont essayé, notamment quand j'étais gosse (notamment parce que
j'avais une certaine précocité dans ma propension à faire des maths,
je l'ai déjà raconté), mais encore
maintenant, de me persuader que j'étais très intelligent, et ce genre
de jugement a pu me causer toutes sortes de problèmes émotionnels ou
de complexes (je ne prétends pas que ce soit la seule cause,
mais ça a certainement joué en partie), notamment des difficultés à
sociabiliser avec mes pairs. Je soupçonne que les enfants qu'on
soumet à des concours de beauté doivent avoir peu le même genre de
problèmes. En tout cas, si vous voulez transformer un gamin en petit
con prétentieux et pontifiant comme je le suis, répétez-lui qu'il est
très intelligent.
Certes, je n'ai jamais fait de test de QI officiel.
J'ai vu passer toutes sortes de questions, de tests se voulant plus ou
moins sérieux, et je les trouve suffisamment idiotes (notamment dans
le style ah oui là je vois très bien que la personne qui a conçu la
question veut que je réponde ceci-cela pour avoir juste, et je pense
que son raisonnement est assez bidon) pour être raisonnablement
convaincu que j'aurais une bonne note à ces trucs et aussi sur le fait
que ça ne dit rien de pertinent sur moi à part ma capacité à
reconnaître ce qu'on veut me faire dire sur des questions complètement
connes.
Mais si vous pensez que le petit con prétentieux que je suis est
effectivement « intelligent », alors il faudra au moins donner un
minimum de créance à ce que je vais dire sur le fait que je vois bien,
de l'intérieur, que cette capacité qu'on prétend mesurer n'a pas
grande signification. (Et à l'inverse si vous trouvez que je ne suis
pas « intelligent », alors c'est que ce genre de questions que je
trouve faciles, et les jugements à ce sujet, n'ont pas beaucoup de
sens.)
Pour être bien clair, je ne vais pas prétendre être stupide (en
désignant par « stupidité » l'opposé supposé de l'« intelligence »,
qui est possiblement un peu mieux défini que l'intelligence).
Je prétends surtout qu'il y a un gazillion de façons d'être
« intelligent », que je suis certaines d'entre elles, et pas du tout
d'autres (voire complètement idiot pour certaines), et que toute
mesure de mon intelligence ou tout jugement à ce sujet en dit beaucoup
plus sur la personne qui prétend
mesurer[#2] qu'elle n'en dit
sur moi.
[#2] De façon encore
plus concise et provocatrice : si vous trouvez que je suis
intelligent, c'est probablement juste que vous êtes souvent d'accord
avec mes rants.
☞ Un million de dimensions d'intelligence
Car voilà mon problème numéro 1 avec la notion d'intelligence et
toute tentative pour la mesurer, surtout avec un seul chiffre :
Je ne prétends certainement pas que tout le monde pense de la même
manière. Ce que je prétends, c'est que les capacités intellectuelles
sont si extraordinairement variées que tenter de les résumer en un
seul test, pire, en un seul nombre, sans même être capable de définir
le sens de la quantité qu'on cherche à mesurer, est une pure imposture
scientifique.
Donc, la mesure du QI dit tout sur la personne qui
mesure le QI (disons, celle qui conçoit le test, et
peut-être aussi celle qui y croit) et essentiellement rien sur la
personne à qui on fait subir le test.
(Ou pour parler comme un matheux : on a affaire à un espace de très
grande dimension, si vous prenez une forme linéaire dessus, vous ne
dites rien sur votre espace et tout sur la forme linéaire que vous
avez prise.)
Pour prendre une comparaison, c'est comme si on essayait de mettre
au point un « test de caractère » unique. Je ne prétends pas que tout
le monde a la même personnalité : je veux bien qu'on essaie
d'identifier et de reconnaître quelques traits de personnalité
importants (la plupart des tests dans ce sens sont aussi sérieux qu'un
horoscope, mais certains sont
peut-être un
peu moins du bullshit que les autres), mais essayer ensuite de
donner un « score de caractère » qui serait un seul nombre, comme s'il
y avait une seule dimension de personnalité, et parler de quelqu'un
qui a un très bon score de caractère… ça ne dira pas grand-chose sur
cette personne et beaucoup sur ce qui intéresse les concepteurs du
test.
Il y a plein de façons de
penser[#3] ou de faire usage de
son cerveau : on peut être plus ou moins logique, plus ou moins
intuitif, plus ou moins empathique, plus ou moins pratique, plus ou
moins systématique, plus ou moins capable de se concentrer, plus ou
moins capable de passer rapidement d'un problème à un autre, plus ou
moins capable d'esprit de synthèse, plus ou moins doué pour s'exprimer
avec des mots, plus ou moins précis et méticuleux, plus ou moins
capable de mémoriser les détails d'une situation ou de les organiser
en un motif cohérent, plus ou moins capable de convaincre les autres,
plus ou moins observateur, plus ou moins instinctif, plus ou moins
capable de retrouver des informations de sa mémoire, plus ou moins
capable de concevoir des typologies, plus ou moins capable de
généraliser ou au contraire de spécialiser, plus ou moins à l'aise
devant les idées abstraites ou au contraire concrètes, etc. Toutes
sortes de choses qu'on peut plus ou moins arbitrairement classer comme
des formes d'intelligence ou pas. Essayer de mesurer un score dans
chacune de ces caractéristiques a peut-être un sens (mais
même pour ça, je vais formuler d'autres objections plus bas) : essayer
de faire un score unique et appeler ça un quotient intellectuel est
d'une connerie sans nom.
[#3] Bonne occasion de
replacer une des citations de Heinlein (dans Time
Enough for Love) que j'aime bien : A human
being should be able to change a diaper, plan an invasion, butcher a
hog, conn a ship, design a building, write a sonnet, balance accounts,
build a wall, set a bone, comfort the dying, take orders, give orders,
cooperate, act alone, solve equations, analyze a new problem, pitch
manure, program a computer, cook a tasty meal, fight efficiently, die
gallantly. Specialization is for insects. Chacune de ces
activités requiert une faculté mentale différente (et je suis très bon
pour certaines et très mauvais pour d'autres).
Les IA textuelles nous ont montré qu'il était, au
moins en principe, possible d'être très doué sur certains domaines
(par exemple, savoir très bien parler) et d'être totalement et
complètement stupide sur d'autres : l'idée d'une intelligence
« générale » est quelque chose de purement et simplement dénué de
sens. Mais certains s'obstinent à croire à ce mirage.
☞ Le mirage de l'intelligence « générale »
Mon père m'avait raconté que, quand il était à l'université de
Toronto, quelqu'un lui avait posé la question suivante : quelle est la
raison derrière la répartition suivante des lettres de l'alphabet en
deux lignes ?
Ce qui motive cette redite, c'est que
mon dernier billet m'a valu le
commentaire suivant, évidemment anonyme, qui se plaint de façon fort
amène de la longueur des lignes de texte sur ce site :
T'as raison, utilise tous les pixels en largeur, faudrait pas que
ça se perde, d'ailleurs tu devrais encore réduire les marges, elles
sont encore à deux ou trois pixels.
Toujours agréable d'écrire un texte long comme un roman et de
recevoir des réactions sur des points de forme, comme ça, de la part
de gens qui n'ont de toute façon visiblement pas la moindre intention
de lire le texte. Toujours agréable, aussi, de recevoir des
commentaires agressifs et sarcastiques de la part de gens qui n'ont
même pas le courage de laisser un nom. (Oui, ça m'arrive moi aussi de
faire du sarcasme agressif, mais je le fais en mon nom, et
généralement contre des généralités, pas contre des personnes
individuelles identifiables à qui je m'adresse.) Et bien sûr, le
reproche tombe complètement à plat puisque,
précisément, j'ai prévu la
possibilité de régler la longueur des lignes en plus de la taille du
texte sur ce site (pour faire vite : cherchez le bouton en bas de la
page avec l'icône ‘⚙’ et le texte Click for site
settings) et qu'en plus, comme je vais le dire, même si je n'avais
pas prévu ça, il y avait diverses façons de s'en sortir autrement.
Mais ça vaut la peine de s'attarder un instant sur l'absurdité bien
réelle qui sous-tend ce commentaire désagréable, c'est-à-dire la
situation du style sur le Web, et notamment sur un point qui ne
déclenche pas la stupéfaction consternée qui serait
méritée : pourquoi diable le style d'une page Web est-il
complètement contrôlé par l'auteur de la page et en rien par le
lecteur ?
Note : Pour éviter tout malentendu, je précise que
le terme style, dans le contexte du Web et dans ce billet, fait
référence à l'apparence : couleurs, polices de caractères, taille des
caractères, largeur des lignes, emplacement du texte, ce genre de
choses. (Je ne parle donc pas, disons, du style linguistique.) ❧ Par
ailleurs, si vous avez besoin d'éclaircissements sur certains termes
techniques, je rappelle que j'ai écrit
un long billet pour vulgariser le fonctionnement du Web et des
technologies comme HTML et compagnie.
Au début du HTML (c'est-à-dire pendant la première
moitié des années 1990), il n'y avait pas de style à proprement
parler. Le HTML décrivait de l'hypertexte,
c'est-à-dire du texte avec des liens, éventuellement quelques éléments
supplémentaires comme des titres de section, la possibilité de mettre
du gras, de l'italique et du souligné, mais c'était à peu près tout.
Pas question de changer de couleur, de police, ou d'autres fioritures
du genre.
C'était peut-être un peu limité, mais rappelons-nous qu'avec cette
limitation venait un avantage : si ce n'est pas la page Web
qui fixe la police ou la taille de caractères, cela laisse la porte
ouverte à l'utilisateur pour la choisir — et de fait, vers le
milieu des années 1990 des navigateurs offraient cette possibilité
(qui existe toujours, au demeurant : il y a un réglage de police par
défaut dans mon Firefox ; mais c'est juste que maintenant ça n'a en
gros aucun effet puisque chaque page Web trouve absolument
indispensable d'imposer son propre look).
Mais simultanément, les navigateurs (les mêmes, c'est-à-dire en
gros Netscape Navigator) se sont mis à permettre au HTML
de régler la couleur, la police, la taille, ce genre de choses, et ça
a abouti au Web de la fin des années 1990, tout clignotant de gifs
animés et où tout le monde abusait des balises
comme <font>.
Pour essayer de contrôler cette explosion on a inventé
le CSS selon un principe vertueux de séparation du fond
(confié au HTML) et de la forme (confiée
au CSS) : c'est-à-dire que le CSS est un
langage dans lequel on décrit le style à appliquer à une page Web,
le HTML se bornant à décrire le contenu. Puis
le CSS s'est complexifié à un rythme absolument
hallucinant depuis le milieu des années 1990, et trouve quand même le
moyen de faire toujours presque exactement ce qu'on veut mais à
une petite limitation près qui fait qu'on ne peut pas s'en
servir, et par ailleurs il est invraisemblablement confusant et
plein de bizarreries incompréhensibles
(voyez ici
ou là
ou là
ou là
pour des exemples divers de limitations connes ou de comportements
contre-intuitifs), mais ce n'est pas mon propos ici. Le problème est
que, fondamentalement, personne n'a jamais vraiment cru à cette
histoire de séparation du fond et de la forme, et les auteurs de pages
Web se sont rués sur le CSS comme la vérole sur le
bas-clergé breton, remplaçant simplement leurs
balises <font> par des
attributs style= ou éventuellement des feuilles de style
avec des classes ad hoc, et souvent avec une tendance à
micromanager le moindre détail ; mais le résultat pour l'utilisateur
était et est toujours exactement le même : la personne qui décide
essentiellement seule à quoi la page Web va ressembler est l'auteur de
cette page.
Évidemment on peut me rétorquer que quand je lis un livre (ou un
prospectus publicitaire, parce que beaucoup du Web ressemble plutôt à
ça), ce n'est pas moi, le lecteur, qui décide à quoi ça ressemble,
donc le problème n'est pas nouveau. (Et de fait, ça arrive que
j'achète un livre et que j'aie du mal à le lire parce que je déteste
vraiment la police de caractères utilisée, ou — ce qui m'arrive de
plus en plus avec l'âge — que je trouve les caractères décidément trop
petits.)
Oui mais justement la technologie offrait la possibilité de faire
mieux. Et elle n'a pas réalisé cette promesse.
Soyons bien clairs : je ne conteste pas l'idée que l'auteur d'une
page Web ait un certain contrôle sur l'apparence de celle-ci (ne
serait-ce que le branding : mettre un petit logo quelque part,
c'est raisonnable). L'idée de séparer complètement le fond et la
forme est, au demeurant, assez illusoire : le HTML n'a
pas, par exemple, de concept de paragraphe important
ou aparté, donc au mieux ce que je vais pouvoir faire pour
mettre en relief un paragraphe important ou au contraire le marquer
comme secondaire, c'est lui donner une classe CSS
spéciale et ajouter des règles de style qui servent à afficher un bord
autour ou diminuer la taille des caractères ; et ensuite, si je dis
dans le texte comme je l'ai dit dans le paragraphe encadré
ci-dessus ou comme je vais le dire en petits caractères plus
loin, je viole le principe de séparation de fond et de forme et je
ne vois pas bien comment on peut éviter ça complètement sans limiter
sévèrement l'expressivité du Web. Donc il faut bien que l'auteur d'un
site Web ait la possibilité de mettre au moins un peu de style.
Mais les technologies Web actuelles ne permettent même pas
un partage (souhaitable !) des responsabilités selon lequel,
au moins pour un texte qui est généralement assez basique, ce serait
l'utilisateur, i.e. le lecteur, qui choisit la police qu'il
trouve la plus agréable, la taille de caractères qui convient le mieux
à son confort de lecture, la longueur des lignes, les marges, les
couleurs, ce genre de choses, et la page Web imposerait le style pour
des éléments indispensables à son branding ou bien à la bonne
compréhension du texte (encadrés, apartés et notes, légende des
images, ce genre de choses).
Je conviens que c'est un peu compliqué de prévoir un style
partiellement fixé par l'auteur de la page et partiellement fixé par
l'utilisateur : par exemple parce que l'auteur ne peut pas pleinement
tester toutes les possibilités (mais bon, il ne peut déjà pas
pleinement tester toutes les possibilités de largeur d'écran ou de
fenêtre !) et parce que c'est plus difficile de concevoir un style
quand on n'a pas tous les éléments. (Le choix des polices pose par
exemple la difficulté que toutes n'interagissent pas bien avec tous
les caractères Unicode.) Mais le fait est qu'actuellement il n'y a
même pas un début d'effort dans cette direction.
Alors oui, bien sûr, quand on conçoit un site Web, on peut
prévoir un mécanisme de configurabilité de l'apparence (le JavaScript
permet à peu près n'importe quoi). Mais d'abord il faut se fatiguer à
l'écrire, ce qui n'est pas du tout évident (surtout quand, comme moi,
on n'est pas du tout expert en JavaScript et encore moins
en CSS), ça va alourdir tout le site, et potentiellement
provoquer des artefacts d'affichage le temps que le JavaScript
s'active, et surtout, ce qui rend cette idée absurde, c'est
que chaque site Web devrait mettre en place son propre
mécanisme de configuration séparé, sans que le navigateur ne
joue de rôle de coordinateur, et que l'utilisateur devrait rentrer ses
préférences de police, taille, longueur de ligne, etc., une fois
séparément pour chaque site qu'il utilise (donc avec un mécanisme
différent à chaque fois), au lieu de les saisir une fois pour toutes
dans le navigateur. Un site Web n'a même pas de mécanisme pour
interroger l'utilisateur et savoir si, par hasard, il aurait une
préférence pré-remplie sur certaines variables standardisées. Il n'y
a même pas de bonnes pratiques documentées sur la manière de
faire. (Et c'est pour ça que, bien que j'aie maintenant un mécanisme
pour régler la longueur des lignes sur ce site, les gens ne le voient
pas et se plaignent.)
Tout ça est profondément con.
Ce n'est pas mon boulot de décider comment vous lisez mon site Web.
C'est vous qui le lisez, ça devrait être à vous de choisir ce qui vous
plaît, pas à moi. Moi j'ai juste envie de dire au navigateur fais
ce qui est le mieux pour l'utilisateur pour lequel tu travailles :
c'est ton boulot de lui demander et de lui permettre de choisir —
mais le CSS ne permet rien de tel. Du coup, j'ai fait
des choix qui me conviennent, parce que je suis quand même un lecteur
important de mon propre site, et si ça ne vous convient pas, ben je
suis désolé, mais ce n'est pas moi qui ai conçu le Web.
Alors, ce n'est pas tout à fait vrai qu'on ne peut rien faire, il y
a de petits bricolages.
Introduction aux mathématiques constructives : 4. suites de réels et principes analytiques d'omniscience
Je continue (et termine ?) ma série
d'introduction aux mathématiques constructives en parlant maintenant
de suites de réels et de principes analytique d'omniscience. Ce
billet (partie 4) est la continuation directe de celui
d'il y a trois jours, et
contrairement à ceux d'avant qui étaient un peu indépendants, celui-ci
fait directement suite à la partie 3 puisque, en fait, j'ai coupé un
texte extrêmement long en deux. Néanmoins, j'ai quand même ajouté un
bref récapitulatif au début
avec les choses les plus importantes à retenir de la partie 3.
Récapitulatif des points essentiels de l'épisode précédent
Pour la commodité du lecteur, je recopie ici les points qui me
semblent les plus importants du billet précédent.
‣ Un nombre réel ou coupure de Dedekind est
un couple (S,T) de parties de ℚ, vérifiant :
S et T sont habités :
∃r∈ℚ.(r∈S) et
∃r∈ℚ.(r∈T) ;
S est un ensemble inférieur et T est un
ensemble supérieur :
∀r∈ℚ.∀r′∈ℚ.((r′<r
∧ r∈S) ⇒ r′∈S) et
∀r∈ℚ.∀r′∈ℚ.((r′>r
∧ r∈T) ⇒ r′∈T) ;
S est ouvert vers le haut, et T est ouvert
vers le bas : ∀r∈ℚ.(r∈S ⇒
∃r′∈ℚ.(r′>r
∧ r′∈S)) et
∀r∈ℚ.(r∈T ⇒
∃r′∈ℚ.(r′<r
∧ r′∈T)) ;
tout élément de S est strictement plus petit que tout
élément de T : soit
∀s∈ℚ.∀t∈ℚ.((s∈S
∧ t∈T) ⇒ (s<t)) ;
si un rationnel est strictement plus petit qu'un autre,
alors soit le plus petit est dans S, soit
le plus grand est dans T : soit
∀s∈ℚ.∀t∈ℚ.((s<t) ⇒
(s∈S ∨ t∈T)).
‣ On définit deux relations binaires sur l'ensemble ℝ des nombres
réels, appelées ‘≤’ (l'ordre large) et ‘<’ (l'ordre
strict), de la façon suivante :
on pose (S,T) ≤
(S′,T′) (ou, de façon synonyme,
(S′,T′) ≥ (S,T))
lorsque S⊆S′, ou, ce qui revient au
même, T⊇T′ ;
on pose (S,T) <
(S′,T′) (ou, de façon synonyme,
(S′,T′) > (S,T))
lorsqu'il existe d>0 rationnel tel
que S+d ⊆ S′, ou, ce qui revient au
même, lorsque T∩S′ est habité.
Ces relations généralisent celles du même nom sur ℚ. La relation
stricte ‘<’ implique la relation large ‘≤’. Les deux relations
‘<’ et ‘≤’ sont transitives ; ‘<’ est irréflexive et strictement
antisymétrique, tandis que ‘≤’ est réflexive et antisymétrique au sens
large ; on a aussi la transitivité mixte
(si x<y≤z, ou
si x≤y<z, alors on
a x<z). Par ailleurs, si x =
(x←, x→)
où x← := {s∈ℚ
: s<x} et x→ :=
{t∈ℚ : t>x}.
‣ L'ensemble ℚ est dense et cofinal dans ℝ, c'est-à-dire que
si x<x′ sont des réels, il r
rationnel tel que x<r<x′, et si
si x est un réel, il existe r et r′
rationnels tels que r<x<r′.
‣ L'ordre large est la négation de l'ordre strict de sens
contraire, c'est-à-dire que x≤y équivaut à
¬(x>y). Notamment, x=y
équivaut à ¬(x⋕y) où ‘⋕’, défini
par x⋕y :⇔ (x<y
∨ x>y), s'appelle le discernement
standard sur ℝ.
‣ On ne peut pas affirmer que pour tous
réels x,y on ait x≤y ou
bien x≥y. Néanmoins, on a la propriété
essentielle suivante :
(❀) :
Si x<x′ et y sont des réels, on
a soitx<ysoity<x′.
‣ On note x⋖y pour
¬(x≥y) ou, ce qui est
équivalent, x≤y ∧ ¬(x=y)
(cette relation x⋖y est impliquée
par x<y, mais on ne peut
pas affirmer que ce soit équivalent).
‣ Deux réels x,y ont toujours une borne
supérieure x⊔y caractérisée par le fait
que x⊔y ≤ z si et seulement
si x≤z et y≤z. Elle
vérifie de plus les propriétés que ① x⊔y
< z si et seulement si x<z
et y<z, et ② z
< x⊔y si et seulement
si z<x ou bien z<y.
(En revanche, on ne peut pas affirmer qu'on
ait z ≤ x⊔y si et seulement
si z≤x ou bien z≤y.) Les
propriétés duales valent pour la borne
inférieure x⊓y.
‣ On définit une addition sur les réels qui prolonge celle de ℚ et
fait d'eux un ℚ-espace vectoriel, avec de plus la compatibilité à
l'ordre : on a x≤y si et seulement
si y−x ≥ 0 et x<y si et
seulement si y−x > 0 ; si x≥0
et y≥0 alors x+y ≥ 0 ;
si x>0 et y>0 (ou même
seulement x>0 et y≥0)
alors x+y > 0 ; si x>0
alors r·x > 0 pour tout r>0
rationnel, et −x < 0.
‣ On définit aussi une multiplication sur les réels qui prolonge
celle de ℚ et fait d'eux une ℚ-algèbre commutative, avec de plus la
compatibilité à l'ordre : si x≥0 et y≥0
alors x·y ≥ 0 ; si x>0
et y>0 alors x+y > 0.
‣ La valeur absolue d'un réel se définit par
|z| := z⊔(−z). Ainsi, on a toujours
|z|≥0. On a |x−y| =
(x⊔y) − (x⊓y). On a
l'inégalité triangulaire habituelle |x+y| ≤
|x| + |y|. On a de plus :
|x·y| = |x|·|y|.
La propriété |z|>0 équivaut à z>0
∨ z<0 (ce qu'on a par ailleurs noté z⋕0).
Cela équivaut aussi à l'inversibilité de z pour la
multiplication.
Infima et suprema sur les réels
☞ Quelques difficultés
Classiquement, toute partie A⊆ℝ
non vide et minorée admet une borne inférieure (une borne
inférieure de A est un plus grand minorant, s'il
existe, autrement dit, z est une borne inférieure
de A signifie d'une part
que z minore A,
i.e. ∀t∈A.(z≤t), et
d'autre part que si x minore A
alors x≤z, i.e.
∀x∈ℝ.((∀t∈A.(x≤t))
⇒ x≤z)). On a vu que, constructivement, toute
partie finiment énumérée et habitée
{z1,…,zk}
(avec k≥1) de ℝ admet une borne
inférieure z1⊓⋯⊓zk
et une borne
supérieure z1⊔⋯⊔zk.
Néanmoins, constructivement, on ne peut pas
affirmer que toute partie non vide et minorée, ni même toute
partie habitée et minorée, possède une borne inférieure. Un
contre-exemple brouwérien est vite trouvé :
Contre-exemple brouwérien : Si toute partie
habitée et minoré de ℝ possède une borne inférieure, alors pour
tout p∈Ω on a ¬p ∨ ¬¬p (la loi
faible du tiers exclu).
(Notamment, on ne peut pas affirmer que
toute partie habitée et minoré de ℝ possède une borne inférieure,
puisqu'on ne peut pas affirmer la loi faible
du tiers exclu, cf. ci-dessous)
Démonstration : Si p est une valeur de
vérité, considérons la partie A := {0 : p} ∪ {1}
de ℝ, c'est-à-dire {t∈ℝ : (t=0 ∧ p) ∨
(t=1)}. Supposons que A ait une borne
inférieure z. D'après la proposition (❀) on doit avoir
soit z>0 soit z<1. Dans le premier cas
(z>0), comme z est un minorant
de A, on a ¬(0∈A), c'est-à-dire qu'on a
¬p. Dans le second cas (z<1), 1 n'est pas un
minorant de A, donc ¬p est impossible (car
¬p implique que A={1}) : c'est donc que
¬¬p. Bref, on a montré ¬p ∨
¬¬p. ∎
La loi faible du tiers exclu n'est pas la même chose que la loi du
tiers exclu (elle ne l'implique pas), mais
c'est néanmoins, comme les différents principes d'omniscience évoqués
plus hauts, un « tabou » constructif, et il est donc standard de s'en
servir pour des contre-exemples brouwériens.
On remarquera que la démonstration ci-dessus montre même que si
toute partie habitée de ℕ possède une borne inférieure, la loi faible
du tiers exclu vaut (et j'avais déjà fait remarquer qu'exactement le
même contre-exemple montre que si toute partie habitée de ℕ possède un
plus petit élément, la loi du tiers exclu vaut).
Pour ce qui est des réels étendus bornés (définis,
je le rappelle, par les coupures de MacNeille, c'est-à-dire en
affaiblissant (e) en (e⁻)), j'ai déjà expliqué dans la section les
concernant que le principe de la borne inférieure vaut pour eux, et
d'ailleurs on peut même les définir comme le complété des rationnels —
ou, du coup, des réels de Dedekind — pour la propriété de la borne
inférieure. Le contre-exemple brouwérien donné ci-dessus montre du
coup que l'égalité des coupures de MacNeille et de Dedekind implique
la loi faible du tiers exclu, et je l'ai déjà commenté.
Cet exemple montre essentiellement qu'on doit décider de sacrifier
soit la propriété de la borne inférieure soit la propriété (❀) (sauf à
avoir la loi faible du tiers exclu, ce qui est un tabou) : les
coupures de Dedekind font le choix de sacrifier la première (tandis
que les coupures de MacNeille font le choix de sacrifier la seconde,
mais elles sont beaucoup moins utiles). Maintenant, il est quand même
bien pratique de pouvoir prendre des bornes inférieures : je vais
chercher à donner une propriété d'une partie A⊆ℝ qui assure
son existence.
☞ Borne inférieure (faible) versus infimum (fort)
Mais tout d'abord, il faut revoir la définition, et introduire une
distinction :
Si A⊆ℝ, on dit que z est la borne
inférieure ou inf faible de A
lorsque z est le plus grand minorant de A,
c'est-à-dire [je recopie la définition ci-dessus]
que z minore A,
i.e. ∀t∈A.(z≤t), et
d'autre part que si x minore A
alors x≤z, i.e.
∀x∈ℝ.((∀t∈A.(x≤t))
⇒ x≤z).
Si A⊆ℝ, on dit que z est
l'infimum ou inf (fort) de A
lorsque z minore A,
i.e. ∀t∈A.(z≤t), et
d'autre part que si x>z alors il existe un
élément de A entre les deux, i.e.
∀x∈ℝ.(z<x ⇒
∃t∈A.(t<x)).
On fait évidemment les définitions duales de borne
supérieure (ou sup faible) et de supremum
(ou sup (fort)) en inversant toutes les inégalités.
La terminologie est de moi. En anglais on utilise
généralement (mais pas systématiquement) greatest
lower bound pour la première notion,
et infimum pour la seconde. J'ai essayé de dire
quelque chose de cohérent et pas trop idiot.
Classiquement, ces notions sont
équivalentes, puisque la première condition (minorer A) est
la même, et que la seconde est juste écrite sous forme
contraposée.
Constructivement, la borne inférieure, si elle existe, est
forcément unique (c'est évident), et d'autre part, l'inf, s'il
existe, est la borne inférieure (car la
condition (∀t∈A.(x≤t))
⇒ x≤z est
exactement (¬∃t∈A.(t<x))
⇒ ¬(z<x), qui est logiquement impliquée
par z<x ⇒
∃t∈A.(t<x)).
Mais on ne peut pas affirmer que la borne
inférieure, même si elle existe, est forcément l'inf, à cause de la
proposition suivante :
Proposition : Si toute partie de ℝ possédant une
borne inférieure possède un infimum (fort !), alors la loi du tiers
exclu vaut.
Introduction aux mathématiques constructives : 3. les nombres réels et leur ordre
Je continue ma série d'introduction aux
mathématiques constructives en parlant maintenant de nombres réels.
Ce billet s'inscrit dans une série dont la table des matières est
reproduite ci-dessous (j'y ai rétroactivement
intégré ce billet plus ancien comme
partie 0) : il n'est pas forcément nécessaire d'avoir complètement lu
tous ceux qui précèdent, mais c'est sans doute une bonne idée d'avoir
regardé l'avant-propos
expliquant de quoi il est question (et/ou la partie sur
les motivations
et principes de la partie 0).
Méta : Ce billet a une histoire mouvementée
(oserais-je dire tourmentée) : je le traîne depuis 2022
environ, où j'avais commencé à écrire un texte super long que j'ai
ensuite coupé en parties et dont j'avais déjà publié les deux
premières (ici
et là, cf. la table des matières
ci-dessus) sous forme de feuilleton en 2024, mais cette troisième
partie (que j'avais
déjà annoncée)
était plus difficile à publier telle quelle, parce qu'elle était très
inachevée (en gros elle s'arrêtait au niveau de la partie sur les
bornes inf et sup), donc je ne l'ai pas fait au même moment.
Plusieurs fois j'ai voulu m'y remettre, et plusieurs fois j'ai
abandonné. Mais je continue à avoir dans un coin de la tête l'idée
d'écrire un livre sur les maths constructives (j'en ai récemment
reparlé à un ami-et-collègue), dont ces billets pourraient former la
trame essentielle ; et aussi, je voulais vraiment mettre en ligne
quelque chose sur les principes analytiques d'omniscience pour pouvoir
m'y référer. Bref, je m'y suis remis une fois de plus, et cette fois
aura été la bonne. Néanmoins, il y a eu toutes sortes de difficultés
que je n'attendais pas, qui ont donné naissance à des sortes de
digressions dans le présent billet (que j'encourage à ne pas
lire dans un premier temps, et que je signale au début des sections
correspondantes, mais que j'ai incluses par complétude) : sur les
coupures de MacNeille, le principe que je qualifie
de WLLPO analytique, et tout ce qui tourne autour
du principe de Markov faible ; chacun de ces passages a été beaucoup
plus long et fastidieux que prévu. Bref, tout ceci a été plus
laborieux que je ne l'attendais. En plus de ça, comme ça devenait
vraiment trop long même par rapport à mes standards habituels de
billets interminables, j'ai coupé en deux ce qui devait initialement
être une seule partie : ce qui suit est donc la partie 3 de ma série,
et une partie 4 (sur les suites de réels et principes analytiques
d'omniscience) apparaîtra d'ici quelques jours. Aussi, pour ces
raisons, les démonstrations ont été très peu relues, donc il est
absolument certain qu'il subsiste un certain nombre d'erreurs, que
j'espère ne pas être trop graves.
(Je passe maintenant la parole, en gros, au David Madore de
2022.)
❇
Discussion préalable : quels nombres réels ? et ce qui nous attend
☞ Entiers et rationnels ressemblent aux maths classiques
J'ai déjà expliqué (notamment
dans un bout
d'une entrée précédente sur le
sujet) que les entiers naturels en maths constructives ne se
comportent « pas très différemment » des maths classiques
(l'affirmation technique précise étant que tout énoncé arithmétique Π₂
classiquement démontrable est encore intuitionnistement démontrable,
et ceci recouvre en gros « tout ce qu'on peut tester
algorithmiquement ») : les propriétés usuelles des opérations
algébriques (commutativité, associativité) et de l'ordre, mais aussi
des choses comme la division euclidienne, l'existence et l'unicité de
la décomposition en facteurs premiers, ce genre de choses est valable
en logique intuitionniste sans qu'on ait besoin d'y réfléchir.
Je rappelle notamment que ℕ est discret comme ensemble,
c'est-à-dire que pour m et n deux entiers
naturels on a (m=n) ∨
¬(m=n) (deux entiers naturels sont soit égaux
soit non égaux), donc il n'y a pas à finasser autour de la notion de
discernement, et on peut noter m≠n (ou
bien m⋕n) pour ¬(m=n). De
même, on a (m=n) ∨
(m<n) ∨ (m>n) (ces
trois cas étant exclusifs, c'est-à-dire qu'exactement un des trois
vaut), donc les choses se comportent exactement comme on s'y attend
classiquement : ¬(m=n) équivaut à
(m<n) ∨ (m>n),
et m≤n équivaut à (m=n) ∨
(m<n) et ainsi de suite.
Les entiers relatifs ℤ et les rationnels ℚ, dont je vais dire un
mot ci-dessous, sont construits et se comportent eux aussi en maths
constructives comme en maths classiques : par exemple, algébriquement
ℤ est un anneau (définition habituelle) et ℚ est un « corps » selon
n'importe quelle définition raisonnable qu'on peut écrire d'un corps
(p.ex., un anneau dans lequel un élément est nul si et seulement si il
n'est pas inversible). Ces deux ensembles sont, de
plus, discrets, c'est-à-dire que (x=y)
∨ ¬(x=y) vaut sur les entiers comme sur les
rationnels. (Attention, je dis que ℚ est discret en tant
qu'ensemble, un concept qui n'a d'intérêt qu'en maths
constructives : on peut mettre une topologie sur ℚ et il n'est pas
discret en tant qu'espace topologique, mais ce n'est pas ce dont je
parle ici.) L'ordre sur les entiers relatifs et les rationnels se
comporte aussi comme on s'y attend : on a (x=y)
∨ (x<y) ∨ (x>y) (ces
trois cas étant exclusifs, c'est-à-dire qu'exactement un des trois
vaut), donc notamment : ¬(x=y) équivaut à
(x<y) ∨ (x>y),
et x≤y équivaut à (x=y) ∨
(x<y) et ainsi de suite.
☞ Réels de Dedekind vs. réels de Cauchy
Il en sera bien différemment des réels. Mais avant de
discuter de comment les réels se comportent en maths constructives, il
faut se demander : quels réels ?
Classiquement, il y a deux constructions standards des nombres
réels, et elles sont équivalentes : la construction de Cauchy, et la
construction de Dedekind. La construction de Cauchy part des suites
de rationnels vérifiant une condition de Cauchy
(∀ε>0.∃n∈ℕ.∀p≥n.∀q≥n.|up−uq|<ε)
et quotiente par la relation qui identifie deux suites lorsque leur
différence tend vers zéro (u∼v lorsque
∀ε>0.∃n∈ℕ.∀k≥n.|uk−vk|<ε) :
un nombre réel de Cauchy est donc une classe d'équivalence de suites
de Cauchy de rationnels. La construction de Dedekind, elle, définit
un nombre réel par l'ensemble des rationnels plus petits ou plus grands
que lui, ou, de façon plus élégante, les deux à la fois : on dira plus
bas les les conditions qui définissent précisément une telle
« coupure » de ℚ, mais en gros, un réel va être défini comme une
coupure, une coupure étant la donnée de deux ensembles de rationnels
(ceux qui sont plus petits que le réel qu'on veut définir et ceux qui
sont plus grands).
Ces deux constructions classiquement équivalentes peuvent être
définies en maths constructives. Elles sont encore équivalentes à
condition qu'on dispose d'un petit peu d'axiome du choix
(l'axiome du choix dénombrable suffit largement). Mais en maths
constructives sans axiome du choix, on doit distinguer les réels de
Cauchy et les réels de Dedekind.
Les réels de Dedekind (dont une définition précise va suivre) sont
les plus généraux (i.e., on peut considérer les réels de Cauchy comme
un sous-ensemble, et même un sous-« corps », des réels de Dedekind),
et ils se comportent plutôt mieux de divers points de vue (par
exemple, ils ont les meilleures propriétés de complétude) : de
nombreux auteurs sont donc d'accord pour les appeler tout simplement
les réels, et c'est ce que je ferai. Autrement dit, pour moi,
sauf précision expresse du contraire, un nombre réel, c'est un
réel de Dedekind.
Les réels de Cauchy ne sont pas pour autant sans intérêt : par
exemple, ils peuvent être préférables à étudier dans un contexte
informatique (les réels de Cauchy ont plus de contenu informationnel
que les réels de Dedekind) ou dans le cadre d'une théorie des
ensembles faible (où se donner une suite de rationnels ne pose pas de
problème mais se donner un ensemble de rationnels est plus
problématique). Il y a aussi le fait que Bishop, qui travaillait avec
l'axiome du choix dénombrable (ce qui rend les réels de Cauchy et de
Dedekind égaux), voyait les réels comme des réels de Cauchy, et
beaucoup de gens l'ont suivi. Mais il faut faire attention parce que,
en maths constructives en l'absence de l'axiome du choix, non
seulement il faut distinguer les réels de Cauchy des réels de
Dedekind, mais en plus il y a à distinguer différentes sortes de réels
de Cauchy, notamment selon qu'on part des suites vérifiant la
condition de Cauchy
(∀ε>0.∃n∈ℕ.∀p≥n.∀q≥n.|up−uq|<ε)
ou bien une version plus explicite qui impose un module de convergence
(du style
∀N∈ℕ.∀p≥N.∀q≥N.|up−uq|<2−N) :
certains auteurs utilisent le terme réel de Cauchy dans le
premier sens, d'autres dans le second, et le sens n'est pas toujours
très clairement explicité ni l'ambiguïté signalée. (Je propose de
parler de réels de Cauchy modulés pour ceux qui ont un module
de convergence.) En plus de ça, on peut s'interroger sur la
pertinence de l'idée de prendre des suites de Cauchy et de quotienter
vu que l'ensemble des réels de Cauchy n'est pas forcément
Cauchy-complet(!). Bref, les réels de Cauchy sont, selon moi, bien
plus bizarres et plus problématiques que les réels de Dedekind : je
dirais qu'il faut les considérer comme une tentative de complétion
partielle, dont il est intéressant de regarder les limitations, mais
qui n'est pas vraiment la bonne notion de nombre réel.
Bref, je vais parler, moi, essentiellement des réels de
Dedekind.
Deux intuitions préalables possibles (et un mot sur le regard externe)
☞ Le problème de parler de façon « purement interne »
Le parti-pris global de cette série de billets est de parler de
mathématiques constructives de façon purement interne,
c'est-à-dire sans référence à un monde mathématique externe classique
depuis lequel notre monde constructif serait vu (par exemple, comme un
topos, notion que je n'ai pas envie de définir). Autrement dit : on
fait directement des maths en logique intuitionniste, sans se demander
si nos ensembles sont des objets dans un topos ou quelque chose comme
ça. C'est tout à fait possible et tout à fait légitime, et plus
simple quand il s'agit d'expliquer les choses, néanmoins, ça n'aide
pas forcément à se forger une intuition.
Et quand on parle de nombres réels, je pense que l'absence
d'intuition qui peut accompagner cette approche purement interne
devient vraiment problématique : j'ai peur que beaucoup de lecteurs,
si on leur dit qu'on ne peut pas l'affirmer en
maths constructives que tout réel z vérifie z≥0
ou bien z≤0 (ce que j'appellerai plus
bas LLPO analytique), se contentent de lever les
yeux au ciel en se disant que c'est une forme de masturbation
intellectuelle, une sorte de défi consistant à boxer sans ses poings,
un exercice quasiment oulipien, parce que nous sommes tellement
persuadés que dans le vrai monde réel, un nombre est soit positif soit
négatif. Bref, qu'ils abandonnent leur lecture ici. Bon, en fait,
j'aurais sans doute mieux fait de m'inquiéter à ce sujet il y a deux
ou trois billets, parce que si on est arrivé jusque là, probablement
on n'est pas si hostile aux maths constructives. Mais même en étant
raisonnablement enclin à en savoir plus, on risque d'être dérouté par
le manque d'intuition sur ce que ça peut « vouloir dire ». Or en
fait, c'est quelque chose qui peut vraiment intéresser l'analyse
numérique où, si on a un nombre réel qu'on est capable d'approcher à
n'importe quelle précision voulue, on n'est pas pour autant forcément
capable de décider (algorithmiquement en temps fini) si z≥0
ou z≤0. Mais évidemment ceci demande de prendre un point
de vue au moins partiellement externe, ou disons de réinterpréter la
logique en se disant que l'affirmation interne z≥0
ou z≤0 peut peut-être se comprendre au moins en partie
comme je suis capable de dire si z≥0 ou
si z≤0.
Donc, même sans développer le point de vue externe qui rendrait les
intuitions qui suivent formellement justifiées, je pense qu'il est
pertinent que je les mentionne comme une intuition à garder dans le
coin de la tête sur ce que « peuvent être » les nombres réels des
maths constructives. Voici donc deux intuitions possibles qui peuvent
peut-être aider à imaginer de quoi cause toute la suite de ce
billet.
☞ Deux intuitions possibles sur les réels constructifs
⚠ Mise en garde : Il est toujours délicat de
communiquer une intuition mathématique, et il y a toujours le risque
d'embrouiller plus qu'on n'aide. Et ce, d'autant plus fortement que
je cherche à les décrire de façon informelle, et que je m'exprime
peut-être très mal, donc peut-être que certains lecteurs trouveront ce
qui suit absolument sibyllin. On peut rendre ces deux points de vue
précis en parlant de topoï ; mais on peut aussi préférer les ignorer
complètement et se contenter de connaître les règles du jeu des maths
constructives. Quoi qu'il en soit, ce qui suit vaut ce que ça
vaut.
Intuition calculatoire : Dans une première
intuition, un nombre réel en maths constructives est (enfin, peut
être) un nombre calculé par un certain processus, par exemple
algorithmique mais pas forcément, qui est capable de renvoyer des
approximations arbitrairement bonnes. Le point crucial qu'on attend
de ce processus est que si s,t sont deux
rationnels (pour simplifier) tels que s<t,
et z le réel que notre processus calcule, alors en
calculant suffisamment, on doit être capable d'obtenir la conviction
que z<t ou bien
que z>s (ces deux cas n'étant pas
exclusifs, et en fait on ne peut jamais faire de disjonction
exclusive parce qu'il subsiste toujours une certaine incertitude sur
notre nombre). C'est exactement cette propriété qui va servir de base
ci-dessous à la propriété (e) de la définition des coupures de
Dedekind. Par ailleurs, il faut comprendre la disjonction
constructive comme forte : pour pouvoir prétendre
affirmer P∨Q il faut être capable d'affirmer
l'un des deux termes de la disjonction. Dès lors, il n'est pas
surprenant qu'on ne puisse pas affirmer que z≥0 ou
bien z≤0, parce que cela reviendrait à être capable de
placer z, ne serait-ce qu'au sens large, d'un côté de
l'origine, ce qui n'est pas possible en interrogeant le processus pour
savoir si z<t ou bien
que z>s.
Cette intuition est notamment rendue rigoureuse par le topos
effectif (dont j'ai parlé dans ce
billet), dans lesquels les nombres réels de Dedekind sont
essentiellement les réels calculables (au sens, disons, où on dispose
d'un algorithme qui, pour tout n, est capable de calculer
une approximation rationnelle à 2−n près du réel
considéré). Dans le topos effectif ainsi que toutes sortes de
variations, le principe de Markov analytique (qui sera défini
proprement ci-dessous, mais qui affirme que si z n'est pas
nul alors soit z<0 soit z>0) est valable,
mais on peut quand même garder une intuition plus générale dans
laquelle ¬(z=0) signifie qu'il est impossible que le nombre
qu'on cherche à approcher soit nul, mais ce n'est pas pour autant
qu'on arrive à trouver moyen de le discerner de zéro (donc de le
placer d'un côté ou de l'autre de l'origine).
Intuition topologique : Dans une seconde
intuition, un nombre réel en maths constructives est (enfin, peut
être) une fonction continue sur un espace de possibilités
(imaginez un espace topologique quelconque). Donc une affirmation
comme z≥0 vaut dans certains endroits de notre espace des
possibles et pas dans d'autres. Mais le point crucial ici est qu'on
suppose qu'une affirmation se comprend comme définissant un
domaine ouvert de l'espace des possibles, selon le principe
qu'on ne peut vraiment affirmer quelque chose en un point que si ce
quelque chose est vrai tout autour de ce point (la vérité est
locale). Pour quelque chose comme z>0, le domaine
en question sera donc bien l'ouvert sur lequel la
fonction z est strictement positive, mais
pour z≥0 ou bien z=0 ce sera
l'intérieur de l'ensemble des points où cette propriété vaut.
Dès lors, , il n'est pas surprenant qu'on ne puisse pas affirmer
que z≥0 ou bien z≤0, parce que cela demanderait
que pour tout point de notre espace de possibles, on ait soit un
voisinage sur lequel z≥0 soit un voisinage sur
lequel z≤0, et la simple fonction identité sur les réels
(classiques !) met cette idée en défaut autour de 0.
Cette intuition est essentiellement rendue rigoureuse par les topos
de faisceaux (sur un espace topologique, ou, si on est audacieux, une
« locale »), dans lesquels les nombres réels de Dedekind sont le
faisceau des fonctions continues à valeurs dans ℝ (les réels
classiques).
Quand l'informatique libre a-t-elle arrêté de progresser ?
Bon, je conviens que le titre de ce billet est un petit peu
provocateur. Néanmoins, je veux parler de quelque chose de
sérieux.
Quand j'ai commencé à utiliser l'écosystème Linux, chaque nouvelle
version de la distribution (d'abord Red Hat, avec laquelle j'ai débuté
en 1997, puis Debian à partir de 2004) était pour moi une sorte de
fête : certes, il y aurait des choses qui casseraient, mais il y
aurait aussi de nombreuses nouveautés intéressantes à tester et à
utiliser. Puis ces progrès, ou cette perception par moi de progrès,
ont ralenti, et ensuite se sont arrêtés à peu près complètement.
Maintenant, chaque mise à jour de la distribution (Debian ou
Ubuntu : j'utilise les deux selon mes machines) est pour moi
uniquement synonyme d'emmerdes : énormément de temps perdu à la mise à
jour elle-même, bien sûr, mais aussi énormément de temps perdu à
traquer tout ce qui aura été cassé par elle, et, ce qui est le plus
grave, énormément de tracas à découvrir que telle fonctionnalité dont
je dépendais a été supprimée, que tel programme que j'utilisais n'est
« plus supporté » parce que « plus maintenu », que telle configuration
n'est plus possible, etc.
Ça doit faire une dizaine d'années environ qu'il n'y a
essentiellement pas eu de progrès intéressant, de mon point de vue,
dans un des programmes que j'utilise : je veux dire quelque chose de
nouveau qui pourrait m'être utile, qui me simplifie la vie, qui me
permet de faire quelque chose que j'ai envie de faire. En revanche,
les suppressions sont pléthore : au mieux, je découvre qu'il faut
maintenant faire les choses autrement (et que j'ai des pelletées de
configuration à revoir ou à migrer au nouveau standard), au pire,
j'apprends que tel truc n'est plus disponible du tout.
Ceci vaut pour à peu près tous les aspects de l'informatique que
j'utilise : j'évoque la distribution Linux dans son ensemble, mais
c'est vrai aussi pour un programme spécifique comme Firefox, ou pour
Android sur mon téléphone mobile.
Je peux lister plein d'exemples. Aucun n'est particulièrement
intéressant en lui-même, et mériterait plein de précisions ou
d'explications que je n'ai pas envie de fournir, mais en voici
quelques uns juste pour montrer le genre de choses dont je parle :
Quand j'ai commencé à utiliser Mozilla (ensuite rebaptisé en
Firefox, transition qui a d'ailleurs apporté son propre lot de
problèmes), il était extrêmement configurable par un mécanisme
appelé XUL (j'avais même fait
un petit tutoriel à ce sujet sur ce
blog), une sorte de HTML spécialisé dans la conception
d'interfaces graphiques, et qui pouvait d'ailleurs cohabiter
avec HTML. Je m'en suis servi pour plein de petites
choses utiles pour moi, et,
vlan, ça
a été supprimé (je ne sais plus quand exactement) en faveur d'un
mécanisme d'extensions beaucoup moins puissant, qui a d'ailleurs mis
fin à un nombre hallucinant de plugins du navigateur.
Ce n'est
pas le seul exemple au rayon des navigateurs, d'ailleurs : aussi bien
Chrome que Firefox n'arrêtent pas de retirer des choses (le plus
épatant a été quand Chrome a, du jour au lendemain, totalement retiré
le MathML — il est vrai, là, qu'ils ont fini par le
remettre, mais ça a pris des années). D'ailleurs, le
standard HTML lui-même retire des fonctionnalités (par
exemple ils ont retiré l'attribut scoped sur la
balise <style>, et ça m'a bien emmerdé parce que
moi je m'en servais beaucoup, par exemple quand je veux ajouter du
style sur un billet de blog).
Android mériterait un chapitre à lui entier. Mais donnons
juste quelques exemples. À un moment, j'utilisais adb
pour faire du reverse-tethering, c'est-à-dire que je
fournissais au téléphone une connexion réseau par l'ordinateur au lieu
de faire le contraire, ce qui était très pratique pour échanger entre
les deux : ça a été rendu impossible pour des raisons, je crois, de
sécurité. J'utilisais énormément le recovery
modeTWRP pour faire
des backups de mes fichiers Android : le projet est plus ou moins
abandonné parce qu'Android a changé de mécanisme de boot. J'utilise
régulièrement F-Droid pour installer des apps : de ce que je
comprends, Google
est en
train de le tuer aussi pour un prétexte de sécurité.
Pendant
tout ce temps, d'ailleurs, je n'ai pas vu la moindre nouveauté
vaguement utile apparaître dans Android depuis une dizaine d'années.
Entre autres, ils ne sont toujours pas foutu d'inventer un mécanisme
de backup complet de l'appareil (avec toutes les données de toutes les
apps) sur ordinateur, un truc que l'informatique est censée savoir
faire depuis les années 1950 environ.
Sous Linux, il y a eu toute la saga de la migration forcée
de sysvinit vers systemd. D'autres gens
pourront vous dire plein de mal de systemd, ce n'est pas
vraiment mon propos ici. Mon propos, en tout cas, c'est que ça a
cassé plein de choses dans ma config, qu'il y a encore plein
de choses que je ne sais pas faire avec, et que je n'ai absolument
rien gagné au change.
(Ma machine démarrait très bien
avec sysvinit. Depuis le passage à systemd,
une fois sur trois elle ne démarre pas bien, probablement parce qu'il
essaie de tout lancer d'un coup et qu'il doit y avoir des dépendances
qui ne sont pas correctement enregistrées ; mais je ne sais pas
lesquelles, je ne sais pas comment débugguer ça, et ce n'est pas moi
qui ai écrit ces scripts de démarrage : du coup, moi, j'aimerais juste
pouvoir lui dire de tout lancer dans un ordre prescrit et
reproductible, comme c'était le cas avec sysvinit, mais
ça je ne sais pas le faire simplement
avec systemd.)
J'avais une config son qui marchait très bien
avec ALSA. Un jour on m'a expliqué : maintenant il
ne faut plus utiliser ALSA directement, il faut
utiliser PulseAudio. Mais PulseAudio, je n'ai jamais réussi à le
faire fonctionner (au pire ça ne marche pas du tout ; au mieux, ça
marche, mais dès que j'essaie d'ouvrir une seconde session au nom d'un
autre utilisateur sur un autre terminal virtuel, la deuxième session
n'arrive pas à lancer son PulseAudio, donc il n'y pas de son… alors
que ça marchait très bien avec ALSA et que je crois
comprendre que c'est exactement ce que PulseAudio était censé régler,
comme problème).
Du coup, je serais bien resté
avec ALSA, mais un jour Firefox m'a
dit : ALSA c'est fini, on ne supporte plus, il faut
utiliser PulseAudio. Donc plus moyen pour moi d'avoir du son dans
Firefox (pendant longtemps j'ai dû le compiler spécialement avec une
option qui rétablissait le support ALSA, mais ça a
fini par cesser de marcher).
Bon, ceci étant, il faut croire je
ne suis pas le seul à maudire PulseAudio, parce que des gens très
malins ont inventé un truc
appelé apulse
qui fait semblant d'être un PulseAudio au-dessus
d'ALSA, et, contrairement à PulseAudio, lui, il
fonctionne pour moi. Mais que de temps perdu !
Et bien sûr,
entre temps, les gens ont encore changé d'avis et maintenant le
nouveau truc shiny qu'on va nous imposer à tous, c'est PipeWire. Je
n'ai pas encore testé, mais je sens que ça va être autant la merde que
PulseAudio, et j'espère qu'il y aura un truc qui est à PipeWire ce
que apulse est à PulseAudio.
Le poussinet et moi nous sommes récemment acheté une nouvelle
imprimante (Brother HL-L5210DW, mais peu importe). Je me
documente sur comment la configurer, et j'apprends que les pilotes
d'imprimante c'est obsolète et que maintenant on est censé utiliser
du driverless.
Je ne comprends rien à la page de doc que je viens de lier, mais je
tente de configurer l'imprimante en driverless comme je peux, j'essaie
d'imprimer une page de test, et évidemment il a craché quelque chose
comme 50 pages de symboles aléatoires (comme si on avait envoyé un
fichier binaire à l'imprimante et qu'elle l'avait imprimé comme du
texte… ce qui est peut-être peu surprenant s'il n'y avait pas de
driver pour l'interpréter). Beau gâchis de papier, soit dit en
passant (le problème des imprimantes laser, c'est qu'elles impriment
vite, donc si on leur balance du junk, ça gâche du papier très
vite).
Bon ben je ne sais pas comment cette merde était censée
marcher, mais le fait est que, pour moi, elle ne marche pas, et que la
doc n'est pas vraiment Éclairante. Peut-être qu'avant de remplacer un
truc qui marche il faudrait avoir un remplacement qui marche aussi ?
Peut-être que les pilotes d'impression, ils servaient à quelque chose
et que se dire qu'on va simplement les supprimer ce n'est pas une idée
si géniale que ça ? Mais je dis ça je dis rien.
Les interfaces graphiques sont (souvent) une fausse bonne idée
Méta : Ce billet
d'humeur est un peu un test : je me suis donné un temps limité pour
écrire, avec interdiction de m'éterniser dessus, pour voir ce que ça
donne en termes de longueur. J'ai pris un sujet qui traînait depuis
longtemps dans ma TOBLOG-list (ou TORANT-list, peut-être plutôt), je
ne sais pas s'il est vraiment passionnant, mais on va faire avec.
Pour communiquer des documents pédagogique à nos élèves, Télécom
Paris met à la disposition des enseignants un outil (enfin, un site
Web, une webapplication)
appelé Moodle qui
est censé nous simplifier la vie : pour rendre un document public (par
exemple des notes de cours), il suffit en principe de se connecter au
site et au cours visé, de cliquer sur deux-trois trucs, uploader le
document, et hop, les étudiants pourront le voir. Pareil, si on veut
écrire un petit texte explicatif, on peut le saisir directement dans
un outil graphique qui permet de mettre du gras, de l'italique, de
créer des liens, ce genre de choses, sans avoir à taper
du HTML. C'est censé être plus facile pour tout le
monde.
Je donne cet exemple précis, mais le phénomène est universel depuis
30–40 ans en informatique : tout outil, tout programme, un tant soit
peu grand public, doit prendre la forme d'un
« cliquodrome »
(tiens, ce mot n'existe apparemment qu'en français), c'est-à-dire un
outil tellement simple qu'il puisse être utilisé par Monsieur
Toutlemonde, sans avoir à taper des commandes ou éditer des
fichiers.
Alors je ne nie pas que les interfaces graphiques puissent avoir
leur intérêt[], et je ne nie certainement pas qu'une interface texte
puisse être complètement merdique, mais dans beaucoup de cas je trouve
que vouloir à tout prix une interface graphique est une fausse bonne
idée et qu'on perd plus de temps à s'en servir qu'à apprendre un outil
textuel.
[] Voici quelques éléments qui justifient qu'une
interface graphique puisse se justifier à mes yeux : quand les
personnes qui s'en servent ne s'en serviront pas souvent (notamment si
beaucoup la découvrent pour la première fois) et n'ont aucune chance
d'avoir des tâches répétitives à faire avec ; et quand la tâche est
intrinsèquement graphique. Je ne me plains pas, par exemple, que la
borne de commande de MacDonald's soit une interface graphique !
Dans le cas de notre Moodle, par exemple, si j'ai plein de
documents à mettre en ligne d'un coup, je me retrouve à faire toute
une petite danse idiote pour chacun de ces documents : cliquer
sur ajouter une activité ou ressource, sélectionner le
type fichier, lui donner un nom (qui est généralement un
copier-collé du précédent avec un truc ou deux à changer), cliquer
sur déposer des fichiers, prendre la sous-option déposer un
fichier (parce qu'il y a plein d'autres options pour les fichiers
partagés, ou déjà déposés sur le site ou que sais-je encore),
recliquer encore sur le bouton déposer, choisir le fichier dans
l'interface graphique de mon navigateur, cliquer une énième fois
sur déposer (pour confirmer le dépôt), puis sur enregistrer
et revenir au cours, et encore, je vais sans doute me rendre
compte que le fichier n'est pas apparu au bon endroit et que je dois
glisser pour le replacer ailleurs, que le glisser-déplacé marche mal
dans le navigateur ; et je dois recommencer tout ça pour le document
suivant. S'il y a juste un document ou deux à déposer, ce n'est pas
trop pénible : si on veut en mettre vingt d'un coup, c'est vraiment
fastidieux. Et si je veux ajouter une petite description sur chaque
document avec, par exemple, un bout de texte écrit en gras, je vais
devoir jouer au copier-coller (revenir au document précédent,
sélectionner la description utilisée la dernière fois), me refarcir la
mise en gras (parce qu'évidemment elle passe mal au copier-coller) à
chaque fois.
Et ce n'est pas tout : quand on doit accomplir ce genre de tâches
répétitives, on prend vite des réflexes procéduraux sur l'endroit où
cliquer dans la partie répétitive. Mais les interfaces graphiques
sont souvent mal conçues pour ça : le truc affiché peut souvent
changer pour des raisons triviales (l'outil a décidé que vous
utilisiez souvent telle fonction, donc il décide de vous la montrer en
premier en pensant vous faire gagner du temps… ou le navigateur a
changé un peu de taille, ou un texte déborde d'une ligne sur une
autre… manque de chance, ça change toute la disposition et du coup ça
casse l'habitude que vous pensiez avoir prise).
Voici donc une première raison de ne pas aimer les interfaces
graphiques : elles simplifient peut-être les manipulations
uniques pour les débutants, mais en contrepartie, elles compliquent
les manipulations répétitives en rendant l'automatisation quasi
impossible.
Or c'est un fait que les ordinateurs sont souvent associés à des
tâches répétitives, et ce, de façon ambivalente : d'un côté ils
devraient nous simplifier leur automatisation (c'est bien le but !),
mais de l'autre, ils sont souvent la source même des choses
répétitives que nous devons faire.
Quand je dois réaliser une tâche répétitive sur une ligne de
commande Unix, je sais faire : j'ai plein d'outils à ma disposition
pour répéter la même chose de façon efficace ; même sans aller jusqu'à
écrire un vrai programme (script) qui répète la commande, simplement
la préparer dans un éditeur de texte, faire du recherche-remplacement
ou saisir rapidement les modifications au clavier, ou utiliser des
macros de l'éditeur, pour finalement recopier l'ensemble des lignes de
commande qu'on aura préparées, tout ça va extrêmement vite. Donc si
je pouvais utiliser une commande du genre moodle --course-id
foobar --section 2 --add-activity --type file --name "Corrigé du
contrôle ${year}" --upload-file corrige-${year}.pdf
(j'invente complètement la syntaxe) pour chaque valeur
de ${year}, ce serait beaucoup plus efficace pour moi que
de devoir me battre avec une interface graphique censée me
« simplifier » la vie. Oui, une telle ligne est un peu compliquée à
préparer une fois, mais l'intérêt est qu'une fois qu'on sait
ce dont on a besoin, on peut la réutiliser sans réfléchir de façon
très efficace, alors qu'avec une interface graphique il faut toujours
refaire la même danse.
(Je précise Moodle semble bien avoir des outils permettant de s'en
servir en ligne de commande, mais c'est uniquement pour
l'administrateur, et je ne suis pas administrateur du Moodle mis en
place par mon employeur. Donc je ne pense pas que je puisse mettre à
jour les sites pédagogiques de mes cours via des lignes de
commande.)
Idem quand il s'agit d'éditer un fichier : oui, c'est peut-être
plus fastidieux a priori de devoir taper quelque chose du
genre ceci est en <b>gras</b> pour
mettre un bout de texte en gras, mais l'avantage du texte brut est
qu'on sait exactement comment il interagit avec l'éditeur, comment il
se comporte pour le copier-coller, ce que ça signifie de comparer des
versions du document et d'afficher les différences entre elles. Mon
éditeur a tout ce qu'il faut (notamment un système de macros puissant)
pour faciliter l'automatisation, la recherche-remplacement ou la
gestion des versions quand il s'agit d'un fichier à éditer constitué
d'une succession simple de caractères Unicode, mais dès qu'il y a des
contenus plus riches, les outils sont considérablement plus merdiques.
Et surtout, on n'a plus vraiment le choix de l'outil : si je veux
éditer un fichier texte brut, je peux choisir l'éditeur qui me plaît ;
par exemple, si je veux éditer un fichier Word, je dois utiliser Word
ou éventuellement LibreOffice, mais en tout cas mes choix sont
nettement plus limités.
Et encore, je postule ici que j'ai affaire à des interfaces
graphiques pas trop mal conçues. Mais quand il s'agit
d'outils développés au sein d'une organisation, ou sous-traitées à des
développeurs incompétents qui n'ont aucune notion des bonnes pratiques
en interfaces homme-machine, c'est plutôt la petite boutique des
horreurs. Je n'ai pas tant à me plaindre de l'interface de
Moodle en elle-même, qui n'est pas catastrophique en tant qu'interface
graphique, mais celles qui nous servent à, par exemple, déclarer nos
jours de congés (ou, pire, à alimenter notre compte épargne-temps), à
ouvrir un ticket de maintenance auprès des services logistiques, à
déclarer nos activités d'enseignement, etc., sont des abominations
même quand on n'a pas de tâches répétitives à accomplir dedans. Parce
que, oui, ça fait aussi partie du problème des interfaces
graphiques qu'elles sont difficiles à programmer, et que quand c'est
mal fait ça peut être une abomination.
Mais il n'y a pas que la réalisation des tâches répétitives que
l'interface graphique rend pénible. Il y a encore au moins deux
autres choses que je dois mentionner.
D'abord, la sauvegarde de l'état complet et l'examen de celui-ci.
Je veux dire que quand j'interagis avec un programme via des lignes de
commande et des fichiers texte de configuration, je peux normalement
(enfin, je devrais pouvoir) compter sur le fait que ces lignes de
commande et fichiers sont la totalité de ce qui détermine le
comportement du programme. Dans une interface graphique, il
est impossible de voir tout l'état à la fois, et souvent impossible de
le sauvegarder de façon décente. Si j'ai un problème, je
dois chercher les réglages dans tous les menus et tous-menus (il n'y a
souvent pas d'outil de recherche du texte dans les menus) ; si je veux
communiquer à quelqu'un d'autre tous les changements de réglages que
j'ai faits, je dois les examiner à la main ou lui envoyer des captures
d'écran effectuées laborieusement, au lieu de pouvoir envoyer un
fichier de configuration unifié. Si je veux sauvegarder une
configuration dont je suis content pour pouvoir éventuellement y
revenir plus tard, je n'ai pas d'autre choix que de noter manuellement
tous les réglages que j'ai faits. Ne parlons pas de quelque chose
comme « trouver tous les changements que j'ai faits entre <telle
date> et <telle date> ». Tout ça est tellement (inutilement)
fastidieux ! D'autant que les ordinateurs sont justement censés nous
simplifier ce genre de choses.
Et je ne parle même pas du fait que les interfaces graphiques ont
tendance à avoir un état opaque, unique, dont on ne sait jamais très
bien quelles manipulations vont l'affecter de façon permanente
(parfois il y a un bouton annuler, mais on ne sait jamais vers
quoi il revient) : pas possible d'ouvrir un état secondaire, pour
tester, et revenir à l'état principal si on n'est pas content du test.
Si on fait un changement dans les réglages, paf, il est effectif
immédiatement, on n'a pas de « mode de test », de possibilité
d'annuler en bloc ou quoi que ce soit du genre.
Enfin, il y a un autre aspect qui me semble très important et
rarement discuté : dans une interface textuelle (lignes de commande ou
fichiers de configuration), il y a toujours moyen de commenter ce
qu'on fait, pour expliquer à soi-même (ou à d'autres avec qui on
collabore) pourquoi on a modifié ce réglage, pourquoi on a fait ce
choix, pourquoi il ne faut pas y toucher, ce genre de choses. Les
commentaires sont une méta-information cruciale. Les
interfaces graphiques ne permettent pas de laisser des commentaires
sur ce qu'on fait. (Pas que ce soit structuralement
impossible, certes, on pourrait très bien imaginer une interface
graphique qui permette d'ajouter des commentaires sur chacun de ses
propres réglages, de rechercher dedans, etc. Mais en pratique, je
n'ai jamais vu ça, et même s'il y a peut-être quelques outils où ça
existe, le problème des interfaces graphiques est aussi qu'elles sont
idiosyncratiques : chaque outil a la sienne, donc il faudrait
redévelopper ça N fois. Les fichiers de configuration, par
contraste, ont plein de conventions sur les commentaires, mais on peut
être quasi certain que chacun a une façon d'en mettre.)
L'idéal, évidemment, c'est quand un même outil peut être utilisé à
la fois de façon graphique (pour ceux qui veulent s'en servir
rapidement et sans apprendre) et de façon textuelle, et surtout, que
le pont entre les deux façons de s'en servir est bien fait : qu'à
chaque fois qu'on en a un usage graphique, il va expliquer comment on
aurait pu produire le même résultat en ligne de commande (ou en
éditant un fichier), que les commentaires ajoutés dans un fichier de
configuration textuel sont affichés dans la version graphique, sont
préservés par la modification dans l'interface graphique mais
peut-être avec un commentaire supplémentaire modifié dans
l'interface graphique à <telle date>, bref, c'est l'idéal,
mais à condition que ce soit bien fait, et je ne connais en gros pas
un seul exemple de cas où ce soit bien fait.
Alors oui, c'est tellement à la mode (depuis ~40 ans, hein… je ne
parle pas d'une mode récente) de dire que c'est aux ordinateurs de
s'adapter aux humains et pas le contraire, et qu'on va faire des trucs
simples et utilisables par tout le monde, mais en fait je pense que
c'est une forme de populisme d'essayer de rentre les outils
(faussement) intuitifs avec des interfaces graphiques partout, et que
la perte de productivité à cause de cette fausse bonne idée a été
colossale, sans compter l'idée désastreuse qu'il n'y a pas besoin
d'apprendre l'informatique quand on ne va pas travailler en
informatique.
Tout le monde, un jour ou un autre, aura une tâche répétitive à
accomplir sur un ordinateur. Si pour faire 50 fois la même chose
votre interface vous oblige à répéter 50 fois les mêmes gestes, votre
interface est une merde. Et c'est probablement le cas.
J'ai déjà fait des billets dans ce blog,
notamment ici, là
(et avant, ici) et dans une
certaine mesure ceci sur la
physique des particules. Mon but n'est pas de revenir
là-dessus[#], mais de parler un
peu de quelque chose qui est soit une curiosité soit un mystère de la
physique des particules :
la formule de
Koide.
[#] D'ailleurs, si vous
voulez de meilleures explications que les miennes, John Baez (un
physicien assez connu, quoique moins connu que, dans un tout autre
domaine, sa
cousine, et avec lequel j'eus d'ailleurs
interagi à
l'époque de Twitter) a commencé à faire une série de vidéos
YouTube de semi-vulgarisation du modèle standard : les trois premières
parties sont là 1, 2
et 3.
Rappelons un peu le contexte (je renvoie aux liens ci-dessus
pour plus d'explications et de détails) : le
« modèle
standard » de la physique des particules est une théorie (ou
peut-être qu'on devrait dire une réunion de diverses théories) qui
représente notre meilleure compréhension de la physique fondamentale à
l'exclusion[#2] de la
gravitation. Ce modèle décrit le comportement et les interactions
d'une petite ménagerie[#3] de
particules qu'on pense élémentaires. Dans la ménagerie, il y a des
particules de force, ou
« bosons »[#4], qui ne
m'intéressent pas ici, et des particules de matière, ou « fermions ».
Ces fermions élémentaires viennent en trois « générations » ou
« familles » (la légère, la moyenne et la lourde), et dans chaque
génération, il y a quatre particules : un lepton chargé (de
charge −1), un neutrino (sans charge), un quark négatif (de
charge −1⁄3) et un quark positif (de charge +2⁄3). Si vous êtes
perdus, voyez le schéma
récapitulatif que j'avais fait et que je reproduis ci-contre à
droite : je parle ici du quadrant supérieur droit de ce schéma, et
c'est surtout sa première ligne (celle des leptons chargés) qui va
m'intéresser.
[#2] On a une bonne
théorie de la gravitation (la relativité générale), une bonne théorie
de la physique des particules (le modèle standard), et ces deux
théories sont incompatibles de plein de manières. Il y a des théories
qui prétendent les réconcilier, mais elles n'ont absolument aucune
base expérimentale.
[#3] On peut trouver
qu'il y en a beaucoup (trop ?), mais c'est déjà moins chaotique que le
zoo florissant qu'était le monde des « hadrons » (particules qu'on
comprend maintenant comme formées de quarks et pas élémentaires) avant
la découverte des quarks.
[#4] Ce sont : le
photon (γ), les bosons W±
et Z⁰, les gluons, auxquels on aimerait pouvoir ajouter un
graviton que j'ai imprudemment fait apparaître sur mon schéma (toutes
celles que je viens de lister étant des bosons dits de jauge),
ainsi que le boson de Higgs qui est encore un peu à part.
Parmi ces particules, les trois qui nous intéressent vraiment sont
les trois leptons chargés : ce sont
l'électron (e⁻),
le muon (μ⁻) et
le tau(on) (τ⁻). L'électron est un
composant fondamental de la matière qui nous entoure, c'est lui qui
est responsable en gros de toute la chimie ; le muon et le tau sont
des cousins plus lourds de l'électron, on ne les voit pas dans la vie
courante parce qu'ils se désintègrent (en respectivement
2.2×10−6 s et 2.9×10−13 s environ), néanmoins
les muons sont un composant important des rayons cosmiques. Les trois
particules en question ont des masses très différentes : la masse de
l'électron
(valeurs
précises ici
ou ici)
vaut, selon les unités que vous préférez, environ 5.49×10−4
unités de masse atomique, ou 0.511 MeV, ou encore
9.11×10−31 kg ; la masse du muon
(valeurs
précises ici
ou ici)
vaut environ 207 fois celle de l'électron, et celle du tau
(valeurs
précises ici
ou ici)
environ 3480 fois celle de l'électron (16.8 fois celle du muon, ou
environ 1.91 unités de masse atomique).
Ces nombres ne sont pas du tout prédits par le modèle standard.
Revenons un petit peu en arrière à ce sujet.
Le modèle standard est une théorie qui marche très bien. (À ma
connaissance, il n'y a pas une seule expérience à l'échelle
microscopique — notamment, ne faisant pas intervenir la gravitation —
qui entre en désaccord expérimental clair avec les prédictions du
modèle standard. Régulièrement on entend parler d'indices
de physique au-delà du modèle standard, mais il me semble que
ça fait toujours pschitt.) En fait, le modèle standard
marche trop bien, et c'est un problème, parce qu'il est
profondément insatisfaisant pour toutes sortes de raisons.
Un problème du modèle standard est qu'il y a toutes
sortes[#5] de constantes
magiques dedans qu'il n'explique pas — qu'il ne prétend pas expliquer
— ce sont juste des paramètres du modèle, qui valent ce qu'ils valent.
(Ces paramètres sont, notamment, les masses d'à peu près toutes les
particules dans la ménagerie, ou du moins des choses qui permettent de
les calculer, ainsi que des « constantes de couplage », mais aussi
d'autres paramètres comme les paramètres
de Cabibbo-Kobayashi-Maskawa
et ceux
de Pontecorvo-Maki-Nakagawa-Sakata.)
Il y a aussi le fait qu'il y a trois générations de leptons et
quarks : pourquoi précisément trois ? On peut construire des théories
analogues avec n'importe quel nombre de générations (je crois que ce
n'est même pas indispensable qu'il y ait autant de générations de
leptons que de quarks), donc ce n'est pas une prédiction, c'est un
paramètre. Plus fondamentalement, pourquoi est-ce qu'on a toute cette
petite ménagerie de particules (bizarrement bien organisée côté
fermions, et bizarrement ad hoc côté bosons) dont plein d'entre
elles ne « servent à rien » au sens où elles n'apparaissent pas dans
la matière qui nous entoure.
(Comme I. Rabi
s'est exclamé à propos de la découverte du muon : Who
ordered that?)
[#5] Une vingtaine (en
ne comptant que les nombres sans dimension, parce que tout ce qui a
une dimension n'est pas une vraie constante de la nature et peut être
rendu égal à 1 en choisissant
les bonnes unités). John Baez
ici en
compte 26, mais c'est pour toute la physique, donc pour le modèle
standard je retirerais la constante cosmologique (qui ne fait pas
partie du modèle standard) ainsi qu'un paramètre de masse (parce que
sans gravitation il n'y a pas d'unité naturelle de masse), donc je
dirais 24. Mais on peut ajouter d'autres choses,
comme l'angle du
vide de la chromodynamique quantique (qui expérimentalement semble
valoir exactement zéro, mais le modèle standard lui permet d'être
non-nul, donc faut-il dire que c'est un paramètre qui
expérimentalement vaut zéro, ou qu'il n'existe pas ?), ou des
possibles masses de Majorana des neutrinos (on ne sait pas s'ils en
ont, mais ils pourraient).
Voici un autre
décompte, qui arrive à 19 sans dimensions, mais c'est parce qu'il
prend des neutrinos de masse nulle.
Les physiciens ont inventé toutes sortes de théories qui expliquent
(ou pourraient expliquer, ou prétendent pouvoir expliquer) toutes
sortes de choses laissées inexpliquées par le modèle standard, parfois
juste parce que ces théories sont mathématiquement agréables.
Malheureusement, il n'a pas le moindre commencement de raison
expérimentale[#6] de penser que
ces théories soient justes.
[#6] La vulgarisatrice
Sabine Hossenfelder aime beaucoup se moquer des gens qui ont perdu
tout contact avec la réalité expérimentale et qui, sur la base de
considérations d'esthétique mathématique, n'arrêtent pas d'échafauder
des nouvelles théories prédisant toutes sortes de nouvelles particules
(par exemple la « supersymétrie » qui propose carrément de doubler le
nombre de particules), en arguänt que ces théories satisfont bien
l'impératif poppérien
d'être réfutables
puisqu'on peut chercher les particules qu'elles prédisent, mais quand
la nature n'a pas envie de se conformer à leur sens de l'esthétique et
que les dites particules refusent obstinément d'apparaître dans les
accélérateurs, au lieu de considérer la théorie comme réfutée, on
trouve un moyen de la modifier pour la sauver quand même (en fait ces
particules nouvelles ont une masse plus importante que nous
croyions !), et un prétexte pour réclamer un accélérateur de
particules encore plus puissant. Je trouve qu'elle (Sabine) est un
peu inutilement caustique, et elle s'est fait beaucoup d'ennemis, mais
sur le fond, la critique est légitime : la physique des particules
s'est tellement détachée de la nécessité de répondre à des questions
expérimentales qu'on peut parler de crise épistémologique. Il n'y a
vraiment aucune raison de croire à la véracité physique de
choses comme la supersymétrie ou les théories grandes unifiées ou la
théorie des cordes (et j'inclus ici la théorie
de mon papa, la géométrie non
commutative, mais lui au moins avait le bon goût de ne pas prétendre
faire des prédictions expérimentales).
Alors bien sûr on peut se résigner au fait que peut-être le modèle
standard est la fin de la physique (gravitation exclue, quand même) et
qu'il n'y a rien de plus à dire, et que le monde est spécifié par ~20
paramètres qui sont ce qu'ils sont et ça n'a pas de sens de se
demander[#7] pourquoi ils ont
justement ces valeurs-là.
[#7] Ou peut-être qu'on
peut se dire on a de la chance que ces paramètres permettent la
vie ! — si comme moi vous trouvez cette réflexion un peu stupide,
c'est probablement que vous croyez au moins un peu au principe
anthropique, cf. ici. Mais savoir
dans quelle mesure notre univers est typique parmi ceux qui permettent
la vie est une question complètement non-résolue.
✵
Zut, je commence à partir dans des digressions et des digressions
sur les digressions, alors venons-en enfin à la formule de Koide.
C'est une étrange coïncidence numérique apparente entre certains de
ces paramètres, à savoir les masses de l'électron, du muon et du tau.
Et la question à 42 zorkmids, c'est si cette formule est une
coïncidence, ou si elle reflète quelque chose de profond.
La formule est généralement présentée ainsi (et je vais dire que ce
n'est sans doute pas la meilleure façon de la voir) :
— où me désigne la masse de
l'électron, mμ celle du muon
et mτ celle du tau (dans n'importe
quelle unité puisque la formule est homogène, cf. ci-dessous).
Expérimentalement, ça semble vrai. Si je rentre les masses
expérimentales de l'électron, du muon et du tau dans la formule, je
trouve 0.6666645 ± 0.0000051 (l'incertitude vient presque entièrement
de celle sur la masse du tau).
Pour être bien clair, il n'y a aucune théorie derrière cette
formule[#8] : c'est
une constatation. Maintenant, est-ce que c'est un hasard, ou
est-ce qu'elle signifie quelque chose ?
[#8] Historiquement, il
semble qu'il y en avait une. Mais cette théorie a été falsifiée. La
formule, cependant, demeure.
D'abord, je trouve qu'elle est très mal écrite : l'expression
ci-dessus peut sembler totalement arbitraire (et la valeur de 2/3 pas
moins). Au lieu de prendre la somme et la somme des racines carrées
des masses de l'électron, du neutrino et du tau, il vaut mieux y
penser comme des moyennes. C'est-à-dire réécrire la formule
de Koide (en multipliant par 3 l'expression ci-dessus) comme :
— où désigne
la moyenne
d'ordre p (une expression mathématique quand même très
courante). Je ne comprends pas pourquoi on ne l'écrit pas comme ça,
ce qui est quand même sacrément plus parlant.
En lisant un texte d'histoire des maths je repensais à la question
épineuse de raconter l'histoire des idées. Quelques réflexions à ce
sujet. (Comme je me cherche à faire des
billets moins interminables, je
vais essayer de ne pas partir dans tous les sens. Divulgâchis : ça ne
va que médiocrement marcher.)
Un des problèmes généraux de l'Histoire est que non seulement il
faut enquêter pour retrouver les faits eux-mêmes, mais, même si on est
d'accord sur les faits (par exemple, pour l'histoire des idées : qui a
écrit quoi à quel moment), il faut encore débattre de leur
interprétation, ce qui peut tomber dans un débat sémantique très
glissant. (Là normalement vous vous attendez tous à ce que je fasse
un lien vers ce billet-ci, mais en
fait je suis plutôt tenté d'en faire un
vers celui-là.)
Un exemple typique serait d'essayer de démêler les causes
d'un événement : du point de vue de la physique, la notion
de cause n'a pas de
sens[#], ou, dans la mesure où
elle en a, elle n'est pas celle qui est pertinente pour l'historien :
si un papillon en 1850 avait battu ses ailes un tout petit peu
différemment, François-Ferdinand d'Autriche ne serait pas né (au
moins, quelqu'un de très différent serait né, et qui aurait une chance
sur deux d'être une fille), ainsi que plein d'autres des acteurs
majeurs en 1914, et la première guerre mondiale n'aurait peut-être pas
eu lieu (à ce moment-là[#2]),
ou du moins les choses auraient été très différentes ; pourtant,
personne ne qualifierait sérieusement (en tout cas dans le contexte de
l'Histoire) le moindre battement d'aile de papillon en 1850
de cause de la première guerre mondiale. Mais comme, du coup,
il n'y a aucune définition claire de ce qu'est une cause, deux
historiens pourront toujours débattre sur le fait que tel ou tel fait
soit ou non une cause de tel ou tel événement, même s'ils sont
d'accord sur exactement tous les faits. Et comme on ne peut pas
rejouer l'histoire, il n'y a aucun moyen de trancher les questions
conditionnelles du style si ceci s'était passé différemment, alors
cela serait arrivé (à la limite c'est un problème encore
différent : même si on pouvait, on ne saurait quand même pas pour
autant ce qu'est une cause).
[#] Voyez par
exemple cette vidéo pour une explication.
[#2] Les petits malins
feront remarquer qu'il est très vraisemblable qu'il y ait une guerre
mondiale un jour, quelle que soit sa forme, et que s'il y a une guerre
mondiale il y a forcément une première guerre mondiale, donc
la cause de la première guerre mondiale est l'inévitabilité de
conflits mondiaux. (Et donc que ce qu'on cherche quand on cherche
les causes de la première guerre mondiale ne sont pas les
raisons de l'existence d'une première guerre mondiale mais du
fait qu'elle se soit produite sous une forme bien précise à un moment
bien précis.) Les encore plus malins feront remarquer que la première
guerre mondiale a en fait eu
lieu de 1756
à 1763 donc ses causes sont à chercher avant ce moment-là. Je
blague, mais c'est un peu une illustration de ce que je cherche à
dire : parler de causes de la première guerre mondiale est épineux
quand, pour des raisons différentes, on ne sait proprement définir
ni cause ni première guerre mondiale.
Mais le flou autour de la notion de cause d'un événement n'est pas
le seul exemple. Il y aussi, et c'est ce que je veux évoquer ici, le
flou autour de la notion de l'origine d'un concept. L'histoire des
idées est particulièrement casse-gueule : parce que pour faire
l'histoire d'une idée, il faut attribuer des limites à cette idée, et
ces limites sont encore plus floues que quand on peut se rattacher à
des faits matériels.
Ce que je veux dire, c'est que répondre à une question comme qui
est la première personne à avoir construit une machine à vapeur ?
est déjà délicat parce qu'il faut définir ce que c'est qu'une machine
à vapeur, et probablement les toutes
premières[#3] ne sont pas
identiques à la façon dont le truc s'est standardisé (donc ce que nous
— post révolution industrielle — appelons maintenant une machine à
vapeur) ; mais c'est encore plus pour une question comme qui
est la première personne à avoir formulé le principe de la
conservation de
l'énergie ?[#4], parce que
c'est encore plus difficile de donner des contours à une idée qu'à un
objet.
[#3] Concrètement,
donc : est-ce que vous considérez
l'éolipyle de
Héron d'Alexandrie (au premier siècle avant notre ère) comme
une machine à vapeur ? Ce n'est pas une question sur les
faits, c'est une question sur les contours des notions.
[#4] La Marquise
du
Châtelet ? Julius
von Mayer ? Albert Einstein ? Tout dépend ce qu'on appelle la
conservation de l'énergie : ces trois personnes et d'autres ont
apporté une contribution essentielle dans l'idée d'énergie telle que
nous la concevons maintenant, et c'est ensuite une décision
essentiellement arbitraire que de dire qu'à partir de tel degré de
maturation de l'idée c'« est » la conservation de l'énergie alors
qu'avant, non.
Retracer l'histoire d'une idée (scientifique, disons) c'est souvent
comme essayer de retracer l'histoire du bateau de Thésée : l'idée est
passée par la tête de plein de gens successivement, qui l'ont chacun
modifiée un petit peu jusqu'à ce qu'on arrive à la conception moderne,
et décider qui dans la chaîne est le découvreur est un exercice
assez arbitraire (et peut-être un chouïa futile).
Il arrive, évidemment, qu'une idée scientifique apparaisse assez
soudainement (et même comme ça, ça peut être chez plusieurs personnes
indépendamment, comme la notion d'évolution par sélection naturelle,
qui a été imaginée par Wallace à peu près simultanément avec Darwin) ;
mais le plus souvent c'est le résultat d'une longue maturation dont
les étapes finales peuvent être les parties émergées de l'iceberg.
J'y pense notamment si je veux évoquer un tout petit peu de
l'histoire de la calculabilité
(dans le cadre d'un cours que je donne
à Télécom) : qui a inventé le concept d'algorithme ? de
calculabilité ? de programme ? d'ordinateur ? La réponse à toutes ces
questions est toujours ça dépend ce que vous entendez par là
exactement, et si on peut citer plein de noms (al-H̱wārizmī,
Babbage, la comtesse de Lovelace, Gödel, Church, Turing, von Neumann…
parmi plein d'autres), il n'y en a pas un qui répond clairement à une
de ces questions.
Mais je veux surtout mentionner ici une sorte de débat récurrent
entre mathématiciens et historiens des mathématiques (je suppose que
ce n'est pas spécifique aux maths, mais c'est ce que je connais) quand
on tente de retracer l'histoire d'un concept. Je trouve que ce débat
est assez bien expliqué dans l'introduction
de cet
article d'Amir Asghari consacré à la question (par ailleurs
passionnante) de l'histoire de la notion d'équivalence (comme
dans relation d'équivalence) en mathématiques, et qui évoque un
débat entre le mathématicien Christopher Zeeman et l'historien David
Fowler sur la conception de rapport et de proportionnalité dans le
livre V des Éléments d'Euclide.
De façon très sommaire (très schématique et stéréotypée), le
mathématicien qui s'intéresse à l'histoire d'un concept mathématique a
tendance à chercher à le réduire à une idée-clé, et rechercher qui,
historiquement, lui semble avoir eu cette idée-clé. Ceci implique
souvent une importante réinterprétation de l'histoire à la
lumière de notre compréhension présente des
mathématiques[#5] : le
découvreur de l'idée-clé n'avait parfois aucune idée de ce qu'il
faisait, mais quand on repense à ses idées avec l'éclairage du
présent, on peut dire rétrospectivement : c'est lui, à ce moment-là,
qui a débloqué tel blocage intellectuel qui empêchait d'arriver à une
conception claire de tel concept. Je ne dis pas que le mathématicien
simplifie forcément l'histoire des idées au point d'attribuer chaque
concept à un unique découvreur, mais disons que ce qui l'intéresse
avant tout c'est la genèse de la version abstraite de l'idée, revue
avec les yeux d'aujourd'hui, et débarrassée de la confusion de sa
formulation historique. La recherche du germe qui deviendrait,
ultérieurement, le concept dont on parle. C'est dans ce sens que, par
exemple, Galois est l'inventeur de ce que nous appelons maintenant
la théorie de Galois, alors que la théorie de Galois faite par
Galois était quand même sérieusement différente de la théorie de
Galois enseignée de nos
jours[#6]. Et Fourier n'a pas
non plus montré l'existence d'un isomorphisme isométrique entre ℓ² et
L²(ℝ/ℤ).
[#5] Parfois cette
réinterprétation va tellement loin qu'elle en devient un peu comique,
comme cette blague de géomètres algébristes selon laquelle au VIIe
siècle avant notre ère, Thalès de Milet a montré que les espaces de
configurations de matroïdes sont universels au sens des motifs de
Grothendieck. (Cette phrase est, en fait, une version
paraphrasée, tronquée et caricaturée d'une remarque de Laurent
Lafforgue
dans Chirurgie
des Grassmanniennes. Il écrit plus précisément (page 3
dans la version prépubliée) : Comme Ofer Gabber l'a fait remarquer
à l'auteur (citant en particulier le livre
[Artin, Geometric Algebra (1957)]), il
résulte trivialement du théorème de Thalès que tout schéma intègre de
type fini sur ℤ contient comme ouvert un espace […] de configurations
de points dans le plan projectif. En effet, le théorème de Thalès dit
que la multiplication et l'addition, donc aussi tout polynôme à
coefficients entiers, se modélisent par des relations d'alignement
dans le plan. […Il résulte] de ces remarques que [les espaces de
configurations] sont universels au sens des motifs et ont des
singularités arbitraires. Donc en fait, Lafforgue n'attribue pas
ce résultat tel quel à Thalès ; néanmoins, résumer le théorème de
Thalès en expliquant qu'il dit que les relations polynomiales
sur ℤ se modélisent par des relations d'alignement dans le plan est
assez typique de la réinterprétation par les mathématiciens d'un
résultat passé, que Thalès n'aurait évidemment pas reconnu, si tant
est qu'il est l'auteur du théorème qu'on lui attribue.
Le trivialement, suggérant que le théorème de Thalès est la
partie difficile de tout ce qui est raconté est aussi assez hilarant
comme stéréotype de la manière dont un mathématicien brillant
s'exprime. J'avais déjà évoqué ce passage
dans ce billet passé.)
[#6] Je ne sais plus si
j'avais raconté ça sur ce blog, mais quand, en 1998, nous avions
demandé à Luc Illusie (nous étant un certain nombre d'élèves de
2e année de l'ENS qui avions suivi son cours de géométrie
algébrique en DEA à Orsay) comment il comptait expliquer
la théorie de Galois en première année à l'ENS (où il
avait été chargé du cours d'Algèbre II), il nous avait répondu
quelque chose comme ceci : oh, je vais juste faire quelque chose de
très simple : pour moi la théorie de Galois c'est l'équivalence entre
le topos étale sur un corps et le topos des ensembles sous l'action
continue du groupe de Galois absolu de ce corps. Nous avions
beaucoup rigolé, mais, après coup, certains d'entre nous ont beaucoup
moins rigolé, et ont admis qu'Illusie avait évidemment parfaitement
raison, et que l'équivalence entre le topos étale sur un corps et le
topos des Γ-ensembles (avec Γ le groupe de
Galois absolu — profini — de ce corps) « est » bien le contenu
essentiel, le résumé conceptuel et la substantifique moëlle de la
théorie de Galois. Ceci étant, il n'y a pas besoin d'être historien
pour savoir que Galois ne pensait évidemment pas en ces termes. (Pour
être un peu moins anachronique, on peut parler de théorie de
Galois-Grothendieck, ou de théorie de Galois dans sa reformulation par
Grothendieck.) En tout cas, c'est un bon exemple de ce dont je
parle : les matheux partent d'une idée-clé (ici celle de Galois),
cherchent à la transformer et la retravailler jusqu'à prendre sa forme
la plus générale possible qui soit satisfaisante à leurs yeux, et
considèrent que c'est toujours le même bateau de Thésée alors que les
historiens lèvent les yeux au ciel.
À l'inverse, ce qui intéresse l'historien des mathématiques, c'est
comment tel ou tel personnage écrivait ou voyait les choses avec le
langage et le point de vue de l'époque. L'Histoire cherche justement
à éviter la réinterprétation du passé par le présent (même si ce n'est
évidemment pas possible de s'affranchir complètement du présent) : il
est saugrenu pour l'historien de prétendre qu'Euclide parlait de
relations d'équivalences ou de nombres réels (ou que Galois parlait
d'équivalence entre topos).
Ce serait idiot de prétendre qu'un de ces points de vue est
meilleur que l'autre. Ce sont juste deux façons différentes de voir
le monde (et le passé), avec des buts différents. L'historien peut
reprocher au mathématicien de réécrire créativement l'histoire ; et le
mathématicien aura beau jeu de répondre que ce qui l'intéresse, lui,
n'est, justement, pas l'histoire pour elle-même, mais les idées
mathématiques qu'elle nous a apportées. À l'inverse, le mathématicien
peut reprocher à l'historien de rater la forêt parce qu'il ne voit que
les arbres (ou de rater l'arc pour les
pierres) : de tellement se focaliser sur l'incarnation précise
d'une idée à un moment donné qu'on ne voit plus la genèse de l'idée à
travers ses métamorphoses ; et l'historien aura beau jeu de répondre
que tout ça est une reconstruction ex post facto.
Dans un cas on s'intéresse à la genèse historique d'une idée (ce
qui s'est réellement passé dans le monde réel), dans l'autre cas à sa
genèse intellectuelle (le chemin dans le monde abstrait des idées, qui
aboutit à ce concept). L'un cherche à tracer l'histoire réelle du
bateau de Thésée, l'autre l'inscrit dans une construction mentale qui
permet de mieux comprendre le bateau même s'il ne retrace pas le cours
précis de son évolution. Ce qui est normal car le but de l'historien
est de documenter le passé historique tandis que celui du
mathématicien est de comprendre et de prendre du recul sur les maths
(donc quand un mathématicien fait de l'histoire des maths c'est
souvent un prétexte pour explorer différents points de vue sur une
idée mathématique).
Évidemment, ce que je viens de raconter est très sommaire et très
caricatural, et la distinction entre ces deux points de vue n'est
jamais parfaitement tranchée, mais la tendance n'en est pas moins
réelle.
Un exemple du phénomène peut se voir dans l'histoire de la
calculabilité : tous les matheux ou informaticiens qui font un cours
de calculabilité disent tout le temps que l'indécidabilité du problème
de l'arrêt est un théorème dû à Turing (c'est même le
théorème central de Turing, expliquera-t-on). Et pourtant, si on va
chercher ce qu'a vraiment écrit Turing, il ne parle pas du tout du
problème de l'arrêt. Cet exemple est décrit avec plus de
détails ici
dans un exposé par Joel David Hamkins. Du point de vue des
historiens, c'est une réécriture de l'histoire : si Turing n'a pas
démontré ce résultat, on ne doit pas dire que Turing a démontré
l'indécidabilité du problème de l'arrêt. Du point de vue du
mathématicien, ce qui compte est que Turing a démontré un résultat qui
est maintenant à peu près évidemment équivalent à celui de
l'indécidabilité du problème de l'arrêt : comme l'indécidabilité du
problème de l'arrêt est le résultat étalon grâce auquel on démontre
toutes sortes de résultats d'indécidabilité en calculabilité, ce qui
importe n'est pas que Turing ait démontré ce résultat négatif précis,
mais un résultat qui pouvait tenir ce rôle —
mathématiquement, la séparation entre ce que nous appelons maintenant
les degrés de Turing 0 et 0′. Et savoir qui a vraiment
démontré en premier l'indécidabilité du problème de l'arrêt n'a pas
énormément d'intérêt (je ne sais d'ailleurs pas la réponse) : c'est
juste la reformulation moderne de l'idée essentielle de Turing, donc
c'est à lui qu'on attribue ce
résultat[#7].
[#7] Fondamentalement,
le problème est de savoir quand deux théorèmes ou deux preuves doivent
être considérés comme équivalents, problème auquel on
n'a pas
de réponse. Pour expliquer pourquoi les matheux trouvent que les
historiens pinaillent, je peux imaginer le dialogue imaginaire
suivant : un mathématicien explique qu'Untel a prouvé <tel
théorème> ; un historien rétorque que pas du tout ; le
mathématicien répond que, si, c'est page tant de tel article ;
l'historien dit que, non, les notations sont différentes : si on
change les lettres, ce n'est pas le même théorème. Où est la limite :
changer les notations ? remplacer une implication par sa
contraposée ? simplifier l'énoncé en introduisant une définition qui
n'était pas dégagée au moment où l'énoncé a été fait ? à quel moment
est-ce que ce n'est plus le même théorème ?
Encore une fois, les deux points de vue sont légitimes. Ce qui est
vrai, cependant, c'est qu'il est quand même important de dire
clairement duquel on se place, et de ne pas tenir d'affirmation
fausse. Il faut donc trouver des tournures de langage permettant de
dire de manière raisonnablement claire et précise ce qu'on cherche à
dire, et ne pas mentir sur l'Histoire. Le mot essentiellement
est une possibilité (l'indécidabilité du problème de l'arrêt est
essentiellement un théorème de Turing), on peut peut-être faire
mieux ou plus précis (Turing a démontré un résultat qui,
rétrospectivement, est essentiellement équivalent à l'indécidabilité
du problème de l'arrêt a l'avantage d'expliciter le fait que c'est
une réinterprétation rétrospective du passé, qui s'assume comme
telle).
Bon, je m'arrête ici parce que sinon je
vais m'enliser. Ce billet se place au rang 295 (sur 2836) des entrées
de ce blog en longueur décroissante, donc ma tentative pour faire un
peu court n'est toujours pas un franc succès.
Insomnies et réseau du mode par défaut (et ce blog)
Les billets de ce blog deviennent insupportablement longs, et je
cherche le moyen de me forcer à écrire des choses plus courtes, à ne
pas prendre un sujet sur lequel j'ai un million de choses à dire et à
le décortiquer par le menu. Je vais donc faire un effort délibéré
pour écrire des entrées plus courtes (divulgâchis : je sens gros comme
une maison que ça ne va pas marcher).
Pourquoi ne pas en profiter pour revenir un peu sur le processus
mental qui me conduit à écrire ici. (Ça va recouper ce que j'ai déjà
dit dans ce billet mais tant
pis.)
Généralement ça commence la nuit. Je suis assez facilement victime
d'insomnies. Mes insomnies peuvent avoir plein de raisons, physiques
(comme une narine obstinément bouchée) ou externes (par exemple un
bruit qui me gêne), mais certaines sont clairement endogènes : mon
cerveau a simplement décidé que ce n'était pas le moment de
dormir.
J'ai tenté plein de choses, avec plus ou moins de succès, pour
gérer ces insomnies : soit pour m'en débarrasser (comme modifier mes
heures de lever ou de coucher, ou prendre quelque chose qui m'aide à
dormir[#]), soit au contraire
pour les utiliser pour faire quelque chose (c'est-à-dire me lever et
lire, voire travailler, donc accepter une forme polyphasique de
sommeil, tout en pestant contre une société dont les rythmes rendent
compliqué de vivre comme ça).
[#] Vous n'imaginez pas,
là, tout l'héroïsme de retenue dont je fais preuve en ne commençant
pas une digression avec cinq ou six notes détaillant par le menu
toutes mes conclusions au sujet des tisanes, de la mélatonine, de la
doxylamine, etc.
Mais une autre approche que je commence à admettre est peut-être
simplement d'assumer mes insomnies comme telles, et d'arrêter de
considérer que c'est forcément un problème, mais
de reconnaître que c'est un temps qui n'est pas complètement
perdu.
Après tout il s'agit d'un moment que j'ai pour moi, seul
avec mes pensées, sans que rien ne vienne les interrompre, sans aucune
distraction, sans obligation, sans un truc à faire, sans un
accès Internet qui me pousse à aller toutes les cinq minutes regarder
si quelqu'un n'a pas écrit quelque chose de rigolo sur Bluesky ou s'il
n'y a pas une question passionnante sur MathOverflow. (Parce que,
oui, pendant la nuit, j'arrive à résister à la tentation de toucher à
mon smartphone, même quand je fais des heures d'insomnie.)
Et tout ça est précieux.
Il s'agit d'une forme de repos mental. Enfin, peut-être
que repos n'est pas le bon terme, mais disons, de jachère. Ce
n'est pas pareil que le sommeil, et ma fatigue si je dois me lever
après cinq heures de sommeil et trois d'insomnie me rappelle que ces
dernières ne sont pas fongibles en les premières, mais ce n'est pas
pour autant inutile.
Il y a un truc que les neurologistes appellent
le réseau
du mode par défaut qui peut être très grossièrement résumé
comme l'ensemble de régions cérébrales qui sont actives lorsque le
cerveau est éveillé mais au repos, ou, encore plus
grossièrement, ce à quoi on pense quand on ne se concentre sur
rien. Je ne sais pas dans quelle mesure c'est correct
d'identifier ce à quoi je pense pendant mes insomnies à l'œuvre du
mode par défaut ; mais je repense à un article de vulgarisation que
j'ai lu quelque part (à moins que ce soit une vidéo, je ne retrouve
plus [ajout () : je pense que
ça devait être celle-ci]) qui avançait la thèse suivante : qu'à cause de notre mode de vie
contemporain bourré de sollicitations et de distractions
intempestives, nous laissions trop peu de temps au mode par défaut de
notre cerveau. Soit nous nous concentrons, soit nous cherchons une
distraction, mais nous avons trop peur de nous
ennuyer. Or l'ennui, prétendait cet article, peut être
bénéfique (et en tout cas, ce n'est pas une bonne idée de chercher à
le tuer à tout prix), parce que ce réseau du mode par défaut a une
fonction neurologique.
C'est certainement ce que je recherche quand je sors faire une
balade (si je suis avec le poussinet, nous parlons ensemble, mais pas
toujours, il y a aussi de longs silences, pendant lesquels je laisse
mon esprit se balader lui aussi). Là aussi j'essaie de résister, pas
toujours avec succès, à la tentation de sortir mon
téléphone[#2]. Parfois je
pense à quelque chose de précis (une question de maths, par exemple),
mais souvent je laisse le cours de mes idées vagabonder où il
veut.
[#2] Le poussinet est
encore bien moins bon que moi à ce jeu-là. Quand nous nous baladons
ensemble, il n'arrête pas de sortir son téléphone, et même la nuit, au
lit, il le fait souvent.
Et si c'est plaisant en se promenant dans la nature, il n'y a pas
de raison que ce soit insupportable quand je suis dans un lit bien
douillet.
Maintenant c'est sûr que ça a tendance à tourner, et c'est plus le
cas la nuit que pendant une balade, vers des pensées obsédantes,
souvent inquiétantes. (L'article évoqué plus haut signalait
justement, si je me rappelle bien, que c'était possiblement un
mécanisme du cerveau pour se préparer à affronter des situations
pénibles.) Quelque chose de simplement agaçant en temps normal peut
devenir lancinant[#3] quand on
le rumine pendant une insomnie.
[#3] Pour donner une
idée par un exemple, j'ai le souvenir d'avoir fait une insomnie
pendant laquelle j'étais extrêmement malheureux que
l'Internet Archive n'archive plus
ce blog, et je me demandais ce que j'allais faire, et si j'allais être
obligé de passer
à HTTPS et comment j'allais gérer la myriade de
soucis que ça me causerait.
Le terme ruminer me semble assez approprié, et c'est
évidemment difficile de dire si les ruminations sont la cause de
l'insomnie ou si l'insomnie est la cause des ruminations (ou les deux,
en cercle vicieux).
Et donc, parfois, pendant ces moments d'insomnie, je m'imagine
expliquant quelque chose à un interlocuteur imaginaire, en gros comme
je le fais dans les billets de ce blog. Généralement, le matin, si je
n'ai pas carrément oublié de quoi il s'agissait, je me dis que le
sujet n'était vraiment pas tellement intéressant, que je n'ai rien à
dire dessus et que je ne comprends pas pourquoi il m'a autant obsédé.
C'est peut-être une surréaction dans ce sens qui fait que j'écarte
trop les billets de blog un peu courts sur lesquels je n'ai pas
énormément à dire. Mais parfois je
consens[#4] quand même à noter
le sujet dans un fichier TOBLOG (cf. ce
que disais tantôt), et, s'il
revient vraiment souvent, je vais me sentir mentalement acculé à le
mettre enfin par écrit. Or je me dis maintenant que c'est le fait
d'être trop sélectif quant aux billets « sur lesquels je n'ai pas
énormément à dire », de trop me dire que c'est juste une obsession
nocturne passagère, qui fait que ceux que je trouve finalement poussé
à écrire sont aussi ceux qui sont les plus longs (et sur lesquels j'ai
réfléchi pendant des heures et des heures d'insomnie, donc
j'ai plein de choses à dire).
[#4] Il y a comme une
sorte de négociation avec moi-même : une partie de mon cerveau
nocturne accepte d'arrêter de ruminer telle ou telle idée seulement si
je note sur un papier le sujet dont il était question, que je vais, le
lendemain matin, ajouter dans mon fichier TOBLOG. Parfois j'ai un peu
la même sensation que
dans cette note de Boulet (sauf que
dans son cas il semble dire qu'il se rendort immédiatement).
Voilà, et comme ce qui fait souvent que mes billets de blog
deviennent pénibles pour moi à écrire c'est que je perds l'intérêt
pour le sujet au fur et à mesure que je le couche par écrit, si bien
que je ne sais pas comment finir, je vais m'en tenir là pour celui-ci,
qui aura quand même réussir à se placer au rang 648 (sur 2835) des
entrées de ce blog en longueur décroissante, donc je n'ai même pas
réussi à faire plus court que la médiane.
Une devinette et des méditations sur les « degrés de co-Turing »
Devinette mathématique (pas très difficile !) :
Vous avez accès à un oracle omniscient auquel vous pouvez poser (de
façon illimitée) des questions à réponse oui/non. Mais évidemment il
y a une arnaque : au lieu de répondre oui ou non,
l'oracle code sa réponse. Plus exactement, pour chaque question, il
va vous donner la réponse sous forme d'une machine de Turing. Pour
dire oui, il va vous présenter une machine de Turing qui
s'arrête ; et pour non, il va vous présenter une machine de
Turing qui ne s'arrête pas. Vous êtes limité par la thèse de
Church-Turing, donc n'avez pas de moyen pour savoir en
général si une
machine de Turing s'arrête ou pas. (L'oracle, lui, peut
évidemment répondre à cette question, puisqu'il est omniscient ; mais
comme il vous donnera la réponse de façon codée, vous n'êtes pas plus
avancé.) L'oracle cherche à vous embêter : il veut vous empêcher de
récupérer des informations utiles de ses réponses. Problème :
pouvez-vous forcer l'oracle à vous révéler des choses utiles, ou
peut-il s'arranger pour rendre ses réponses complètement
inutiles ?
(Si vous trouvez que c'est mathématiquement trop vague parce que je
parle d'oracle omniscient sans définir ce terme, je vais
présenter des versions beaucoup plus précises plus bas. Mais celle-ci
me semble quand même raisonnablement claire et assez parlante pour
attirer la curiosité et expliquer de quoi il est question.)
Cette devinette n'est pas trop difficile, et j'encourage à y
réfléchir, ne serait-ce que pour comprendre pourquoi la suite
m'intéresse. En tout cas, il ne suffit pas de dire il n'y a pas
moyen calculable de résoudre le problème de l'arrêt (ce qui est,
certes, vrai) pour avoir répondu au problème. Voici la réponse
(cliquez
ici pour la faire apparaître) :
Réponse (à la devinette
facile) : Je peux forcer l'oracle à répondre à n'importe quelle question
oui/non de la manière suivante. Si je veux savoir la réponse à une
question Q, je vais poser à l'oracle d'abord la
question Q elle-même, puis la question ¬Q
(c'est-à-dire la réponse à la question Q
code-t-elle non ? — ou, si on préfère, la réponse que tu
viens de me donner est-elle non ? — de manière à échanger
les réponses oui et non). J'ai donc maintenant deux
machines de Turing (celle fournie par l'oracle en réponse à la
question Q et celle fournie par l'oracle en réponse à la
question ¬Q) et la certitude qu'exactement une des deux
s'arrête. Je peux lancer leur exécution en parallèle, jusqu'à ce que
l'une termine (ce qui arrivera forcément en temps fini). Si la
première s'arrête, je sais que la réponse à Q
est oui, et si la seconde s'arrête, je sais que la réponse
à Q est non. J'ai donc obtenu la réponse à ma
question.
Maintenant, modifions la devinette pour la rendre plus difficile en
empêchant la stratégie utilisée dans la réponse ci-dessus :
Devinette mathématique (beaucoup plus
difficile !) : Comme précédemment, vous avez accès à un oracle
omniscient auquel vous pouvez poser (de façon illimitée) des questions
à réponse oui/non. Et comme précédemment, au lieu de
répondre oui ou non, l'oracle code sa réponse. Mais
cette fois, pour chaque question, il va vous donner la réponse sous
forme de deux machines de Turing. Pour dire oui, il
va vous donner deux machines de Turing dont l'une s'arrête et l'autre
pas ; et pour non, il va vous donner deux machines de Turing
qui soit s'arrêtent toutes les deux soit aucune ne s'arrête. Tout le
reste est comme dans a devinette précédente : vous êtes limité par la
thèse de Church-Turing, et l'oracle cherche à vous embêter.
Problème : pouvez-vous forcer l'oracle à vous révéler des choses
utiles, ou peut-il s'arranger pour rendre ses réponses complètement
inutiles ?
Je n'ai pas la solution à cette devinette, et elle m'obsède un peu
(je tourne autour de plein de variations autour d'elle, mais je n'ai
vraiment aucune idée de comment l'attaquer). Donc j'essaie de la
balancer dans la nature (i.e., sur le Web) dans l'espoir que quelqu'un
ait une idée intelligente. (Comme je vais le dire plus bas, c'est une
variation sur cette énigme que j'ai
posée ici
et là
sur MathOverflow.)
Mise à jour
() : Cette
réponse que j'ai reçue sur MathOverflow implique que la réponse à
la devinette difficile est négative : l'oracle peut me
maintenir dans l'ignorance.
Mise à jour () : Voir
aussi ce billet ultérieur, et
surtout l'article dont il est question
dedans, pour une analyse plus poussée de cette énigme, et des « degrés
de co-Turing ». Attention, cependant, ce ne sont cependant pas
exactement les mêmes que ceux définis dans le billet qui suit : voir
la note #5 du billet que je
viens de lier pour un commentaire ; dans les notations de l'article,
le degré de co-Turing « naïf » (celui que je définis dans le présent
billet) associé à est , tandis que, le degré de co-Turing défini dans l'article qui
est sur l'arXiv est où est l'ensemble des programmes qui, quand on leur
fournit D pour oracle, terminent et
renvoient i.
Le but de la suite de ce billet est de tourner autour du pot de
cette devinette : comme le font les mathématiciens qui ne savent pas
répondre à une question, ils la formalisent, donc je vais expliquer
comment on peut imaginer définir une notion en quelque sorte « duale »
de la notion (habituelle)
des degrés de
Turing, les degrés de co-Turing (ou
de coTuring ? Coturing ? coturne ?), et que la
devinette ci-dessus s'inscrirait dans le cadre de cette notion. Mais
je ne sais malheureusement à peu près rien dire à son sujet, donc
c'est un peu du formalisme pour formaliser, mais j'espère au moins
convaincre que la question est bien définie (elle a un sens
mathématique précis) et au moins raisonnablement naturelle.
[Je précise que ce qui précède a été pour
l'essentiel écrit avant ce qui suit, ce qui peut expliquer la
présentation un peu étrange.]
⁂
Le but de ce billet, donc, est pour moi de réfléchir tout haut à
une définition qui m'a traversé l'esprit : ce n'est pas vraiment de
faire de la vulgarisation. Si vous ne connaissez pas un peu la
théorie de la calculabilité, passez votre chemin (lisez
plutôt ceci, ou bien, si vous
voulez quelque chose de plus
costaud, ça
ou ça).
Bref. Je me suis rendu compte qu'il y a une notion en quelque
sorte « duale » de la réduction de Turing, qui ne semble pas du tout
avoir été étudiée. Je vais essayer de donner la définition de
plusieurs manières différentes, de dire quelques propriétés évidentes,
et de poser des questions auxquelles je ne sais pas répondre.
☞ Définition informelle de la « réduction de co-Turing »
Je commence par rappeler :
Si A,B⊆ℕ, on dit que A
est Turing-réductible à B lorsqu'on peut
répondre à la question est-ce que m∈A ?
en posant librement des questions est-ce
que n∈B ?, par un processus calculable.
Ceci est dit de façon informelle, mais je pense que c'est assez
parlant. Mais formulons les choses un peu différemment en
introduisant une terminologie un peu idiote : si A⊆ℕ, je
vais dire qu'un m∈ℕ est
un A-codage de oui
lorsque m∈A, et que c'est un A-codage
de non lorsque m∉A (autrement dit,
un A-codage d'un booléen c est un m
tel que c = 1A(m),
en notant 1A la fonction indicatrice
de A). Avec cette terminologie, on peut dire (toujours
informellement) :
On dit que A est Turing-réductible à B
lorsqu'on peut, par un processus calculable. A-décoder un
booléen, à condition d'être librement capable de B-décoder
des booléens.
En encore plus court : A est Turing-réductible
à B lorsque la capacité de B-décoder les
booléens permet (calculablement !) de A-décoder les
booléens. I.e., je postule la capacité de B-décoder et
j'obtiens la capacité de A-décoder.
De façon symétrique, je propose la définition suivante (dite de
façon informelle, et que je vais rendre précise ensuite) :
Si A,B⊆ℕ, on dira que A
est co-Turing-réductible à B lorsqu'on
peut, par un processus calculable, répondre à n'importe quelle
question booléenne de façon B-encodée, à condition
d'être librement capable d'obtenir la réponse à n'importe quelle
question booléenne de façon A-encodée.
En encore plus court : A est co-Turing-réductible
à B lorsque la capacité de A-encoder des
booléens cachés permet (calculablement !) de B-encoder des
booléens cachés. (Attention ! il s'agit de booléens cachés,
cf. ci-dessous pour plus d'explications.) I.e., je postule la
capacité de A-encoder et j'obtiens la capacité
de B-encoder.
Dit comme ça, j'espère que c'est clair pourquoi la notion que je
propose est en quelque sorte duale de la notion de réduction de
Turing : d'où le terme de réduction de co-Turing.
Entendons-nous bien : quand je parle d'encoder un booléen, il
s'agit de booléens cachés. Encoder un booléen connu c'est
toujours évident : une fois qu'on a un m₀∉A et
un m₁∈A, il suffit de renvoyer l'un ou l'autre,
et ceci est toujours calculable. (On peut objecter oui mais si je
ne connais pas de tels m₀ et m₁ ? mais ce
n'est pas ce dont je veux parler ici : ma partie étant fixée, et ni
vide ni pleine, ces m₀ et m₁ existent et des
algorithmes écrits avec eux existent aussi ; d'ailleurs, peut-être que
je devrais postuler une fois pour toutes que 0∉A et que
1∈A.)
Mon problème, donc, c'est que quelqu'un (qu'on va appeler Merlin
plus bas) a choisi un booléen et ne me l'a pas dit, et moi j'ai le
droit de lui poser n'importe quelle question (portant sur son booléen
caché ou sur « n'importe quoi ») mais il me répond de
façon A-codée ; et mon but c'est de produire
un B-codage du booléen choisi.
Note : Je
dois signaler que j'ai « inversé » la réduction par rapport à ce qu'on
pourrait peut-être imaginer, de manière à ce que les ensembles les
plus « difficiles » soient toujours réductibles aux ensembles les plus
« faciles », ce qui rend la comparaison avec d'autres réductions tout
de même plus naturelle, mais du coup ça peut sembler à l'envers
(A est co-Turing-réductible à B lorsque la
capacité de A-encoder des booléens cachés permet
calculablement de B-encoder des booléens cachés).
Évidemment, cette « inversion » va se sentir dans toutes les autres
versions de la définition.
☞ Définition avec des jeux à trois joueurs
Pour rendre la définition précise, le mieux est d'introduire des
jeux à trois joueurs. J'ai évoqué ce type de jeux
dans ce billet passé (qui est une
tentative de semi-vulgarisation
de cet
article), mais je vais redire le nécessaire. Les
règles générales (toujours valables) de ce type de jeu sont
les suivantes :
Il y a trois joueurs, Arthur, Nimué et Merlin.
Arthur et Nimué font équipe contre Merlin. Ils jouent dans l'ordre
suivant : Merlin, Arthur, Nimué, Merlin, Arthur, Nimué, etc., jusqu'à
ce qu'Arthur mette fin à la partie. Nimué et Merlin voient tous les
coups précédemment joués par tous les joueurs ; Arthur ne voit que les
coups explicitement déclarés visibles d'Arthur. De plus,
Arthur devra jouer selon une stratégie calculable (alors que les deux
autres joueurs n'ont pas de telle limitation). Le jeu continue
jusqu'à ce qu'Arthur y mette fin en faisant une « annonce » : si cette
annonce est correcte (selon les modalités spécifiques du jeu), Arthur
et Nimué gagnent ; s'il fait une annonce incorrecte, ou qu'il n'en
fait jamais (y compris si sa stratégie censée être calculable ne
renvoie pas de coup à jouer, par exemple parce qu'elle ne termine
pas), alors Arthur et Nimué ont perdu ; et bien sûr, si un joueur ne
respecte pas les contraintes du coup, alors il perd immédiatement.
En gros, il faut imaginer ça comme un jeu de communication : Nimué
essaie de passer de l'information à Arthur, mais elle ne peut pas
communiquer directement avec Arthur, elle ne peut le faire qu'à
travers Merlin, qui essaie de leur mettre des bâtons dans les roues.
La question qu'on va se poser, c'est si Arthur et Nimué ont moyen
d'avoir une stratégie commune pour gagner contre Merlin.
J'ai récemment vu passer la dernière vague de
l'enquête
d'opinion Fractures françaises (menée par l'institut
de sondage Ipsos), laquelle contient toutes sortes d'enseignements
plus terrifiants les uns sur les autres sur les opinions et l'état
d'esprit des Français
(voici un
fil Bluesky [visible sans compte Bluesky] qui résume les
principales conclusions de l'enquête). Alors, certes, je suis le
premier à rappeler que l'opinion publique est un phénomène quantique
façonné autant par le sondage qui prétend la mesurer que par les gens
qui la constituent, et qu'avec suffisamment d'astuce on
peut faire dire n'importe quoi aux sondages, surtout que les
barres d'erreur ne sont jamais données et le détail des réponses
permises parfois pas clair. Mais si les résultats de ces questions
sont à prendre avec des pincettes, il serait tout aussi fallacieux de
prétendre qu'elles n'ont rien à nous apprendre.
Parmi les réponses il y en a une qui me semble particulièrement
terrifiante : on demande aux répondants de se prononcer sur
l'affirmation on a besoin d'un vrai chef en France pour remettre de
l'ordre (pages 50–51 du PDF) : plus de 85% se
déclarent d'accord avec cette affirmation (un chiffre massif qui n'est
pas vraiment nouveau puisque de 2013 à maintenant il a oscillé entre
79% et 85%), et cette adhésion est majoritaire chez les sympathisants
de tous les partis politiques (minimum chez les
écolos[#] avec 57%,
particulièrement paradoxale chez les prétendus insoumis avec
67%, et évidemment maximum chez le RN avec… 99%), et
massive chez toutes les couches socio-professionnelles sondées.
[#] Il y a un certain
nombre de choses que je n'aime pas chez les écolos
(genre ça, dans une certaine
mesure ça, et leur porosité avec
des mouvements carrément crackpot genre antivax ou biodynamique).
Mais quand même une chose que j'aime bien chez eux, c'est qu'au moins
en interne ils n'ont pas l'air de vouloir à tout prix avoir un guide
suprême.
Je ne crois pas avoir grand-chose d'intelligent à dire pour
commenter (et oui, je suis bien conscient que les 85% de répondants
qui approuvent cette affirmation n'ont certainement pas la même idée
de ce qu'est un vrai chef ni de ce que signifie remettre de
l'ordre, et qu'ils sont encore moins d'accord sur qui ce chef
devrait être), et je ne prétends certainement pas raconter quoi que ce
soit d'original ; mais je ne vais quand même pas me priver de signaler
combien cette opinion, il nous faut un vrai chef (dont je
n'affirme absolument pas qu'elle soit spécifiquement française), me
semble à la fois glaçante et répugnante.
Le fantasme du chef[#2] et
toutes ses déclinaisons (l'idée qu'il faut concentrer les pouvoirs
entre les mains d'une seule personne pour l'efficacité, le mythe de
l'homme providentiel qui va sauver l'État, l'utopie du dictateur
bienveillant, le rêve d'une communion entre le leader et son peuple,
l'illusion que le guide a toujours raison, le confort du commandant
qui pense à notre place, le culte de Jupiter…) sont le lit de tous les
despotismes et une des causes principales de
l'érosion de l'état de droit. Car
si le chef a toujours raison, s'il incarne la Nation, alors tout
contre-pouvoir qui se mettrait en son chemin, par exemple un juge qui
lui chercherait des noises ou une opposition parlementaire qui
voudrait susciter le débat, est presque automatiquement un ennemi de
la Nation : dans ces conditions, la séparation des pouvoirs n'a pas de
sens, les poids et contrepoids n'existent pas. Au mieux, le chef
(s'il est populaire) est le vecteur de la tyrannie de la majorité, au
pire (s'il tient son pouvoir de la force) c'est un tyran, et la
frontière entre les deux est d'ailleurs particulièrement poreuse (s'il
n'y a pas de contre-pouvoir fort, qui va donc révoquer le chef si sa
popularité cesse ? qui va l'empêcher de manipuler l'opinion et de
truquer les élections pour se maintenir au pouvoir).
[#2] Je parle ici et
dans le reste du billet de chef pour un pays entier. Mais on peut
aussi s'interroger sur l'opportunité d'avoir un chef unique dans une
structure différente, par exemple une entreprise ou une association ou
une religion ou un groupe de travail ou que sais-je encore. Les
entreprises aiment bien avoir un chef unique, parce qu'elles sont
persuadées que ça apporte plus d'efficacité. Elles ont tort et elles
sont connes. Pour une petite association, en revanche, ça peut avoir
un sens. En fait, la règle générale (qui n'est pas parfaite et
souffre certainement d'exceptions, mais s'avère néanmoins assez utile
comme règle générale) pour savoir s'il est pertinent de donner à une
structure un chef unique ayant quasiment tous les pouvoirs est la
suivante : si c'est une corvée, s'il faut aller persuader les gens de
se porter volontaires de le faire, alors il est probable qu'avoir un
seul chef est une bonne idée (les gens qu'on va recruter sont des gens
vraiment dévoués) ; si, en revanche, les candidats sont nombreux parce
qu'il y a un vrai pouvoir associé à la fonction qui peut attirer les
gens avides de pouvoir, alors ces candidats sont exactement les gens
qu'il faut repousser, et ce que je dis plus bas pour un pays
s'applique.
L'origine de ce fantasme[#3]
est que nous avons envie de croire au chef qui n'a en tête que le bien
collectif, peut-être un Cincinnatus à la vertu exemplaire, qui sauvera
la République sans penser à son intérêt personnel (et qui retournera
cultiver son jardin une fois son devoir accompli). Et bien sûr, que
ce chef s'avère avoir la même idée que nous sur ce qu'est le bien
collectif.
[#3] Enfin, une origine
de ce fantasme. Il y en a bien sûr beaucoup. On pourrait aussi
évoquer
la théorie du
grand homme (parce que oui, bizarrement, ce sont toujours des
hommes) en
Histoire. Même en fiction, nous avons du mal à
envisager comme protagonistes autre chose que des individus (des
courants, des idées, des classes sociales, des évolutions de la
société en masse). Les historiens ont fini par dépasser cette vision
de l'Histoire comme un catalogue des rois et de leurs faits d'armes
(ou plus généralement, de grands personnages qui font des choses
individuelles), mais cette présentation du récit continue à polluer
notre imaginaire collectif. Même
dans l'adaptation
de Fondation d'Asimov, l'œuvre de science-fiction par
excellence qui défend l'idée que ce qui importe dans l'histoire ce
sont les masses et pas les individus (contre-théorie certes
également simpliste, mais ce n'est pas le point), l'industrie du
divertissement trouve le
moyen de trahir absolument
toutes ses idées et d'en faire une histoire d'héroïsme et
d'individus qui font des trucs.
Mais dès qu'on se rend compte que tous ces groupes de gens qui
veulent un chef veulent, en fait, autant de chefs différents (et que
ce qu'ils veulent surtout, c'est ne pas avoir à discuter avec les
autres groupes, à compromettre leurs idées avec d'autres, parce que le
chef, leur chef, serait le chef de tout le monde), alors
l'illusion s'effondre. Les 99% de sympathisants du RN
qui réclament un vrai chef en France pour remettre de l'ordre
ne seront sans doute plus trop d'accord avec cette affirmation s'ils
commencent à imaginer le chef en question (et l'ordre en question)
comme un autre que celui qu'ils fantasment.
L'idée abstraite d'un chef est souvent présentée comme quelque
chose qui unifie la Nation, et le chiffre de 85% semble donner raison
à cet a priori, mais dès qu'on met un nom précis, on se rend compte
que c'est, au contraire, quelque chose qui divise. Dans la vraie vie,
entre adultes responsables, pour guérir les divisions, il faut
chercher les discussions et les compromis déplaisants, bref, tout le
contraire de ce qu'un chef apporte. Au mieux le chef aliène ceux qui
ne l'ont pas soutenu, au pire il déçoit même ses supporters (auxquels
il a probablement fait des promesses intenables) et finit par se
retrouver seul.
Et de fait, le désir des Français d'avoir un chef est
particulièrement ironique et particulièrement stupide quand on voit la
détestation qu'ils portent[#4]
à leurs présidents de la République (l'actuel est autour de 20%
d'opinions favorables, mais son prédécesseur avait fini à à peu près
ce chiffre-là, et son prédécesseur à lui pas beaucoup plus haut non
plus ; je ne retrouve plus de graphes synthétiques mais l'idée est
là). Quand les gens veulent un chef mais que n'importe quel chef
qu'on leur donne est détesté, c'est juste une sorte de caprice de
gamin, en fait.
[#4] J'ai déjà dû
l'écrire quelque part, mais l'érosion de la popularité de chacun est
le signe que les Français ont un comportement profondément irrationnel
et/ou n'ont aucun sens de la psychologie : qu'on aime ou qu'on n'aime
pas tel ou tel président, je comprends, mais chacun d'entre eux a
fait grosso modo ce qui était prévisible de lui au moment où
il est arrivé au pouvoir, donc il n'y a aucune raison valable de
changer d'opinion à son sujet au cours du temps. Par exemple, s'il y
a des gens qui avaient plus de sympathie pour Emmanuel Macron au
moment de son élection que maintenant, j'ai vraiment envie de de
demander comment ils arrivaient à imaginer autre chose que ce qu'il a
mené comme politique pendant ce temps (à part, certes, pour la
pandémie, qui n'était pas prévisible, mais face à laquelle il a réagi
de manière éminemment prévisible pour quelqu'un de son tempérament).
Oui, bien sûr, les politiques font des promesses mensongères, mais
tout le monde le sait et tout le monde le dit, et ce n'est quand même
pas compliqué de voir au travers et de deviner ce qu'ils vont vraiment
faire (ou en tout cas, si l'erreur est toujours dans le même sens,
celui d'être déçu par rapport à ses attentes, ben il faut réajuster
son mécanisme mental d'évaluation des attentes).
Le fantasme du chef n'est pas exclusivement français, c'est
certain, et d'ailleurs il est très clair dans les soutiens de l'actuel
président des États-Unis. Mais la France a une relation d'amour-haine
très particulière à ses chefs, et le désir-de-chef est au moins en
bonne partie un renvoi à des époques où la France (dans l'idée que
s'en font les gens qui ont ce fantasme malsain) était grande et
puissante (autre fantasme malsain) : Louis XIV et Napoléon en
particulier, évidemment. Au sujet du second, je recommande d'ailleurs
très vivement le bref livre de Lionel Jospin, Le Mal
napoléonien : n'est pas tant un livre sur le personnage
historique de Napoléon (même s'il en prend pour son grade !) que sur
la bizarre fascination que les Français continuent à avoir pour ce
type. Ceci dit, le modèle de chef qui est actuellement dans les têtes
est sans doute plutôt proche de celui utilisé par Napoléon III (qui,
comme le rappelle Marx dans un passage célèbre
de son
pamphlet consacré au personnage, était à son oncle ce que la farce
est à la tragédie) : plus vraiment le souverain absolu qui fait la
guerre à toute l'Europe et trouve sa légitimité dans Dieu ou ses
victoires militaires, mais plutôt l'autocrate paternaliste, en
apparence presque débonnaire, populiste qui s'appuie sur la confiance
témoignée lors de plébiscites, et n'en profite pas moins pour écraser
toute opposition et dont les proches s'en mettent plein les
poches.
Mais l'autre côté de cette relation d'amour-haine, c'est que la
France est aussi célèbre pour avoir guillotiné un roi et en avoir
chassé au moins deux autres. Parce que le chef a aussi cette
fonction, c'est de devenir le bouc émissaire si les choses vont mal :
ça évite au pays de se poser des questions sur les responsabilités
plus profondes, y compris la sienne : c'est tellement commode de
donner tous les pouvoirs à une personne, pour pouvoir ensuite tout
mettre sur le dos d'une seule personne. On ne guillotine plus les
gens, mais cette conception complètement pathologique de la relation
au chef continue avec Charles de Gaulle, qui fait écrire au pays en
1958 une constitution de merde pour
pouvoir être chef dans une sorte d'union mystique avec le pays
(appuyée sur nombreux referenda conçus comme des plébiscites), et qui
se fait lourdement contester dix ans plus tard (à tel point qu'il a
brièvement fui en Allemagne) : le chef comme figure expiatoire est le
revers de la médaille du chef en communion avec le peuple qu'il guide.
L'impopularité des présidents français peut s'interpréter de cette
façon : ils servent à être le point focal de la détestation de tous
les espoirs irrationnels qu'ils ont suscités et ensuite déçus.