Convertir CSV en YAML en Ligne
Convertis tes tableaux CSV en configuration YAML. Gratuit, dans ton navigateur, sans envoyer de fichiers.
- nombre: Juan
edad: 30
ciudad: Madrid
- nombre: Maria
edad: 25
ciudad: Barcelona
- nombre: Carlos
edad: 35
ciudad: ValenciaCas d'usage
CSV vers YAML pour les configurations, inventaires et donnees de test
Inventaires Ansible depuis Excel
Transforme tes tableurs de serveurs en inventaires YAML prets pour Ansible.
Configurations Docker Compose
Genere des configurations de services pour Docker Compose depuis des tableaux de parametres.
Fixtures et donnees de test
Convertis les feuilles de donnees QA en fixtures YAML pour pytest, RSpec ou Cypress.
100% prive
La conversion s'effectue dans ton navigateur. Ton CSV n'est jamais envoye a aucun serveur.
Comment ça marche
Trois étapes, sans complications
Colle ou charge ton CSV
Glisse ton fichier .csv ou colle le contenu. La premiere ligne definit les cles YAML de chaque objet.
Conversion automatique
Chaque ligne CSV devient un objet YAML dans une sequence. Les types de donnees sont detectes automatiquement.
Copie ou telecharge le YAML
Copie le YAML genere dans le presse-papiers ou telecharge-le sous forme de fichier .yaml pret a utiliser dans ton projet.
FAQ
Des questions ?
L'outil detecte les types automatiquement : les valeurs true ou false (sans guillemets) sont converties en booleens YAML, les entiers en integers, les decimaux en floats, et le reste reste en chaines de caracteres. C'est important pour la compatibilite avec Ansible (qui utilise PyYAML/YAML 1.1) et avec Kubernetes (qui utilise le parseur Go, gopkg.in/yaml.v3, compatible avec YAML 1.2). Si une valeur comme 007 doit rester une chaine (par exemple, un code pays), elle doit etre entre guillemets dans le CSV original.
Les cas principaux sont : generer des inventaires Ansible depuis un tableur d'inventaire de serveurs (avec des colonnes comme hostname, ip, group, user), creer des fichiers docker-compose.yml avec plusieurs services depuis un tableau de configuration, generer des configurations de variables d'environnement par service depuis un CSV de parametres d'application, creer des fixtures de donnees de test pour pytest ou RSpec depuis des feuilles de donnees de test partagees avec l'equipe QA, et produire des fichiers Helm values.yaml pour des deployments Kubernetes depuis des tableaux de configuration d'environnement.
L'inventaire Ansible en format YAML attend une structure specifique avec des groupes et des hosts. Si ton CSV a des colonnes comme host, ip, group et user, la conversion directe genere une liste plate d'objets. Pour obtenir la structure hierarchique de groupes qu'Ansible attend, le resultat le plus utile est une liste d'objets-hosts que tu peux traiter avec un script Python utilisant PyYAML, ou utiliser directement comme source pour un script d'inventaire dynamique Ansible. De nombreuses equipes DevOps maintiennent l'inventaire principal dans Google Sheets (exporte en CSV) et le synchronisent avec l'inventaire Ansible exactement de cette facon.
Oui, avec des limitations importantes. docker-compose.yml a une structure profondement imbriquee (services, nom-du-service, image, ports, environment, volumes) qui ne se mappe pas directement a un tableau plat. Il est cependant possible de generer la section services sous forme de liste d'objets depuis un CSV avec des colonnes comme name, image, port_host, port_container, puis d'utiliser un template ou un script pour convertir cette liste au format Compose final. Cette approche est utile pour generer des configurations pour plusieurs environnements (dev, staging, prod) depuis un tableau de parametres central.
YAML a plusieurs caracteres speciaux qui peuvent causer des problemes s'ils apparaissent non echappes dans les valeurs : un deux-points suivi d'un espace est interprete comme separateur cle-valeur, le diese commence un commentaire, les crochets et accolades sont des indicateurs de collections, et le pipe et le signe superieur sont des indicateurs de scalaires en bloc. L'outil met automatiquement entre guillemets les valeurs contenant ces caracteres, generant du YAML valide correctement parse par n'importe quel parseur YAML 1.2 standard.
Oui, avec la nuance qu'Ansible utilise PyYAML qui implemente YAML 1.1, tandis que Kubernetes utilise gopkg.in/yaml.v3 qui implemente YAML 1.2. La difference pratique la plus importante concerne les booleens : en YAML 1.1, oui, non, on, off sont des booleens ; en YAML 1.2, seuls true et false (sans guillemets) le sont. L'outil genere du YAML compatible avec les deux versions en utilisant exclusivement true et false comme litteraux booleens, valides dans les deux specifications.
Convertir CSV en YAML : inventaires Ansible, Docker Compose et generation de config en masse
YAML (YAML Ain't Markup Language, specification 1.2 publiee le 1er octobre 2009 sur yaml.org) est le format standard pour les fichiers de configuration dans l'ecosysteme DevOps : playbooks et inventaires Ansible, manifests Kubernetes, workflows GitHub Actions, pipelines GitLab CI, docker-compose.yml, fichiers Helm values.yaml, et configurations d'applications dans des frameworks comme Spring Boot (application.yml) ou Ruby on Rails (database.yml). Le besoin de generer des configurations YAML en masse depuis des tableurs est recurrent dans les equipes de platform engineering, DevOps et SRE : quand des dizaines de nouveaux serveurs sont ajoutes a l'inventaire d'infrastructure (dont la source de verite est un tableur de gestion des actifs), quand un microservice est deploye sur plusieurs environnements avec des parametres differents definis dans un tableau, ou quand l'equipe QA maintient ses donnees de test dans Google Sheets et doit les generer comme fixtures YAML pour les tests automatises.
Le cas de la generation d'inventaires Ansible depuis des tableurs est particulierement courant dans les equipes adoptant Ansible pour automatiser la gestion d'une infrastructure existante. Les serveurs sont deja inventories dans des tableurs ou des CMDBs (Configuration Management Databases) avec des informations comme le hostname, l'adresse IP, le systeme d'exploitation, l'environnement (production, staging, developpement), le groupe fonctionnel (web, base de donnees, cache, monitoring) et les variables specifiques au serveur. Exporter ce tableur en CSV et le convertir en YAML genere la base de l'inventaire Ansible, que l'equipe peut affiner en ajoutant la hierarchie de groupes et les variables de groupe. Ce workflow reduit a quelques minutes ce qui necessiterait sinon d'ecrire manuellement des centaines de lignes de YAML. De meme, generer des fichiers Helm values.yaml pour plusieurs environnements (dev, staging, pre-prod, prod, par region geographique) depuis un tableau de parametres central permet de maintenir une source unique de verite en format tabulaire, facilement auditable et modifiable par toute l'equipe, et de generer les fichiers YAML specifiques a chaque environnement de facon reproductible.
Un autre cas d'usage important est la creation de fixtures de donnees de test en YAML. Les frameworks de test comme pytest (via des plugins comme pytest-datadir ou pytest-yaml), Ruby on Rails (qui utilise les fixtures YAML depuis Rails 1.0 en decembre 2004 pour alimenter la base de donnees dans les tests) et Cypress (qui utilise des fixtures YAML ou JSON pour mocker les reponses API) requierent des donnees de test en format YAML ou JSON. Les equipes QA definissent generalement leurs cas de test dans des Google Sheets partages, avec des colonnes representant les champs de chaque entite de test. Convertir ces feuilles en CSV puis en YAML genere automatiquement des fixtures que les ingenieurs de test peuvent incorporer directement dans le depot. La conversion CSV vers YAML est egalement la premiere etape pour migrer des donnees de configuration d'application depuis des formats legacy (fichiers .properties Java, fichiers .ini, tables de configuration en base de donnees) vers YAML, le format prefere des frameworks modernes. Convertir.ai effectue cette transformation entierement dans le navigateur, sans installation de logiciel, sans limite de lignes, avec detection automatique des types et generation de YAML valide selon la specification 1.2.