Outils texte
Ces outils de texte comparent et remanient du texte brut dans votre navigateur. Collez deux versions d’un fichier, d’un extrait de journal ou d’un bloc de configuration et voyez exactement ce qui a changé, à la ligne, au mot ou au caractère près, avec un patch unifié que vous pouvez copier dans un e-mail ou un ticket.
Comparer
Mettre en forme
Formater du XML
Réindente le XML sans casser CDATA, commentaires ni DOCTYPE
Ouvrir l’outilFormater du SQL
Met en forme une requête sans casser ses chaînes
Ouvrir l’outilFormater du HTML
Indente le balisage sans le corrompre
Ouvrir l’outilFormater du CSS
Met en forme une feuille de style, nouvelle syntaxe incluse
Ouvrir l’outil
Convertir
Convertir XML en JSON
Convertit en gardant attributs et listes à un seul élément
Ouvrir l’outilConvertir JSON en XML
Convertit avec attributs et noms que le XML accepte
Ouvrir l’outilConvertir YAML en JSON
Convertit sans que « NO » devienne false
Ouvrir l’outilConvertir JSON en YAML
Convertit avec des guillemets qui résistent à l’aller-retour
Ouvrir l’outilcURL vers code
Transformez une commande curl en fetch, Python, Go, PHP ou Ruby
Ouvrir l’outilConvertir la casse
Renomme des identifiants en gérant les sigles
Ouvrir l’outilTexte fantaisie
Génère du texte stylisé Unicode pour les réseaux
Ouvrir l’outil
Modifier
Quand utiliser un outil texte dans le navigateur ?
Comparer deux blocs de texte est une chose que les gens font en permanence, et presque toujours à un mauvais moment : une config qui marche sur un hôte et pas sur un autre, un corps de réponse qui a changé entre deux déploiements, une clause de contrat que quelqu’un a modifiée sans suivi des modifications, une ligne de journal presque identique — mais pas tout à fait — à celle d’hier.
La tentation, c’est de regarder à l’œil. Cela marche pour trois lignes et échoue en silence pour trente, car l’attention humaine est extrêmement douée pour voir ce qu’elle attend. Un diff n’est pas une commodité dans cette situation ; c’est la différence entre trouver le changement et vous convaincre qu’il n’y en a pas.
Ce qui fait la qualité d’un outil de diff, c’est la granularité. La comparaison au niveau de la ligne est le bon choix par défaut et c’est ce que montre un gestionnaire de versions, mais elle induit activement en erreur sur deux classes d’entrées : les fichiers minifiés ou sur une seule ligne, où le document entier tient sur une ligne et où le diff dégénère en « cette ligne a changé » ; et les longues lignes de prose, où la modification d’un mot fait passer un paragraphe entier pour réécrit. Les modes mot et caractère existent précisément pour ces cas, et pouvoir basculer entre les trois sans recoller le texte constitue l’essentiel de la valeur.
L’autre moitié, c’est que la sortie doit être portable. Un diff que l’on ne peut que regarder vaut moins qu’un diff que l’on peut transmettre à quelqu’un, aussi l’export en patch unifié produit un patch standard avec de vrais en-têtes de hunk — le format que patch(1) accepte et que l’outil de revue de code rend correctement quand vous le collez dans un commentaire.
Le texte est souvent la chose la plus sensible de ce site. Une charge utile JSON est en général une donnée machine ; un diff de texte est fréquemment un contrat en projet, une note interne, une chronologie d’incident ou un e-mail client. C’est la raison pour laquelle la comparaison se fait dans votre navigateur plutôt que sur un serveur : non pas comme une fonctionnalité, mais parce qu’envoyer ce matériau à un hôte inconnu pour répondre à une question que vous pourriez trancher localement est une mauvaise affaire, quel qu’en soit le prix.
Si les deux choses que vous comparez sont du JSON plutôt que de la prose, utilisez plutôt le comparateur JSON. Il compare la structure analysée et non le texte, si bien que reformatage et réordonnancement de clés — qu’un diff de texte signale comme des centaines de changements — s’affichent correctement comme aucun changement du tout.
Questions fréquentes
Quelle est la différence entre un diff par ligne, par mot et par caractère ?
Le diff par ligne est le choix par défaut et correspond à ce que montre git : une ligne est soit présente, soit absente, soit modifiée. Le diff par mot subdivise chaque ligne modifiée pour que vous voyiez qu’un seul identifiant a bougé, plutôt qu’une ligne entière de 200 caractères qui s’illumine en rouge et en vert. Le diff par caractère va plus loin et est le bon choix pour une seule longue chaîne — une URL, un hash, un blob en base64 — où la différence tient à un caractère en plein milieu et où il faut le trouver.
Puis-je coller un fichier entier, ou faut-il un extrait ?
Des fichiers entiers conviennent jusqu’au plafond de 8 MB du thread principal. La comparaison est un diff de Myers, le même algorithme que celui de git, si bien que son coût croît avec le nombre de différences et non avec la taille de l’entrée — deux grands fichiers presque identiques se comparent presque instantanément, tandis que deux fichiers qui n’ont rien en commun prennent plus de temps.
Le patch unifié est-il au même format que celui que git produit ?
Oui. L’export est un diff unifié standard avec des en-têtes de hunk @@, donc il s’applique avec patch(1) et se colle dans un commentaire de revue de code ou la description d’une pull request sans reformatage. La profondeur de contexte est de trois lignes, la valeur par défaut conventionnelle.
Gère-t-il les fins de ligne Windows ?
Il normalise CRLF en LF avant de comparer, donc un fichier passé par un éditeur Windows ne signale pas chaque ligne comme modifiée. Si les fins de ligne elles-mêmes sont l’objet de votre enquête, cette normalisation est le mauvais comportement — comparez plutôt les octets bruts avec un outil adapté à l’hexadécimal.
Mon texte est-il envoyé quelque part ?
Non. La comparaison s’exécute dans votre navigateur. Il n’y a ni étape d’envoi ni route d’API ; la page est un fichier statique et l’algorithme de diff est du JavaScript s’exécutant dans l’onglet que vous avez déjà ouvert. Ouvrez le panneau Network et collez un document — rien qui transporte votre texte n’apparaît.
Que trouve-t-on d'autre sur ToolsByUs ?
- Outils PDFFusionnez, divisez, faites pivoter et convertissez des PDF sans les envoyer.
- Outils imageCompressez, redimensionnez et convertissez des images dans le navigateur.
- Outils vidéoMontez vos vidéos dans le navigateur, sans téléversement ni filigrane.
- Outils audioCoupez, convertissez et travaillez l’audio dans le navigateur.
- Outils pour créateursRedimensionnez et optimisez bannières, avatars, emotes et couvertures pour chaque plateforme.
- Outils couleurChoisissez et convertissez des couleurs, vérifiez le contraste, simulez le daltonisme.
- Outils JSONComparez, formatez, validez et explorez des documents JSON.
- Outils d’encodageBase64, encodage d’URL, hachage et inspection de jetons.
- GénérateursIdentifiants, texte de remplissage et codes.