---
title: Blocs de code
description: Ajoutez des blocs de code avec coloration syntaxique, numéros de ligne, noms de fichiers et surlignage. Prend en charge les CodeGroups pour les exemples multilingues.
---

Utilisez des blocs de code pour afficher des commandes, des fichiers de configuration et des extraits avec coloration syntaxique.

## Coloration syntaxique de base

```javascript
const greeting = "Hello, Jamdesk!";
console.log(greeting);
```

## Ajouter un nom de fichier

Affichez le chemin du fichier avec l'attribut `title` :

```typescript src/config.ts
export const config = {
  name: "My Docs",
  theme: "jam"
};
```

## Mise en surbrillance de lignes

Attirez l'attention sur des lignes spécifiques avec la syntaxe `{1,3-5}` :

```javascript {1,4-6}
// This line is highlighted
const config = {
  apiKey: process.env.API_KEY,
  baseUrl: 'https://api.example.com', // highlighted
  timeout: 5000,                       // highlighted
  retries: 3,                          // highlighted
};
```

## Numéros de ligne

Ajoutez des numéros de ligne avec `showLineNumbers` :

```python showLineNumbers
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)
```

## Ligne de départ personnalisée

Commencez la numérotation à partir d'une ligne spécifique :

```go showLineNumbers startLine=42
func processRequest(ctx context.Context) error {
    // This is line 42
    return nil
}
```

## Fonctionnalités combinées

Utilisez plusieurs fonctionnalités ensemble :

```typescript api/client.ts showLineNumbers {3-5}
import axios from 'axios';

const client = axios.create({
  baseURL: process.env.API_URL,
  timeout: 10000,
});

export default client;
```

## Groupes de code

Affichez le même code dans plusieurs langages :

<CodeGroup>
```bash cURL
curl -X POST https://api.example.com/posts \
  -H "Authorization: Bearer $API_KEY"
```

```javascript JavaScript
const response = await fetch('https://api.example.com/posts', {
  method: 'POST',
  headers: { 'Authorization': `Bearer ${API_KEY}` }
});
```

```python Python
import requests
response = requests.post(
    'https://api.example.com/posts',
    headers={'Authorization': f'Bearer {API_KEY}'}
)
```
</CodeGroup>

## Thèmes disponibles

Configurez les thèmes de coloration syntaxique dans `docs.json` :

```json docs.json
{
  "styling": {
    "codeblocks": {
      "theme": {
        "light": "github-light",
        "dark": "github-dark"
      }
    }
  }
}
```

<Accordion title="Voir les thèmes pris en charge">

Les thèmes populaires incluent :

- **GitHub** : `github-dark`, `github-light`, `github-dark-default`, `github-light-default`
- **Thèmes sombres** : `tokyo-night`, `one-dark-pro`, `dracula`, `nord`, `vitesse-dark`
- **Thèmes clairs** : `vitesse-light`, `min-light`
- **Catppuccin** : `catppuccin-mocha`, `catppuccin-latte`

</Accordion>

## Thème avec variables CSS

Pour un contrôle total sur les couleurs de coloration syntaxique, utilisez le thème CSS Variables :

```json docs.json
{
  "styling": {
    "codeblocks": {
      "theme": "css-variables"
    }
  }
}
```

Personnalisez ensuite les couleurs dans votre `style.css` :

```css style.css
:root {
  --jd-token-keyword: #ff7b72;
  --jd-token-string: #a5d6ff;
  --jd-token-comment: #8b949e;
  --jd-token-function: #d2a8ff;
  --jd-token-constant: #79c0ff;
  --jd-token-parameter: #ffa657;
}
```

<Accordion title="Voir toutes les variables CSS">

| Variable | Description |
| -------- | ----------- |
| `--jd-color-text` | Couleur du texte par défaut |
| `--jd-color-background` | Arrière-plan du bloc de code |
| `--jd-token-keyword` | Mots-clés (if, const, function) |
| `--jd-token-string` | Littéraux de chaîne |
| `--jd-token-comment` | Commentaires |
| `--jd-token-function` | Noms de fonctions |
| `--jd-token-constant` | Constantes |
| `--jd-token-parameter` | Paramètres de fonction |
| `--jd-token-punctuation` | Crochets, virgules |
| `--jd-token-link` | URL et liens |

</Accordion>

## Et ensuite ?

<Columns cols={2}>
  <Card title="Optimisation SEO" icon="magnifying-glass-chart" href="/fr/content/seo">
    Améliorez la découvrabilité et les métadonnées
  </Card>
  <Card title="Frontmatter" icon="file-lines" href="/fr/content/frontmatter">
    Définissez les titres, descriptions et champs SEO
  </Card>
</Columns>
