YAML : URL Encode

Encodez vos configurations YAML pour transmission via URL.

YAML Source

Encodage

Options

Résultat

URL Encodé

Guide complet de l'encodage YAML URL : transmettre vos configurations via URLs

Pourquoi j'encode du YAML pour les URLs

Dans mes workflows DevOps, je dois parfois transmettre des configurations YAML via URLs — paramètres de débogage Kubernetes, états d'application sauvegardés, ou tests d'APIs. YAML dépend fortement des espaces et retours à la ligne pour définir sa structure. Ces caractères doivent être encodés, ce qui rend le résultat volumineux. Cet outil encode votre YAML pour un transport URL sûr et réversible.

Fonctionnalités de cet outil

🔒 Double mode d'encodage

encodeURI pour URLs complètes, encodeURIComponent pour paramètres individuels. Choisissez selon votre contexte.

✅ Validation YAML

Vérifiez que votre YAML est syntaxiquement correct avant encodage. Évitez de transmettre du YAML invalide.

📊 Statistiques de taille

Visualisez la taille du résultat encodé. Surveillez les limites d'URL (~2000-8000 caractères).

📋 Copie rapide

Un clic pour copier le résultat. Prêt à utiliser dans votre URL ou query string.

Comment utiliser cet outil

  1. Collez votre YAML — Dans l'éditeur de gauche avec coloration syntaxique
  2. Choisissez le mode — « Encoder URL » (encodeURI) ou « Encoder Composant » (encodeURIComponent)
  3. Vérifiez la taille — Le compteur indique la longueur du résultat
  4. Copiez le résultat — Utilisez dans votre URL

Référence des encodages YAML courants

  • espace → %20 (impact majeur — l'indentation YAML triple la taille !)
  • retour ligne → %0A (chaque ligne ajoute 3 caractères)
  • : → %3A (séparateur clé: valeur)
  • - → %2D (éléments de liste)
  • # → %23 (commentaires)

Alternatives à considérer

Pour les configurations longues, considérez : convertir en JSON (plus compact sans indentation), utiliser Base64 (taille fixe +33%), ou passer les données via POST body plutôt que query string. Tout le traitement reste local dans votre navigateur.

Questions fréquentes

Quelle différence entre « Encoder URL » et « Encoder Composant » ?

Les deux fonctions encodent différemment :

  • encodeURI — Préserve les caractères de structure URL (: / ? # @). Utilisez pour encoder une URL complète.
  • encodeURIComponent — Encode TOUT sauf lettres et chiffres. Utilisez pour les valeurs de paramètres.

Pour du YAML dans un paramètre ?config=..., utilisez toujours encodeURIComponent. Le : du YAML ne sera pas interprété comme port URL.

Pourquoi le YAML encodé est-il si long ?

YAML utilise beaucoup d'espaces et de retours à la ligne pour sa structure. L'impact sur la taille :

  • Chaque espace = 3 caractères (%20)
  • Chaque retour à la ligne = 3 caractères (%0A)
  • Un YAML de 10 lignes avec indentation peut tripler de taille

Alternatives plus compactes : JSON minifié, ou Base64 (taille fixe +33%).

L'indentation YAML est-elle préservée après décodage ?

Oui, parfaitement ! L'encodage URL préserve chaque caractère, y compris les espaces d'indentation.

Au décodage, le YAML est identique à l'original, byte pour byte. L'indentation étant cruciale en YAML (elle définit la structure), c'est essentiel qu'elle soit préservée.

Puis-je utiliser des tabs dans le YAML ?

⚠️ Attention : YAML interdit les tabs pour l'indentation ! Seuls les espaces sont autorisés.

Si votre YAML contient des tabs :

  • Ils seront encodés en %09
  • Mais le YAML sera invalide au parsing

Remplacez tous les tabs par des espaces (2 ou 4 par niveau, de façon cohérente).

Vaut-il mieux convertir en JSON avant d'encoder ?

Souvent oui, pour réduire la taille. JSON minifié n'a pas d'espaces ni de retours à la ligne inutiles.

Cependant, vous perdez :

  • Les commentaires YAML (# ...)
  • Les ancres et aliases (&nom, *nom)
  • Les tags YAML (!!str, etc.)

Si la lisibilité du décodage importe, gardez le YAML.

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

Oui ! L'encodage URL traite le YAML comme du texte brut. Le # devient %23 à l'encodage et redevient # au décodage.

Tous les commentaires sont parfaitement préservés, contrairement à une conversion via JSON qui les perdrait.

Mon YAML encodé dépasse la limite d'URL — que faire ?

Les URLs ont des limites pratiques (~2000 caractères IE, ~8000 Chrome). Solutions :

  • Convertir en JSON — Plus compact sans indentation
  • Utiliser Base64 — Taille fixe +33%, parfois plus compact
  • Passer via POST — Pas de limite pour le body
  • Compresser — gzip + Base64 pour les gros YAML

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

Non, tout le traitement est 100% local :

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

C'est sécurisé pour les configurations sensibles : secrets, credentials, etc.