Skip to content

GitHub Flavored Markdown (GFM)

GitHub Flavored Markdown (GFM) est la version améliorée de Markdown par GitHub avec des fonctionnalités supplémentaires conçues spécifiquement pour le développement logiciel et la collaboration. Ce guide couvre toutes les extensions de syntaxe spéciales disponibles sur GitHub.

Qu'est-ce que GitHub Flavored Markdown (GFM) ?

GitHub Flavored Markdown étend la syntaxe de base de Markdown avec des fonctionnalités qui le rendent plus utile pour :

  • La documentation (READMEs, wikis)
  • Le suivi des issues
  • Les pull requests
  • La révision de code
  • La gestion de projet

Fonctionnalités Principales du GFM

1. Blocs de Code Délimités

GFM prend en charge les blocs de code délimités avec coloration syntaxique spécifique au langage :

```javascript
function calculateSum(numbers) {
  return numbers.reduce((sum, num) => sum + num, 0);
}

const result = calculateSum([1, 2, 3, 4, 5]);
console.log(result); // Output: 15
```
javascript
function calculateSum(numbers) {
  return numbers.reduce((sum, num) => sum + num, 0);
}

const result = calculateSum([1, 2, 3, 4, 5]);
console.log(result); // Output: 15

2. Coloration Syntaxique

GitHub prend en charge la coloration syntaxique pour des centaines de langages. Certains courants incluent :

bash
# Script Bash
echo "Hello GitHub!"
python
# Script Python
def greet(name):
    return f"Hello, {name}!"
java
// Code Java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello GitHub!");
    }
}

3. Listes de Tâches

Créez des listes de tâches interactives avec des cases à cocher :

markdown
- [x] Terminer l'authentification utilisateur
- [x] Implémenter les endpoints API
- [ ] Écrire les tests unitaires
  - [ ] Tests backend
  - [ ] Tests frontend
- [ ] Déployer en production
  • [x] Terminer l'authentification utilisateur
  • [x] Implémenter les endpoints API
  • [ ] Écrire les tests unitaires
    • [ ] Tests backend
    • [ ] Tests frontend
  • [ ] Déployer en production

4. Tableaux

GFM fournit une syntaxe simple pour créer des tableaux :

markdown
| Fonctionnalité    | Pris en charge | Description                     |
|-------------------|----------------|---------------------------------|
| Fenced Code       | ✅             | Coloration spécifique au langage|
| Task Lists        | ✅             | Cases à cocher interactives     |
| Tables            | ✅             | Affichage de données structurées|
| Mentions          | ✅             | Notifications utilisateur/équipe|
| Emoji             | ✅             | Expressions visuelles           |
FonctionnalitéPris en chargeDescription
Fenced CodeColoration spécifique au langage
Task ListsCases à cocher interactives
TablesAffichage de données structurées
MentionsNotifications utilisateur/équipe
EmojiExpressions visuelles

5. Mentions

Mentionnez des utilisateurs ou des équipes pour les notifier :

markdown
@username - Mentionner un utilisateur spécifique
@team-name - Mentionner une équipe

6. Emoji

Ajoutez des emoji en utilisant des codes courts :

markdown
:smile: - 😊
:thumbsup: - 👍
:heart: - ❤️
:rocket: - 🚀
:warning: - ⚠️

😄 - 😊 👍 - 👍 ❤️ - ❤️ 🚀 - 🚀 ⚠️ - ⚠️

7. Liaison Automatique

GFM lie automatiquement certains types de contenu :

Numéros d'Issue et de Pull Request

markdown
#123 - Lie vers l'issue 123
PR #456 - Lie vers la pull request 456

Hashes SHA

markdown
a1b2c3d - Lie vers le commit avec ce SHA

Mentions d'Utilisateur dans les Issues/PRs

markdown
@username - Lie automatiquement vers le profil de l'utilisateur

URLs

markdown
https://github.com - Devient automatiquement un lien

8. Texte Barré

GFM prend en charge le texte barré :

markdown
~~Ce texte est barré~~

Ce texte est barré

9. Références de Lien Automatique

GFM crée automatiquement des liens pour :

  • Les URLs HTTP/HTTPS
  • Les adresses e-mail
  • Les numéros d'issue/PR GitHub
  • Les SHA de commit
markdown
https://github.com/markdownlang/markdownlang.com
user@example.com
#123
PR #456
a1b2c3d4e5f6

10. Coloration de Lignes dans les Blocs de Code

Mettez en surbrillance des lignes spécifiques dans les blocs de code :

```javascript{2,4}
function calculateSum(numbers) {
  return numbers.reduce((sum, num) => sum + num, 0); // Highlighted
}

const result = calculateSum([1, 2, 3, 4, 5]); // Highlighted
console.log(result);
```
javascript
function calculateSum(numbers) {
  return numbers.reduce((sum, num) => sum + num, 0); // Highlighted
}

const result = calculateSum([1, 2, 3, 4, 5]); // Highlighted
console.log(result);

11. Coloration Syntaxique Diff

Mettez en surbrillance les modifications de code avec la syntaxe diff :

```diff
- const oldFunction = () => {
-   return "old value";
- };
+
+ const newFunction = () => {
+   return "new value";
+ };
```
diff
- const oldFunction = () => {
-   return "old value";
- };
+
+ const newFunction = () => {
+   return "new value";
+ };

12. Balisage Spécifique à GitHub

Alertes

Utilisez une syntaxe spéciale pour les alertes dans la documentation GitHub :

markdown
> [!NOTE]
> Ceci est une alerte de note.

> [!TIP]
> Ceci est une alerte d'astuce.

> [!IMPORTANT]
> Ceci est une alerte importante.

> [!WARNING]
> Ceci est une alerte d'avertissement.

> [!CAUTION]
> Ceci est une alerte de prudence.

NOTE

Ceci est une alerte de note.

TIP

Ceci est une alerte d'astuce.

IMPORTANT

Ceci est une alerte importante.

WARNING

Ceci est une alerte d'avertissement.

CAUTION

Ceci est une alerte de prudence.

Liens Relatifs

Utilisez des liens relatifs pour naviguer entre les fichiers dans le même dépôt :

markdown
[README](/fr/README.md)
[Directives de Contribution](/fr/CONTRIBUTING.md)
[Documentation API](/fr/docs/api.md)

Liens d'Image avec Texte au Survol

markdown
![GitHub Logo](/fr/images/github-logo.png "GitHub Logo - Texte au Survol")

Utilisation Avancée du GFM

1. Listes Imbriquées avec Listes de Tâches

Combinez des listes imbriquées avec des listes de tâches :

markdown
## Feuille de Route du Projet

### Phase 1 : Planification
- [x] Définir la portée du projet
- [x] Identifier les exigences
  - [x] Exigences fonctionnelles
  - [x] Exigences non fonctionnelles
- [x] Créer le calendrier

### Phase 2 : Développement
- [x] Configurer la structure du projet
- [ ] Implémenter les fonctionnalités principales
  - [x] Authentification
  - [ ] Tableau de bord
  - [ ] Intégration API

2. Tableaux avec Emoji et Liens

Améliorez les tableaux avec des emoji et des liens :

markdown
| Composant      | Statut              | Mainteneur   |
|----------------|---------------------|--------------|
| Authentification | ✅ Stable          | @johndoe     |
| Base de données | ⚠️ Nécessite mise à jour | @janedoe |
| API            | 🚧 En Cours         | @bobsmith    |
| UI             | ✅ Stable           | @alicesmith  |
ComposantStatutMainteneur
Authentification✅ Stable@johndoe
Base de données⚠️ Nécessite mise à jour@janedoe
API🚧 En Cours@bobsmith
UI✅ Stable@alicesmith

3. Blocs de Code dans les Listes

Incluez des blocs de code dans les listes :

markdown
1. Installer les dépendances :

   ```bash
   npm install
  1. Exécuter le serveur de développement :

    bash
    npm run dev
  2. Construire pour la production :

    bash
    npm run build

### 4. Blocs de Citation avec Code

Combinez des citations avec des blocs de code :

```markdown
> **Astuce Pro :** Utilisez la commande suivante pour vérifier rapidement l'état de Git :
>
> ```bash
> git status
> ```

Astuce Pro : Utilisez la commande suivante pour vérifier rapidement l'état de Git :

bash
git status

GFM dans Différents Contextes GitHub

Fichiers README

Les fichiers README prennent en charge toutes les fonctionnalités GFM et sont automatiquement rendus sur les pages du dépôt.

Issues et Pull Requests

  • Utilisez des listes de tâches pour suivre les progrès
  • Mentionnez les membres de l'équipe pour la collaboration
  • Incluez des extraits de code avec coloration syntaxique
  • Référencez les issues/PRs connexes en utilisant la syntaxe #123

Commentaires

  • Utilisez des emoji pour des réactions rapides
  • Référencez des lignes dans le code avec des commentaires de ligne
  • Utilisez des blocs de citation pour répondre à des points spécifiques

Wikis

  • Organisez le contenu avec des pages imbriquées
  • Utilisez des tableaux pour les données structurées
  • Incluez des exemples de code avec coloration syntaxique

Bonnes Pratiques

1. Style de Code

markdown
<!-- ✅ Bien -->
```javascript
// Utilisez des noms de fonction descriptifs
function calculateTotal(items) {
  return items.reduce((sum, item) => sum + item.price, 0);
}
javascript
function f(i){return i.reduce((a,b)=>a+b.p,0)}```

2. Conception de Tableau

markdown
<!-- ✅ Bien -->
| Fonctionnalité | Description | Statut |
|----------------|-------------|--------|
| Fonctionnalité 1 | Brève description | ✅ |
| Fonctionnalité 2 | Autre description | 🚧 |

<!-- ❌ À Éviter -->
| Fonctionnalité | Description | Statut | | | |
|----------------|-------------|--------|---|---|---|
| Fonctionnalité 1 | Cette description est beaucoup trop longue et rend le tableau difficile à lire sur les appareils mobiles | ✅ | | | |

3. Utilisation des Listes de Tâches

markdown
<!-- ✅ Bien -->
## Sprint Backlog
- [x] Terminer la page de profil utilisateur
- [ ] Implémenter la fonctionnalité de recherche
  - [x] API Backend
  - [ ] Composant Frontend
- [ ] Écrire la documentation

<!-- ❌ À Éviter -->
- [ ] Tâche 1
- [ ] Tâche 2
- [ ] Tâche 3
- [ ] Tâche 4
- [ ] Tâche 5
(Trop de tâches sans organisation)

GFM vs Markdown Standard

FonctionnalitéMarkdown StandardGitHub Flavored Markdown
Blocs de Code Délimités
Coloration Syntaxique
Listes de Tâches
Tableaux
Texte Barré
Emoji
Mentions
Liaison AutomatiqueLimitéeÉtendue

Outils pour Travailler avec GFM

Éditeurs Locaux

  • Visual Studio Code - Aperçu GFM et extensions
  • Typora - Rendu GFM en temps réel
  • Mark Text - Support GFM

Outils en Ligne

  • GitHub Gist - Créez et partagez des extraits GFM
  • Dillinger - Éditeur GFM en ligne
  • StackEdit - Support GFM avec synchronisation cloud

Outils en Ligne de Commande

  • glow - Rendu GFM pour terminal
  • pandoc - Convertir GFM vers d'autres formats
  • marked - Analyseur GFM pour Node.js

Problèmes Courants et Corrections

1. Bloc de Code Non Coloré

Problème : Le bloc de code n'affiche pas la coloration syntaxique

Correction : Assurez-vous de spécifier le bon langage :

markdown
<!-- ✅ Correct -->
```javascript
console.log("Hello");
jsx
console.log("Hello"); // Utilisation de jsx au lieu de javascript pour du code non-JSX

### 2. Cases à Cocher des Listes de Tâches Non Fonctionnelles

**Problème :** Les cases à cocher des listes de tâches ne sont pas interactives

**Correction :** Assurez-vous d'utiliser la syntaxe correcte (espace entre `-` et `[ ]`) :

```markdown
<!-- ✅ Correct -->
- [ ] Tâche

<!-- ❌ Incorrect -->
-[ ] Tâche (pas d'espace)
-[x] Tâche (pas d'espace)

3. Tableau Non Rendu Correctement

Problème : Les colonnes du tableau sont mal alignées

Correction : Assurez-vous que les barres verticales sont correctement alignées :

markdown
<!-- ✅ Correct -->
| Column 1 | Column 2 |
|----------|----------|
| Data 1   | Data 2   |

<!-- ❌ Incorrect -->
|Column 1|Column 2|
|--|--|
|Data 1|Data 2|

Prochaines Étapes


GitHub Flavored Markdown est un outil puissant pour la communication et la collaboration dans le développement logiciel. En maîtrisant ces fonctionnalités, vous pouvez créer une documentation plus efficace, mieux suivre les issues et collaborer plus efficacement avec votre équipe.

Build by www.markdownlang.com