Aide-mémoire Développement

Aide-mémoire de la syntaxe TOML

Tous les types de valeurs TOML, tables, tableaux de tables, clés pointées, chaînes et dates sur une page, avec un exemple complet analysé par le tomllib de Python 3.12.

Dernière vérification :

AdSense Placeholder
Slot: header_reference_page
Sur cette page

TOML (Tom's Obvious Minimal Language) est un format de configuration conçu pour se lire sans ambiguïté et se traduire en table de hachage. Il est utilisé par pyproject.toml, Cargo.toml et de nombreux outils. Convertissez entre formats avec le convertisseur TOML vers JSON et le convertisseur JSON vers TOML.

Un exemple complet

# A comment
title = "Example"
count = 42
ratio = 3.14
enabled = true
released = 2026-10-28
updated = 2026-10-28T07:32:00Z
tags = ["a", "b", "c"]
products = [
  { name = "Hammer", sku = 738594937 },
  { name = "Nail", sku = 284758393 },
]

[server]
host = "localhost"
port = 8080

[server.tls]
enabled = false

Types de valeurs

Type Exemples
Chaîne "basique" (échappements permis), 'littérale' (sans échappement), """multiligne""", '''littérale multiligne'''
Entier 42, +17, -5, 1_000, 0xFF, 0o17, 0b101
Flottant 3.14, -0.01, 6.626e-34, +inf, -inf, nan
Booléen true, false (minuscules uniquement)
Date-heure avec décalage 2026-10-28T07:32:00Z ou 2026-10-28T07:32:00+02:00
Date-heure locale 2026-10-28T07:32:00 (sans fuseau)
Date locale 2026-10-28
Heure locale 07:32:00
Tableau [1, 2, 3], peut s'étendre sur plusieurs lignes avec une virgule finale
Table en ligne { a = 1, b = 2 } (sur une seule ligne)

Tables, clés pointées et tableaux de tables

  • Un en-tête [table] ouvre une section ; chaque clé qui suit appartient à cette table jusqu'au prochain en-tête.
  • [a.b] définit la table b dans a. Un même chemin de clés ne peut être défini qu'une fois.
  • Les clés pointées comme a.b.c = 1 créent des tables imbriquées sans en-tête : le résultat est {"a": {"b": {"c": 1}}}.
  • Un en-tête dont le nom est entouré de doubles crochets (deux crochets ouvrants, le nom, deux crochets fermants, sans espace) ajoute une nouvelle table à un tableau de tables. Chaque en-tête répété ajoute un élément ; un tableau de tables en ligne, comme dans l'exemple, fait la même chose sur une seule ligne.

Règles qui piègent

  • Les clés sont sensibles à la casse et les clés sans guillemets n'admettent que A-Za-z0-9_-. Mettez le reste entre guillemets : "ma clé" = 1.
  • Une clé ne peut être définie deux fois, et [server] après server.port = 1 est une erreur.
  • Les entiers n'ont pas de zéros initiaux (007 est invalide) et les flottants exigent des chiffres des deux côtés du point (.5 et 5. sont invalides).
  • Il n'existe pas de null. Omettez la clé, ou utilisez une chaîne vide ou une valeur sentinelle documentée.
  • En TOML 1.0, les tableaux peuvent mélanger les types, mais la plupart des outils en attendent un seul.
  • Les espaces ne comptent pas, contrairement à YAML, mais une valeur doit se terminer sur sa ligne.

Essayez ces outils

Voir aussi

  • Aide-mémoire Fiche pratique de la syntaxe YAML
    Aide-mémoire YAML : scalaires, chaînes, listes, mappages, texte multiligne, ancres.
  • Comparatif TOML vs YAML vs JSON
    Trois formats de configuration comparés : commentaires, lisibilité, types de données, pièges et usages courants.
  • Glossaire TOML
    TOML est un petit format de fichier de configuration aux types et sections clairs.
  • Glossaire YAML
    Le YAML est un format de données lisible par les humains qui utilise l'indentation plutôt que des accolades.
AdSense Placeholder
Slot: footer_leaderboard