David Madore's WebLog

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

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

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

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

What follows are the entries of 2008-08. For latest entries, see here.

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

2008-08-24 (dimanche)

Promenades en Haute-Maurienne, et bizarreries de l'IGN

Je suis rentré hier de quelques jours de promenade très tranquille dans la vallée de la Haute-Maurienne Vanoise. Tranquille, parce que je suis plutôt difficile à satisfaire : je n'aime pas quand ça monte (pas parce que c'est fatigant mais parce que du coup on va moins vite et du coup on s'ennuie) — ce qui a tendance à être fréquent en montagne —, ni quand ça descend (parce que ça fait mal aux pieds) — ce qui a tenance à être à peu près aussi fréquent —, je n'aime pas les sentiers difficiles ni ceux qui sont trop fréquentés, je n'aime pas quand le soleil tape ou qu'il fait chaud, et pour compléter le tout j'ai très facilement le vertige. Ah, et comme je me lève à midi et que je ne suis pas prêt avant 15h et qu'on ne peut pas marcher la nuit, il faut trouver des parcours qui se font en quatre-cinq heures maximum. Malgré ces contraintes, le poussinet a réussi à me trouver des chemins à suivre : mardi, mercredi, jeudi et vendredi (les liens pointent vers des fichiers KML ouvrables dans Google Earth).

Le GPS — qui a permis d'enregistrer ces trajets — est un outil assurément pratique et amusant, mais même avec une carte IGN au 1:25000 et un GPS, on peut se perdre : par exemple, si la carte est fausse et (ou ?) que le GPS décide de perdre ses satellites. C'est ce qui nous est arrivé — pour situer l'événement précisément dans l'espace-temps — autour de 2008-08-22T17:57+0200 et de (45°12′50″N, 6°45′12″E) (altitude d'environ 1380m) : nous étions sur un chemin, très clairement marqué par le passage d'un tracteur récent et qui, d'après notre carte, devait nous permettre de rejoindre rapidement un chemin de grande randonnée que nous connaissions bien. Mais le chemin s'est interrompu brutalement, au milieu de nulle part, et avec lui la trace du tracteur (lequel aurait aussi bien pu être enlevé par les extra-terrestres), laissant entre nous et notre but une forêt pénible à traverser, et à peu près au même moment le GPS a décidé qu'il n'avait vraiment pas assez de satellites en vue. Du coup, nous ne savions plus dans quelle direction chercher ce qui pouvait ou aurait dû rester du chemin. Je me suis promis d'écrire à l'IGN pour faire corriger la carte dans la nouvelle édition (nous avions la dernière), mais je vois sur Géoportail que le chemin y est déjà marqué comme cul-de-sac : peut-être que les données du Géoportail sont les plus récentes, mais d'un autre côté il omet certains sentiers que nous avons pris plus tôt ce jour-là et dont je peux témoigner qu'ils existent vraiment, donc je ne sais que conclure.

2008-08-17 (dimanche)

Veille de départ: trucs en vrac

Je pars vraisemblablement demain (comme l'an dernier à la même période) pour environ cinq jours dans les Alpes à un endroit où j'aurai au mieux une connexion Internet douteuse (voire, pas du tout). Je suis obligé de laisser en plan tout un cas de choses que j'aurais voulu finir plus tôt (et qui vont sans doute me tracasser, d'ailleurs), et aussi de remettre en pause, parce que je ne veux pas m'embarrasser des manuels, mon étude de l'arabe (qui est déjà assez vacillante).


Hier, mon poussinet m'a emmené à la piscine (municipale d'Orsay). Ça faisait peut-être quinze ans que je n'avais pas nagé : résultat de l'expérience, apparemment les mouvements ne s'oublient pas trop (je n'ai jamais été bon nageur, mézenfin j'arrive à peu près à me déplacer), par contre, ce qui s'oublie, c'est comment respirer (i.e., soit j'étouffais soit je buvais la tasse).

Par ailleurs, c'est frustrant quand on est très myope : la piscine serait une occasion de regarder des jolis garçons en petite tenue (que le poussinet me signale), mais je ne vois pas à cinq mètres. (Certes, j'aurais pu garder mes lunettes pour nager, mais ça pose d'autres problèmes.)


J'ai enfin découvert, il y a quelques jours, comment je pouvais ajouter un menu personnel à mon Firefox. Je tâcherai d'écrire à mon retour une petite documentation sur la façon de faire (j'aurais voulu avoir le temps avant de partir, mais j'ai été débordé).

Précisons que la difficulté n'est pas là où on peut le croire : la création d'une extension à Firefox est très bien documentée (d'où le nombre de telles extensions qui existent), ainsi que le mécanisme d'overlays qui permet structuralement d'ajouter le menu décrit en XUL (pour lequel il y a un tutoriel ici), bref, pour tout cela il y a des manuels clairs ; en revanche, ce qui est nettement moins clair, c'est tout ce qui concerne ce que Firefox appelle le chrome, et spécifiquement la façon dont on peut enregistrer du chrome sans passer par l'écriture d'un fichier de package (.xpi) et tout le tralala. I.e., ce qui était difficile à trouver, c'est comment faire pour faire une extension purement locale à Firefox, pour juste s'ajouter un menu personnalisé qui sera chargé depuis des fichiers locaux et qu'on pourra facilement modifier. La réponse, finalement, est apparue à un endroit assez caché d'une doc : si on crée, dans le sous-répertoire extensions de son profil, un fichier texte contenant le nom d'un répertoire local, alors Firefox y cherchera un install.rdf et un chrome.manifest et on peut ainsi avoir une extension locale.

C'est un problème fréquent avec le développement sous Firefox : ce n'est pas qu'on manque de documentation, c'est qu'elle est terriblement mal rangée, on ne sait jamais bien ce qui est obsolète et ce qui ne l'est pas, certains bouts sont très clairement expliqués, mais d'autres sont totalement obscurs et entourés de magie. Par exemple, en essayant de comprendre le fonctionnement d'un bout de code obscur qui sert à retrouver la fenêtre Firefox principale à partir d'une sous-fenêtre, je suis tombé sur un morceau apparemment assez gros, appelé le nsWebBrowser et pour lequel il n'existe essentiellement pas de documentation sauf ce schéma complètement incompréhensible et cette page vaguement obsolète.


Pour insister sur ce que je disais déjà sur les jeux olympiques, j'en rajoute une couche :

Lutter contre le dopage dans le sport de compétition, c'est futile, et c'est perdu d'avance (à quand les manipulations génétiques pour produire des athlètes ? et qui pourra dire si c'est de la triche ?), ce qui est pourri ce n'est pas tellement le dopage — qui n'est qu'un symptôme — c'est le sport de compétition lui-même. Pousser à fond des gens hyperentraînés et hyperspécialisés pour parcourir une distance d en un temps aussi court que possible, jusqu'à compter les centièmes de secondes, c'est non seulement grotesque et malsain, c'est aussi très con pour un homme (qui, quand il a besoin de parcourir la distance d en aussi peu de temps que possible, construit un engin pour ça : on est Homo faber et pas Homo citior), et surtout, c'est répugnant à l'esprit du sport (qui est d'avoir un corps en bonne santé et de prendre du plaisir à l'utiliser — pas de se transformer en machine à faire tomber les records en se bousillant complètement au passage).

Et en écrivant le mot hyperspécialisé, je suis retombé sur une phrase géniale de Robert Heinlein (dans Time Enough for Love, un de ces aphorismes qu'il aimait lancer un peu au hasard) :

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.

2008-08-10 (dimanche)

Ce que je consulte sur Wikipédia

Le navigateur que j'utilise — Firefox 3 — a la caractéristique amusante de sauvegarder toutes les URL auxquelles on accède sur une période de plusieurs mois (180 jours par défaut, réglable avec les préférences browser.history_expire_days et browser.history_expire_days_min : passez par about:config pour régler ça). Ça a l'inconvénient de prendre une place disque assez importante à stocker (mon urlclassifier3.sqlite dépasse les 50Mo[#]), mais l'avantage de permettre de retrouver plus facilement, par mots clés, des sites qu'on a visités par le passé, ou de faire des bookmarks intelligents.

Un autre intérêt documentaire de la chose, c'est de pouvoir retrouver, par exemple, tous les articles Wikipédia (et projets apparentés) que j'ai consultés depuis que j'utilise Firefox 3 : même si les raisons pour lesquelles j'ai consulté ces pages sont très diverses (il y en a qui sont des erreurs, ou des liens que j'ai suivis sans réfléchir, donc je ne les ai pas toutes lues avec une égale attention), je trouve que ça donne une image qui me plaît de l'éclectisme de mes centres d'intérêt.

11-cell16-cell1948 Summer Olympics1952 Summer Olympics1956 Summer Olympics1960 Summer Olympics2006 World Outgames2008 Naina Devi temple stampede2008 South Ossetia War24-cell600-cellA few acres of snowAbdul Halim KhaddamAbstract interpretationAbstract polytopeAccelerated Graphics PortAccident domestiqueAdaAda or Ardor: A Family ChronicleAdrian FrutigerAffaire d'OutreauAgatha ChristieAge of Consent (film)Age of consentAge of consent reformAges of consent in EuropeAimez-vous Brahms?Airy functionAkademio de EsperantoAkzidenz-GroteskAlbert EinsteinAleksandr LyapunovAleksandr SolzhenitsynAlephAlexandre SoljenitsyneAlice LiddellAlimentation à découpageAlimentation électriqueAll-AmericaAllahAlveolar tapAmplificateur opérationnelAnacondaAncien palais d’étéAncient GreekAncient Greek grammarAncient Greek grammar (tables)Ancient Olympic GamesAnderson Gray McKendrickAnnales SchoolAnonymous P2PArabicArabic alphabetArabic languageArabic/Review ExercisesArchonArmistead MaupinArnold BöcklinArrasArtificial lifeAryanAscidiaceaAscidiaceaAscotAscott HouseAscott, BuckinghamshireAsterismAsterism (typography)Ausbausprache - Abstandsprache - DachspracheAussieBumAvalokiteśvaraAvery DullesBailey–Borwein–Plouffe formulaBaiserBaker-Campbell-Hausdorff formulaBashar al-AssadBaskervilleBauhausBeanShellBenjamin FranklinBernd FischerBibliotheca AlexandrinaBibliotheca AlexandrinaBicorneBieberbach conjectureBinge drinkingBirkhoff's axiomsBitTornadoBitTorrentBitTorrent (protocol)BitTorrent (software)BitTorrent clientBitstream VeraBlack DeathBlack RodBlood dopingBobbleheadBoltzmann constantBoronBoumediene v. BushBreakdanceBrice GuyartBtrfsBubonic plagueButlerBézier curveBüsingenC++California ConstitutionCalifornia ConstitutionCalifornia Proposition 8 (2008)CamerlengoCampione d'ItaliaCanis MinorCardinal (Catholicism)CarouselCarte de TendreCatCat's CradleCategory:Category 2 LanguagesCategory:Type designersCategory:Underwear brandsCatharismCentral limit theoremCentury SchoolbookCerebral palsyChamizal disputeCharles Cousin-Montauban, Comte de PalikaoChief Justice of the United StatesChild Abduction Is Not FunnyChinaChiropracticChiropraticienChristopher IsherwoodChutzpahCivitasCivitas (think tank)Class invariantClasse Préparatoire aux Grandes ÉcolesClassical LatinClassification of Fatou componentsCollatz conjectureCommon side-blotched lizardComponent-based software engineeringComposition algebraComputer prankComputing πConcyclic pointsConstructible universeConvention européenne des droits de l'hommeConvex regular 4-polytopeCorrelationCraig Reynolds (computer graphics)Critical MassCryptographic hash functionCryptographyCubic functionCurrent-feedback operational amplifierCurry-Howard correspondenceD'Hondt methodDNS cache poisoningDarboux derivativeDarboux frameData dumpsDavid MadoreDavid NaccacheDawson College shootingDecisional Diffie-Hellman assumptionDejaVu fontsDemiurgeDerangementDeuterostomeDiffie-Hellman key exchangeDigital Signature AlgorithmDihydrogen monoxide hoaxDiophantine setDirective on the harmonisation of certain aspects of copyright and related rights in the information societyDiscrete logarithmDocBookDock EllisDomain tastingDomestic rabbitDragonFly BSDEPOEUCDEarl Mountbatten of BurmaEarl WarrenEben MoglenEconomicsEduardo Martínez SomaloEdward Norton LorenzEdward R. MurrowElGamal encryptionElGamal signature schemeElectric Light OrchestraElectrical telegraphElectronic moneyElectronic votingElectronics/Op-AmpsElliptic curve cryptographyEloElo rating systemEnola GayEnola Gay (song)Enthalpie de changement d'étatEric GillErlangErlang (programming language)Ernst ZermeloErythropoietinEsperanto and Interlingua comparedEsperanto and Novial comparedEurogamesEurogames (LGBT sporting event)European Convention on Human RightsExtant taxonF4 (mathematics)Facteur de puissanceFermat pointFilmFlashdanceFlashdance... What a FeelingFlavor changing neutral currentFrançoise SaganFred PhelpsFreenetFrench Academy in RomeFreudenthal magic squareFutura (typeface)Fête des mèresFête des pèresG. Spencer-BrownGauss–Legendre algorithmGay GamesGay Games VIIGentiumGentleman UsherGentleman Usher of the Purple RodGeorge CarlinGeorge PólyaGeorge SorosGeorge StarkeGerolamo CardanoGlow stickGnosticismGods of War (Manowar album)Goodhart's lawGore VidalGrammatical numberGrandCentralGreek languageGreen measureGroupe de MathieuGustav MahlerHafez al-AssadHalocynthia papillosaHalocynthia papillosaHamzaHamzaHans ReiserHareHari SeldonHash functionHelveticaHenry KissingerHermann HesseHermann ZapfHeure d'étéHilbert's tenth problemHilbert's theorem (differential geometry)Homo faberHomosexuality in ChinaHomosexuality in IndiaHomosexuality laws of the worldHookeHouse rabbitHungarianHyperarithmetical theoryHyperbaric medicineHyperbolic geometryHyperbolic planeHyperboloid modelIBM AIX (operating system)IBM Airline Control ProgramIBM System/360IBM System/370ISO 233Ice-nineIdeologyIgnace I DaoudIgnacio RamonetIllustration of the central limit theoremImmortalImpôt sur le revenu des personnes physiques (France)Incorporation (Bill of Rights)IndiaInternational Phonetic AlphabetInternational Seabed AuthorityInternet ArchiveInterrobangIntervocalic alveolar flappingInverseInversive geometryIsle of the Dead (painting)IsospinIsthmian GamesItō diffusionJ. J. AbramsJames Bruce, 8th Earl of ElginJansonJean-Baptiste Louis GrosJeffersonJesse HelmsJim WebbJohannes BrahmsJohn D. RockefellerJohn D. Rockefeller, Jr.John LockeJoseph McCarthyJulia setJungholzKWordKarp's 21 NP-complete problemsKashmirKlein quarticKoalaKummer theoryKung Fu PandaLa Loi de la pudeurLa traviataLady of the LakeLambert W functionLancelot-GrailLapinLatent heatLawrence LessigLawrence LessingLe Morte d'ArthurLeni RiefenstahlLenitionLes Amours de CassandreLes Noces de Cana (Véronèse)Lester's theoremLi's criterionLies, damned lies, and statisticsLinotypeList of LGBT rights by regionList of Roman ConsulsList of celebrities appointed to the Order of the British EmpireList of honorary British KnightsList of regular polytopesList of type designersLiterary ArabicLiterary executorLièvreLockeLogistic functionLord of the FliesLorenz attractorLouis KahnLouis Mountbatten, 1st Earl Mountbatten of BurmaLucanLuciano PavarottiLucidaLucius TiberiusLulu (publisher)LyapunovLyapunov exponentLégion des volontaires français contre le bolchevismeMaastricht TreatyMachin-like formulaMadame BlavatskyMain PageMajoretteMajorettesMandelbrot setManos: The Hands of FateManowarManuel UribeManuel Uribe GarzaManécanterieMarcus Annaeus LucanusMarcus Terentius VarroMark TwainMaurice ThorezMax MallowanMax MiedingerMcCarthyMcCarthyismMens sana in corpore sanoMergenthaler Linotype CompanyMerlinMescalineMichael WillcocksMiddle ChineseMina (unit)Mine (unité)Mobile TaggingMonad (Gnosticism)Monad (category theory)MonoTorrentMontel's theoremMorgan le FayMorgauseMorris Fuller BentonMorseMother's DayMpemba effectMunchausen syndromeMunchausen syndrome by proxyMusipediaMutual informationMy ArchitectMédecine hyperbareMédiation scientifiqueMöbius transformationNAPQINP-completeNash equilibriumNasrallah Boutros SfeirNathalie MénigonNebula AwardNebula Award for Best NovelNemean GamesNeoconservatismNeutral currentNicolas PoussinNine-point circleNoces de CanaNoces de Cana (homonymie)NovialOctonionOkCupidOld Summer PalaceOlympic GamesOlympic symbolsOpenDocumentOpenDocument softwareOpenOffice.orgOperación Puerto doping caseOperational amplifierOperational transconductance amplifierOrdeal by InnocenceOrder of the British EmpireOrdinal number (linguistics)Osama bin LadenOstéopathiePanamaPanhellenic GamesPaper sizeParacetamolParody sciencePaul RennerPeople's Republic of ChinaPercy Avery RockefellerPerron–Frobenius theoremPeter Swinnerton-DyerPhilippe StarckPicard theoremPierre de CoubertinPierre de RonsardPlaguePlague (disease)Plain Old Data StructuresPlatonic solidPoincaré half-plane modelPope Benedict XVIPopular culturePortable Document FormatPower Supply Unit (Computer)Power factorPower supplyPower system harmonicsProcyonProgrammed Airline Reservation SystemProofs of quadratic reciprocityPropaedeutic value of EsperantoPropertyProtodeaconProton packProtostomePréciositéPythian GamesPólya enumeration theoremQuadropheniaQuelques arpents de neigeRabbitRadioisotope thermoelectric generatorRandall MunroeRatRaymond E. FeistRaŭmismoRealpolitikRed PandaRemote Desktop ProtocolRenaud CamusRepublican PartyRepublican Party (United States)Requests for dumpsReverdieRichard MarxRichard NixonRisk aversionRobert HookeRockefellerRomanization of ArabicRoyal AssentRubyRuby (disambiguation)Ruby (programming language)SHA hash functionsSabre (computer system)Saint-Maixent-l'ÉcoleSaison 1 de Secret StorySaison 2 de Secret StorySame-sex marriage in CaliforniaSame-sex marriage in MassachusettsSamuel F. B. MorseSandrinSchadenfreudeScherzoSchläfli-Hess polychoronScurvySea potatoSecond Opium WarSeconde guerre de l'opiumSecret StoryShariaShenaniganShrekSilent partnerSlashdot effectSleeveless shirtSprint (word processor)Standard MandarinStanley MorisonStarkStark (surname)Stereographic projectionStern-Brocot treeStiff equationStokes' theoremStéphanos II GhattasSumptuary lawSuper BowlSuper-seedingSupercoolingSuppositoireSuppositorySupreme Court of the United StatesSur le Livre des Amours de Pierre de RonsardSynthetic geometryTRON ProjectTalent (measurement)Tales of the CityTamara De TreauxTamarin (JavaScript engine)Tank topTarski's axiomsTechnobabbleTelegraphyTerry PratchettTesseractTesseractThe Age of ConsentThe Generations NetworkThe Handmaid's TaleThe ImmortalThe Merchant of VeniceThe Sons of OdinTheosophyThink tankThink tankThomas JeffersonThomas MaloryThomas MaloryThéorème de StokesTobin taxTone contourTone sandhiTraité de MaastrichtTraité instituant la Communauté européenneTreaties of RomeTreaty of LisbonTreaty of LisbonTreaty of Lisbon/Article 2 - Treaty on the Functioning of the European UnionTreaty of Rome (disambiguation)Treaty on European UnionTricorneTristan L'HermiteTrocadéroTronTuataraTungstenTux3Ultra-Mobile PCUniform polychoronUnion pour la MéditerranéeUnobtainiumVeriSignViacomVictor HugoVictoria Hall disasterVilla MediciVitamin CVivianVladimir NabokovVultureW. C. FieldsW. C. FieldsWarren CourtWarren E. BurgerWars of the RosesWars of the RosesWars of the Roses (disambiguation)Weil pairingWhirlpool (cryptography)Who's Afraid of Virginia Woolf?Wikibooks:Languages bookshelfWikistatsWill SmithWolframWorld OutgamesWormwoodWormwood (star)XMLXPCOMXPConnectXQueryXSL TransformationsXkcdYaoiZIP (file format)ZapfinoÉcole des AnnalesÉcole nationale des sous-officiers d'activeÉcriture de la hamzaÉlisabeth BadinterÉlisabeth BadinterÉquation cubiqueÉrythropoïétineألبرت أينشتاين

Pour obtenir une liste comme ci-dessus, on peut sous Linux installer sqlite3 et essayer quelque chose comme

sqlite3 .mozilla/firefox/*.default/places.sqlite "SELECT DISTINCT url FROM moz_places WHERE url LIKE 'http://%.wiki%.org/wiki/%' ORDER BY url ;" | perl -ne 'print "$1\n" if /^(http\:\/\/[a-z]*\.wiki[a-z]*\.org\/wiki\/(?!(Special|User|Talk|Image|Wikipedia)\:).*?)(?:\#.*)?$/' | sort -u

(Toutefois, ce n'est qu'une approximation : dans la liste que j'ai présentée ci-dessus, j'ai pris soin de remplacer chaque titre d'article par son nom canonique en cas de redirection, et ça c'est beaucoup plus pénible à mettre en œuvre — je l'ai fait avec l'aide des bases de données SQL fournies par Wikimedia dans le cas des Wikipédia en anglais et en français, qui forment l'écrasante majorité des liens ci-dessus, et en interrogeant automatiquement les quelques pages restantes.)

Maintenant, il resterait à faire un graphe de tout ça, compter les composantes connexes, etc. J'avoue avoir la flemme.

[#] Ah, en fait, il semble que ça n'ait pas vraiment de rapport : urlclassifier3.sqlite a plutôt l'air de servir à détecter le phishing (et il semble qu'on puisse l'empêcher de grandir à une taille trop monstrueuse en jouant avec la préférence urlclassifier.updatecachemax). Le fichier qui sert à stocker l'historique s'appelle, lui, places.sqlite, et il a chez moi la taille nettement plus modeste de 3Mo.

2008-08-08 (vendredi)

On devrait arrêter les jeux olympiques

Je suis surpris que parmi toutes les voix qui s'élèvent pour appeler au boycott des JO pour protester contre l'attitude ou les pratiques du gouvernement chinois (sur lesquelles je n'ai rien de bien intelligent à dire ni d'avis éclairé donc je n'en parlerai pas), il y en ait aussi peu qui le font au motif que les jeux olympiques sont (devenus ?) quelque chose de simplement très malsain.

Loin de moi l'idée de leur faire un procès pour hétérodoxie par rapport à l'idéal qu'avait Coubertin (l'important n'est pas de gagner, mais de participer, et son corollaire, l'interdiction du professionnalisme qui semble maintenant aussi saugrenue que l'interdiction du dopage le serait dans un sport comme le catch), car je n'aime pas les procès pour hérésie et je ne suis pas sûr que les idées du baron sentaient aussi bon que ça ; encore moins voudrais-je invoquer l'esprit des jeux olympiques antiques (qui ne permettaient ni aux femmes ni aux barbares de participer). Mais, tout de même, je ne comprends pas ce qu'on peut trouver d'intéressant dans les jeux actuels. Il y a un vague idéal olympique (de paix et de compétition fraternelle entre les peuples), qui serait peut-être intéressant s'il ne ressemblait pas autant à l'idéal éthique aseptisé et bien-pensant d'un film hollywoodien avec Will Smith pour héros ; il y a un cérémonial (surtout d'ouverture et de clôture) qui fait penser aux effets spéciaux d'un tel film (jolies images, j'imagine, mais on sait que tout est faux) ; et puis il y a la compétition elle-même, qui m'inspire le plus profond ennui, ennui qui serait plutôt du dégoût si je m'intéressais vraiment au sport. Quand Leni Riefenstahl nous montrait de magnifiques corps d'athlètes dévêtus, on y devinait pourtant une déplaisante odeur de chemises brunes mal lavées, de nos jours je trouve que c'est plutôt le goût de l'érythropoïétine qui domine.

Le problème n'est pas tant que les sportifs se dopent : ce n'est pas là le mal, ce n'est qu'un symptôme. Le problème est qu'ils aient envie de se doper. Ce serait être excessivement naïf que de prétendre qu'à partir du moment où on doit pratiquer des prises de sang c'est déjà trop tard — qu'il faut faire en sorte que l'intérêt naturel des sportifs soit uniquement de participer tels qu'ils sont — ce serait excessivement naïf car l'envie de gagner est inscrite dans la devise elle-même, citius, altius, fortius, il n'y a rien de méprisable dans l'orgueil de vouloir faire mieux que les autres, il est évident qu'il y aura toujours des gens qui voudront tricher. Mais si l'idéal devient vraiment trop lointain, quelque chose ne va plus. Est-ce qu'on va aux jeux pour faire du sport ou pour faire le kéké au nom de son pays, au juste ?

Ce n'est pas uniquement une question de substances chimiques dans les veines des participants. La compétition entre les villes du monde pour déterminer laquelle aura l'honneur d'accueillir les jeux, elle aussi se déroule dans une atmosphère méphitique (si on me pardonne l'insistance de ma métaphore olfactive). Le délire de sécurité autour du passage de la flamme olympique, le parcours complètement ridicule qu'on lui fait faire, tout ça est pathétique. Quant aux cas de corruption à tous les niveaux (par exemple des juges pour les disciplines notées), ils sont répugnants. La façon dont on compte les médailles par pays (ainsi que l'absence totale de valeur accordée à la quatrième place) n'est pas beaucoup plus saine. Bref, dans l'ensemble, si on devait étudier la façon dont une débauche d'argent et d'attention médiatique peut pourrir un événement, l'histoire des jeux olympiques pourrait être un exemple canonique (après, il faudrait sans doute creuser pourquoi c'est triste dans ce cas-là alors que s'agissant du Superbowl c'est juste hilarant).

Tout ça pour dire que, comme d'habitude, je n'ai pas regardé la cérémonie d'ouverture, je ne regarderai pas celle de clôture, et je ne regarderai rien des cérémonies tout aussi toc qu'il y a entre les deux. J'ai vaguement plus de sympathie pour les jeux d'hiver, certainement pour les jeux paralympiques, je regarderai peut-être avec curiosité bienveillante les Gay Games[#] de Cologne dans deux ans, mais sinon, le seul intérêt des jeux olympiques c'est d'avoir un site Web IPv6.

[#] Qui ne s'appellent pas olympiques parce que le comité international olympique tient à maintenir sa propriété intellectuelle sur le nom. Ajoutez une raison à ma liste des choses que je n'aime pas dans les JO.

2008-08-04 (lundi)

Déboires avec OpenOffice.org, ou comment mettre en page un roman

Je laisse (temporairement ?) de côté la suite de mes rants contre le principe de précaution, parce que ça va sans doute me prendre encore beaucoup trop de temps d'écrire les numéros (2) et (3).

Mes déboires avec OpenOffice.org ont commencé lorsque mon poussinet, au cours d'une discussion sur des romans d'un auteur de heroic fantasy que nous apprécions tous deux (Raymond Feist), a appris que j'avais moi-même écrit un roman quand j'étais petit (roman qui est plus cher à mon cœur qu'il n'est littérairement potable), et il [le poussinet] a exprimé le désir[#] de le lire. Seulement, pour ça, il en fallait une version imprimée, la version HTML étant trop peu commode à lire (version HTML qui actuellement est mais je compte la remplacer par mieux, justement, cf. ci-dessous). D'où l'idée, née de mon enthousiasme naïf et de la supposition candide que la technique marche parfois, d'en générer une version PDF par conversion d'une version OpenDocument via OpenOffice.org.

Quelques explications sur les formats s'imposent peut-être.

Le format PDF est un format de description de document déjà mis en page mais vectoriel (vectoriel signifiant qu'il ne suppose pas une résolution particulière mais se décrit en termes de primitives graphiques générales comme des courbes de Bézier, ce qui permet de zoomer autant qu'on veut sans effet désagréable de pixelisation) : on peut s'imaginer qu'il contient des descriptions de texte dans différentes polices (les polices en question, a priori vectorielles, pouvant être embarquées dans le document ou supposées connues du lecteur) ou des commandes de dessin vectoriel. Un format de document mis en page suppose un format de papier bien défini (A4, B5, US legal, que sais-je encore), et a priori on ne peut pas en changer (sauf à appliquer un zoom ou à recentrer le texte dans la page), en tout cas on ne peut pas repaginer le document.

À l'opposé de tels formats mis en page, on a des formats sémantiques, dont un exemple serait le DocBook, et qui consistent à décrire le texte d'un document non par sa position dans la page mais par sa fonction sémantique (telle que : titre de chapitre, note en bas de page, citation en exergue, etc.). Pour passer d'un format sémantique à un format mis en page (et bon à imprimer), on va créer une feuille de style qui va indiquer la façon dont on veut mettre en page les différentes fonctions sémantiques reconnues dans le document (i.e., la police à utiliser pour le titre, la taille des notes en bas de page, les marges des citations en exergue) ; le contenu sémantique et la feuille de style sont normalement gardés bien séparés (principe de séparation du fond et de la forme), et un programme de mise en page va prendre les deux, les passer à la moulinette et produire un PDF (ou tout autre format mis en page).

Enfin, ça c'est la théorie. La pratique, c'est que rien n'est parfait. Le PDF est un format qui a parfois des problèmes incompréhensible (voir plus loin), et les formats sémantiques on ne sait pas très bien où les trouver ; la séparation fond/forme est un truc complètement théorique et qui marche très mal sur des documents réels, notamment parce qu'un livre réel (sauf peut-être s'il s'agit d'une documentation technique) va contenir beaucoup de choses qui se placent dans une région bien floue entre le fond et la forme (du genre : tel paragraphe est centré parce que l'auteur a décidé de le centrer — on ne sait pas bien quelle est la sémantique profonde derrière, etc.), du coup, on multiplie les classes ou les styles de texte, et on finit par leur donner des noms comme centré ou aligné à droite, et à ce stade la distinction fond/forme part aux chiottes.

Quelque part entre les formats mis en page et les formats sémantiques, on a le format OpenDocument, qu'on pourrait décrire comme le format natif de OpenOffice.org (depuis la version 2) mais qui est surtout l'alternative ouverte au format de Microsoft Word. Un fichier au format OpenDocument est une archive (zip) contenant un certain nombre de fichiers, principalement XML, dont l'un (content.xml) contient censément le fond et un autre (style.xml) est la feuille de style qui contrôle la forme (les autres fichiers de l'archive contenant, par exemple, les méta-données du document, les images, les macros, etc.).

L'idée que j'avais, et qui était parfaite en théorie, était la suivante : retravailler un peu le source du livre pour en avoir une version XML propre selon un schéma personnel[#2] à la sémantique aussi claire que possible, puis avoir des scripts qui pourraient convertir ce XML source soit en un format (X)HTML pour l'affichage comme page Web soit en un format OpenDocument qu'OpenOffice.org pourrait ensuite paginer et transformer en PDF. Ainsi, il me serait possible d'avoir simultanément une version HTML et une version PDF, les deux découlant d'un même source (donc si je corrige une faute d'orthographe dans le source, il n'est pas trop pénible de régénérer les deux versions publiées), et les deux étant de bien meilleure qualité que si je produisais le PDF directement à partir du HTML (ce qui est systématiquement épouvantable et ce qui interdit quelque chose comme une belle table des matières). Voilà, ça c'était la théorie. Comme d'habitude, il n'y a pas de différence entre la théorie et la pratique — en théorie.

Le roman était à l'origine écrit sur le traitement de texte Sprint de Borland (sous MS-DOS). Différentes manipulations de format l'avaient transformé en TeX, puis en HTML. Je n'ai pas eu beaucoup de mal, à l'aide de recherches-remplacements dans un quelconque éditeur, à sortir un fichier XML que je pouvais considérer comme un source primaire à utiliser désormais.

Première difficulté : comment écrire les scripts de transformation ? S'agissant de transformer un fichier XML (source) en un autre fichier XML (le content.xml du fichier OpenDocument), il y a un langage a priori fait pour ça : XSLT ; mais XSLT est un langage de programmation très particulier, qui n'a pas vraiment de variables ni de boucles au sens où on l'entend habituellement, et qui, s'il facilite certaines opérations, en rend d'autres absolument atroces, et notamment pour ce qu'on appelle la fabrication des styles automatiques OpenDocument, j'ai vite compris qu'utiliser XSLT tournerait à la séance de SM cuir et chaînes. Donc je me suis rabattu sur le langage général Perl et sa bibliothèque XML::LibXML pour manipuler du XML ; c'est certainement plus puissant que XSLT, mais c'est aussi souvent inutilement verbeux, par exemple quand je vois la quantité d'incantations propitiatoires que je dois prononcer pour émettre trois malheureuses lignes de XML définissant les polices du document :

$tgt_root->appendChild($tgt->createTextNode("\n"));
$tgt_root->appendChild($tgt->createComment(" Font declarations "));
$tgt_root->appendChild($tgt->createTextNode("\n"));
my $font_face_decls = $tgt->createElementNS($nspfx{"office"},"office:font-face-decls");
$tgt_root->appendChild($font_face_decls);
$font_face_decls->appendChild($tgt->createTextNode("\n"));
sub add_font_decl {
    my $font = $tgt->createElementNS($nspfx{"style"},"style:font-face");
    $font_face_decls->appendChild($font);
    $font_face_decls->appendChild($tgt->createTextNode("\n"));
    $font->setAttributeNS($nspfx{"style"},"style:name",$_[0]);
    my $qname = $_[0];
    $qname = "'" . $qname . "'" if $qname =~ / /;
    $font->setAttributeNS($nspfx{"svg"},"svg:font-family",$qname);
    $font->setAttributeNS($nspfx{"style"},"style:font-adornments",$_[1]);
    $font->setAttributeNS($nspfx{"style"},"style:font-family-generic",$_[2]);
    $font->setAttributeNS($nspfx{"style"},"style:font-pitch",$_[3]);
}
add_font_decl "DejaVu Serif", "Book", "roman", "variable";
add_font_decl "DejaVu Sans", "Book", "swiss", "variable";
add_font_decl "Linux Libertine", "Book", "roman", "variable";
$tgt_root->appendChild($tgt->createTextNode("\n"));

…beurk ! Comme d'habitude, le diable est dans les détails : le principe général du code est facile à écrire (quand on lit un <p> dans le source, on émet un <text:p> à la sortie), mais plein de petits problèmes viennent se greffer dessus et transformer le programme en une tambouille illisible (pour générer le titre du livre tout entier, que je veux centrer sur une page, il me faut émettre un <text:p> contenant un <draw:frame> contenant un <draw:text-box> contenant un <text:p>, et tout d'un coup je me rends compte que certaines opérations appliquées dans mon programme à un <text:p> doivent ici s'appliquer au <text:p> intérieur et d'autres au <text:p> extérieur et que je dois tout d'un coup les séparer — et hop, beaucoup de lignes de code en plus).

Autre aspect pénible : la feuille de style (le fichier style.xml du OpenDocument), que j'écris à la main parce que c'est tout de même plus commode que de rajouter de la sauce Perl autour, se met à contenir des choses que je voudrais bien générer automatiquement (par exemple, le format OpenDocument ne permet pas de contenir le plus simple calcul pour les marges : donc si je veux du format papier B5 au lieu de A4 il faut que je recalcule plein de choses).

Ensuite, on commence à tomber sur les bugs de OpenOffice (je ne parle même pas des autres programmes censés pouvoir lire du OpenDocument, tels que kword, abiword et okular : soit ils plantent carrément en lisant mon fichier, soit ils en font de la bouillie pour le formatage). Il y en a un qui m'a beaucoup énervé, qui concerne la table des matières : normalement, le format OpenDocument prévoit que le document peut contenir des balises <text:h> pour délimiter les divisions (chapitres, sous-chapitres, sections, sous-sections, etc.) à faire figurer dans la table des matières, chacune étant accompagnée d'un attribut numérique text:outline-level qui indique le niveau d'imbrication (et typiquement, d'indentation dans la table des matières) ; la balise peut aussi indiquer un style, qui n'a a priori rien à voir avec le niveau d'imbrication (par exemple, au même niveau d'imbrication, j'ai des titres de chapitre et des balises de titres d'appendice) ; mais OpenOffice a un bug qui fait qu'il traite ça n'importe comment : il prend le premier style rencontré pour chaque niveau d'imbrication et décide que ce style (et aucun autre) « est » ce niveau d'imbrication et ne fait figurer que les paragraphes ayant ce style dans la table des matières. Pas de moyen simple, donc, d'avoir une table des matières qui fera figurer à même niveau d'imbrication les styles titre de chapitre et titre d'appendice. Ah si, on peut créer la table des matières à partir de styles additionnels, ce qui fait ce que je veux (au prix de la clarté sémantique du document), mais alors on tombe sur un autre bug qui fait qu'on n'aura pas d'hyperliens dans la table des matières ! Je me frappe la tête contre les murs : adieu l'idée d'obtenir un OpenDocument propre et clair. Bon, j'ai fini par trouver une façon de plus ou moins satisfaisante de contourner le problème, mais que de temps perdu à comprendre ce qui ne va pas, à soumettre des bug-reports[#3], à décider de la moins mauvaise façon de contourner le problème et ainsi de suite !

Autre limitation horripilante de OpenOffice : impossible de trouver un format vectoriel dans lequel je puisse inclure les cartes censées illustrer le roman. En effet, OOo ne comprend pas le format vectoriel SVG (et une limitation fondamentale, l'absence de clipping dans le format de dessin vectoriel natif OpenDocument, fait qu'aucun convertisseur n'a de chance de pouvoir marcher), et il ne sait pas non plus inclure d'images PDF. Reste le format EPS, qu'il arrive plus ou moins à inclure et auquel j'ai pu convertir mes cartes[#4], mais d'une part il prend un temps fou à les afficher (parce qu'il appelle un programme externe qui, pour une raison qui m'échappe, est infiniment lent dans ce cas), et d'autre part, si on demande d'exporter le fichier en PDF, les images en question sont alors rastérisées (c'est-à-dire qu'elles cessent d'être vectorielles pour devenir des tableaux de pixels à une résolution donnée) ; en revanche, bizarrement, si on imprime vers une imprimante PostScript, les images en question restent vectorielles, et on peut convertir ce fichier PostScript en PDF… mais on perd les liens de la table des matières ! D'où la seule solution que j'ai trouvée : produire deux fichiers PDF, l'un par exportation depuis OpenOffice, l'autre en imprimant en PostScript et en convertissant ensuite en PDF, puis utiliser un programme (pdftk) pour mélanger les pages de l'un et l'autre fichier PDF afin d'avoir, au final, à la fois les cartes au format vectoriel et les liens qui marchent depuis la table des matières. Quelle horreur !

Encore un souci que j'ai rencontré : comment faire générer la table des matières dès l'ouverture du document ? En effet, le fichier OpenDocument que je produis n'est pas paginé (et pour cause, je compte justement sur OpenOffice pour faire la mise en page), c'est-à-dire qu'il ne contient ni sauts de ligne doux ni sauts de page doux (le mot douxsoft — signifiant que les sauts en question ont été calculés automatiquement et pas imposés par la structure du document : la grande majorité des saux sont doux, les sauts durs viennent avant un changement de chapitre pour ce qui est des sauts de pages ou à la fin d'un vers pour les sauts de ligne, bref, ce genre de choses). Du coup, la table des matières ne peut pas contenir de numéros de pages, il faut la faire recalculer à OpenOffice pour qu'elle en contienne. J'ai donc dû écrire une macro en basic OOo, qui s'exécute à l'ouverture du document (en déclanchant toutes sortes d'alarmes de sécurité, bien sûr, vu que le basic en question n'est pas sécurisé), qui déclenche la réévaluation de la table des matières. Il est vrai que, là, je m'attendais à avoir plus de mal que ça, et que finalement ça a bien marché.

Mais ce n'est toujours pas la fin de mes ennuis : ensuite, il y a eu celui du choix de la police (il est vrai qu'OpenOffice n'a plus rien à voir là-dedans). J'aurais bien pris une des grandes polices traditionnelles (disons, [New] Century Schoolbook, qui me semble assez appropriée au caractère un peu enfantin du roman, mêlée à Univers ou Helvetica pour les titres et Optima pour la préface). Malheureusement, on connaît mon habitude de faire joujou avec Unicode : il a fallu que je misse des citations en grec et en russe dans le roman, et je n'ai pas de version grecque ou cyrillique des polices que je viens de citer (j'ignore même si quelqu'un en a fait une). Autre possibilité : Gentium, une police libre moderne dont j'apprécie l'élégance sobre et reserrée, et qui contient le grec polytonique et à peu près le cyrillique. Malheureusement, ce n'est qu'à peu près, puisque j'ai fini par me rendre compte qu'il me manquait encore quelques caractères (le cyrillique est très incomplet dans la version italique de la police). Finalement, je me suis rabattu sur Linux Libertine, une police libre très complète (et qui malgré son nom n'a absolument aucun rapport avec Linux), assez proche des classiques Baskerville et Janson, et pour les titres et la préface j'ai pris Vera Sans et Vera Serif respectivement (dans leur version DejaVu pour recouvrir plus de caractères Unicode).

Bon, l'un dans l'autre, après ces durs labeurs, j'ai réussi à obtenir ce fichier OpenDocument et ce fichier PDF. Pour l'imprimer, je n'ai pas pensé à des sites spécialisés d'impression sur demande comme Lulu.com[#5] (je croyais que ça n'existait qu'à partir d'une centaine d'exemplaires : là j'en voulais seulement un ou deux), du coup je suis bêtement allé dans une boutique de reprographie et d'impression numérique. Et là, les imprimantes+photocopieuses Canon, auxquelles l'impression a été confiée, n'ont pas du tout apprécié mon PDF : elles ont mis quelque chose comme trente secondes par page (du coup je suis revenu chercher le résultat le lendemain), sans évidemment la moindre explication sur ce qui prenait tellement de temps à imprimer. Du coup, beaucoup du bien que je pensais du format PDF est parti (mais je ne sais pas si la faute doit être imputée aux drivers Canon, à OpenOffice, ou à la façon un peu compliquée dont j'étais obligé de produire le PDF comme je l'ai expliqué plus haut).

Bon, maintenant, il ne me reste qu'à refaire un fichier HTML à partir du nouveau XML source que j'ai.

[#] À moins que ce soit pour me faire plaisir ? Mais feignons d'ignorer cette éventualité.

[#2] Le XML est un format complètement général qui permet de représenter tout et n'importe quoi comme donnée structurée (disons que c'est juste une façon de sérialiser un arbre abstrait sous forme de données textuelles) : pour donner un sens à du XML il faut décider du sens qu'on va donner aux différentes balises et comment on va autoriser à les emboîter (le schéma).

[#3] Soumettre un bug-report à un programme est souvent très long car non seulement on doit chercher à produire un fichier simple et clair qui illustre le bug, mais en plus il faut s'inscrire dans l'outil de rapport de bug, ce qui demande d'attendre un mail de confirmation de mot de passe, etc.

[#4] Non sans mal ! Je ne sais pas pourquoi, pour partir du fichier PS que j'avais, j'ai dû convertir en PDF, reconvertir le PDF en PS, et convertir ce PS-là en EPS pour avoir quelque chose que OpenOffice accepte de digérer.

[#5] Une utilité que j'aurais pu y trouver aurait été d'imprimer en B5 (j'aime bien le format B5, pour les livres). Las ! ils ne le proposent pas.

2008-08-01 (vendredi)

Précautions : (1) la paranoïa sur la pédophilie

On pourrait commencer avec une blague : c'est l'histoire d'un père dont la fille de six ans est un peu malade : il lui donne un suppositoire, et un peu plus tard il l'emmène prendre l'air ; là, la fillette se plaint en public papa, j'ai un peu mal à cause de ce que tu as mis dans mes fesses, et le type passe le reste de ses jours en prison. (Pour ceux qui préfèrent les webcomics, dans le même genre d'idée, voyez ici.)

Bon, là c'est raconté comme une blague, et l'histoire n'est pas vraie (si on omet la conclusion, c'est tiré de VieDeMerde, mais même avec la conclusion en moins rien ne dit que c'est vrai). Simplement, des histoires vraies de ce genre, ce n'est pas ça qui manque. On n'a certes pas de preuve que ce n'est pas exagéré quand quelqu'un raconte être considéré par tout son voisinage comme un pédophile en puissance parce qu'une fois il a donné 5 cents à un gosse qui pleurait de ne pas avoir assez de sous pour se payer du bubble gum, mais ça me semble tout à fait crédible. Quant à cet extrait de journal télévisé, qui fait froid dans le dos, il est incontestablement vrai : un journaliste a été accusé de possession de pédopornographie parce qu'il filmait un concours de cheerleaders as young as six years old […] in a suspicious and strange manner (on appréciera le raisonnement : faire quelque chose de façon suspecte devient ipso facto condamnable). Je ne sais pas si et comment l'histoire a fini pour le sieur Gilbert Chan, mais même s'il est innocenté, le fait qu'on puisse être arrêté pour avoir filmé un événement tout à fait public où les fillettes étaient habillées, c'est révélateur du niveau d'hystérie qu'ont atteint dans ce domaine au moins les pays anglo-saxons. (En France, l'erreur judiciaire largement médiatisée sous le nom d'affaire d'Outreau a heureusement fait prendre conscience — au moins pour un temps — que la Justice pouvait se tromper, mais malheureusement cette affaire était tout à fait atypique et le problème n'est pas uniquement celui de la Justice mais aussi de la façon dont on peut regarder nos voisins.)

Peut-être que je suis scandaleusement utilitariste en disant ça, mais j'ai tendance à considérer qu'on ne doit criminaliser que les actes qui portent tort à autrui : quelqu'un qui filme des cheerleaders en public, même si ensuite il fait des choses cochonnes chez lui en regardant ces images, il me semble qu'il n'a porté tort à personne, ce n'est pas comme s'il avait payé pour que les fillettes en question se dévêtissent devant la caméra. Quand bien même on considère que c'est un malade mental, les malades mentaux on ne les met pas en prison, en principe : on peut éventuellement les forcer à être soignés si on a des raisons sérieuses de croire qu'ils représentent une menace grave pour la société — mais là je ne vois ni acte de folie ni comportement dangereux.

De même, je ne comprends pas comment on peut justifier d'interdire les représentations dessinées[#] de mineurs à caractère pornographique (interdiction confirmée en France par la cour de Cassation : la question n'est pas théorique). Si on considère que c'est dangereux par incitation, il faut aussi mettre en place un comité de surveillance des bonnes mœurs dans la littérature, vérifier qu'aucun film ne fait l'apologie de la violence (ben voyons…) ou n'incite à quelque crime ou délit que ce soit, et ainsi de suite : veut-on vraiment ça ? Alors pourquoi les dessins pornographiques seraient-ils différents ?

Passons. La réponse qui est faite à ce genre d'anecdotes par ceux qui les défendent est généralement de l'ordre de : oui, on est peut-être prompt à s'inquiéter et à condamner, il y a quelques mesures liberticides qui sont prises, mais il faut bien protéger les enfants ! c'est ce qui est le plus important. C'est bien pratique, la défense des enfants, ça permet de justifier n'importe quelle ignominie, et quand quelqu'un s'en plaint on l'accuse de ne pas penser aux enfants. Même genre de pratique chez les procureurs (surtout aux États-Unis, je pense), qui peuvent regarder un jury en montrant l'accusé et dire si vous ne le condamnez pas, vous laissez impuni un crime si horrible fait à des enfants (ce faisant, le procureur ne prouve pas du tout que l'accusé est coupable, mais il rend tellement horrible dans la tête des jurés le risque d'innocenter un coupable que la notion de doute raisonnable s'évapore dans un pouf de logique). Ou encore, quand quelqu'un s'oppose à la peine de mort, on peut lui demander, d'une voix lourde de sous-entendus : même pour les violeurs d'enfants ? (bizarrement, on lui demandera plus rarement même pour Hitler ?). J'avoue que dans mon esprit, tuer ou violer un adulte n'est pas moins grave que tuer ou violer un enfant : l'idée même d'attribuer une valeur différente[#2] aux êtres humains par la gravité des crimes à leur encontre me semble même répugnante.

Et surtout, le Premier ministre Alain Juppé avait déclaré en 1996 (c'était dans le contexte de l'affaire Dutroux) : Il faut parfois mettre entre parenthèses les droits de l'homme pour protéger ceux de l'enfant. Ce genre de propos me fait bondir. Les droits de la défense, la présomption d'innocence, le droit à un procès équitable, le respect de la vie privée, et tout simplement la liberté de faire ce qui ne nuit pas à autrui, toutes ces choses-là ne sont pas des principes qu'on peut mettre entre parenthèses quand ils nous dérangent, sous prétexte que la situation l'impose, ou par précaution. (Je pourrais citer de nouveau les mots de la Cour suprême des États-Unis : The laws and Constitution are designed to survive, and remain in force, in extraordinary times. Liberty and security can be reconciled. Et ceux de Edgar R. Murrow dénonçant la chasse aux sorcières menée par Joseph McCarthy : We must not confuse dissent with disloyalty. We must remember always that accusation is not proof and that conviction depends upon evidence and due process of law. We will not walk in fear, one of another.)

Mais indépendamment des grands principes, le problème est que ce genre d'attitude est complètement irréfléchi, irrationnel et contre-productif. Les agressions pédophiles, dans leur grande majorité, ne sont pas commises par des étrangers ni par des « gens sur Internet » (je ne sais pas comment est apparu ce mythe idiot qui relie Internet et pédophilie, mais il a la vie dure). D'ailleurs, la majorité des agressions pédophiles ne sont pas commises par des pédophiles, i.e., des gens principalement ou uniquement sexuellement attirés par les enfants : les gens en question, le plus souvent, ils sont parfaitement conscients qu'ils n'ont pas le droit de passer à l'acte, donc ils ne le font pas, et ils subliment leur désir autant qu'ils peuvent — et du coup, la société a tout à y gagner à ne pas les traiter comme des criminels avant même qu'ils passent à l'acte, ou à leur interdire de trouver jusqu'à la moindre image sur laquelle fantasmer. Non. La majorité des agressions sexuelles sur des enfants sont commises par les proches de la victime, souvent ses propres parents (qui ne sont a priori pas pédophiles) : mettre les enfants en garde spécifiquement contre les étrangers, ou chercher à reconnaître des pédophiles, en public, à leur comportement, bref chercher à voir le risque là où il n'est pas (ou relativement pas, en tout cas), c'est augmenter ses chances de ne pas le voir là où il est[#3]. Et évidemment, se focaliser de façon hystérique sur une forme de danger, même si on devait l'analyser correctement, bien au-delà de son importance, c'est risquer de passer à côté de toutes celles qui sont bien plus importantes (les accidents domestiques sont quelque chose de considérablement plus important que la pédophilie, si on veut protéger les enfants !, et sur lequel on n'agit pas autant qu'on le pourrait).

Quel est le risque, alors ? Il est qu'on finisse par avoir une peur réciproque tellement importante — chez les parents d'un enfant, de tout contact de celui-ci avec un étranger, et chez tout le monde, d'un rapport avec un enfant qui pourrait passer pour ambigu aux yeux des paranoïaques — que la société ne permette plus les rapports entre adultes et enfants qui sont nécessaires pour ces derniers à leur bon développement social et émotionnel. Des exemples que j'ai déjà évoqués sont à cet égard représentatifs : un étranger ferait bien de s'abstenir d'offrir des bonbons à un enfant de peur d'être soupçonné de vouloir les appâter, et il vaut mieux s'abstenir de leur raconter un secret parce qu'on peut s'imaginer le danger si un enfant raconte à ses parents que M. Untel a fait quelque chose de secret avec eux. Ces problèmes sont réels et pas uniquement théorique, ils ont été récemment soulignés et analysés par le groupe de réflexion Civitas au Royaume-Uni dans un pamphlet intitulé Licensed to Hug. Quand on n'aura plus d'instituteurs, de moniteurs de sport ou de centre aéré, etc., et que les enfants seront tellement privés du contact avec les adultes qu'ils joueront Lord of the Flies en toute liberté, on se sentira bien malins.

Telle que je présente cette hystérie collective au sujet de la pédophilie, on pourrait penser que j'ai perdu de vue ma dénonciation générale du principe de précaution ; je crois pourtant que c'est bien de ça qu'il est question. Car le principe de précaution est celui qui consiste à perdre tout recul et toute sobriété dans l'analyse d'un problème ou d'un danger, à adopter une attitude dogmatique (brancardée sous le nom d'attitude de précaution, ce qui ne veut rien dire) et à dénoncer toute autre approche comme irresponsable car trop dangereuse pour quelque chose de censément précieux (du genre : vous ne voudriez pas risquer de mettre en danger nos enfants au nom d'un calcul approximatif ? on n'est jamais trop prudent). Eh bien si, on peut être trop prudent, et on peut même faire beaucoup de mal en l'étant : la vérité, c'est que la chasse aux sorcières autour du prétexte de la pédophilie cause beaucoup plus de torts qu'elle ne pourrait en éviter, y compris aux enfants.

Ayant commencé avec une blague, on pourrait terminer par un lien vers un joli petit documentaire comme on en faisait autrefois : Boys Beware, mettant en garde les garçons américains contre les dangers des pervers zomosexuels qui les menacent.

[#] Un des arguments parfois avancés est d'éviter la situation où aucune image ne pourrait être condamné parce que la défense peut toujours répliquer ah, mais vous ne pouvez pas prouver que ce n'est pas une image de synthèse. C'est tout de même un peu faible quand les images sont manifestement du dessin d'art !

[#2] Certains défendent l'idée en disant que les enfants sont plus vulnérables, donc on doit plus les protéger. Avec le même raisonnement, on doit sans doute conclure que plus il y a d'alarmes autour d'une maison moins il est grave de la cambrioler ?

[#3] Pour être bien clair, je ne défends certainement pas non plus l'idée d'inculquer aux enfants la peur de leurs propres parents ! Car au sein de la famille aussi on ne peut que déplorer un certain excès de pudibonderie.

Entries by month / Entrées par mois:

2009Jan
2008JanFebMarAprMayJunJulAugSepOctNovDec
2007JanFebMarAprMayJunJulAugSepOctNovDec
2006JanFebMarAprMayJunJulAugSepOctNovDec
2005JanFebMarAprMayJunJulAugSepOctNovDec
2004JanFebMarAprMayJunJulAugSepOctNovDec
2003MayJunJulAugSepOctNovDec

David Madore (david[dot]madore[at sign]ens[dot]fr)

Last modified: $Id: weblog.daml,v 1.2513 2009-01-02 19:06:41 david Exp $