- #texte
- #diff
- #outils
Comparer deux textes et lire un diff : guide pratique
Par Vishnu Gopy · · 4 min de lecture
Deux versions d’un contrat, une configuration qui « marchait hier », un article relu par un collègue : dans tous ces cas, une seule question compte, celle de savoir ce qui a changé. Relire les deux textes côte à côte fatigue l’œil, et un chiffre modifié passe facilement inaperçu.
Un comparateur fait ce travail à votre place en produisant un diff, la liste des différences entre deux textes. Voici comment le lire, quel niveau de comparaison choisir et ce qu’il ne peut pas vous dire.
Lire un diff : ajouts, suppressions, inchangé#
Un diff classe chaque morceau de texte dans l’une des trois catégories : inchangé, supprimé (présent dans l’original seulement) ou ajouté (présent dans la version modifiée seulement). Ligne par ligne, une ligne modifiée apparaît donc deux fois : l’ancienne comme supprimée, la nouvelle comme ajoutée.
Le format le plus répandu est celui de git diff, appelé diff unifié :
--- original
+++ modifié
@@ -1,3 +1,3 @@
Article 3
-Le préavis est de 30 jours.
+Le préavis est de 60 jours.
Le loyer est payable d’avance.
Les lignes précédées de - sont supprimées, celles précédées de + sont ajoutées, et la ligne d’en-tête @@ indique la position du bloc dans chaque version. Dans le comparateur de texte, ces signes sont repris à l’écran, avec un barré pour les suppressions : la couleur n’est jamais le seul indice.
Lignes, mots ou caractères : quel niveau choisir ?#
- Lignes : le choix par défaut pour du code, une configuration ou une liste. Dès qu’un caractère change dans une ligne, la ligne entière est signalée.
- Mots : le plus lisible pour des paragraphes. Seuls les mots qui changent sont marqués, ce qui convient à un contrat ou un article.
- Caractères : la comparaison la plus fine, utile pour une faute de frappe, un chiffre ou une virgule modifiée.
Voici la même modification (« 30 » devenu « 60 ») dans le format texte que l’outil copie en modes mots et caractères : le texte supprimé entre [- et -], le texte ajouté entre {+ et +}.
Par mots : Le préavis est de [-30 -]{+60 +}jours.
Par caractères : Le préavis est de [-3-]{+6+}0 jours.
Par mots, l’espace qui suit chaque mot fait partie du morceau marqué. Par caractères, seul le « 3 » est signalé : le « 0 » est identique dans les deux versions.
Trois cas d’usage concrets#
Deux versions d’un contrat ou de conditions générales. Le diff repère les montants, délais et dates modifiés, y compris ceux glissés dans un paragraphe. Il montre ce qui a changé, pas si le changement est acceptable : la lecture et la décision restent les vôtres.
Deux fichiers de configuration, en particulier du JSON. Si l’un des fichiers tient sur une seule ligne, le diff par lignes le signale en entier. Formatez d’abord les deux avec le formateur JSON, avec la même indentation (et en triant les clés si leur ordre diffère), puis comparez.
Deux listes. Un diff est sensible à l’ordre : un élément déplacé apparaît comme supprimé puis ajouté. Triez les deux listes de la même manière avec les outils de lignes avant de comparer, pour ne voir que les éléments réellement ajoutés ou retirés.
Comparer deux textes pas à pas#
- Collez la première version dans « Texte original » et la seconde dans « Texte modifié ».
- Choisissez le niveau dans « Comparer par » : Lignes, Mots ou Caractères.
- Cochez au besoin « Ignorer la casse » ou « Ignorer les espaces en trop ». Cette seconde option neutralise les espaces répétés et ceux en début et fin de ligne.
- Lisez le bilan (nombre d’éléments ajoutés, supprimés et inchangés), puis cliquez sur « Copier le diff » pour récupérer le résultat : un diff unifié en mode lignes, le format avec
[-et{+en mode mots ou caractères.
Un affichage plein écran est disponible pour les longs textes. La comparaison s’effectue dans votre navigateur et rien n’est envoyé à un serveur, ce qui est utile quand le document est confidentiel.
Ce qu’un diff ne dit pas#
- Le sens. Un paragraphe déplacé est vu comme supprimé puis ajouté, et deux reformulations équivalentes comptent comme des différences.
- Les très gros textes. L’outil accepte jusqu’à 5 000 lignes par texte en mode lignes, 20 000 mots ou caractères dans les autres modes, et 500 000 caractères au plus. Au-delà, un message vous le signale.
- Les textes très différents. Quand presque rien ne correspond, l’outil peut simplifier le résultat et afficher « Résultat simplifié » : certaines parties apparaissent alors comme entièrement remplacées.
- La fusion. Le comparateur montre les écarts, il ne les applique pas. Pour fusionner deux versions, vous devez recopier les changements vous-même.
Outils utilisés dans cet article
- Formateur JSON
Formater et minifier des données JSON.
- Outils de lignes
Triez, dédoublonnez, inversez et numérotez les lignes d’un texte.
- Comparateur de texte
Comparez deux textes et repérez les ajouts et suppressions.
À lire aussi
- Trier et dédoublonner les lignes d’un texte sans erreur
Trier une liste en français, supprimer les doublons et les espaces invisibles, ajouter un préfixe ou numéroter : ce que fait chaque option et ses pièges.
- Valider un JSON : les erreurs de syntaxe les plus courantes
Virgule finale, guillemets simples, clés sans guillemets, commentaires : les erreurs de syntaxe JSON les plus fréquentes, et formater ou minifier en pratique.
- Convertir un CSV en JSON : les pièges à éviter
Séparateur point-virgule, guillemets et retours à la ligne, accents dans Excel, types : les pièges de la conversion CSV vers JSON et comment les éviter.