Diff de texte sans Git Vérification des modifications dans les fichiers et les chaînes
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.confavant 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'usage | Meilleur outil | Remarques |
|---|---|---|
| Fichiers de texte simples | diff -u | Standard, fonctionne partout |
| Côte à côte dans le terminal | diff -y | Affichage large, bon pour les fichiers courts |
| Résolution de conflits de fusion (sans Git) | diff3 | Comparaison tripartite |
| Diff dans un script ou automatisé | Python difflib ou Node diff | Intégrer dans des pipelines ou des applications |
| Comparaison rapide par collage | IO Tools Text Compare | Dans un navigateur, sans configuration |
| JSON avec bruit de mise en forme | jq normaliser + diff | Trier les clés, puis diff |
| YAML | dyff, yamldiff | Structure consciente, meilleur signal |
Quel outil selon les cas
- Deux fichiers sur disque →
diff -u - Besoin d’ignorer les espaces blancs →
diff -uw - Trois versions à réconcilier →
diff3 - Construire un pipeline ou un script →
difflibou lediffpaquet npm - Comparer deux collages dans un navigateur → IO Tools Text Compare
- Diff de JSON → normaliser avec
jq, puisdiff - 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.
Vous aimerez peut-être aussi
Installez nos extensions
Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide
恵 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 !
Outils essentiels
Tout voir Nouveautés
Tout voirMise à jour: Notre dernier outil was added on Mai 24, 2026
