LePartisan.info À propos Podcasts Fil web Écologie BLOGS Revues Médias
Christophe MASUTTI
Hospitalier, (H)ac(k)tiviste, libriste, administrateur de Framasoft

STATIUM


▸ les 167 dernières parutions

07.09.2015 à 02:00

Trail du Haut Koenigsbourg 2015

J’attendais avec une certaine impatience ce second rendez-vous à Kintzheim pour le trail court du Haut Koenigsbourg. L’engouement ressenti lors de la session de l’année dernière allait-il être encore au rendez-vous ? Et surtout, il faut bien reconnaître que, un an plus tard avec des entraînements réguliers, j’espérais bien diminuer significativement le chrono précédent.

La course

Le nombre de participants n’en fini pas de croître pour ce trail ! De 1664 coureurs en 2014, on est passé à 1900 pour cette session 2015. En voyant les objectifs d’inscrits, j’avais un peu peur que l’équipe d’organisation se laisse dépasser… que nenni ! Ils ont assuré, les bougres. Non seulement l’organisation fut de nouveau exemplaire mais ce n’est plus le seul château du Haut Koenigsbourg qui fut traversé (par le chemin de ronde s’il vous plaît) mais c’est aussi celui de Kintzheim que les coureurs ont pu admirer en fin de parcours.

Profil et Roadbook 201. Source : trail-hk.com

Dans la fraîcheur matinale et dans les senteurs très caractéristiques à l’approche des vendanges, la ville de Kintzheim avait connu une nuit plutôt agitée, avec les départs des trails de 84 km et 55 km, respectivement à 2:00 et 7:00 du matin. C’est le trail court (25 km) qui, fort de ses 900 participants, contribua sans doute au réveil définitif. Un quart d’heure de retard sur l’horaire prévue s’explique par le succès de l’épreuve. Sur le bitume, les semelles chauffent, on a peur de se refroidir (il fait un peu frais quand même), on se presse, on échange quelques banalités, puis c’est avec un certain soulagement que le départ est finalement donné.

La traversée de la ville n’est pas si rapide, ce qui laisse le temps de se mettre en jambe. On longe la vigne en direction de Châtenois, un point de vue remarquable au soleil levant ferait presque ralentir la cadence pour admirer les belles couleurs d’un paysage typiquement alsacien.

J’aperçois alors Céline, une sympathique coureuse de Kintzheim placée à côté de moi dans la foule du départ et avec qui j’avais échangé quelques mots. Son rythme est régulier, elle connaît le terrain… je me décide à la suivre. Sans le savoir elle me servira de lièvre dans les 5 premiers kilomètres, décisifs sur ce parcours. Si elle passe par ce blog, je lui adresse (de nouveaux) mes chaleureuses salutations ! Nous nous retrouverons au château du Haut Koenigsbourg, kilomètre 16, pour terminer la course presque ensemble.

Sur ce trail, outre les longues montées, il y a deux endroits à appréhender : le premier sentier qui monte au Hahnenberg, où le dépassement est très difficile, et la montée continue aux pieds du Haut Koenigsbourg. J’arrive au premier single avec le net avantage de ne pas être dans le gros du peloton, contrairement à l’année passée. Si bien que la montée se négocie finalement bien avec un rythme agréable. La première descente est très rapide, heureusement, les coureurs sont très espacés et j’en profite pour faire quelques pointes.

Puis tout s’enchaîne sur un rythme plutôt ronflant. Il faut dire – et c’est le principal grief du parcours – que les chemins sont très larges et presque sans aucun obstacle, ce qui instaure une sorte de monotonie. On s’y laisse facilement prendre au risque de ralentir l’allure, ou du moins ne pas adopter celle que l’on aurait dû avoir, dans les limites de ses capacités. Regarder sa vitesse en temps réel sur sa montre est un réflexe qu’il faut parfois savoir prendre. Bref, je n’hésite pas à accélérer un peu en me disant que je pourrai récupérer plus tard, quitte à marcher un peu plus que prévu dans la grande montée.

Ce fut une bonne stratégie, finalement, car c’est lors de cette montée que j’ai du réaliser le meilleur temps par rapport à l’année dernière, tout en modérant l’effort. Je récolte les fruits de mon entraînement estival dans les Alpes. Passé le dernier obstacle de la descente du Haut Koenigsbourg, assez technique par endroits, le reste du parcours s’est déroulé de manière assez rapide. Le grand replat entre les deux montagnes doit se négocier sur la vitesse, sans quoi on y perd vite tous les avantages glanés auparavant.

Le dernier kilomètre, cette année, nous faisait passer au château de Kintzheim. L’intérêt touristique est indéniable, mais l’autre avantage est de nous épargner la longue descente betonnée du parcours précédent. Grâce en soit rendue aux organisateurs : bien que le parcours soit légèrement plus long, c’est bien plus confortable comme cela.

De manière générale, le Trail du Haut koenigsbourg, dans sa version 25 km, est un parcours très rapide. Le premier arrivé est à 1:49 et les derniers à presque 4 heures. Pour ma part, je me situe dans la première moitié (2:46), ce qui fait tout de même 20 minutes de moins que ma performance de 2014, avec 1 km de plus ! Une différence franchement inattendue, mais qui révèle, outre l’entraînement, toute l’importance de faire les bons choix au fil de la course.

Résultats

Classement :

  • 32e dans la catégorie Vétérans 1 (sur 51)
  • 398e au classement général (sur 839)
  • Temps : 2:46:27
  • Team : Framasoft
PDF

20.08.2015 à 02:00

L'Aiguille Rouge, Névache

Les Alpes, c’est vaste. Si vous cherchez un endroit propice à la randonnée en famille et particulièrement bien situé, je conseille la petite vallée de la Clarée à quelques kilomètres de Briançon, juste à côté de la frontière italienne. Le petit village de Névache est très accueillant et s’organise l’été autour des activités pédestres, lieu de rendez-vous de nombreux randonneurs. On peut notamment saluer le système des navettes qui permettent de ne plus se soucier de sa voiture et emmènent les randonneurs au bout de la vallée, de manière à amorcer de multiples circuits aux paysages admirables.

Entraînement à la vitesse ascensionnelle

Pour le trail, la vallée offre beaucoup d’opportunités et les moyens de se créer des boucles sympathiques avec plusieurs pics, crêtes et lacs facilement accessibles. Le conseil est évidemment de partir de très bonne heure le matin. Inutile de préciser que le soleil a tendance à plomber en journée et que les variantes du GR 5 autour de la vallée se peuplent relativement vite à partir de 9h00.

Pour la quatrième fois que je séjourne dans cette vallée, ce fut une première pour l’entraînement au trail, habitué que je suis aux chemins des Vosges. Alternant entre randonnée et repos estival, je me suis réservé 2 à 2,5 heures de course un jour sur deux, au départ du hameau de Roubion, commune de Névache. Un rythme tout à fait ronflant mais néanmoins régulier qui m’a permit de travailler sérieusement ma technique de montée sans me fatiguer outre mesure (c’est les vacances, après tout).

Le circuit de l’Aiguille Rouge, que je présente ci-dessous, est à la fois touristique et technique. Premièrement, le fait de monter sur une aiguille n’est selon moi pas vraiment intéressant du point de vue de l’entraînement au trail : le paysage est magnifique mais les derniers mètres de dénivelés en montée comme en descente se font avant tout dans le calme en faisant bien attention où l’on pose ses pieds. Néanmoins, on cumule ainsi quelques 1000 m D+ en un minimum de kilomètres, là où, dans les Vosges, il faudrait systématiquement allonger le parcours d’au moins 5 kilomètres pour obtenir le même dénivelé positif. C’est l’avantage de la haute montagne ; par ailleurs, n’importe quel parcours peut se faire sur des très jolis sentiers en évitant les larges et longs chemins forestiers parfois interminables des Vosges. Deuxièmement, ce parcours concentre en un seul coup tous les paysages que l’on trouve dans le briançonnais : si vous n’êtes que rapidement de passage dans le coin, sachez que ce circuit peut se faire en famille pour une randonnée de niveau facile (le sommet de l’Aiguille Rouge est accessible pour des enfants à partir de 12 ans, mais attention à la fréquentation : il peut y avoir beaucoup de monde en journée).

Le parcours

Tout le parcours peut se faire sans carte : les chemins sont très bien indiqués (c’est le cas partout dans la région) et la navigation peut se faire à vue dans ce cas précis. Si, à un moment donné, vous apercevez des pancartes écrites en italien, c’est que vous êtes descendu du mauvais côté !

Au départ du hameau de Roubion, il faut emprunter le GR en direction du col des Thures. On profite ainsi de la fraîcheur (ou de l’abri, en cas de pluie) de la forêt de mélèzes sur toute la combe que l’on remonte à côté du ruisseau (ou torrent, selon la météo !). Cette fraîcheur sera particulièrement appréciable car le chemin monte de manière très régulière, d’abord faiblement puis de plus en plus rapidement sans toutefois offrir de raidillon obligeant à casser le rythme. Il est dès lors possible de moduler sa vitesse pour ne pas avoir à marcher. C’est la partie la plus intéressante du point de vue de l’endurance et, techniquement, elle offre deux à trois petits replats qui permettent de reprendre son souffle.

Arrivé à la fin de cette première partie d’environ 3.5 km, beaucoup de sueur a déjà coulé mais on a encore de la réserve pour amorcer la prairie du magnifique vallon des Thures qui s’offre alors, avec la cabane du berger des Thures et sa fontaine. Sur un peu moins de 2 km on longe l’Aiguille Rouge à droite pour arriver au lac Chavillon à travers le pré. On ne manquera pas de regarder attentivement à droite, à mi-côte de l’Aiguille Rouge, le chemin qui part du lac, c’est lui qu’il faut alors emprunter pour amorcer la montée de l’Aiguille, sans toutefois le confondre avec quelques traces qui longent la crête, plus en amont : elle mènent au même endroit mais sont beaucoup moins confortables pour le trail.

Arrivé à peu près en amont de la cabane du berger, on rejoint le chemin « normal » qui monte à l’Aiguille en provenance du col de l’Échelle au niveau de la courbe de dénivelé des 2340 m. Il suffit ensuite de poursuivre jusqu’au sommet où seuls les derniers mètres se négocient avec prudence.

En haut, il est temps de stopper sa montre et apprécier le paysage, avec, respectivement :

  • Au Nord-nord-Ouest, le majestueux Mont Thabor,
  • Au Nord, les trois pointes italiennes Balthazard, Melchior et Gaspard,
  • Au Nord-Est, une vue sur les pistes de ski alpin de Bardonecchia
  • À l’Est, en bas, le col de l’Échelle,
  • Au Sud-Est, la vallée de la Clarée vers Plampinet,
  • Au Sud, en bas, le hameau de Roubion.

La descente se fera dans le prolongement vers le col de l’Échelle jusqu’à croiser le GR (une pancarte rustique en bois indique la direction des Granges de la Vallée Étroite, qu’il faut suivre jusqu’au-dessus du Roubion). La descente vers le Roubion se fait par le chemin auparavant emprunté à ceci près que, environ 300 m après avoir franchi le ruisseau, un petit sentier (ouvrez l’œil) vers la droite permet, en quittant le GR, d’aller dans la combe du Roubion pour rejoindre le circuit dit des « balcons de Névache ». C’est une variante que l’on peut emprunter jusque Névache Ville Haute (à environ 4 km par ce chemin) ou couper à quelques endroits (indiqués) pour rejoindre le hameau de Sallé ou Névache Ville Basse. Le parcours ci-dessous coupe au plus court pour rejoindre le Roubion, ce qui porte ce tracé à 14,5 km pour environ 1000 m D+.

Profil altimétrique

PDF

24.07.2015 à 02:00

Un aperçu de Pandoc

Dans un billet précédent, je parlais des avantages du Markdown dans les processus de conversion vers des formats de sortie comme HTML et LaTeX. Il se trouve que Massimiliano Dominici, passé maître dans l’usage de Pandoc, a publié en 2013 un article remarquable focalisant justement sur les fonctionnalités de Pandoc du point de vue des objectifs de publication HTML et LaTeX (PDF).

Présentation

Avec l’autorisation de l’auteur, je propose une traduction française de cet article qui ne manquera pas d’intéresser ceux qui hésitent encore à franchir le pas de la ligne de commande avec Pandoc ou tout simplement ceux qui ne connaissent pas encore ce logiciel.

Cet article de Massimiliano Dominici est paru sous le titre « An overview of Pandoc », TUGboat 35:1, 2014, pp. 44-50. Originellement publié sous « Una panoramica su Pandoc », ArsTEXnica 15, avril 2013, pp. 31-38. Traduction de l’anglais par Christophe Masutti, avec l’aimable autorisation de l’auteur. Licence du document : CC By-Sa.

Vous trouverez sur ce dépôt GIT les sources qui ont servi à la composition et à la compilation du document, en utilisant Pandoc’s Markdown. Il est possible de télécharger directement la version PDF. Le fichier README.md contient les lignes de commandes destinées aux sorties voulues.

Comment compiler ce document ?

Pour une sortie LaTeX, avec le template LaTeX (ne pas oublier d’installer pandoc-citeproc) :

  $pandoc --listings --bibliography=biblio.bib  --biblatex metadata.yaml --number-sections -s --template=modele.latex --toc source.markdown -o sortie.tex

Pour la sortie PDF :

  $pdflatex sortie.tex
  $biber sortie
  $pdflatex sortie.tex

Pour la sortie HTML :

  $pandoc -s -S --toc --template=modele.html  -H style.css --number-sections --bibliography=biblio.bib  metadata.yaml source.markdown -o sortie.html
PDF

30.06.2015 à 02:00

Partie carrée avec Pandoc, Markdown, HTML et LaTeX

Pour ceux qui en douteraient encore, les blagues graveleuses à propos de LaTeX n’ont pas cours ici. Il s’agit dans ce billet de proposer une mini chaîne éditoriale qui vous permettra de composer rapidement des documents en plusieurs formats tout en les écrivant avec le minimum de contraintes. Qu’il s’agisse de n’importe quel logiciel de traitement de texte ou d’un simple éditeur dans lequel on formate directement le document source, on passe bien trop de temps à cliquer ou entrer des commandes, toujours au détriment du contenu. Avoir une solution automatisée ne résoudra jamais toutes les situations, mais notre objectif est de tâcher de séparer le plus possible l’entrée de contenu et la mise en page. Pour cela nous allons utiliser deux outils, à savoir le formatage Markdown et le logiciel de conversion Pandoc.

Prérequis

Pour accomplir toutes les opérations mentionnées ci-dessous, quelques conditions doivent être réunies :

  • Pour la plus grande partie de ce billet, il faut avoir compris (juste « compris ») ce qu’est un langage de balisage comme le HTML ou le LaTeX, et savoir se servir d’un terminal (entrer des lignes de commandes, au demeurant fort simples à comprendre) ;
  • Avoir Pandoc installé sur sa machine ;
  • Avoir un bon éditeur de texte, si possible capable d’afficher une coloration syntaxique propre au Markdown (voir capture d’écran) ;
  • Pour obtenir un document LaTeX et produire un PDF, il faut avoir une distribution LaTeX installée, comme TeXlive.

Éditeur de texte utilisant du markdown

Objectifs

À quel genre de situation sommes-nous censés faire face ?

Vous souhaitez rédiger rapidement un document, cependant, avec votre logiciel de traitement de texte, vous supportez de moins en moins d’avoir à cliquer sans cesse pour formater des styles de titres et de paragraphes et vous aimeriez pouvoir rédiger avec une interface d’éditeur de texte la moins chargée possible.

Il vous est peut-être arrivé de rédiger un document en LaTeX et, malgré les filtres disponibles, avoir toutes les peines du monde à le transformer en HTML parce qu’en fin de compte vous souhaitiez l’afficher en tant que page web ou réaliser un e-pub.

Vous avez essayé plusieurs systèmes de conversion automatisés, mais jamais vous n’avez fini par obtenir de document proprement formaté.

D’autres situations ont pu se produire et vous allez certainement trouver des failles à la méthode proposée ici. En revanche, en plus de la méthode, je propose un principe auquel on pense pas toujours : si vous voulez transformer un document, rédigez-le d’abord au format le plus simple. C’est depuis cette source qu’il faut tenter les conversions et éviter de le faire depuis un format complexe. Quoi que vous fassiez, pour être parfait, votre document final devra sans doute faire l’objet de retouches, mais elles seront un moindre mal car la majeure partie du document sera alors traitée proprement.

Qu’est-ce que j’entends par « proprement » ? C’est vraiment un conseil d’hygiène : certaines solutions de formatage ou de conversion utilisent des solutions plus ou moins adaptées à la complexité du code de départ. Cela se traduit souvent par l’adjonction de styles prédéfinis par le logiciel de conversion. Ainsi, si vous transformez un document LaTeX en HTML, la malléabilité du document final laissera toujours à désirer, en particulier si vous voulez adapter votre propre feuille de style, à moins de la définir auparavant ce qui nécessite en retour beaucoup d’efforts. Faire les choses simplement dès le départ vous permettra de complexifier par la suite à votre propre initiative, mais en aucun cas vous ne serez contraints d’adapter votre projet au format : c’est l’inverse qui doit se produire.

Les objectifs seront successivement :

  • de produire un document au format Markdown adapté à Pandoc,
  • le transformer en utilisant Pandoc, de manière à produire un document au format .odt (ou .docx), un document au format HTML,
  • et un document .pdf (re)formaté LaTeX et compilé avec pdfTeX ou Xe(La)TeX.

Créer un document au format Markdown

Le format Markdown est tellement simple qu’il n’y a pas besoin de créer des macros pour pouvoir l’utiliser. En d’autres termes, tout ce dont vous avez besoin pour écrire dans ce format est d’un éditeur de texte et d’un peu de mémoire. Si, en plus, vous utilisez votre éditeur en plein écran, sans autre affichage que votre curseur pour entrer des caractères, vous pourrez vous concentrer pleinement sur votre contenu et écrire sans vous soucier d’autre chose.

L’entrée des éléments de formatage en Markdown s’effectue au long de la frappe. Ainsi, pour un titre de niveau 1, vous n’avez qu’à entrer un croisillon (# Titre 1) en début de ligne ; pour un titre de niveau 2, deux croisillons feront l’affaire (## Titre 2) ; pour mettre en valeur une partie de votre texte, par exemple en italique, il suffit d’entrer le caractère tiret bas (_italique_) ou une astérisque (*italique*) au début et à la fin de la partie ; etc.

Pour reconnaître votre document en markdown, vous pouvez lui ajouter l’extension .markdown, ou .md, par exemple.

Par ailleurs, il existe certains éditeurs de texte qui vous proposent d’afficher directement le rendu HTML de votre document. Ils utilisent parfois une double fenêtre. Voici trois éditeurs sympathiques : Ghostwriter, ReText, StackEdit (fonctionne dans votre navigateur). Ces éditeurs proposent aussi des filtres d’export vers odt, HTML et PDF.

La liste des commandes de formatage Markdown est très courte. Vous trouverez sur le site de son créateur, John Gruber, les éléments de syntaxe utilisables dans ce format. En revanche, comme nous allons le voir, Pandoc propose quelques fonctionnalités spécifiques, aussi il sera préférable de se référer à cette partie du manuel de Pandoc. En réalité, il suffit de quelques minutes de pratique pour en maîtriser l’essentiel. La seule difficulté du Markdown, c’est qu’il n’est pas (encore) standardisé, si bien que tout le monde s’accorde à reconnaître l’essentiel mais de petites variations peuvent apparaître ici et là.

Dans notre cas, il y a une manière d’utiliser le Markdown à la sauce Pandoc. En voici quelques exemples :

Les notes de bas de page

Le Markdown est si simple que des éléments pourtant essentiels à la rédaction en sont absents. C’est le cas de la gestion des notes de bas de page. Pandoc permet de gérer cela de manière très simple : il suffit d’entrer le numéro de la note à l’endroit de l’appel de note, puis, en fin de texte, rédiger la note en y faisant référence.

Ceci est un appel de note[^1].

(en fin de texte)

[^1]: Ceci est le contenu de la note de bas de page.

La question des notes de bas de page est loin d’être triviale. Si vous devez convertir votre document à la fois en HTML et en LaTeX vous constaterez bien vite que les méthodes dont ces deux langages balisés gèrent les notes de bas de page n’ont quasiment rien à voir entre elles, si bien que convertir de l’un à l’autre un document contenant des notes de bas de page est souvent un vrai casse-tête, tout particulièrement si vous avez beaucoup de notes.

Les métadonnées

Les informations du document comme le titre, la date et l’auteur, pourront être entrées en début de document en les introduisant simplement avec le signe %.

% Titre
% Auteur
% Date

Là encore, c’est une fonctionnalité qui est proposée : vous verrez que, lorsque nous utiliseront un modèle de conversion, nous pourrons utiliser ces données rendues exploitables par Pandoc.

La table des matières

Pour créer une table des matières… hé bien, non, il n’y a rien à faire ! Il suffira, lors de la conversion, de demander gentiment à Pandoc de se charger de créer une table des matières selon le format de sortie désiré.

Autres aspects du Pandoc’s Markdown

Vous trouverez dans le manuel toutes les possibilités d’interprétation du Markdown par Pandoc, par exemple pour faire des tableaux, insérer des mathématiques, faire des listes spéciales, etc. Sachez toutefois que si vous voulez que votre document reste interprétable par d’autres convertisseurs que Pandoc, il faudra aussi faire un effort de simplification. L’autre solution est que, quoiqu’il arrive, selon le format de conversion visé, vous pouvez insérer directement des éléments de code dans votre document Markdown. Ainsi, si vous voulez transformer vers LaTeX, vous pouvez insérer directement du code LaTeX qui sera interprété tout à fait normalement. Idem pour le HTML. Et même mieux : vous pouvez insérer du code HTML dans du Markdown et interpréter le tout vers LaTeX !

À propos de Pandoc

Dans la suite de ce billet, je vais vous montrer comment utiliser certaines commandes de Pandoc. Mais les possibilités de ce dernier sont très vastes. Il est possible, par exemple, de lui faire traiter de la bibliographie en travaillant avec LaTeX et BibLaTeX, ou encore rédiger un script qui permettra d’automatiser certaines tâches avec Pandoc. Faisons simple pour commencer : Pandoc propose des options, utilisons-les.

Par ailleurs, Pandoc permet de transformer de multiples formats. Nous nous focaliserons ici sur le Markdown, mais sachez que les applications de Pandoc excèdent largement ce cadre.

Comment utiliser Pandoc ?

Pandoc s’utilise en ligne de commande. Non, attendez ! ne partez pas tout de suite. D’accord, il s’agit d’ouvrir un terminal mais il ne s’agit pas non plus d’incanter des formules réservées à un caste de moines guerriers initiés. Il faut passer outre vos appréhensions et vous allez voir, c’est vraiment simple.

Première chose à faire : ouvrir un terminal et vous rendre dans le dossier où vous avez stocké votre document en Markdown. Dans les commandes que je citerai plus bas, tout se passera dans ce dossier : la production de sortie sera enregistré à cet emplacement (mais vous pouvez toujours en choisir un autre, il suffit pour cela de spécifier à chaque fois le chemin).

Les commandes se rédigent toujours de manière logique. On « dit à la machine », quelque chose comme « Tu vas utiliser Pandoc sur ce document au format Bidule pour produire ce nouveau document au format Machin, en utilisant telle et telle option ». Les options sont toujours introduites avec un double tiret (--) ou leur diminutif par un tiret simple (-).

Voici un exemple simple que je commente :

pandoc mondocument.md -o masortie.html

Pandoc est lancé, il traitera un document au format markdown pour produire (-o, ou bien -output) un autre document au format HTML. À chaque fois j’aurais pu préciser un chemin différent pour chaque document, ainsi pour traiter un document d’un dossier à l’autre, on peut écrire :

pandoc chemin/redaction/mondocument.md -o chemin/production/masortie.html

Cerise sur le gâteau, si vous avez plusieurs document markdown que vous désirez convertir pour produire un document unique dans un autre format, il suffit de les entrer dans l’ordre :

pandoc doc1.md doc2.md doc3.md -o docfinal.odt

Ceci est d’autant plus pratique si vous rédigez un livre, par exemple, avec un fichier par chapitre.

Passons à la pratique

Vous avez donc rédigé un document au format Markdown. Qu’allez-vous en faire ?

Tel quel

Vous pouvez tout simplement utiliser votre document tel quel. Le markdown, c’est d’abord du texte. Par ailleurs, ce format a été conçu spécifiquement au départ pour envoyer des courriels en mode texte sans avoir à perdre du temps dans une mise en page dont le résultat est différent selon le paramétrage du client de courriel du destinataire.

De plus, vos documents en Markdown seront lisibles par tout éditeur de texte dans l’avenir. Vous pouvez être certain de leur pérennité. Si vous ouvrez vos documents Markdown avec un éditeur permettant le rendu HTML, vous avez en plus de cela une mise en page toute prête si l’aspect « texte » ne vous convient pas.

Vers un logiciel de traitement de texte

Si vous avez besoin d’éditer votre document avec un logiciel de traitement de texte comme LibreOffice Writer ou MSWord, en particulier si vous avez des modèles de mise en page à y appliquer, la syntaxe de la transformation est la plus simple :

pandoc source.md -o produitfinal.odt

ou bien

pandoc source.md -o produitfinal.doc

Le document produit sera mis en page avec les styles par défaut de votre logiciel de traitement de texte, il suffit ensuite d’y appliquer vos propres styles si besoin.

Vers le HTML

S’agissant d’un langage balisé, la conversion vers le HTML permet d’intégrer des exigences de mise en page directement au moment de le traiter avec Pandoc. Ainsi, vous pouvez préparer une feuille de style .css en vue de l’intégrer (ou pas) directement dans le document de sortie, ce dernier pouvant de même obéir à un modèle (template) préparé à l’avance.

pandoc -s -S --toc --template=modele.html -H monstyle.css --number-section source.md -o produitfinal.html

Cette ligne de commande permet de faire ces opérations (vous pouvez ôter celles qui nous intéressent pas) :

  • Produire un document « standalone » (-s ou --standalone), c’est-à-dire qu’il intégrera toutes les informations pour qu’il s’affiche dans le navigateur sans faire appel à d’autres fichiers.
  • Le document aura une typographie acceptable, grâce à l’option -S (ou --smart). Pandoc convertira par exemple les doubles tirets (--) par des demi-cadratins ou les triples tirets (---) par des cadratins
  • Il intégrera une table des matières au début, grâce à l’option --toc (ou --table-of-contents), notez que la profondeur de la TOC peut se régler avec l’option --toc-depth=nombre.
  • l’option --number-section permet de numéroter les sections, sous-sections, etc.
  • Le template est défini à l’avance, on le renseigne dans la ligne de commande avec --template=fichier.
  • Dans son en-tête (header, -H ou en version longue --include-in-header=fichier), il intégrera la feuille de style que vous avez créée à cet effet, et que l’on renseigne en donnant le nom du fichier (mais on pourrait aussi bien intégrer le renvoi à la feuille de style dans le template lui-même ; ici vous avez la possibilité de choisir parmi plusieurs feuilles de style si besoin).

Le document final affichera, en plus du titre, de la date et de l’auteur, une table des matières et toutes les informations de mise en page que vous avez intégrées à votre document Markdown.

Vous noterez la gestion des notes de bas de page, par exemple, et la manière dont la table des matières s’affiche. Si vous aviez dû entrer toutes les références internes de la page, cela vous aurait certainement pris beaucoup plus de temps.

Vers LaTeX (pdf)

C’est vers ce format qu’on s’amuse le plus, à mon humble avis. Toutes les options sont applicables mais nous pouvons aller beaucoup plus loin. En effet, nous cherchons à automatiser la création du format de sortie le plus courant de LaTeX, à savoir un beau document PDF. Tout l’intérêt de la démarche consiste donc à créer un style comme nous l’avons fait pour le rendu HTML, mais beaucoup plus fin puisque nous pourrons paramétrer une mise en page destinée à l’impression. Il s’agira d’un document LaTeX contenant quelques éléments conditionnels, les packages que vous souhaitez utiliser et la configuration de ceux-ci. En somme, c’est de toute l’en-tête du document que nous avons besoin. Si bien qu’une fois celle-ci définie, il vous restera à l’avenir à rédiger vos documents en Markdown sans passer par LaTeX (ou alors pour quelques retouches si besoin), tout en utilisant les options de Pandoc. Ce qui produit finalement un double outil très puissant.

Dans l’exemple donné, il s’agit de créer un document au format A4, présenté comme un rapport avec un en-tête, etc. Mais ce n’est qu’un exemple : à vous de modifier le modèle pour le conformer à vos besoins.

Par défaut, c’est-à-dire si vous ne spécifiez aucun style, la sortie PDF se fera sous la simple classe [article] sans style particulier. Et n’oubliez pas : nous cherchons à produire directement un PDF en utilisant le moteur LaTeX, rien ne vous empêche de transformer votre document en LaTeX pour le travailler ensuite.

Pour notre exemple, la syntaxe est la suivante :

pandoc source.md -o produitfinal.pdf --toc --template=monstyle.latex --number-section
  • l’option --toc permet l’insertion d’une table des matières
  • l’option --number-section permet de numéroter les sections, sous-sections, etc.
  • l’option --template=xxx permet de spécifier le style, c’est-à-dire l’en-tête du document LaTeX qui sera compilé pour produire le pdf final, cet en-tête se rédige dans un document LaTeX auquel on fait appel lors de la compilation.

Mais enfin, comment se construisent ces templates pour Pandoc?

Il s’agit en réalité de modèles de composition qui intègrent toute une série de variables. Par exemple, pour la date à intégrer dans un document LaTeX, on peut utiliser $if(date)$\date{$date$}$endif, c’est à dire « si la date est renseignée (dans les métadonnées), alors tu utilises cette valeur dans la commande indiquée ».

On peut construire ses propres modèles, dans la mesure où les valeurs peuvent être utilisées de cette manière. Mieux encore, certaines données peuvent aussi être entrées dans un fichier en YAML, mais cela fera l’un des objets d’un futur billet.

Pour commencer à bâtir des modèles, vous pouvez vous reporter à cette partie de la documentation et surtout regarder comment sont bâtis les templates par défaut de Pandoc, de manière à vous en inspirer.

La bibliographie (et production finale)

La bibliographie peut être traitée différemment selon votre format de sortie. Quoiqu’il en soit, pour commencer, vous devez produire un fichier de bibliographie au format bibtex (.bib).

Dans les commandes pandoc vous devrez renseigner ce fichier avec

--bibliography=nomdufichier.bib

Et dans votre document Markdown, vous passez les références ainsi, avec leurs identifiants :

Comme le dit Dupont [@dupont1950, p. 15].
Si nous marchons nous ne dormons pas [@Martin1985; @Dupont1950].

Si vous produisez un document LaTeX, le mieux sera d’utiliser l’option --biblatex ce qui aura pour effet de générer la commande biblatex pour traiter la bibliographie. Par exemple :

pandoc --bibliography=nomdufichier.bib --latex-engine=xelatex mondoc.md -o sortie.tex

Mais l’objet de cet article est de vous aider à produire des documents de manière automatisée. Voici comment procéder pour produire un document PDF ou HTML disposant d’une bibliographie (et donc d’une liste bibliographique).

Il faut pour cela utiliser l’interpréteur citeproc (à installer en plus de pandoc) et un fichier CSL (Citation Style Language). Le premier permet d’interpréter les fichiers CSL qui sont en fait des styles de bibliographie. Vous pouvez trouver un répertoire de ces fichiers CSL (prêts à l’emploi ou que vous pouvez modifier) dans le dépôt Zotero, un logiciel de gestion bibliographique.

Une fois votre fichier CSL prêt, vous pouvez produire :

 pandoc --filter pandoc-citeproc --bibliography=mabiblio.bib --csl=monstylebiblio.csl -s --toc --number-section --template template.html --css template.css masource.md -o sortie.html

Ce qui permettra de produire un document HTML (standalone), avec une table des matières, des sections numérotées, basé sur un modèle HTML et un fichier de style CSS, une bibliographie traitée dans le texte et présente à la fin selon le fichier de style bibliographique choisi.

Astuce : pour introduire la bibliographie, laissez à la fin de votre document markdown un titre comme # Bibliographie.

pandoc --filter pandoc-citeproc --bibliography=mabiblio.bib --csl=monstylebiblio.csl -s --latex-engine=xelatex --toc --number-section -colorlinks masource.md -o sortie.pdf

Ce qui permettra de produire un document PDF, traité par XeLaTeX, avec une table des matières, des sections numérotées, des liens colorés, une bibliographie traitée dans le texte et présente à la fin selon le fichier de style bibliographique choisi.

Production finale

Si vous n’avez pas de bibliographie à gérer, vous pouvez vous lancer dans la production de documents différents à partir d’un seul fichier Markdown.

Produisez un fichier .ODT (ou Docx) puis appliquez vos styles avec LibreOffice (ou MSWord). C’est la solution la plus simple : en fait pandoc produit des styles que vous pouvez modifier ou carrément écraser avec un modèle (LibreOffice ou Word) par la suite.

pandoc masource.md -o sortie.odt

Produisez un fichier .tex prêt à l’emploi.

pandoc masource.md -o sortie.tex

Produisez un document HTML avec un modèle et un fichier de style, une table des matières, des sections numérotées.

 pandoc -s --toc --number-section --template template.html --css template.css masource.md -o sortie.html

Produisez un beau PDF (travaillé avec LaTeX), avec un modèle préparé à l’avance (et dans lequel vous aurez pris le temps d’inclure les mackages à utiliser, et tout ce que vous voulez dans l’en-tête) :

pandoc -s --latex-engine=xelatex --template template.latex --toc --number-section -colorlinks masource.md -o sortie.pdf

En somme, il peut être particulièrement utile de vous préparer à l’avance quelques modèles (en partant des modèles par défaut de pandoc), même sans forcément y intégrer toutes les options. Selon les types de documents que vous produisez, vous pourrez les générer très vite.

Pour ce qui concerne les sorties destinées à un format comme ODT ou Docx, le mieux est encore de préparer un modèle qui écrasera les styles du fichier de sortie.

Conclusion

Même sans connaître toutes les possibilités offertes par Pandoc, vous voici désormais en mesure de produire un document censé être travaillé sous différents formats. Ceci est particulièrement utile si vous êtes censé récupérer des documents en provenance de différentes sources pour les mettre en page et les diffuser : il est plus facile de demander à vos contributeurs de rédiger en Markdown voire de rédiger un texte sans style quitte à ce que vous les repassiez vous-même en Markdown. De cette manière il vous sera ensuite très facile de publier différentes versions de ces textes adaptées aux mode de diffusions : pour le web, une version HTML, pour l’impression, une version PDF (LaTeX), etc.

Bien entendu, travailler à un bas niveau de mise en page, comme le veut l’usage du Markdown, nécessite de faire des choix, en particulier savoir à l’avance vers quel(s) format(s) vous voulez convertir vos documents. Si vous êtes amené à intégrer des éléments de HTML ou de LaTeX dans vos documents Markdown, faites-le en connaissance de cause.

En revanche les options de Pandoc étant nombreuses, et une fois affinées avec des fichiers de style, vos documents seront non seulement rapides à produire mais ils bénéficieront de multiples manières de les compiler pour des résultats différents.

De manière générale, le Markdown permet d’écrire très vite des contenus avec un minimum de commandes. À certains aspects, c’est sans doute le seul format qui permet d’écrire au kilomètre, avec un minimum d’informations de mise en page, ce qui permet de se concentrer exclusivement sur le contenu. Pandoc et l’art de créer des styles feront le reste.

PDF

24.06.2015 à 02:00

Révolutions informatiques : algorithmes et pouvoirs

Il y a 45 ans, avec l’arrivée en masse de l’informatique et du micro-ordinateur dans les entreprises, les foyers français, et à peu près tous les secteurs de l'économie, la notion de « Révolution Informatique » occupait le thème d’un des célèbres colloques de Cerisy-la-Salle du 10 au 20 juillet 1970.

Les actes de ce colloque, aujourd’hui indisponibles, méritent toutefois d'être lus aujourd’hui à bien des titres. Tout particulièrement à l’heure où notre gouvernement est en passe de voter un texte de surveillance de masse de nos outils de communication. En effet, en automatisant les tâches de surveillance par des algorithmes, ce qui revient à surveiller tout le monde pour faire un tri ensuite, il se développe actuellement une sorte d’accomplissement d’un pouvoir techniciste au prix d’une dépossession du peuple des instruments de la circulation de l’information, au fondement de la démocratie. Or, c’est étonnement un axe de lecture tout à fait intéressant des actes du colloque de ce mois de juillet 1970…

Deux textes en particulier méritent un détour. Le premier explique la notion d’algorithme. Un peu ardu à certains endroits, son auteur Jacques Riguet est néanmoins fort synthétique, et montre qu’en réalité ce qu’on appelle un algorithme est loin de mériter un traitement aussi désinvolte que celui que lui réservent nos responsables politiques du moment, puisqu’il s’agit de définir de l’imprécis par un choix d'éléments précis. Surveiller la population par des algorithmes suppose donc de manière systématique de l’imprécision et par conséquent nécessite d’expliquer précisément la classe des éléments choisis en fonction du but poursuivi. Si l’objectif est trop large, les algorithmes ne peuvent être précis : la Loi Renseignement ne peut donc pas concilier les deux, cqfd.

Le second texte est de la plume de Louis Pouzin, connu comme l’un des pionniers des recherches sur le temps partagé (voir sa fiche Wikipédia) aux sources de notre Internet d’aujourd’hui. Son texte porte sur les aspects technocratiques de l’informatique utilisée comme instrument décisionnaire. Loin de relayer des craintes infondées et anti-progressistes, ils soulève néanmoins quelques questions fort pertinentes sur le rapport qu’entretien le pouvoir avec le traitement informatique de l’information. Car en effet, déjà l’Internet balbutiant montrait qu’il pouvait être un extraordinaire outil de partage de l’information et par conséquent un outil majeur du dialogue démocratique. Si la génération des hommes politiques d’alors n'était pas encore prête à amortir cette révolution informatique naissante, il était tout à fait pertinent de s’interroger un peu sur l’avenir. Et ce n’est pas innocemment que l’auteur conclu en ces termes : « L’invocation de l’ordinateur est un camouflage commode pour l’accomplissement de politiques occultes. »

Je livre donc ces deux textes ci-dessous. J’espère que les responsables des publications du Centre Culturel International de Cerisy ne m’en voudront pas d’outrepasser ici le droit de citation pour aller un peu plus loin : le livre n'étant plus édité, je donne en quelque sorte une seconde vie à ces deux textes :

Révolutions informatiques

Titre : Révolutions informatiques
Direction : François Le Lionnais
Éditeur : Union Générale d'Éditions
Collection : 10/18
Année de publication : 1972
Année du colloque : 1970
Table des matières


Section : Naissance et développement de l’informatique

Dimanche 12 juillet 1970 (après-midi), intervention de Jacques Riguet, Professeur à l’Université de Limoges (pp. 89-97)

La notion d'algorithme

Le mot « algorithme » a une signification voisine de celle des mots « recette », « procédé », « méthode », « technique », « routine ».

La notion d’algorithme est une notion intuitive, donc essentiellement imprécise, tout comme l’est, par exemple, la notion de courbe en géométrie. Un thème fondamental de la recherche mathématique consiste à tenter de donner des définitions précises d’un concept imprécis, le succès de la tentative étant de plus en plus assuré au fur et à mesure que l’on parvient à prouver que les définitions proposées sont équivalentes. Un exemple célèbre de ce thème de recherche nous est fourni par le résultat obtenu par Hahn et Mazur-Kiewicz en 1914 : la notion d’espace métrique compact connexe localement connexe et la notion d’image par une application continue d’un segment dans un espace séparé sont équivalentes et constituent donc une définition précise de la notion intuitive de courbe.

Nous verrons plus loin que les logiciens contemporains sont parvenus à démontrer l'équivalence de diverses notions précises susceptibles de recouvrir la notion intuitive d’algorithme. Mais, pour le moment, il nous faut proposer une définition de celle-ci. La voici :

On appelle algorithme une méthode générale pour la résolution d'une classe de problèmes, fixée en tous ses détails par des règles dépourvues de sens, de façon à ce qu'on puisse l'appliquer sans avoir à la comprendre.

Il convient de donner de suite un exemple :

L’algorithme d’Euclide pour la recherche du P.G.C.D. La classe de problèmes auxquels il s’applique est définie ainsi : étant donné deux entiers positifs m et n, trouver leur plus grand commun diviseur (c’est-à-dire le plus grand entier positif qui divise à la fois m et n).

pgcd

  1. Diviser m par n. Soit r le reste (on a 0≤r<n) ;
  2. Si r=0, l'algorithme est terminé, la réponse est n ;
  3. Si r≠0 remplacer m par n, n par r et opérer comme en 1.

Voir ci-dessous l’exemple d’application de l’algorithme aux nombres m=165 et n=616

Déjà les arabes, sous l’influence des hindous, avaient développé des algorithmes.

Le mot « algorithme » lui-même est dérivé du nom de l’auteur d’un texte arabe : Abu Ja’far Mohammed ibn Mûsâ al-Khowârizmî (vers 825) (c’est-à-dire père de Ja’far, Mohammed, fils de Moïse, natif de Khowârîzm) (Khowârîzm est aujourd’hui la petite ville de Khiva en U.R.S.S.). Le mot algèbre lui-même est dérivé du titre de son livre « Kitab al jabr w’almuqabala » (Règles de restauration et de réduction) bien que le livre ne soit pas très algébrique.

Vers 1300, l’espagnol Raymond Lulle reprend les méthodes introduites par les arabes pour l'édification de son « Ars magna » qui devait être une méthode générale pour découvrir « toutes les vérités » à partir de combinaisons. Et c’est comme contribution à l'ars magna que Cardan publiera quelques deux cents ans plus tard ses formules et algorithmes algébriques. La « méthode » de Descartes a essentiellement pour but de permettre la résolution des problèmes de géométrie grâce à leur traduction algébrique et au traitement algorithmique de cette traduction (Descartes pensait manifestement que tous les problèmes algébriques pouvaient être traités algorithmiquement, ce qui s’est révélé faux par la suite). Leibniz a rêvé d’une « caractéristique universelle » permettant de résoudre tous les problèmes. Il est encore plus manifeste chez lui que chez Lulle que celle-ci doit être mise en œuvre par une machine. Il est l’un des premiers à construire une machine à calculer.

Reprenons maintenant la définition de la notion d’algorithme que nous avons posée au début et précisons-en quelques points.

  1. Un algorithme étant apte à la résolution d'une classe de problèmes, son énoncé doit comporter une description plus ou moins symbolique des données caractérisant cette classe (nous dirons que c'est son entrée ou sa source) et également une description plus ou moins symbolique des solutions de ces problèmes (nous dirons que c'est sa sortie ou son but). Par exemple, l'algorithme d'Euclide a pour source l'ensemble des couples d'entiers positifs non nuls (en écriture de base 10 par exemple) et pour but l'ensemble des entiers positifs non nuls.
  2. Un algorithme doit être fixé en tous ses détails. En particulier :
    • les instructions doivent être d'une précision absolue. Une recette de cuisine bien qu'ayant une entrée (les « matières premières » : œufs, beurre, farine, etc.) et une sortie (gâteau d'anniversaire, etc.) ne peut être considérée comme un algorithme si elle comporte des instructions telles que « ajouter une pincée de sel » ;
    • l'ordre d'application des règles doit être donné sans ambiguïté. Un organigramme constitué de boîtes d'instructions et d'aiguillages en rendra encore mieux compte que le langage ordinaire.
  3. Un algorithme doit être effectif : cela signifie que chacune de ses règles est suffisamment simple pour pouvoir être effectuée en un temps fini par un homme peut-être stupide et dépourvu de toute imagination mais parfaitement obéissant, muni d'un crayon (inusable) et d'un papier (indéfiniment prolongeable) et qui opère de façon purement mécanique sans réfléchir et sans se soucier du sens que pourraient avoir ces règles1.

On remarquera qu’en quelque sorte 3. implique 2. : si le conducteur de l’algorithme est dépourvu d’imagination, il sera incapable de suppléer au manque de précision ou à la défaillance d’une instruction.

On remarquera aussi que le conducteur de l’algorithme est censé effectuer ses calculs pas à pas, de manière discrète et déterministe sans avoir recours à des méthodes continues ou analogiques ou stochastiques.

Un algorithme ayant une source (classe de problèmes) et un but (énoncé de la solution) définit par là même une fonction que l’on dit calculable par l’algorithme. Par exemple, la fonction f définie par : « quels que soient les entiers positifs non nuls x,y:f(x,y)=P.G.C.D. de x et de y » est une fonction calculable par l’algorithme d’Euclide.

Il est très facile de se rendre compte que, si une fonction est calculable par un algorithme, il en existe d’autres grâce auxquels elle est également calculable. Et c’est un problème important que d’avoir des critères permettant de choisir, parmi ceux-ci, ceux qui réalisent les meilleures performances du point de vue économie de temps ou du point de vue d’autres critères tels que : facilité d’adaptation aux ordinateurs, simplicité, élégance… Il y a là un domaine nouveau à explorer : celui de l’optimalisation des algorithmes.

Il est moins facile de se rendre compte qu’il existe des fonctions qui ne sont pas calculables par un algorithme. Et c'était même là le sentiment erroné des mathématiciens des siècles précédents. Même la découverte de démonstration d’impossibilité de résolution de certains problèmes (par exemple : construction géométrique à l’aide de la règle et du compas, résolubilité des équations algébriques par radicaux) n’influença guère les mathématiciens dans cette croyance, car il s’agissait de la non résolubilité de problèmes grâce à des moyens déterminés mais non d’une impossibilité générale. La démonstration de l’existence de fonctions qui ne sont pas calculables par un algorithme suppose que l’on a défini de façon précise le concept d’algorithme puisqu’une telle démonstration fait appel à la classe de tous les algorithmes. En fait, le problème de la définition précise de la notion d’algorithme est lié étroitement à celui de la définition précise de fonction calculable : une fonction est calculable s’il existe un algorithme permettant de calculer f(n) quel que soit l’entier n. Réciproquement, la méthode d’arithmétisation de Gödel des mots d’une syntaxe permet de déduire le concept d’algorithme de celui de fonction calculable.

Et, historiquement, les recherches de définitions précises ont porté d’abord sur la notion de fonction calculable avec Skolem en 1923. L’idée de départ est de tenter de définir une fonction calculable comme une fonction qui puisse être obtenue à partir de fonctions très simples et manifestement calculables par un processus récursif, c’est-à-dire un processus où la valeur prise par la fonction, lorsqu’on donne à la variable la valeur n+1, est reliée à la valeur de cette même fonction lorsqu’on donne à la variable la valeur n. Précisons cela : désignons par ℱn l’ensemble des applications de ℕn dans ℕ, où ℕ désigne l’ensemble des entiers naturels, par ℱ l’union de tous les ℱn, par s et σ les deux éléments de ℱ1 définis par s(n)=n+1, σ(n)=0 et par Pn,1,…,Pn, n les éléments de ℱn définis par Pn,k(m1,…mn)=mk. Soient f1,…,fk∈ℱm et g∈ℱk. Nous désignerons par g(f1⇑…⇑fk) l'élément de ℱm défini par g(f1⇑…⇑fk) (x)= g(f1(x),…,fk(x)) pour tout x∈ℕm.

Enfin, soient f∈ℱm et g∈ℱm+2. Nous désignerons par frekg l'élément de ℱm+1 défini par :

frekg(0,x)=f(x)

frekg(n+1,x)=g(n,frekg(n,x),x)

pour tout x∈ℕm.

Nous désignerons par 𝒫 et nous appellerons ensemble des fonctions primitives récursives le plus petit sous-ensemble de ℱ contenant s,σ,Pn,1…Pn,m pour tout n et stable par composition et par récursion. Plus précisément, si 𝒫n=𝒫∩ℱn, 𝒫 est le plus petit sous-ensemble de ℱ satisfaisant aux trois conditions :

  1. s,σ∈𝒫1, pour tout n∈ℕ,Pn,1…,Pm,n∈𝒫n ;
  2. f1,…,fk∈𝒫m,g∈𝒫k→g(f1⇑…⇑fk)∈𝒫m ;
  3. f∈𝒫m,g∈𝒫m+2→frekg∈𝒫m+1.

Nous avons construit ainsi un ensemble 𝒫 de fonctions méritant d'être appelées calculables.

Mais, dès 1928, Ackermann donne un exemple très simple de fonction méritant d'être appelée calculable et n’appartenant pas à 𝒫. Il s’agit de la fonction f∈ℱ2 définie par :

f(0,n)=n+1 ;

f(n+1,0)=f(n,1) ;

f(n+1,m+1)=f(n,f(n+1,m)).

C’est Gödel qui va parvenir, en 1934, en utilisant un projet de Herbrand à « agrandir suffisamment 𝒫 » pour parvenir enfin à une définition satisfaisante de la notion de calculabilité. Ce 𝒫 agrandi que nous désignerons par R et que l’on appelle ensemble des fonctions récursives générales se définit en permettant la génération de fonctions nouvelles non seulement par composition et par récursion mais aussi par minimalisation. Voici quelles sont des définitions précises : soit f∈ℱm+1. On désignera par μ(f) et on appellera minimalisation de f l’application de D dans ℕ définie par :

μ(f)(x)=min(n∈ℕ/f(n,x)=0) pour tout x∈D, D désignant le sous-ensemble de ℕm constitué par les x∈ℕm pour lesquels il existe un n∈ℕ tel que f(n,x)=0.

Il est facile de montrer que la fonction de Ackermann appartient à R.

En 1936, Church et Kleene introduisent la notion de λ-définissabilité. Church et Rosser démontrent peu après qu’elle est équivalente à la notion de fonction récursive et Church formule alors sa célèbre thèse : toutes les fonctions réputées intuitivement calculables ou, selon ses propres termes, « effectivement calculables » sont λ-définissables ou, ce qui est équivalent, récursives générales.

Il s’agit bien d’une thèse et non d’un théorème puisque son énoncé propose d’identifier un concept intuitif imprécis à un concept précis. Elle ne peut être démontrée mais peut être étayée par de nouvelles démonstrations d'équivalence.

Le premier pas décisif dans le renforcement de la thèse est accompli par Turing, en 1936, qui introduit une notion de machine qui est le résultat d’une analyse des opérations élémentaires qu’accomplit le conducteur d’algorithmes, peut-être stupide, mais fort obéissant dont nous avons déjà parlé. Presqu’en même temps, et indépendamment, Post décrit, en 1937,une machine analogue. La thèse que Turing énonce alors : toutes les fonctions réputées intuitivement calculables sont celles calculables par la « machine de Turing », apparaît équivalente à celle de Church puisque Turing lui-même démontre l'équivalence de son concept de calculabilité avec la λ-définissabilité. Le concept de machine de Turing est important car il a permis de définir exactement le concept d’algorithme sans passer par la gödelisation et a permis d'étendre à toute une série de problèmes (en particulier au problème des mots en théorie des groupes et au problème de la décidabilité des prédicats) la démonstration de l’impossibilité de résoudre le problème de Thue pour les demi-groupes qui avait été donnée par Post et Markov en 1947.

C’est Markov en 1951 qui donne une première définition du concept d’algorithme sans passer par la gödelisation. La thèse qu’il formule alors : tout algorithme au sens intuitif du terme peut s'écrire sous forme d’algorithme de Markov, est renforcée par Detlovsk qui démontre, en 1958, l’identité de l’ensemble des fonctions récursives et des fonctions calculables par un algorithme de Markov.

Markov est parvenu à sa notion d’algorithme en s’apercevant que les démonstrations, les calculs, les transformations logiques consistent essentiellement à transformer certains mots en d’autres suivant diverses règles. C’est dire que sa formulation vient s’inscrire tout naturellement dans le cadre très général formulé par Post en 1943 et qu’on désigne maintenant sous le nom de « calcul de Post ».

diagramme_notions

  • Les régions limitées par des traits pointillés sont censées représenter des concepts intuitifs plus ou moins vagues.
  • Les régions limitées par des traits fermes sont censées représenter des concepts précis.
  • Les traits doubles pointillés sont censés représenter des équivalences intuitives des « thèses ».
  • Les traits doubles pleins sont censés représenter des équivalences précises, prouvées par des démonstrations mathématiques.

C’est également comme un cas très particulier de calcul de Post qu’apparaissent les grammaires de Chomsky en 1955. Elles fournissent un modèle fondamental pour l'étude non seulement des langues naturelles mais aussi des langages de programmation que d’autres conférenciers auront maintes fois l’occasion de définir et de développer dans leurs exposés.


1. Il est clair qu’il vaut mieux, pour la bonne conduite de l’algorithme, qu’un tel homme ne sache faire que cela et qu’un mathématicien aura quelque peine à oublier la signification des calculs qu’il effectue pour tenir convenablement un tel rôle pendant longtemps : le paysage le séduit trop. Ulysse se bouchait les oreilles pour ne pas entendre le chant des Sirènes !


Section : Informatique et technocratie

Dimanche 19 juillet 1970 (matin), intervention de Louis Pouzin, Délégation générale à l’informatique (pp. 429-435)

Intervention de Louis Pouzin

Peut-on être pour la technocratie ? Bien qu’il soit de bon ton d'être contre, n’est-ce pas un simple préjugé, d’autant plus mal fondé que l’on pourrait bien soi-même appartenir à une variété de technocrates retranchés dans l’informatique. Afin d’y voir plus clair, il paraît souhaitable de s’interroger sur ce que l’on entend par « technocrate ».

  • La technocratie est-elle une forme d'existence contrôlée par des machines ? C'est un état de fait beaucoup plus fréquent que l'on ne se plaît à le reconnaître. La vie moderne est truffée de situations où le confort et la sécurité des personnes dépendent du bon fonctionnement de machines : air conditionné, ascenseurs, avions, etc., pour s'en tenir seulement à la lettre A. Les vols lunaires reposent totalement sur le bon fonctionnement d'un matériel extrêmement complexe. Mais alors on parle plutôt de science ou de technique, non de technocratie.
  • La technocratie est-elle une forme de gouvernement par des techniciens ? En fait, il ne semble pas tellement que nous soyons gouvernés par des techniciens. L'inventaire des personnages ou institutions détenteurs de pouvoir ne révèle pas demodification radicale depuis plus d'un demi-siècle. On y retrouve traditionnellement les représentants du peuple, les chefs d'entreprise, les banquiers, les ministres, la police, l'église, les partis politiques, les syndicats… Rien de très nouveau.
  • La technocratie est-elle une forme occulte de gouvernement par des techniciens derrière une façade de pouvoirs traditionnels ? Tous les pouvoirs ont toujours été plus ou moins assistés de conseillers divers, dont des techniciens. Il ne semble pas que le technicien ou le savant actuel soit beaucoup plus écouté ou respecté que son homologue des générations antérieures.
  • Où trouve-t-on alors cette association de technique et de pouvoir ?

Peut-être pourrait-on déceler des traces du virus dans ces vocables nouveaux à effet certain tels que : techniques de la décision, préparation scientifique des décisions. Ce ne serait sans doute que colorations nouvelles plaquées sur des procédés anciens si le contexte n’impliquait le plus souvent l’utilisation d’ordinateurs. En d’autres termes, il y aurait là un phénomène nouveau dû à l'écrasante supériorité de la machine dans le domaine du traitement de l’information. Il semblerait, aux dires de certains, que l’on pourrait maintenant évaluer les conséquences des décisions de façon scientifique, quantifiée, objective, dénuée de tout facteur affectif, en compilant une masse suffisante d’information qu’aucun individu ne pourrait synthétiser par ses seuls moyens humains. Nous serions enfin bientôt débarrassés de ces décisions subjectives prises hâtivement sous la pression des circonstances. Mais pourquoi y aurait-il encore besoin de gens pour prendre ces décisions ? Si une machine est capable de produire le bilan quantitatif d’une alternative en traitant des masses considérables de données, on ne voit pas très bien ce qui empêcherait de pousser l’opération un pas plus avant et de produire la meilleure des alternatives. Si maintenant on prend une décision différente, c’est sans doute que la meilleure alternative était inapplicable, donc mal évaluée.

Est-ce là une attitude légitime de suspicion vis-à—vis du traitement mécanique de l’information ? Sert-il vraiment à quelque chose ? Ou bien ne jouons-nous pas la tragi-comédie de prendre des décisions dictées par des machines ?

De tout temps, les décisions ont été fondées notamment sur des « informations ». Tous les pouvoirs sécrètent des réseaux d’information, officiels ou non. Avec le temps et la conquête des libertés individuelles, les sociétés humaines ont développé des formes de pouvoir construites sur une collecte ouverte et organisée de l’information. C’est ce qu’on appelle une démocratie. Les opinions de chacun, recueillies au niveau le plus élémentaire, sont concentrées pour aboutir à une expression commune d’opinion générale. Sans être nécessairement partagée par tout le monde, elle devrait être au pire la moins mal partagée.

Il existe d’autres formes moins officielles de collecte d’information : les renseignements généraux, les services spéciaux, les études de marché, les sociétés de crédit, les gangs. Ces organisations collectent et traitent des informations par leurs moyens propres, afin de pouvoir prendre des décisions conformes à leurs intérêts particuliers. Une des techniques élémentaires du renseignement consiste à entourer de mystère ce que l’on sait réellement. La collecte d’information a donc le plus souvent lieu par des voies indirectes. Le processus n’est pas consultatif en ce sens que l’on n'éclaire pas 1e public sur les véritables facteurs que l’on désire connaître. Ceux-ci sont dissimulés soit par l’utilisation de moyens confidentiels, soit par des formes de collecte anonymes et peu explicatives. À quoi ou à qui servent, par exemple, les fiches de débarquement « obligatoires » que doit remplir tout passager français venant d’un aéroport étranger ? Le processus est également dénué d’aspect délibératif. Le public, n'étant pas informé de la véritable information recherchée, est encore moins convié à débattre du sujet.

On pourrait imaginer que tous ces réseaux d’information, occultes ou transparents, n’ont pour but que de rassembler le maximum d'éléments à partir desquels seraient évaluées des décisions judicieuses dans un environnement déterminé. Il n’est pas interdit de penser que cela se produise en effet. Mais il est différentes natures de décisions. Peut-on par exemple placer sur le même plan les mesures de dépannage d’un atelier après un incident technique, la fermeture d’une agence régionale d’une grande société, la fixation du taux d’intérêt de la Banque de France ou l’entrée de la Grande-Bretagne dans le marché commun ? La fermeture d’une agence régionale peut être la conséquence d’une opération de concentration de moyens. Elle peut aussi mettre en émoi des notables, des clients, des politiciens. Il est nécessaire de peser tous ces éléments avant d’en décider. Mais l’opération de concentration n’en est pas moins poursuivie, avec l’objectif de fermer un certain nombre d’agences. Les facteurs essentiels seraient très différents si l’agence était le seul établissement de la société.

Dans la pratique, les décisions sont prises à plusieurs niveaux, que l’on peut qualifier de stratégiques et tactiques. On pourrait dire aussi décision de pouvoir et de gestion, ou bien de politique et de logistique. Une décision prise à un niveau de pouvoir élevé ne peut être appliquée que par transformation en une cascade de décisions intermédiaires prises ultérieurement par un grand nombre de personnes. Traditionnellement, l’impossibilité pratique d'évaluer tous les facteurs pesant sur une décision de haut niveau conduit le plus souvent à décider d’abord, tenter d’appliquer ensuite. Si un réseau d’information est utile pour aider à prendre une décision de haut niveau, il est tout aussi apte à faciliter la prise des décisions subséquentes, qui sont les plus nombreuses, et d’autant plus ressenties par le public qu’elles atteignent un stade final d’application. Comme il existe souvent une multitude de voies pour aboutir à des objectifs généraux, les décisions intermédiaires ont surtout pour but de choisir des voies de moindre résistance. Un réseau d’information est alors un outil inséparable du pouvoir pour aboutir à la réalisation de ses objectifs.

L’information collectée et traitée par les seuls moyens humains est personnalisée. Les traits d’observation et de jugement des individus influent sur les résultats. La masse d’information est de plus limitée. En face de cela, un ordinateur peut absorber une quantité quasi-illimitée d’informations brutes. Il serait donc l’outil idéal pour remédier aux défauts inhérents aux moyens d’information humains, tant par sa puissance de synthèse que par son objectivité.

En réalité, une masse d’informations brutes est inutilisable, quelle que soit la manière d’additionner des faits élémentaires, car ils n’ont pas la même signification du point de vue de ce que l’on recherche. Pour obtenir des résultats utilisables, il faut traiter l’information, autrement dit utiliser des procédés d’analyse et de réduction des données qui les transforment selon des lois choisies avec plus ou moins de bonheur. Il peut apparaître à ce stade des distorsions involontaires ou non, conséquences d’erreurs techniques ou de coups de pouce délibérés. Il est courant de lire des résultats d'études donnant une pléthore de chiffres en apparence cohérente (la somme des pourcentages est 100) et qui ont la réputation de sortir des ordinateurs. On n’indique jamais de quelle manière ces résultats ont été obtenus. Ce serait d’ailleurs impraticable, car le traitement effectué peut être d’une telle complexité que sa compréhension est réservée aux seuls spécialistes.

L’ordinateur producteur d’information est communément crédité de cette neutralité qui fait tomber les passions et clôt les discussions. Or, le seul élément neutre se réduit à l’ordinateur. Les informations brutes ne sont pas neutres. Aussi nombreuses soient-elles, elles sont choisies parmi d’autres que l’on ne retient pas. Le traitement n’est pas neutre, c’est un programme qui reflète une méthode de certains experts. Les résultats ne sont pas neutres, car il est bien rare que l’on publie tout ce qu’il est possible d’obtenir. Mais l’ordinateur impavide sert de paravent commode. Il n’est plus possible de contester l’information dont personne n’est responsable. Tout au plus admet-on quelquefois une « erreur » d’ordinateur, autre paravent commode pour désigner une erreur humaine. Puisque les informations sont supposées neutres, cette qualité se transfère aussi aux décisions qui en découlent logiquement, disons fatalement. Il est humain d'être en désaccord avec des décisions prises par d’autres, et au besoin de s’en prendre aux auteurs. Si un pouvoir est jugé par trop contraignant, certaines personnes peuvent tenter de s’en saisir en en chassant d’autres. Prendre ou conserver le pouvoir sont des occupations qui impliquent nommément des individus. Faire passer l’ordinateur pour le véritable instrument de décision a pour effet de dépersonnaliser le pouvoir. C’est sans doute pour ceux qui le détiennent un moyen adroit de le conserver, car on ne voit pas très bien comment prendre un pouvoir qui n’est visiblement exercé par personne.

L’ordinateur paravent n’est pas seulement utile aux mains de ceux qui détiennent le pouvoir face à ceux qui ne l’ont pas. Habituellement, le pouvoir est en réalité un ensemble de clans, organismes, directions,… entre lesquels apparaissent des désaccords et des rivalités pour des positions plus dominantes. La connaissance des techniques informatiques est encore assez précaire dans les milieux dirigeants, dont la moyenne d'âge fait remonter la formation à une autre époque. Moyennant une présentation quelque peu différente, un homme de pouvoir est aussi neutralisé par des produits d’ordinateur qu’un homme sans pouvoir. À toutes fins utiles, il est prudent de s’entourer des meilleurs augures avant de prendre une décision comportant des risques. En cas d’ennui, la référence à l’ordinateur peut apporter des justifications ou échappatoires supplémentaires.

En résumé, l’informatique apporte de nouveaux instruments de pouvoir que nous ne savons pas encore bien utiliser ou neutraliser. Il se caractérisent par une présentation scientifique des informations et des décisions. La technicité et la dépersonnalisation apparentes des mécanismes utilisés les rend assez peu vulnérables à la contestation individuelle. La distinction entre les méthodes rigoureuses et les amalgames pseudo-scientifiques est encore assez peu perceptible dans la société actuelle, et le mythe de l’ordinateur se cultive aussi bien dans les milieux de pouvoir qu'à l’extérieur. L’invocation de l’ordinateur est un camouflage commode pour l’accomplissement de politiques occultes.


Sous la présidence de Mme Claudine Marenco, hormis les conférenciers, sont intervenus dans la discussion R. Cohen, F. Le Lionnais, R. Mesrine, J. Urvoy, J. Weinbach.

PDF

22.06.2015 à 02:00

TVL 2015 : attention, ça glisse !

Le Trail de la Vallée des Lacs est sans doute l’un des plus fun des trails du massif des Vosges, tant par son parcours que par les aléas climatiques qui caractérisent si bien nos vallées. Je ne pouvais repousser à une date ultérieure ma participation à ce trail. Pour cette première fois, je n’ai pas été déçu, ni par l’organisation ni par le parcours.

Descriptif

Ce fut un week-end assez particulier que ces 20 et 21 juin 2015. Le premier jour, dédié aux grands parcours des 55 et 85 km fut très difficile pour les coureurs, avec du vent et des pluies glaciales sur les crêtes vosgiennes. En les voyant redescendre, et même si la perspective de la ligne d’arrivée dessinait sur leurs visages un soulagement méritoire, on remarquait les stigmates que la course n’avait pas manqué d’imprimer sur les corps fatigués. Ce n’est pas tant la longueur ou les dénivelés qui sont les plus durs sur ce trail, mais bel et bien le terrain et le climat.

Le trail court du lendemain, avec ses 29 km (27 annoncés) et ses 1300 m D+ n’offrait qu’une petite partie des difficultés de la veille. Sous le portail du départ, avec la pluie et la fraîcheur revigorante du matin, tout le monde savait à quoi s’en tenir : des pistes glissantes et une boue bien grasse savamment préparées par les coureurs de la veille, ce qui ne devait pas aller en s’améliorant, surtout en fin de peloton. Ceux qui comme moi, avaient déjà reconnu le tracé, savaient aussi quels endroits plus techniques devaient retenir toute l’attention du traileur pour ne pas risquer la blessure.

L’organisation fut exemplaire : profitant chaque fois de l’expérience des sessions ultérieures, le balisage et les indications des bénévoles (forts courageux pour attendre des heures sous la pluie) furent largement appréciés. Aucune place à l’erreur.

Le départ fut donc donné avec les mises en garde de rigueur et la foule (plus de 500 coureurs) se mit en mouvement. Dans l’ensemble, le démarrage fut plutôt serein pour une mise en jambe profitable. Dès le premier single, le bouchonnage fut prévisible, avec presque aucune possibilité de dépassement. La situation devra se renouveler deux autres fois, dans les descentes vers le lac de Longemer, à la fois à cause du ravinage et de l’instabilité des sentiers. S’il fallait prendre de l’avance, c’est sur la première montée des pistes de la Mauselaine qu’il fallait le faire : un chemin bien large au dénivelé assez régulier permettait de prendre un rythme de croisière confortable.

Les montées les plus difficiles du parcours se situaient sur sa première moitié et juste un peu après le ravitaillement de mi-parcours. Des raidillons pas franchement longs mais assez éprouvants pour les jambes en particulier avec un terrain glissant. La difficulté principale de la seconde moitié du parcours tenait selon moi au terrain des chemins, avec à certains endroits des mares de boues qui mettent à l’épreuve nos capacités de saut en longueur. Au bout d’un moment, tout le monde abandonne l’idée de se salir le moins possible : on est là pour cela, après tout. Cependant, les rotules en prennent pour leur grade à chaque fois que, sous la boue, une pierre ou une racine fait perdre l’équilibre.

Les 5 derniers kilomètres ne furent toutefois pas aussi difficiles que prévu. Quelques rayons de soleil firent leur apparition à notre grande joie. Arrivés au camp de base, beaucoup de coureur ne résistèrent pas bien longtemps avant de plonger les jambes dans le lac pour ôter le plus gros des souvenirs forestiers incrustés sur les mollets… Vivement l’année prochaine !

Christophe Masutti, Trail de la vallée des lacs

Résultats et tracé

  • Les résultats du trail sont consultables à cette adresse.
  • Mon temps : 4:11:16
  • Classement : Scratch 306/546 (90 V1H / 130 VEM)

Contrairement à ma reconnaissance du parcours, cette fois, le tracé est bel et bien exact. Vous pouvez aussi télécharger le fichier GPX (sur cette carte, cliquez sur « légende » puis « visualiser les données »).

PDF
114 / 167
 Persos A à L
Carmine
Mona CHOLLET
Anna COLIN-LEBEDEV
Julien DEVAUREIX
Cory DOCTOROW
Lionel DRICOT (PLOUM)
EDUC.POP.FR
Marc ENDEWELD
Michel GOYA
Hubert GUILLAUD
Gérard FILOCHE
Alain GRANDJEAN
Hacking-Social
Samuel HAYAT
Dana HILLIOT
François HOUSTE
Tagrawla INEQQIQI
Infiltrés (les)
Clément JEANNEAU
Paul JORION
Michel LEPESANT
Frédéric LORDON
 
 Persos M à Z
Henri MALER
Christophe MASUTTI
Jean-Luc MÉLENCHON
Romain MIELCAREK
MONDE DIPLO (Blogs persos)
Richard MONVOISIN
Corinne MOREL-DARLEUX
Timothée PARRIQUE
Thomas PIKETTY
VisionsCarto
Yannis YOULOUNTAS
Michaël ZEMMOUR
LePartisan.info
 
  Numérique
Christophe DESCHAMPS
Louis DERRAC
Olivier ERTZSCHEID
Olivier EZRATY
Framablog
Tristan NITOT
Francis PISANI
Pixel de Tracking
Irénée RÉGNAULD
Nicolas VIVANT
 
  Collectifs
Arguments
Bondy Blog
Dérivation
Dissidences
Mr Mondialisation
Palim Psao
Paris-Luttes.info
ROJAVA Info
 
  Créatifs / Art / Fiction
Nicole ESTEROLLE
Julien HERVIEUX
Alessandro PIGNOCCHI
XKCD
🌓