0Pricing
AI Prompt Engineering · Leçon

Mise en forme Markdown dans les invites

En-têtes, gras et blocs de code : apprenez à indiquer une mise en forme enrichie.

Mise en forme Markdown dans les invites est une leçon AI Prompt Engineering gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Prompt Engineering, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Prompt Engineering comprend 4 leçons au total.

Le Markdown dans les sorties d'IA

Markdown est une syntaxe légère de mise en forme du texte que les modèles d'IA comprennent nativement. Lorsque vous demandez une sortie au format Markdown, le modèle produit un texte qui s'affiche avec une mise en forme enrichie dans les environnements compatibles.

Savoir demander précisément chaque élément Markdown vous donne un contrôle précis sur la structure de chaque document généré par l'IA.

Demander des en-têtes

Les en-têtes Markdown utilisent des symboles dièse : # pour H1, ## pour H2 et ### pour H3.

Demandez-les explicitement : 'Structurez le document avec des en-têtes de section H2', 'Utilisez ## pour les sections principales et ### pour les sous-sections' ou 'Incluez un seul titre H1 # en haut du document.'

Les en-têtes créent une structure navigable dans Notion, GitHub, Obsidian et la plupart des outils de documentation.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=400,
    messages=[{
        'role': 'user',
        'content': (
            'Write a technical guide outline for "Getting Started with FastAPI". '
            'Structure: one # H1 title at the top, then 4 ## H2 section headers, '
            'each with 2 ### H3 subsection headers beneath it. '
            'Add one sentence of placeholder content under each H3.'
        )
    }]
)
print(response.content[0].text)

Mise en évidence en gras et en italique

Mise en évidence en gras et en italique dans Markdown :

  • **bold text** → texte en gras
  • *italic text* → texte en italique
  • ***bold and italic*** → texte en gras et en italique

Demandez : 'Mettez tous les termes clés en gras lors de leur première utilisation', 'Utilisez l'italique pour les noms de produits' ou 'Mettez en gras la tâche à réaliser dans chaque étape.'

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Explain the concept of idempotency in REST APIs. '
            'Rules:\n'
            '- Bold every technical term on its first occurrence only\n'
            '- Italicize all HTTP method names (GET, POST, PUT, DELETE, PATCH)\n'
            '- 150 words max, flowing prose — no bullets or headers'
        )
    }]
)
print(response.choices[0].message.content)

Blocs de code

Les blocs de code en Markdown utilisent trois accents graves, avec une indication facultative du langage pour la coloration syntaxique :

```python
print('hello')
```

Demandez : 'Incluez tout le code dans des blocs de code python', 'Placez chaque commande dans un bloc de code bash' ou 'Affichez l'exemple JSON dans un bloc de code json.'

L'indication du langage active la coloration syntaxique dans GitHub, VS Code et les sites de documentation.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=400,
    messages=[{
        'role': 'user',
        'content': (
            'Show me how to connect to PostgreSQL from Python using psycopg3.\n'
            'Structure:\n'
            '1. Install command in a bash code block.\n'
            '2. Connection example in a python code block with type hints.\n'
            '3. A sample SELECT query in a python code block.\n'
            'Keep each code block under 10 lines. Brief one-sentence intro before each block.'
        )
    }]
)
print(response.content[0].text)

Code en ligne

Le code en ligne utilise des accents graves simples : `variable_name`. Il s'affiche dans une police à chasse fixe au sein d'une phrase — idéal pour :

  • Noms de variables : user_id
  • Noms de fonctions : calculate_tax()
  • Noms de commandes : git commit
  • Chemins de fichiers : /etc/nginx/nginx.conf
  • Points de terminaison HTTP : /api/v1/users

Demande : « Utilisez le formatage du code en ligne pour tous les noms de variables et de fonctions. »

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Explain the difference between Python list .append() and .extend(). '
            'Rules:\n'
            '- Use inline code for all method names, parameter names, and variable examples\n'
            '- Use a python code block for each demonstration example\n'
            '- Prose sections: max 2 sentences\n'
            '- Do NOT use headers or bullets — flowing prose with code blocks only'
        )
    }]
)
print(response.choices[0].message.content)

Citations en bloc

Les citations en bloc utilisent > au début d'une ligne. Dans le balisage :

> This is a blockquote.

Cas d'utilisation : encadrés de mise en évidence, notes importantes, dialogues d'exemple, extraits de sources citées, avertissements.

Demande : « Placez l'avertissement le plus important dans une citation en bloc » ou « Utilisez une citation en bloc pour le scénario d'exemple. »

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            'Write a security guide section about SQL injection prevention. '
            'Structure:\n'
            '- 2-sentence explanation of the risk\n'
            '- One blockquote containing a real example of vulnerable code (as a note/warning)\n'
            '- 3 bullet points on how to prevent it\n'
            '- One blockquote containing the safe alternative code pattern'
        )
    }]
)
print(response.content[0].text)

Listes imbriquées dans le balisage

Les listes imbriquées utilisent l'indentation (2 ou 4 espaces) pour créer une hiérarchie :

- Main item
  - Sub-item
  - Sub-item
    - Sub-sub-item

Demande : « Créez une liste imbriquée à deux niveaux comportant X éléments principaux et Y sous-éléments pour chacun » ou « Utilisez des puces imbriquées pour montrer la relation entre les catégories et les exemples. »

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Create a 2-level nested markdown list of AWS services for a web startup. '
            'Level 1: 4 service categories (Compute, Storage, Database, Networking). '
            'Level 2: 3 specific services under each category with a 5-word description. '
            'Format: markdown nested bullets with proper indentation.'
        )
    }]
)
print(response.choices[0].message.content)

Liens et images

Liens en balisage : [link text](URL)
Images en balisage : ![alt text](image-URL)

Les modèles d'IA peuvent générer des liens de remplacement avec un texte pertinent : « Incluez des liens en balisage vers la documentation pertinente — utilisez des URL de remplacement comme [documentation officielle](https://example.com). »

Pour une documentation comportant des espaces réservés pour les diagrammes : « Incluez un espace réservé pour une image avec un texte alternatif pertinent. »

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            'Write a README section for a Python open-source project called "sqlens". '
            'Include:\n'
            '- An image placeholder for a demo screenshot: ![Demo screenshot](docs/demo.png)\n'
            '- At least 2 markdown links: one to the PyPI page, one to the documentation\n'
            '- A badge placeholder using an image link\n'
            '- 3 bullet points of key features\n'
            'Use realistic placeholder URLs (pypi.org/project/sqlens etc).'
        )
    }]
)
print(response.content[0].text)

Règles horizontales et séparateurs

Les règles horizontales utilisent trois tirets (---), des astérisques (***) ou des traits de soulignement (___).

Utilisez-les pour séparer visuellement les grandes sections d'un document. Demande : « Ajoutez une règle horizontale --- entre chaque grande section » ou « Séparez les trois sections avec des séparateurs de balisage. »

Les règles horizontales s'affichent dans la plupart des environnements de balisage et aident les lecteurs à parcourir les documents longs.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Write a mini technical specification document for a user authentication API. '
            'Include exactly 3 sections: Overview, Endpoints, Security Requirements. '
            'Separate each section with a --- horizontal rule. '
            'Each section: ## H2 header + 3-5 bullet points of content. '
            'Under Endpoints: use inline code for all route paths and HTTP methods.'
        )
    }]
)
print(response.choices[0].message.content)

Quand le balisage ne s'affiche pas

Le balisage est utile uniquement lorsque l'environnement de sortie l'interprète. Le balisage NOT ne s'affiche pas dans :

  • Les clients de messagerie en texte brut (des astérisques bruts apparaissent)
  • Les messages SMS
  • La plupart des champs de notes de CRM
  • La sortie vocale (synthèse vocale)
  • Les systèmes anciens qui attendent du texte brut

Dans ces contextes, demandez explicitement du texte brut. Nous aborderons ce sujet dans la prochaine leçon.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Check if environment renders markdown before requesting it
rendering_environments = {
    'GitHub':     True,
    'Notion':     True,
    'Obsidian':   True,
    'VS Code':    True,
    'Gmail body': False,  # some markdown, not all
    'Outlook':    False,
    'SMS':        False,
    'Plain text file': False,
}

print('Markdown rendering support:')
for env, renders in rendering_environments.items():
    status = 'RENDERS' if renders else 'DOES NOT RENDER'
    print(f'  {env:<20} {status}')

# Decision: use markdown only when you know it renders
use_markdown = True  # set based on your environment

format_instruction = (
    'Use markdown headers, bold, and code blocks.' if use_markdown
    else 'Plain text only — no markdown symbols.'
)
print('\nFormat instruction:', format_instruction)

Combiner les éléments de balisage

Les documents générés par l'IA et de qualité professionnelle combinent plusieurs éléments de balisage. Un document technique bien structuré peut utiliser :

  • # titre H1 + ## sections H2
  • Des termes clés en **bold** lors de leur première utilisation
  • Des blocs de code avec une indication de langage pour tout le code
  • Du code en ligne pour tous les noms de variables et de fonctions
  • Des listes à puces pour les exigences et des listes numérotées pour les étapes
  • Des citations en bloc pour les avertissements et les notes importantes
  • Des séparateurs --- entre les grandes sections
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Write a mini developer guide for the requests Python library. '
            'Use all of the following markdown elements:\n'
            '- # H1 title at the top\n'
            '- ## H2 sections: Installation, Basic Usage, Error Handling\n'
            '- Bold all key terms on first use\n'
            '- Code blocks with python/bash language hints\n'
            '- Inline code for all function names\n'
            '- One blockquote warning about timeout best practice\n'
            '- --- between each section\n'
            'Max 300 words total.'
        )
    }]
)
print(response.choices[0].message.content)

Vérification des connaissances

Un développeur construit un assistant d'IA qui produit du contenu destiné à être affiché dans un terminal avec print() — sans interface web ni moteur de rendu du balisage. Il demande à l'IA une explication de fonctionnalité et obtient une sortie remplie d'astérisques et de symboles dièse. Que doit-il ajouter au message système pour résoudre ce problème ?

Le balisage dans les invites — Récapitulatif

Le formatage par balisage donne une structure professionnelle à vos documents générés par l'IA. Voici les principaux éléments à demander :

  • En-têtes : # H1, ## H2, ### H3 — pour une structure de document facile à parcourir
  • Mise en évidence : **bold** pour les termes clés, *italic* pour les noms particuliers
  • Blocs de code : trois accents graves avec une indication de langage pour la mise en évidence de la syntaxe
  • Code en ligne : un accent grave simple pour les noms de variables, les commandes et les chemins
  • Citations en bloc : préfixe > pour les avertissements, les encadrés de mise en évidence et les contenus cités
  • Listes imbriquées : puces indentées pour les informations hiérarchiques

Utilisez le balisage uniquement lorsque vous savez que l'environnement de sortie l'interprète.

Questions Fréquemment Posées

La leçon « Mise en forme Markdown dans les invites » est-elle gratuite ?

Oui — le texte complet de « Mise en forme Markdown dans les invites » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Prompt Engineering, passe à CoddyKit PRO. Le cours AI Prompt Engineering comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Mise en forme Markdown dans les invites » ?

En-têtes, gras et blocs de code : apprenez à indiquer une mise en forme enrichie. Tu pratiques AI Prompt Engineering avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AI Prompt Engineering ?

Aucune expérience préalable n'est requise. AI Prompt Engineering sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Mise en forme Markdown dans les invites » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AI Prompt Engineering ?

Oui. Chaque leçon AI Prompt Engineering inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Demander des listes et des puces
  2. Demander des tableaux et des données structurées
  3. Mise en forme Markdown dans les invites
  4. Texte brut ou sortie mise en forme
← Retour à AI Prompt Engineering