Comment comparer deux textes et voir les différences ?
Collez la version d'origine dans la zone A et la version modifiée dans la zone B : les différences s'affichent aussitôt, avec le taux de ressemblance et le nombre de mots ajoutés ou supprimés. Le choix « Ligne par ligne » ou « Mot par mot » change la présentation, et le bouton « Copier les différences » produit un rapport en texte brut.
La vue ligne par ligne numérote les lignes des deux versions. Une ligne présente seulement dans A est marquée d'un signe moins sur fond rose, une ligne présente seulement dans B d'un signe plus sur fond vert. Quand une ligne supprimée et une ligne ajoutée au même endroit se ressemblent assez, l'outil les traite comme une ligne modifiée et surligne, à l'intérieur, les seuls mots qui ont changé. Les longues suites de lignes identiques peuvent être repliées pour ne garder que les changements et deux lignes de contexte.
La vue mot par mot présente le texte en continu, suppressions barrées et ajouts soulignés. Elle convient mieux à la prose : un paragraphe reformaté ou une phrase qui passe à la ligne n'y apparaît pas comme entièrement réécrit.
- Relire les corrections apportées à un article, un mémoire ou une lettre.
- Repérer ce qui a changé entre deux versions d'un contrat ou d'un règlement.
- Comparer deux listes, deux fichiers de configuration ou deux exports de données.
Comment fonctionne la comparaison de deux textes ?
Comparer deux textes revient à chercher leur plus longue sous-séquence commune : la plus longue suite de lignes (ou de mots) que l'on retrouve dans les deux versions, dans le même ordre, sans forcément être côte à côte. Tout ce qui n'en fait pas partie est soit une suppression (présent seulement dans A), soit un ajout (présent seulement dans B). On obtient ainsi le plus court chemin pour passer d'une version à l'autre.
L'outil utilise pour cela l'algorithme publié en 1986 par Eugene W. Myers dans la revue Algorithmica, dont le temps de calcul dépend surtout du nombre de différences : deux versions proches se comparent très vite, même longues. C'est l'algorithme que le logiciel Git emploie par défaut pour afficher les modifications d'un fichier. Ici, il est exécuté par votre navigateur, sans rien envoyer. Sur de longs textes, les lignes identiques servent de repères : la comparaison mot par mot se fait alors bloc par bloc, entre deux lignes identiques.
Le taux de ressemblance se calcule sur les mots seuls, sans la ponctuation : 2 × mots communs ÷ (mots de A + mots de B) × 100. Deux textes identiques donnent 100 %, deux textes sans un mot commun donnent 0 %. Une ligne supprimée et une ligne ajoutée sont regroupées en ligne modifiée quand ce taux, calculé sur ces deux lignes, atteint au moins 40 %.
Exemples de comparaison avec le calcul de la ressemblance
Premier exemple, mot par mot : « Le chat dort sur le canapé. » et « Le chien dort sur le tapis. » Chaque phrase compte 6 mots ; 4 sont communs et dans le même ordre (Le, dort, sur, le). L'outil affiche chat et canapé barrés, chien et tapis ajoutés, et une ressemblance de 2 × 4 ÷ (6 + 6) = 66,7 %.
Deuxième exemple, une liste de courses ligne par ligne. A : Pain, Lait, Œufs, Beurre, Pommes. B : Pain, Lait demi-écrémé, Œufs, Pommes, Farine. Résultat : 3 lignes identiques, 1 ligne modifiée (Lait devient Lait demi-écrémé, seul « demi-écrémé » est surligné), 1 ligne supprimée (Beurre) et 1 ligne ajoutée (Farine). Sur les mots, A en compte 5, B en compte 6 (« demi-écrémé » forme un seul mot) et 4 sont communs : 2 × 4 ÷ 11 = 72,7 %.
Troisième exemple, celui qui est prérempli dans l'outil : une convocation dont on a changé la date et le jour limite de réponse, précisé le lieu, complété l'ordre du jour et ajouté une phrase. On obtient 2 lignes identiques, 4 lignes modifiées, 1 ligne ajoutée, 32 mots dans A, 40 dans B et 30 en commun, soit 83,3 % de ressemblance.
| Exemple | Mots dans A | Mots dans B | Mots communs | Ressemblance |
|---|---|---|---|---|
| Le chat / le chien | 6 | 6 | 4 | 66,7 % |
| Liste de courses | 5 | 6 | 4 | 72,7 % |
| Convocation préremplie | 32 | 40 | 30 | 83,3 % |
| Deux textes identiques | n | n | n | 100 % |
Pourquoi tout le texte apparaît-il comme modifié ?
Le plus souvent, la cause est invisible. Voici les cas qui faussent une comparaison et la façon de les corriger.
- Retours à la ligne différents : un texte copié depuis un PDF ou un courriel est souvent coupé à chaque ligne. En vue ligne par ligne, tout semble changé ; passez en vue mot par mot, qui ne s'arrête pas aux coupures.
- Espaces en trop : une espace en fin de ligne ou une double espace suffit à différencier deux lignes. Cochez « Ignorer les espaces en trop ».
- Majuscules : « Paris » et « paris » sont deux mots différents tant que la case « Ignorer la casse » n'est pas cochée.
- Signes typographiques : l'apostrophe droite (') et l'apostrophe courbe (’), ou les guillemets « » et "", sont des caractères distincts. Un logiciel de traitement de texte les remplace parfois automatiquement, ce qui crée des différences dans tout le document.
- Paragraphe déplacé : la comparaison ne détecte pas les déplacements. Un bloc déplacé apparaît comme supprimé à un endroit et ajouté à un autre.
- Textes très longs et très différents : pour rester rapide, l'outil simplifie alors une partie du calcul et le signale. Les différences affichées restent justes, mais ne sont plus forcément les plus courtes possibles, et le taux de ressemblance peut être sous-estimé. Au-delà de quelques milliers de lignes ou de passages modifiés, seul le début des différences est affiché, mais les statistiques et la copie portent sur tout le texte.