Les outils TOML de ToolDeck vous permettent de formater, valider et convertir des fichiers de configuration TOML directement dans votre navigateur — sans installation, sans compte, sans données transmises à un serveur. Le formateur TOML analyse votre fichier TOML et le re-sérialise avec une indentation cohérente, un ordre de clés normalisé et des erreurs de validation en ligne qui identifient précisément les problèmes de syntaxe. Le convertisseur TOML vers JSON transforme les documents TOML en leur équivalent JSON, en préservant les types de données, y compris les dates et heures, les tables en ligne et les tableaux de tables. Les deux outils s'exécutent entièrement côté client, de sorte que vos fichiers de configuration — qui contiennent souvent des identifiants de base de données, des endpoints API et des secrets de déploiement — restent sur votre machine. Si vous avez besoin de l'opération inverse, le convertisseur JSON vers TOML dans la catégorie JSON prend en charge cette conversion.
Que sont les outils TOML ?
TOML (Tom's Obvious, Minimal Language) est un format de fichier de configuration construit autour d'une syntaxe explicite et non ambiguë. Créé par Tom Preston-Werner, co-fondateur de GitHub, TOML a été publié pour la première fois en 2013 et a atteint sa spécification 1.0 en janvier 2021. Le format correspond de manière univoque à une table de hachage : chaque fichier TOML définit un arbre de paires clé-valeur organisées en tables (sections marquées par [crochets]). Contrairement à YAML, TOML ne repose pas sur l'indentation pour la structure, ce qui élimine toute une classe de bogues d'analyse liés aux espaces. Contrairement à JSON, TOML prend en charge les commentaires, les types natifs de date et heure, et les chaînes multilignes — des fonctionnalités dont les fichiers de configuration ont besoin mais que JSON n'a jamais été conçu pour fournir.
Les outils TOML automatisent le travail mécanique de lecture, de validation et de conversion des fichiers TOML. Les outils de formatage normalisent l'indentation et l'ordre des clés afin que les fichiers de configuration restent lisibles au sein d'une équipe, même lorsque plusieurs contributeurs modifient le même fichier. Les outils de conversion traduisent entre TOML et JSON, ce qui est utile lorsqu'une bibliothèque ou une API attend une entrée JSON mais que votre source de vérité est une configuration TOML. La validation détecte les erreurs de syntaxe — un crochet fermant manquant, une clé dupliquée ou une valeur de date et heure invalide — avant qu'elles ne provoquent des échecs au démarrage de l'application.
Ces tâches surviennent fréquemment dans les projets Rust (où Cargo.toml est le manifeste du paquet), dans le packaging Python (pyproject.toml a remplacé setup.py comme configuration de build standard dans PEP 518 et PEP 621), dans les sites statiques Hugo (qui utilisent TOML pour la configuration du site par défaut) et dans toute infrastructure qui stocke la configuration dans des fichiers TOML. La spécification TOML est maintenue sur toml.io, et des parseurs existent pour tous les langages de programmation majeurs.
Pourquoi utiliser les outils TOML de ToolDeck ?
Les outils TOML de ToolDeck analysent et traitent tout à l'intérieur de votre onglet navigateur en utilisant JavaScript. Aucune donnée de configuration n'est transmise à un serveur, aucun compte n'est requis, et les outils fonctionnent hors ligne après le chargement initial de la page.
🔒Privé par défaut
Les fichiers de configuration contiennent souvent des valeurs sensibles — URLs de base de données, clés API, cibles de déploiement. ToolDeck traite TOML entièrement côté client, donc rien ne quitte votre navigateur. Sans risque pour les projets propriétaires et les configurations d'infrastructure interne.
⚡Retour instantané
Collez du TOML, obtenez immédiatement la sortie formatée ou le JSON correspondant. Les erreurs de syntaxe sont signalées avec des numéros de ligne et des descriptions. Pas d'attente pour l'installation d'un outil CLI ou l'exécution d'une étape de build.
🔄Conversion de types précise
Le convertisseur TOML vers JSON préserve les types spécifiques à TOML comme les dates et heures avec décalage, les dates locales et les heures locales sous forme de chaînes ISO 8601. La précision des entiers et des flottants est maintenue. Les tableaux de tables sont correctement mappés vers des tableaux JSON d'objets.
🌐Aucune installation requise
Fonctionne sur tout appareil avec un navigateur moderne. Utile lorsque vous passez en revue une pull request sur une machine sans votre environnement de développement habituel, ou lorsque vous devez valider rapidement un fichier TOML d'un collègue.
Cas d'usage des outils TOML
Le formatage, la validation et la conversion TOML interviennent dans différents rôles et types de projets. Les développeurs Rust travaillent quotidiennement avec Cargo.toml. Les développeurs Python configurent leurs builds et outils via pyproject.toml. Les ingénieurs DevOps gèrent la configuration d'applications livrée sous forme de TOML. Les tâches ci-dessous montrent où les outils TOML dans le navigateur font gagner du temps par rapport à l'écriture d'un script ponctuel ou à l'installation d'un outil CLI.
Nettoyage de Cargo.toml
Après avoir fusionné plusieurs ajouts de dépendances, le Cargo.toml d'un projet Rust présente un formatage incohérent. Faites-le passer dans le
formateur TOML pour normaliser l'indentation et l'ordre des clés avant de commiter.
pyproject.toml vers JSON
Un pipeline CI a besoin des métadonnées de build au format JSON, mais la source de vérité est pyproject.toml. Utilisez le
convertisseur TOML vers JSON pour générer la représentation JSON et vérifier le mapping avant d'automatiser la conversion dans votre pipeline.
Migration de configuration
Migration d'une application d'une configuration JSON vers TOML (ou inversement). Le
convertisseur TOML vers JSON vous permet de comparer les deux représentations côte à côte pour confirmer que les types de données, les structures imbriquées et la sémantique des tableaux sont préservés.
Débogage de syntaxe
Un fichier de configuration TOML échoue à l'analyse au démarrage de l'application avec un message d'erreur opaque. Collez-le dans le
formateur TOML pour obtenir les numéros de ligne et de colonne précis de l'erreur de syntaxe, ainsi qu'une description de ce que le parseur attendait.
Génération de documentation
Rédaction de documentation incluant des exemples de configuration en formats TOML et JSON. Convertissez l'exemple TOML canonique via le
convertisseur TOML vers JSON pour que les deux versions restent synchronisées sans transcription manuelle.
Apprentissage de la syntaxe TOML
Les développeurs qui découvrent TOML peuvent expérimenter avec le format en écrivant du TOML dans le
formateur TOML, en voyant les erreurs de validation en temps réel et en comparant la structure avec la sortie formatée. C'est plus rapide que de lire la spécification seul.
Référence des types de données TOML
TOML v1.0 définit les types de données suivants. Chaque type correspond à une représentation spécifique lors de la conversion en JSON. Le tableau ci-dessous couvre la syntaxe, les exemples et le comportement de conversion pour chaque type TOML.
| Type | Syntaxe | Exemple | Correspondance JSON |
|---|
| Chaîne | "..." ou '...' | name = "TOML" | Chaîne JSON. Les chaînes de base prennent en charge les séquences d'échappement (\n, \t, \u). Les chaînes littérales ('...') traitent les barres obliques inverses comme des caractères littéraux. |
| Entier | chiffres, 0x, 0o, 0b | port = 8080 | Nombre JSON. Prend en charge l'hexadécimal (0xDEAD), l'octal (0o755), le binaire (0b1010) et les séparateurs de soulignement (1_000). |
| Flottant | chiffres avec . ou e | pi = 3.14159 | Nombre JSON. Prend en charge inf, -inf et nan (mappés vers null ou une chaîne en JSON, JSON ne disposant pas de NaN natif). |
| Booléen | true / false | enabled = true | Booléen JSON. Seuls true et false en minuscules sont valides. |
| Date-Heure avec décalage | RFC 3339 | 2024-01-15T09:30:00Z | Chaîne JSON (ISO 8601). Inclut le décalage de fuseau horaire. Pas de type datetime natif en JSON. |
| Date-Heure locale | date T heure | 2024-01-15T09:30:00 | Chaîne JSON. Aucune information de fuseau horaire. Utile pour les heures murales. |
| Date locale | YYYY-MM-DD | 2024-01-15 | Chaîne JSON. Date sans composante horaire. |
| Heure locale | HH:MM:SS | 09:30:00 | Chaîne JSON. Heure sans date ni fuseau horaire. |
| Tableau | [valeur, ...] | ports = [8080, 8443] | Tableau JSON. Les tableaux TOML peuvent être hétérogènes en TOML v1.0 mais doivent être homogènes en v0.5. |
| Table | tomlCategoryContent.r10Syntax | [database] | Objet JSON. Les tables standard utilisent [crochets]. Les tables en ligne utilisent des accolades sur une seule ligne. |
La spécification TOML v1.0.0 (toml.io) est la version stable actuelle. Les tableaux de tables utilisent [[doubles crochets]] pour définir des entrées de table répétées, correspondant à des tableaux JSON d'objets.
Comment choisir le bon outil TOML
ToolDeck propose trois outils qui fonctionnent avec des fichiers TOML. Deux se trouvent dans la catégorie TOML, et un dans la catégorie JSON pour la conversion dans le sens inverse. Choisissez l'outil qui correspond à votre tâche.
- 1
Si vous avez besoin de ré-indenter un fichier TOML, normaliser l'ordre des clés ou valider la syntaxe TOML avec un rapport d'erreurs au niveau de la ligne → Formateur TOML - 2
Si vous avez besoin de convertir un fichier de configuration TOML en JSON pour une utilisation dans des API, des scripts ou des outils qui attendent une entrée JSON → Convertisseur TOML vers JSON - 3
Si vous avez besoin de convertir un document JSON en format TOML pour les projets qui utilisent TOML comme standard de configuration → Convertisseur JSON vers TOML
Pour le travail TOML quotidien, le formateur TOML gère le formatage et la validation en une seule étape — collez votre TOML, et il produira soit une sortie propre, soit vous indiquera exactement où se trouve l'erreur de syntaxe. Lorsque vous devez faire le pont entre TOML et JSON, le convertisseur TOML vers JSON préserve tous les types de données TOML, y compris les dates et heures et les tables imbriquées. Pour la direction inverse (JSON vers TOML), utilisez le convertisseur JSON vers TOML dans la catégorie JSON. Si vous déboguez une configuration qui échoue à l'analyse, commencez par le formateur TOML : ses messages d'erreur incluent des numéros de ligne et des descriptions de tokens attendus qui sont plus précis que ce que la plupart des parseurs TOML au niveau applicatif rapportent.
Questions fréquentes
Quelle est la différence entre TOML et YAML ?
TOML utilise une syntaxe de crochets explicite pour les tables et ne repose pas sur l'indentation pour la structure. YAML utilise l'indentation pour définir la hiérarchie, ce qui le rend sensible aux erreurs d'espacement — un seul espace mal placé peut modifier entièrement la structure analysée. TOML dispose également de types natifs de date et heure et interdit les clés dupliquées, tandis que YAML utilise silencieusement la dernière valeur lorsqu'une clé apparaît deux fois. TOML est généralement préféré pour la configuration d'applications, tandis que YAML est plus courant dans les manifestes Kubernetes et les définitions de pipelines CI/CD où son support multi-documents et ses ancres/alias sont utiles.
Quelle est la différence entre TOML et JSON ?
JSON est un format d'échange de données conçu pour la communication machine à machine. TOML est un format de configuration conçu pour être lu et modifié par des humains. TOML prend en charge les commentaires (lignes commençant par #), les types natifs de date et heure, les chaînes multilignes et les tables qui réduisent la profondeur d'imbrication. JSON ne prend pas en charge les commentaires, n'a pas de type date et nécessite une imbrication explicite avec des accolades. JSON est le bon choix pour les charges utiles d'API et le stockage de données ; TOML est le bon choix pour les fichiers de configuration que les humains éditent manuellement.
TOML peut-il représenter toutes les structures de données JSON ?
TOML peut représenter la plupart des structures JSON, mais il existe des cas limites. TOML ne prend pas en charge les valeurs null — il n'existe pas d'équivalent TOML au null JSON. Les clés TOML doivent être des chaînes, ce qui correspond aux clés d'objets JSON. Les tableaux TOML étaient limités aux types homogènes en v0.5, mais TOML v1.0 autorise les tableaux à types mixtes. Les objets JSON profondément imbriqués peuvent devenir verbeux en TOML car chaque niveau d'imbrication nécessite un en-tête de table séparé.
Quels projets utilisent TOML pour la configuration ?
Le système de build Cargo de Rust utilise Cargo.toml comme manifeste de paquet. Python a adopté pyproject.toml comme fichier de configuration de build standard via PEP 518 (2016) et PEP 621 (2020). Hugo, le générateur de sites statiques, utilise TOML pour la configuration du site par défaut. InfluxDB utilise TOML pour sa configuration serveur. Le système de modules Go a envisagé TOML mais a choisi son propre format ; cependant, de nombreux projets Go utilisent encore TOML pour la configuration au niveau applicatif via des bibliothèques comme BurntSushi/toml et pelletier/go-toml.
Comment TOML gère-t-il les commentaires ?
TOML prend en charge les commentaires en ligne complète et les commentaires en fin de ligne à l'aide du caractère #. Tout ce qui va de # à la fin de la ligne est ignoré par le parseur. Les commentaires ne peuvent pas apparaître à l'intérieur des chaînes de base multilignes ou des chaînes littérales multilignes. Lors de la conversion de TOML en JSON, les commentaires sont supprimés car JSON ne dispose pas de syntaxe de commentaires. Cela signifie qu'un aller-retour de TOML vers JSON puis de JSON vers TOML perdra tous les commentaires du fichier d'origine.
Que sont les tableaux de tables en TOML ?
Les tableaux de tables utilisent la syntaxe [[doubles crochets]] pour définir des entrées répétées de la même structure de table. Par exemple, [[servers]] apparaissant deux fois crée un tableau avec deux objets serveur. En JSON, cela correspond à un tableau d'objets. Les tableaux de tables sont couramment utilisés pour les listes de dépendances, les définitions de serveurs ou les configurations de plugins où chaque entrée possède le même ensemble de clés.
TOML est-il sensible aux espaces ?
TOML n'est pas sensible à l'indentation. L'indentation est purement cosmétique et n'affecte pas l'analyse. Cependant, TOML requiert des sauts de ligne pour séparer les paires clé-valeur — vous ne pouvez pas mettre deux paires clé-valeur sur la même ligne (sauf à l'intérieur des tables en ligne). Les tables en ligne doivent tenir sur une seule ligne et ne peuvent pas contenir de sauts de ligne. Cette conception évite les bogues liés à l'indentation qui sont fréquents dans les fichiers YAML.
Que se passe-t-il avec les valeurs de date et heure TOML lors de la conversion en JSON ?
JSON ne dispose pas de type datetime natif, donc les dates et heures TOML sont converties en chaînes ISO 8601. Les dates et heures avec décalage (comme 2024-01-15T09:30:00Z) conservent leur décalage de fuseau horaire dans la représentation en chaîne. Les dates et heures locales, les dates locales et les heures locales sont chacune sérialisées sous forme de chaînes sans information de fuseau horaire. La conversion est sans perte dans le sens où la valeur d'origine peut être analysée à nouveau depuis la chaîne, mais le consommateur JSON doit savoir traiter ces chaînes comme des dates plutôt que comme du texte arbitraire.