Guides Markdown
20 avril 2026
Par Antoine Frankart
Comment créer des liens en Markdown

Les liens sont l'une des premières choses que l'on apprend en Markdown, et l'une des dernières que l'on maîtrise parfaitement. La syntaxe de base d'un hyperlien prend cinq secondes à assimiler. Mais ensuite, vous avez besoin de faire un lien vers une section de la même page, vers un fichier local, vers une adresse e-mail, ou d'ouvrir une URL dans un nouvel onglet — et soudain, la syntaxe des cinq secondes ne suffit plus.
Ce guide couvre tous les types de liens Markdown, des bases jusqu'aux cas particuliers qui posent souvent problème.
Liens en ligne (Inline links)
Le lien Markdown standard. Des crochets pour le texte, des parenthèses pour l'URL.
[Fude](https://fude.md)
Cela produit un hyperlien cliquable : le texte "Fude" pointant vers https://fude.md.
Vous pouvez ajouter un titre facultatif qui apparaît sous forme d'infobulle au survol :
[Fude](https://fude.md "Un lecteur Markdown pour tous vos appareils")
Le titre se place entre guillemets, après l'URL, toujours à l'intérieur des parenthèses. La plupart des moteurs de rendu l'affichent comme une infobulle du navigateur. Mais ne vous y fiez pas comme solution d'accessibilité — le support est incohérent selon les appareils et les technologies d'assistance.
Liens de référence
Lorsque vous utilisez la même URL plusieurs fois, ou lorsque de longues URL rendent votre texte difficile à lire, les liens de référence sont la meilleure option.
J'utilise [Fude][fude] pour lire du Markdown sur tous mes appareils.
Pour les questions de syntaxe, je consulte la [spécification CommonMark][commonmark].
[fude]: https://fude.md "Lecteur Markdown"
[commonmark]: https://commonmark.org
Les définitions de liens (les lignes avec [label]: URL) peuvent être placées n'importe où dans le fichier — en haut, en bas, ou regroupées juste après le paragraphe qui les utilise. Elles n'apparaissent pas dans le rendu final.
Vous pouvez également utiliser le texte du lien lui-même comme label :
Consultez [CommonMark] pour la spécification complète.
[CommonMark]: https://commonmark.org
C'est ce qu'on appelle un lien de référence implicite. C'est propre, mais cela ne fonctionne que lorsque le texte du lien correspond exactement au label (insensible à la casse).
Les liens de référence sont particulièrement utiles dans les longs documents comme les README. Ils gardent le texte lisible et les URL faciles à mettre à jour — modifiez-la une fois, et chaque référence adoptera la nouvelle URL.
Liens automatiques (Autolinks)
Si vous souhaitez simplement afficher une URL brute sous forme de lien cliquable, entourez-la de chevrons :
<https://fude.md>
<contact@fude.md>
Les deux s'affichent comme des liens cliquables. Le premier pointe vers l'URL, le second crée un lien mailto:.
Dans le Markdown aromatisé de GitHub (GitHub Flavored Markdown ou GFM), les URL brutes sont automatiquement transformées en liens, même sans chevrons :
Visitez https://fude.md pour plus d'infos.
Mais ce comportement n'est pas universel. CommonMark ne crée pas de liens automatiques pour les URL brutes. Si vous voulez que votre Markdown fonctionne partout, utilisez soit la syntaxe [texte](url), soit les chevrons.
Liens vers des sections (liens d'ancrage)
Faire un lien vers un titre au sein du même document est l'un des besoins les plus courants — et l'un des plus déroutants, car le comportement varie d'un outil à l'autre.
La syntaxe générale :
[Aller à la FAQ](#faq)
La partie #faq est l'ancre. Elle correspond à un titre dans le même document. La question est : comment l'ancre est-elle générée à partir du texte du titre ?
Les règles pour la plupart des moteurs de rendu (GitHub, Obsidian, la plupart des générateurs de sites statiques) :
- Convertir le titre en minuscules.
- Remplacer les espaces par des tirets.
- Supprimer la ponctuation (sauf les tirets).
- S'il y a des titres en double, ajouter
-1,-2, etc.
Exemples :
| Titre | Ancre |
|---|---|
## Getting Started |
#getting-started |
## What's New? |
#whats-new |
## FAQ |
#faq |
## v2.0 Release Notes |
#v20-release-notes |
Un titre comme ## C++ Setup Guide devient #c-setup-guide sur GitHub (les signes + sont supprimés). Mais dans Obsidian, le comportement peut différer légèrement. Testez toujours vos liens d'ancrage dans le moteur de rendu cible.
Lier vers une section dans un autre fichier
Cela fonctionne dans GitHub et la plupart des systèmes de documentation :
[Étapes d'installation](./setup.md#installation)
Le chemin pointe vers le fichier, et le fragment # pointe vers le titre au sein de ce fichier. Les chemins relatifs (commençant par ./ ou ../) sont l'option la plus portable.
Liens relatifs
Les liens relatifs pointent vers d'autres fichiers du même projet, sans utiliser d'URL complète.
[Lire le changelog](./CHANGELOG.md)
[Retour à la page principale](../README.md)
[Voir la licence](./docs/LICENSE)
Les règles :
./signifie "répertoire courant".../signifie "répertoire parent".- Ne pas mettre de préfixe fonctionne aussi (
CHANGELOG.md), mais./rend l'intention explicite.
Les liens relatifs sont essentiels dans les dépôts GitHub. Ils fonctionnent dans les README, les wikis et les fichiers Markdown rendus. Ils rendent également votre documentation portable — si quelqu'un clone le dépôt, les liens fonctionneront toujours en local.
Chemins avec des espaces
Si un nom de fichier ou de dossier contient des espaces, encodez-les en %20 :
[Document de design](./docs/document%20de%20design.md)
Ou entourez l'URL de chevrons (moins courant, mais valide) :
[Document de design](<./docs/document de design.md>)
Les deux approches fonctionnent. Je préfère le %20 car c'est plus explicite et évite les surprises selon les différents parseurs.
Liens vers des fichiers locaux
Faire un lien vers un fichier sur votre machine locale fonctionne dans certains moteurs de rendu, mais pas dans d'autres.
[Ouvrir mes notes](file:///Users/alice/Documents/notes.md)
Le protocole file:// est pris en charge par certaines applications Markdown de bureau, mais les navigateurs et GitHub le suppriment pour des raisons de sécurité. C'est utile dans les notes personnelles (Obsidian, Fude, VS Code), mais pas pour les documents partagés.
Dans Obsidian en particulier, vous pouvez créer un lien vers des fichiers locaux en utilisant la syntaxe wiki-link ou le Markdown standard :
[Ma note](./ma-note.md)
[[ma-note]]
La syntaxe wiki-link ([[...]]) est spécifique à Obsidian et ne s'affichera pas dans les moteurs de rendu Markdown standards. Si la portabilité est importante, tenez-vous-en à la syntaxe standard.
Liens e-mail
Deux façons de créer un lien e-mail cliquable :
<contact@example.com>
[Envoyez-nous un e-mail](mailto:contact@example.com)
La première forme génère automatiquement un lien mailto:. La seconde vous permet de personnaliser le texte du lien.
Vous pouvez également pré-remplir l'objet :
[Signaler un bug](mailto:bugs@example.com?subject=Rapport%20de%20bug)
Le paramètre ?subject= fonctionne dans la plupart des clients de messagerie. Les espaces doivent être encodés en %20.
Liens d'images
En Markdown, une image n'est pas un lien par défaut — elle se contente d'intégrer l'image. Pour rendre une image cliquable, enveloppez la syntaxe de l'image dans un lien :
[](https://fude.md)
Explications :
est l'image.[...](https://fude.md)est le lien enveloppant l'image.
Le résultat : cliquer sur l'image navigue vers l'URL. C'est couramment utilisé pour les badges dans les README GitHub :
[](https://github.com/user/repo/actions)
Ouvrir les liens dans un nouvel onglet
Le Markdown standard n'a pas de syntaxe pour target="_blank". Il n'y a aucun moyen de forcer un lien à s'ouvrir dans un nouvel onglet en utilisant du pur Markdown.
Si votre moteur de rendu supporte le HTML, vous pouvez utiliser :
<a href="https://fude.md" target="_blank">Ouvrir Fude</a>
Cela fonctionne sur GitHub (partiellement — GitHub supprime certains attributs), dans la plupart des générateurs de sites statiques, et dans le mode lecture d'Obsidian.
Certains générateurs de sites statiques (Hugo, Astro, Nuxt Content) vous permettent de configurer cela globalement — tous les liens externes s'ouvrent dans un nouvel onglet par défaut, sans avoir besoin de HTML dans votre contenu. Vérifiez la documentation de votre framework.
Les liens dans GitHub
Le Markdown aromatisé de GitHub (GFM) supporte tous les types de liens ci-dessus, avec quelques spécificités :
- Liens automatiques : les URL brutes deviennent cliquables sans chevrons.
- Références d'Issues/PR : dans les conversations GitHub,
#123crée automatiquement un lien vers l'issue ou la pull request 123 dans le même dépôt.user/repo#123crée un lien entre différents dépôts. Ces références abrégées ne sont pas créées dans les fichiers du dépôt ou les wikis. - Références de commits : collez le SHA d'un commit et GitHub le transforme en lien.
- Mentions (@) :
@usernamecrée un lien vers un profil GitHub. - Liens relatifs : fonctionnent dans les README, les wikis et tous les fichiers Markdown rendus. GitHub les résout par rapport à l'emplacement du fichier dans le dépôt.
- Liens
file://: supprimés par sécurité. Ne les utilisez pas.
Ces fonctionnalités de création automatique de liens sont spécifiques à GitHub. Elles ne fonctionneront pas dans d'autres moteurs de rendu Markdown.
Les liens dans Fude
Dans Fude, les liens Markdown standards fonctionnent comme vous vous y attendez :
- Les liens en ligne
[texte](url)et les liens de référence sont rendus et cliquables. - Les liens web s'ouvrent dans votre navigateur par défaut.
- Les liens relatifs entre fichiers Markdown fonctionnent au sein de votre collection de documents. Cliquer sur un lien vers un autre fichier
.mdl'ouvre directement dans Fude. - Les liens d'ancrage vers des sections du même document font défiler la page jusqu'au titre.
- Les liens e-mail (
mailto:) ouvrent votre client de messagerie par défaut. - Les liens d'images (images cliquables) s'affichent correctement.
Ce que Fude ne supporte pas :
- Les liens utilisant le protocole
file://ne sont pas supportés pour des raisons de sécurité. - Les liens HTML bruts (
<a href="..." target="_blank">) ne sont pas rendus en tant que HTML — Fude se concentre sur la syntaxe Markdown standard. - Les wiki-links (
[[...]]) ne sont pas supportés. Fude utilise la syntaxe standard des liens Markdown.
Les liens dans Obsidian
Obsidian supporte les liens Markdown standards et ajoute sa propre syntaxe :
- Wiki-links :
[[nom-de-la-note]]crée un lien vers une autre note dans votre coffre.[[nom-de-la-note|texte affiché]]vous permet de personnaliser le texte visible. - Liens Markdown standards :
[texte](./note.md)fonctionne également. Obsidian résout les chemins relatifs au sein du coffre. - Liens de section :
[[nom-de-la-note#section]]crée un lien vers un titre dans une autre note.[[#section]]crée un lien vers un titre dans la note courante. - Références de blocs :
[[nom-de-la-note#^block-id]]crée un lien vers un bloc spécifique (paragraphe, élément de liste) — une fonctionnalité spécifique à Obsidian. - Intégrations (Embeds) :
![[nom-de-la-note]]intègre le contenu d'une autre note en ligne. Ce n'est techniquement pas un lien, mais c'est lié.
Le grand choix dans Obsidian : wiki-links vs. liens Markdown standards. Les wiki-links sont plus courts et bénéficient de l'auto-complétion dans l'éditeur. Les liens Markdown standards sont portables — ils fonctionneront si vous déplacez vos notes vers un autre outil.
Vous pouvez basculer entre les deux dans Paramètres > Fichiers et Liens > "Utiliser les liens Wiki".
Quand utiliser quel type de lien
Avec autant d'options, il est facile de trop réfléchir. Voici un guide de décision :
- Lier vers un site externe ? Utilisez un lien en ligne :
[texte](url). C'est l'option par défaut pour une bonne raison. - Même URL utilisée plusieurs fois dans un document ? Utilisez des liens de référence. Un seul endroit à mettre à jour, aucun risque d'incohérence.
- Lier vers une autre section sur la même page ? Utilisez un lien d'ancrage :
[texte](#id-du-titre). - Lier vers un autre fichier dans le même dépôt ou projet ? Utilisez un lien relatif :
[texte](./autre-fichier.md). Évitez les URL absolues — elles se cassent si le dépôt est déplacé. - Vous voulez juste afficher une URL brute ? Entourez-la de chevrons :
<https://example.com>. Propre et portable. - Rendre une image cliquable ? Enveloppez la syntaxe de l'image dans un lien :
[](url). - Besoin d'un lien
mailto:? Soit<email@example.com>, soit[texte](mailto:email@example.com)— le second vous donne le contrôle sur le texte du lien.
En cas de doute, commencez par un lien en ligne. Il couvre 80 % des cas.
Résoudre les problèmes courants
"Mon lien s'affiche comme du texte brut"
La cause la plus probable : un espace entre les crochets et les parenthèses.
[texte] (url) ← cassé (espace entre ] et ()
[texte](url) ← correct
Markdown exige que ] et ( soient immédiatement adjacents.
"L'URL est cassée car elle contient des parenthèses"
Les URL avec des parenthèses — courantes sur Wikipédia — perturbent l'analyseur Markdown car le ) ferme le lien.
Solution : encodez les parenthèses.
[Article](https://en.wikipedia.org/wiki/Markdown_%28language%29)
Remplacez ( par %28 et ) par %29. Alternativement, utilisez un lien de référence :
[Article][wiki-md]
[wiki-md]: https://en.wikipedia.org/wiki/Markdown_(language)
Les liens de référence gèrent les parenthèses dans les URL avec plus d'élégance dans la plupart des parseurs.
"Mon lien d'ancrage ne fonctionne pas"
Vérifiez trois points :
- L'ID du titre est-il généré correctement ? (minuscules, tirets, pas de ponctuation)
- Y a-t-il un titre en double avec le même texte ? (le second reçoit
-1à la fin) - Testez-vous dans le même moteur de rendu que celui où il sera publié ? (GitHub, Obsidian et Hugo génèrent tous les ancres légèrement différemment)
"Mon lien relatif fonctionne localement mais se casse sur GitHub"
Cause fréquente : le lien utilise un chemin relatif par rapport à la racine du projet, mais Markdown résout les chemins par rapport à l'emplacement du fichier.
Si votre fichier se trouve dans docs/guide.md et que vous voulez faire un lien vers README.md à la racine :
[README](../README.md) ← correct (remonte d'un répertoire)
[README](./README.md) ← cassé (cherche dans docs/)
[README](/README.md) ← fonctionne sur certaines plateformes, pas toutes
Utilisez ../ pour naviguer vers le haut. Évitez le / initial pour une portabilité maximale.
Référence rapide
# Lien en ligne
[texte](https://example.com)
[texte](https://example.com "titre")
# Lien de référence
[texte][label]
[label]: https://example.com
# Lien automatique
<https://example.com>
<user@example.com>
# Ancre (même page)
[Aller à la section](#nom-de-la-section)
# Lien relatif
[Autre fichier](./autre-fichier.md)
[Section dans un autre fichier](./autre-fichier.md#section)
# E-mail
[Contactez-nous](mailto:hi@example.com)
# Lien d'image
[](https://example.com)
# Nouvel onglet (HTML)
<a href="https://example.com" target="_blank">Lien</a>
Les liens Markdown sont faussement simples. La syntaxe de base couvre 80 % des cas, mais les 20 % restants — les liens d'ancrage, les chemins relatifs, les URL avec des caractères spéciaux, les comportements spécifiques aux outils — sont ceux où la plupart des gens bloquent.
Vous avez maintenant une vue d'ensemble complète.
Pour d'autres guides Markdown, consultez nos articles sur les tableaux, les lignes horizontales, et pourquoi l'IA répond en Markdown.
Si vous cherchez un lecteur Markdown qui gère proprement les liens sur tous vos appareils, essayez Fude.