rdv-info-markdown/intro/intro.md

281 lines
12 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

---
title: Introduction à la prise de note avec markdown
author:
- Igor Milhit^[Uni CMU]
date: Printemps 2023
creation_date: 2023-04-19T11:35:14+02:00
id: 20230419113601
tags: [note, markdown]
logo:
- logo-md.svg
lang: fr
bibliography: references.bib
csl: heg-iso-690.csl
link-citations: true
toc-title: Table des matières
---
## Objectifs
- Quel intérêt? Pourquoi se mettre à rédiger avec markdown?
- Comment: aperçu de la syntaxe de base.
- Qu'attendre d'un éditeur de texte (pour rédiger avec markdown)?
- Bref aperçu des possibilités avancées:
- Ensemble de notes.
- Conversion.
:::{#licence}
![Logo de la licence CC BY-SA 4.0](../static/by-sa.svg) \
[CC BY-SA 4.0][cc-by-sa] --- [Sources][sources]
:::
[cc-by-sa]: https://creativecommons.org/licenses/by-sa/4.0/deed.fr "Texte de la licence en français"
[sources]: https://git.milhit.ch/igor/rdv-info-markdown
## Pourquoi? [^0] {#1st-section}
Le plus important pour *ses* propres habitudes de travail est de trouver des
méthodes et des outils adaptés à *ses besoins*. Ci-dessous sont listés quelques
arguments en faveur de l'usage de la syntaxe markdown, mais aucune méthode ou
outil n'est *la* solution miracle pertinente dans *tous* les contextes.
L'information numérique est utile si elle est **structurée**. Un fichier PDF
bien conçu donne accès dans la barre latérale à la table des matières pour
faciliter la navigation. Cette structure s'obtient, par exemple, avec l'usage
cohérent des styles et des niveaux de titre dans un traitement de texte. La
syntaxe markdown est une autre méthode, surprenante au début, mais qui s'avère
particulièrement efficace.[^1]
Markdown est une syntaxe qui permet, **simplement avec des éléments textuels**,
de structurer (niveau de titres) et de mettre en forme du texte. Cette
structure et cette mise en forme sont compréhensibles par des êtres humains et
par des programmes informatiques. Aussi, les documents rédigés à l'aide de
markdown peuvent soit être lus tels quels, soit être traités par un
programme pour afficher un «rendu» sous forme de page web, de document PDF ou
DOCX.
La syntaxe markdown est relativement simple à apprendre et mémoriser. Aussi, la
rédaction au format markdown repose sur très peu de fonctionnalités du
logiciel. Le bloc note suffit, même si un peu plus de confort est souhaitable.
Cette syntaxe est utilisée par de nombreux logiciels ou services en lignes pour
la rédaction. C'est le cas des notes dans Zotero ou d'éditeurs en ligne
adaptés au travail collaboratif ([HedgeDoc][hd], [HackMD][hm], etc.).
Les fichiers utilisés ne sont composés que de caractères textuels. Aussi, ils
sont:
- Simples et légers:
- Ne dépendent pas d'un logiciel spécifique, ni d'un système d'exploitation.
- Pourront être lus et édités dans n'importe quel contexte, et probablement
dans un avenir éloigné (pérennité).
- Rapides à ouvrir. Avec n'importe quel éditeur de texte (bloc note Windows,
Notepad++, TextEdit, Gedit, VIM, EMACS, etc.)
- Faciles à sauvegarder, copier, synchroniser, partager.
Toujours grâce à leur nature textuelle, il est facile d'avoir des outils pour
rechercher (et remplacer) rapidement du texte au sein non seulement du fichier
ouvert, mais d'un ensemble de fichier dans un répertoire. \
Il est même possible d'écrire des programmes pour modifier ou utiliser
automatiquement ces fichiers. Et il en existe justement beaucoup!
Grâce à ces propriétés, il est possible:
- De prendre des notes au clavier rapidement, de manière structurée, et avec
une recherche interne efficace.
- De rédiger des documents simples ou complexes, petits comme une fiche de
notes ou volumineux comme une thèse.
- De regrouper un ensemble de notes dans un «bloc note» numérique et de
naviguer rapidement dans cet ensemble, de rechercher de l'information
facilement.
- De manière similaire, de regrouper un ensemble de fichiers pour constituer un
document complexe, comme un livre ou un article scientifique.
- Enfin de convertir à partir des même fichiers le document dans plusieurs
formats pour une diffusion sur le web, la lecture dans un PDF ou un ePub.
Enfin, il y a deux arguments de *geek* :
- Les fichiers textuels sont particulièrement adaptés pour en suivre
l'historique des modification (*versioning*), par exemple avec le logiciel
[Git][git].
- Jouer avec markdown et les conversions dans de multiples format est vraiment
amusant, bien que parfois source de complications inutiles. 😅
[text]: https://www.arthurperret.fr/cours/format-texte.html
[hd]: https://hedgedoc.org/
[hm]: https://hackmd.io/
[git]: https://fr.wikipedia.org/wiki/Git "Article Wikipedia en français"
## Comment?
La syntaxe markdown est très souvent expliquée sur le web:
- La documentation «officielle» est disponible sur le site personnel d'un des
concepteurs de la syntaxe: <https://daringfireball.net/projects/markdown/>
[@gruberMarkdown2004].
- Le site *flus* propose Une documentation en français et très claire:
<https://flus.fr/carnet/markdown.html> [@fressinaudGuideMarkdown2022].
- Il y a plusieurs variantes de la syntaxe et un site essaie de proposer un
standard. Il met à disposition un tutoriel interactif:
<https://commonmark.org/help/> [@commonmarkCommonMark].
- Arthur Perret a traduit en français ce même tutoriel, disponible sur sa page
qui explique ce qu'est markdown:
<https://www.arthurperret.fr/cours/markdown.html> [@perretMarkdown2022].
Pour les tableaux, il est fortement conseillé:
- D'utiliser un générateur, par exemple
<https://www.tablesgenerator.com/markdown_tables>.
- Ou de disposer dans son éditeur d'un générateur de tableaux.
Le plus souvent les fichiers contenant du markdown ont pour extension `.md`,
mais c'est une convention. Rien n'interdit d'utiliser d'autres extensions comme
`.mkdn` ou `.markdown`, pour autant que l'éditeur que vous utilisez les
reconnaissent comme du markdown.
## Éditeurs {#ed}
Il existe beaucoup d'éditeurs pour rédiger en markdown. On peut les regrouper
en deux grandes catégories:
1. Les éditeurs dédiés.
1. Les éditeurs généralistes.
Dans les deux cas, des fonctionnalités de base qui sont presque
incontournables:
- Une prévisualisation, le plus souvent sour la forme d'un *rendu* HTML.
- La possibilité de naviguer dans une arborescence de fichiers.
- Une autocomplétion, pour faciliter l'entrée de syntaxe avec des `[]` ou des
`()`.
D'autres fonctionnalités ne sont pas indispensables, mais deviennent rapidement
assez utiles:
- La correction orthographique pour les langues dans lesquelles vous rédigez.
- Un formatage automatique des tableaux.
- La possibilité de suivre les liens internes, au sein du même fichier ou entre
les fichiers d'un même répertoire.
### Éditeurs dédiés
Ce sont des logiciels conçu spécifiquement pour éditer des fichiers avec la
syntaxe markdown. Ils peuvent être sous la forme d'un logiciel à installer sur
votre appareil (ordinateur, tablette, téléphone) ou d'un service web.
**Typora** est éditeur qui met l'accent sur son interface épurée. Il est disponible
pour tous les systèmes d'exploitation, payant. <https://typora.io/>
![Interface de GhostWriter][gw]
**GhostWriter** est libre et gratuit, pour Windows et Linux
principalement.[^2] <https://ghostwriter.kde.org/fr/>
**Abricotine** est libre et gratuit, pour toutes les plateformes.
<http://abricotine.brrd.fr/>
**iA Writer** est payant, pour MacOS et Windows, mais est très apprécié pour la
rédaction. Il permet de lier des notes entre elles et offre ainsi une
navigation dans un ensemble de fichiers. <https://ia.net/writer>
**Obsidian** est un logiciel propriétaire, pour toutes les plateformes. Il ne
se limite pas à l'édition de fichiers markdown, mais permet de constituer une
base de connaissance basée sur des notes, et cela de manière très complète.
<https://obsidian.md/>
![Interface de Zettlr][zettlr]
**Zettlr** est libre et disponible pour tous les systèmes d'exploitation. Il
est destiné à un usage académique, que ce soit pour construire une base de
connaissance à partir de notes ou pour rédiger un travail de mémoire ou un
article scientifique. Il intègre Zotero pour la gestion des références.
En ligne, on peut mentionner à nouveau le service [HackMD][hm] ou le logiciel
[HedgeDoc][hd] qui permet non seulement d'éditer des fichiers mardkown avec une
prévisualisation, mais également de le faire à plusieurs, de disposer d'un
suivi des modfications et de commenter.
![Interface de l'éditeur HackMD][interface-hd]
[interface-hd]: ../static/hackmd.png
[zettlr]: ../static/zettlr.png
[gw]: ../static/ghostwriter.png
### Éditeurs généralistes
*Généralistes* car ces éditeurs ne sont pas limités à l'édition de fichier
markdown. Le plus souvent, ce sont des *éditeurs de texte*, en général utilisés
par des développeurs pour écrire du code informatique. Normalement, ils
disposent d'un écosystème d'extensions afin de s'adapter à des besoins
spécifiques. De ce fait, ils sont très puissants.
Ainsi, il est possible d'adapter à l'édition du markdown les éditeurs de texte
suivant, notamment:
- Notepad++, libre et gratuit, pour Windows.
- Visual Studio Code, gratuit, pour Windows, MacOS, Linux. Un des logiciels les
plus utilisés actuellement.
- VIM ou neovim, libre et gratuit, pour tous les systèmes d'exploitation.
- EMACS, libre et gratuit.
![Interface de Visual Studio Code][vscode]
[vscode]: ../static/vscode.png
## Aperçu des possibilités avancées
### Ensemble de notes
Afin d'organiser ses notes, il est possible de réunir un ensemble de fichiers
dans le même répertoires (y compris avec des sous répertoires) et de faire des
liens entre les fichiers (et même au sein d'un seul fichier).
Certains éditeurs, ou certaines extensions d'éditeurs, proposent des facilités
pour générer ces liens, au prix d'une syntaxe *ad hoc*. Mais il est
parfaitement possible de le faire avec la syntaxe «normale» du lien.
![Lien depuis le fichier `README.md` vers le fichier `points-a-ameliorer.md`][lienEntreFichiers]
La figure 5 montre sur la gauche une arborescence de fichiers, avec
des sous-répertoires, et dans le fichier affiché (`README.md`), un lien vers le
fichier `points-a-ameliorer.md`. Dans cet éditeur, en plaçant le curseur sur le
lien et en tapant la touche «entrée», on ouvre le fichier cible.
La figure 6 montre la recherche du terme `rdv-info` lancée sur la même
arborescence de fichiers que la figure 5, au moyen du logiciel Visual Studio
Code. Il y a 13 occurrences du terme dans 7 fichiers. Ce type de recherche est
facilité par le fait que ce sont des fichiers au format texte et se retrouve
dans la plupart des éditeurs généralistes de qualité.
![Recherche dans Visual Studio Code][rechCode]
### Export vers d'autres formats
La conversion d'un document markdown en un autre format, plus simple à partager
devient assez vite utile. Pour les conversions, `pandoc` est l'outil le plus
souvent utilisé. Il est soit utilisé par votre éditeur pour faire les exports
(par exemple avec Zettlr), soit par vous même en ligne de commande. C'est un
logiciel libre et gratuit, développé très activement.
Il est capable de lire et d'écrire dans un grand nombre de formats différents,
parfois à l'aide de logiciels spécifiques. Par exemple, pour produire un
fichier PDF, il peut utiliser plusieurs méthodes, dont LaTeX, ce qui suppose
d'en avoir une version installée.
Le support de cours de cette introduction à markdown a été rédigée en markdown
et est exportée en PDF grâce à `pandoc` et à *Paged.js*.[^3]
[lienEntreFichiers]: ../static/lien-entre-fichiers.png
[rechCode]: ../static/recherche-vscode.png
## Bibliographie
[^0]: Cette section repose beaucoup sur la page [Format texte][text]
d'Arthur Perret [@perretFormatTexte2022].
[^1]: Markdown n'est pas le seul langage de balisage léger existant, bien que
ce soit le plus répandu. D'autres sont encore plus robustes ou puissants, comme
*RestructuredText* ou *AsciiDoc*.
[^2]: Il semble possible de l'installer sur MacOS, mais n'est pas recommandé.
[^3]: Les sources et la méthode de conversion est disponible sur
<https://git.milhit.ch/igor/rdv-info-markdown>.