00

En bref

  • TOML est un format de configuration textuel qui associe sans ambiguïté des clés et des valeurs à une table de hachage, avec des noms sensibles à la casse et un encodage UTF-8 valide obligatoire.
  • Ouvrez le fichier dans un éditeur de texte. Sous Windows, utilisez Ouvrir ; sur Mac, choisissez le mode texte brut ; sur téléphone, utilisez une application capable de lire du texte UTF-8. Conservez UTF-8 à l'enregistrement. Afficher le texte ne valide pas sa syntaxe. Python peut le lire avec tomllib.load() ou tomllib.loads() ; un document invalide provoque TOMLDecodeError.
  • Le registre IANA indique que TOML ne contient pas de contenu exécutable. Une entrée malveillante peut néanmoins consommer beaucoup de processeur et de mémoire pendant l'analyse. Limitez la taille des données à analyser. Une analyse réussie ne garantit pas la fiabilité du contenu.
01

Fichiers TOML : ouvrir, modifier et convertir une configuration

TOML signifie Tom's Obvious, Minimal Language. Il utilise key = value et accepte les chaînes, entiers, nombres flottants, booléens, dates et heures, tableaux, tables et tableaux de tables. Les commentaires commencent par #. Son type de média enregistré est application/toml, son extension est .toml et il ne possède pas d'octets magiques fixes.

Gardez l’original

tomllib lit TOML sous forme de dictionnaires Python, mais ne peut pas écrire de TOML. La documentation Python recommande TOML Kit pour modifier des fichiers existants en préservant leur style. Le passage par un dictionnaire ne garantit pas la conservation des commentaires et de la mise en forme. Les flottants peuvent être arrondis ; parse_float permet de choisir decimal.Decimal.

02

Comment l’ouvrir

Ouvrez le fichier dans un éditeur de texte. Sous Windows, utilisez Ouvrir ; sur Mac, choisissez le mode texte brut ; sur téléphone, utilisez une application capable de lire du texte UTF-8. Conservez UTF-8 à l'enregistrement. Afficher le texte ne valide pas sa syntaxe. Python peut le lire avec tomllib.load() ou tomllib.loads() ; un document invalide provoque TOMLDecodeError.

Je veux seulement le consulter

Ouvrez le fichier dans un éditeur de texte. Sous Windows, utilisez Ouvrir ; sur Mac, choisissez le mode texte brut ; sur téléphone, utilisez une application capable de lire du texte UTF-8. Conservez UTF-8 à l'enregistrement. Afficher le texte ne valide pas sa syntaxe. Python peut le lire avec tomllib.load() ou tomllib.loads() ; un document invalide provoque TOMLDecodeError.

Je dois l’envoyer

tomllib lit TOML sous forme de dictionnaires Python, mais ne peut pas écrire de TOML. La documentation Python recommande TOML Kit pour modifier des fichiers existants en préservant leur style. Le passage par un dictionnaire ne garantit pas la conservation des commentaires et de la mise en forme. Les flottants peuvent être arrondis ; parse_float permet de choisir decimal.Decimal.

03

Sécurité

Le registre IANA indique que TOML ne contient pas de contenu exécutable. Une entrée malveillante peut néanmoins consommer beaucoup de processeur et de mémoire pendant l'analyse. Limitez la taille des données à analyser. Une analyse réussie ne garantit pas la fiabilité du contenu.

Arrêtez-vous si vous voyez ceci

Expéditeur inconnu, nom qui se termine par deux extensions, contenu qui ne correspond pas à l’extension : vérifiez avant d’ouvrir.

04

La conversion

tomllib lit TOML sous forme de dictionnaires Python, mais ne peut pas écrire de TOML. La documentation Python recommande TOML Kit pour modifier des fichiers existants en préservant leur style. Le passage par un dictionnaire ne garantit pas la conservation des commentaires et de la mise en forme. Les flottants peuvent être arrondis ; parse_float permet de choisir decimal.Decimal.

Avant de convertir

Convertissez une copie, jamais l’original, puis comparez qualité, métadonnées et mise en page avec le fichier de départ.

05

Questions fréquentes

Qu'est-ce qu'un fichier TOML et à quoi sert-il ?

Il stocke une configuration en texte avec des affectations key = value, associées sans ambiguïté à une table de hachage. Il distingue les majuscules des minuscules et exige un encodage UTF-8 valide.

Comment ouvrir un fichier TOML sous Windows ?

Lancez un éditeur de texte et sélectionnez le fichier .toml avec Ouvrir. Si le filtre le masque, choisissez tous les fichiers. Enregistrez les modifications en UTF-8.

Comment modifier un fichier TOML sur Mac ?

Ouvrez-le dans un éditeur en mode texte brut. Respectez la syntaxe key = value et enregistrez-le comme texte UTF-8 avec l'extension .toml.

Comment ouvrir un fichier TOML sur téléphone ?

Sélectionnez le fichier dans une application de texte capable d'ouvrir des fichiers UTF-8. L'accès aux fichiers et les fonctions d'édition dépendent de l'application. L'affichage seul ne valide pas la syntaxe TOML.

Pourquoi TOMLDecodeError apparaît-il à la lecture d'un fichier TOML ?

Python signale ainsi un document TOML invalide. Vérifiez les affectations, guillemets, déclarations de tables et l'encodage UTF-8. Vérifiez aussi la version : Python 3.11 a introduit tomllib pour TOML 1.0.0 ; Python 3.15 ajoute TOML 1.1.0.

Faut-il choisir un éditeur de texte ou un analyseur Python pour TOML ?

Choisissez l'éditeur pour lire ou modifier le texte. Utilisez tomllib pour obtenir un dictionnaire et détecter un TOML invalide. tomllib ne peut ni écrire le fichier ni conserver une représentation textuelle modifiable.

Comment convertir TOML sans perdre les commentaires et la mise en forme ?

Le passage par un dictionnaire ne garantit pas la conservation du style original. La documentation Python recommande TOML Kit pour modifier en préservant le style, avec lecture et écriture. Contrôlez les commentaires et la mise en forme du résultat.

Quels sont les risques de l'analyse d'un fichier TOML non fiable ?

Selon IANA, TOML ne contient pas de contenu exécutable. Une entrée malveillante peut toutefois consommer beaucoup de processeur et de mémoire. Limitez sa taille avant l'analyse ; aucune taille universellement sûre n'est indiquée ici.

La précision des nombres flottants dans TOML peut-elle changer à la lecture ?

Oui. TOML recommande au moins IEEE 754 binary64 ; les valeurs dépassant 15 chiffres décimaux significatifs peuvent être arrondies. Dans tomllib, parse_float=decimal.Decimal permet de choisir un type décimal.

Comment lire des fichiers TOML avec Python ?

Utilisez tomllib.load() avec un fichier ouvert en mode binaire, ou tomllib.loads() avec une chaîne. Les deux renvoient un dictionnaire. Ce module existe dans la bibliothèque standard depuis Python 3.11 et permet uniquement la lecture.

Une analyse TOML réussie prouve-t-elle que la configuration est fiable ?

Non. Elle indique seulement que l'analyseur a accepté le document. Elle ne vérifie ni sa provenance, ni l'exactitude des valeurs, ni leur adéquation à l'usage prévu.

06

Formats associés

Sources

TOML v1.1.0 官方规范 · TOML 官方项目

application/toml 媒体类型登记 · IANA

tomllib — Parse TOML files · Python 官方文档

Tom's Obvious, Minimal Language · 美国国会图书馆