Les pubs vous déplaisent ? Aller Sans pub Auj.

Diff de texte sans Git Vérification des modifications dans les fichiers et les chaînes

Publié le
Diff de texte sans Git : revue des modifications dans des fichiers et des chaînes 1
ANNONCE · Supprimer ?

Chaque comparaison n’a pas lieu dans un dépôt Git. Les fichiers de configuration sont édités manuellement. Les réponses API sont collées dans un fil Slack. Les requêtes SQL sont ajustées entre différentes versions dans un tableau de données. Lorsque vous devez voir exactement ce qui a changé entre deux morceaux de texte, vous avez besoin d’un outil de comparaison — sans nécessiter nécessairement Git.

Voici comment choisir le bon outil.

Quand vous avez besoin d’un diff en dehors de Git

Le diff de Git est intégré à votre flux de travail lorsque les fichiers sont versionnés. Mais de nombreuses situations en restent en dehors de ce cadre :

  • Fichiers de configuration — comparaison nginx.conf avant et après une modification, surtout si le fichier n’est pas dans un dépôt
  • Échantillons de réponses API — repérer ce qui a changé entre deux charges JSON capturées une semaine plus tôt
  • Requêtes SQL — comparer une requête qui s’exécute en développement avec celle qui s’exécute en production
  • Documentation — examiner un document manuellement édité avant de le remettre à quelqu’un

Dans ces cas, vous voulez une comparaison claire sans avoir besoin d’un commit ou d’un fichier en attente.

Le commandement Unix diff Commande : les drapeaux qui comptent

Si vous êtes sur Linux ou macOS, diff est déjà installé. L’utilisation de base est :

diff file1.txt file2.txt

Mais la sortie par défaut est concise. Ces drapeaux rendent la sortie lisible :

# Unified format (same as Git's diff output — most familiar)
diff -u file1.txt file2.txt

# Side-by-side comparison
diff -y file1.txt file2.txt

# Ignore whitespace differences (useful for formatting changes)
diff -w file1.txt file2.txt

# Combine: unified format, ignore whitespace
diff -uw file1.txt file2.txt

Exemple de sortie unifiée :

--- file1.txt   2026-03-01 10:00:00
+++ file2.txt   2026-03-05 14:30:00
@@ -1,4 +1,4 @@
 server {
-    listen 80;
+    listen 443;
     server_name example.com;
 }

Les lignes commençant par - ont été supprimées, + ont été ajoutées. Les lignes sans préfixe sont des lignes inchangées dans le contexte.

Diff tripartite : quand vous avez trois versions

Un diff standard compare deux fichiers. Un diff tripartite gère une troisième — l’ancêtre commun. C’est ainsi que la résolution des conflits de fusion fonctionne au niveau interne, même en dehors de Git.

Le diff3 la commande gère cela :

diff3 mine.txt base.txt theirs.txt

Cela montre ce qui a changé dans mine.txt vs base.txt, et ce qui a changé dans theirs.txt vs base.txt — en signalant tout conflit. Utile lorsque deux personnes ont modifié indépendamment le même document de départ et que vous devez les réconcilier sans utiliser une fusion Git.

Diff de texte dans les applications : Python et Node.js

Lorsque vous devez effectuer une comparaison au sein d’un script — ou intégrer une sortie de diff dans une application — utilisez une bibliothèque au lieu d’appeler diff.

Python — difflib:

import difflib

text1 = open("file1.txt").readlines()
text2 = open("file2.txt").readlines()

diff = difflib.unified_diff(text1, text2, fromfile="file1.txt", tofile="file2.txt")
print("".join(diff))

difflib inclut également HtmlDiff pour générer une sortie en format côte à côte HTML, et SequenceMatcher pour obtenir un ratio de similarité entre deux chaînes — utile pour des correspondances floues.

Node.js — diff paquet :

npm install diff
const Diff = require('diff');

const one = 'SELECT id, name FROM users WHERE active = 1;';
const two = 'SELECT id, name, email FROM users WHERE active = 1 LIMIT 100;';

const changes = Diff.diffWords(one, two);
changes.forEach(part => {
  if (part.added) process.stdout.write('\x1b[32m' + part.value + '\x1b[0m');
  else if (part.removed) process.stdout.write('\x1b[31m' + part.value + '\x1b[0m');
  else process.stdout.write(part.value);
});

Le diff bibliothèque prend en charge les diffs de caractères, de mots, de lignes, de phrases, de JSON et de CSS par défaut.

Quand un outil en ligne est la bonne solution

Le CLI est rapide si vous avez déjà deux fichiers sur disque. Mais lorsque vous comparez du texte copié de deux sources — un fil Slack, deux réponses API, du contenu du presse-papiers — ouvrir un terminal et écrire des fichiers temporaires est trop lourd.

Un outil de comparaison de texte dans un navigateur est la voie la plus rapide pour :

  • Des comparaisons ponctuelles sans fichiers sur disque
  • Partager un diff avec quelqu’un qui n’utilise pas le terminal
  • Vérifier une comparaison avant/après un collage sans configuration préalable

IO Tools Text Compare gère cela directement dans le navigateur avec un soulignement syntaxique et sans besoin de télécharger de fichiers. Collez deux textes, voyez le diff immédiatement.

Comparaison de données structurées : JSON et YAML sont différents

Un diff de texte brut fonctionne ligne par ligne. JSON et YAML ont une structure — et des différences de mise en forme (indentation, ordre des clés) produisent du bruit inutile dans un diff standard.

Pour JSON, normalisez d’abord :

jq --sort-keys . file1.json > file1_normalized.json
jq --sort-keys . file2.json > file2_normalized.json
diff -u file1_normalized.json file2_normalized.json

Cela élimine les variations de mise en forme et montre uniquement les changements réels de contenu. Pour YAML, des outils comme dyff comprendre la structure et rapportent les différences de manière sémantique plutôt que ligne par ligne.

Cas d'usageMeilleur outilRemarques
Fichiers de texte simplesdiff -uStandard, fonctionne partout
Côte à côte dans le terminaldiff -yAffichage large, bon pour les fichiers courts
Résolution de conflits de fusion (sans Git)diff3Comparaison tripartite
Diff dans un script ou automatiséPython difflib ou Node diffIntégrer dans des pipelines ou des applications
Comparaison rapide par collageIO Tools Text CompareDans un navigateur, sans configuration
JSON avec bruit de mise en formejq normaliser + diffTrier les clés, puis diff
YAMLdyff, yamldiffStructure consciente, meilleur signal

Quel outil selon les cas

  • Deux fichiers sur disquediff -u
  • Besoin d’ignorer les espaces blancsdiff -uw
  • Trois versions à réconcilierdiff3
  • Construire un pipeline ou un scriptdifflib ou le diff paquet npm
  • Comparer deux collages dans un navigateurIO Tools Text Compare
  • Diff de JSON → normaliser avec jq, puis diff
  • Diff de YAML → utiliser dyff

La méthode la plus rapide est celle qui correspond à votre point de départ. Si le texte est déjà dans votre presse-papiers, un outil de comparaison dans un navigateur l’emporte sur tout workflow terminal. Si le texte est dans des fichiers, diff est déjà sur votre machine.

Envie d'une expérience sans pub ? Passez à la version sans pub

Installez nos extensions

Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide

Sur Extension Chrome Sur Extension de bord Sur Extension Firefox Sur Extension de l'opéra

Le Tableau de Bord Est Arrivé !

Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !

ANNONCE · Supprimer ?
ANNONCE · Supprimer ?
ANNONCE · Supprimer ?

Coin des nouvelles avec points forts techniques

Impliquez-vous

Aidez-nous à continuer à fournir des outils gratuits et précieux

Offre-moi un café
ANNONCE · Supprimer ?