YAML : Base64

Convertissez vos configurations YAML en Base64 et inversement.

YAML

Conversion

Options

Résultat

Base64

Guide complet de la conversion YAML/Base64 : intégrer vos configurations partout

Pourquoi j'encode du YAML en Base64

YAML est devenu le format de choix pour les configurations Kubernetes, Docker Compose, Ansible et CI/CD. Mais parfois, je dois intégrer du YAML dans des contextes qui ne le supportent pas nativement : secrets K8s, variables d'environnement, champs JSON, ou systèmes legacy. L'encodage Base64 transforme mes configs YAML multi-lignes en une chaîne ASCII simple, stockable et transportable partout sans corruption.

Fonctionnalités de cet outil

🔄 Conversion bidirectionnelle

YAML vers Base64 et Base64 vers YAML. Passez d'un format à l'autre instantanément.

🌐 Mode URL-safe

Option pour générer du Base64 compatible URL (- _ au lieu de + /).

✅ Validation YAML

Vérifiez la syntaxe avant encodage. Une erreur YAML en Base64 est difficile à diagnostiquer.

📋 Copie rapide

Un clic pour copier. Prêt pour kubectl, docker-compose, ou vos scripts.

Comment utiliser cet outil

  1. Pour encoder (YAML → Base64) — Collez le YAML, cliquez « YAML : Base64 »
  2. Pour décoder (Base64 → YAML) — Collez le Base64, cliquez « Base64 : YAML »
  3. URL-safe — Cochez si le Base64 sera utilisé dans une URL
  4. Validation — Gardez activée pour détecter les erreurs YAML

Cas d'utilisation Kubernetes

  • Secrets K8s (data:) — Le champ data stocke les valeurs en Base64
  • ConfigMaps complexes — Configs multi-lignes dans des annotations
  • Helm values — Valeurs encodées dans les charts
  • GitOps/ArgoCD — Secrets chiffrés ou encodés dans les repos Git

Considérations de sécurité

⚠️ Base64 n'est PAS un chiffrement — les données sont facilement décodables. Pour les vrais secrets, utilisez des solutions de chiffrement (Sealed Secrets, SOPS, Vault). Tout le traitement reste local dans votre navigateur.

Questions fréquentes

L'indentation YAML est-elle préservée après encodage Base64 ?

Oui, parfaitement ! Base64 encode le YAML comme texte brut, byte par byte. Chaque espace et retour à la ligne est préservé.

Au décodage, vous retrouvez l'indentation exacte. C'est crucial car l'indentation définit la structure en YAML.

Puis-je utiliser ce Base64 directement dans kubectl ?

Oui ! Pour les secrets Kubernetes :

  • Mettez la valeur Base64 dans le champ data: de votre Secret
  • Ou utilisez kubectl create secret generic --from-literal (encode automatiquement)

Vérifiez qu'il n'y a pas de retours à la ligne dans le Base64 copié.

Quelle différence entre data: et stringData: dans K8s ?

Dans les Secrets Kubernetes :

  • stringData: — Accepte du texte brut, K8s encode automatiquement
  • data: — Nécessite du Base64 déjà encodé

Pour les configs YAML multi-lignes, data: + Base64 est souvent plus fiable car vous contrôlez l'encodage exact.

Les ancres (&nom) et aliases (*nom) YAML sont-ils préservés ?

Oui, les ancres et aliases sont préservés comme texte brut dans l'encodage Base64.

Attention : si la validation YAML est activée, le parser résout les références. Désactivez la validation si vous voulez préserver les ancres exactement comme écrites.

Comment décoder du Base64 avec retours à la ligne ?

L'outil gère automatiquement les retours à la ligne dans le Base64 — ils sont ignorés avant décodage.

Certains outils (emails, vieux systèmes) ajoutent des retours tous les 76 caractères. Ce n'est pas un problème.

Les commentaires YAML (# ...) sont-ils préservés ?

Oui ! Base64 encode le YAML comme texte brut. Les commentaires sont parfaitement préservés.

C'est un avantage par rapport à la conversion JSON qui perd les commentaires.

Base64 est-il sécurisé pour les secrets ?

⚠️ Non ! Base64 n'est PAS un chiffrement. C'est un encodage facilement réversible.

Pour les vrais secrets, utilisez :

  • Sealed Secrets (Bitnami)
  • SOPS (Mozilla)
  • HashiCorp Vault
  • AWS Secrets Manager / Azure Key Vault

Mes données YAML sont-elles transmises à un serveur ?

Non, tout le traitement est 100% local :

  • L'encodage utilise btoa() et atob() natifs JavaScript
  • La validation utilise js-yaml côté client
  • Aucune requête réseau n'est envoyée
  • Fonctionne même hors ligne

Sécurisé pour vos configurations sensibles.