Comparez deux blocs de texte ou de code et visualisez les différences ligne par ligne : ajouts en vert, suppressions en rouge. Outil diff gratuit, 100% navigateur.
Comparateur Diff Texte / Code
Qu'est-ce qu'un diff texte / code ?
Un diff (abréviation de difference) est une représentation visuelle des modifications entre deux versions d'un texte ou d'un fichier de code source. L'outil affiche côte à côte ou ligne par ligne ce qui a été ajouté et ce qui a été supprimé.
Cette technique est omniprésente dans le développement logiciel :
- Git l'utilise pour afficher les modifications entre commits (
git diff) - GitHub / GitLab l'affiche dans les pull requests et merge requests
- Les éditeurs comme VS Code montrent le diff entre la version sauvegardée et les modifications en cours
- Les outils de review de code s'appuient dessus pour les annotations
+ sont ajoutées (vert), celles par − sont supprimées (rouge), et les lignes sans préfixe sont inchangées (contexte).
Diff unifié vs diff côte à côte
Il existe deux façons principales de représenter un diff :
| Format | Description | Idéal pour |
|---|---|---|
| Unifié (unified) | Une seule colonne, lignes + et − entremêlées |
Terminal, git diff, patches |
| Côte à côte (split) | Deux colonnes : ancien | nouveau | Revue de code visuelle, outils GUI |
Notre outil utilise le format unifié avec numéros de ligne pour un maximum de lisibilité dans le navigateur.
L'algorithme LCS expliqué
Notre comparateur s'appuie sur l'algorithme LCS (Longest Common Subsequence) — la même base que diff Unix et Git — pour identifier les lignes communes entre les deux textes, puis en déduire les ajouts et suppressions.
Principe de LCS
Le LCS trouve la plus longue suite de lignes (non forcément contiguës) présentes dans les deux versions :
Version A : ligne1 ligne2 ligne3 ligne4
Version B : ligne1 ligne3 ligne3b ligne4
LCS trouvé : ligne1 ligne3 ligne4
→ ligne2 supprimée (−)
→ ligne3b ajoutée (+)
Programmation dynamique (DP)
LCS est résolu via une table de programmation dynamique de taille m × n (m lignes version A, n lignes version B) :
dp[i][j] = dp[i-1][j-1] + 1 si A[i] === B[j]
dp[i][j] = max(dp[i-1][j], dp[i][j-1]) sinon
On remonte ensuite la table (backtracking) pour reconstruire la séquence de +, − et lignes égales.
Complexité
| Métrique | Valeur | Impact pratique |
|---|---|---|
| Temps | O(m × n) | Instantané jusqu'à ~2 000 lignes |
| Mémoire | O(m × n) | Acceptable pour des fichiers texte courants |
git diff ou des outils natifs qui utilisent des variantes optimisées (Myers diff).
Comparaison avec d'autres algorithmes
| Algorithme | Utilisé par | Avantage |
|---|---|---|
| LCS (ce tool) | Diff Unix historique | Simple, robuste, prévisible |
| Myers | Git, GNU diff | O(ND) — optimal pour peu de changements |
| Patience diff | Git (optionnel), Bazaar | Meilleur résultat sur code refactorisé |
| Histogram diff | Git (optionnel) | Idéal pour déplacements de blocs |
Cas d'usage pratiques
Le comparateur de diff est utile dans de nombreuses situations du quotidien d'un développeur ou rédacteur.
1. Révision de code avant commit
Copiez votre ancienne fonction et la nouvelle version pour vérifier ce qui a changé avant de committer :
// Vérifier que seule la logique de calcul a changé,
// pas les signatures ni les imports
2. Comparaison de configurations
Repérez les différences entre deux fichiers .env, nginx.conf ou package.json — particulièrement utile pour diagnostiquer des problèmes entre environnements dev/prod.
3. Relecture de documents
Comparez deux versions d'un cahier des charges, d'un contrat ou d'un article de blog pour identifier exactement ce qui a été modifié entre deux révisions.
4. Vérification de migrations SQL
-- Avant
ALTER TABLE users ADD COLUMN email VARCHAR(255);
-- Après
ALTER TABLE users ADD COLUMN email VARCHAR(255) NOT NULL DEFAULT '';
ALTER TABLE users ADD INDEX idx_email (email);
Le diff met immédiatement en évidence les contraintes ajoutées.
5. Comparaison de sorties d'API
Collez deux réponses JSON pour identifier quels champs ont changé entre deux appels API ou entre deux versions d'une API.
6. Détection de plagiat / copie
Comparez deux textes pour quantifier leur similarité et identifier les passages identiques ou légèrement modifiés.
- Révision de code avant commit ou pull request
- Comparaison de fichiers de configuration
- Relecture de documents texte
- Vérification de scripts SQL et migrations
- Analyse de réponses JSON / XML
- Détection de duplicats ou de plagiat
- Comparaison de logs entre deux exécutions
Diff en ligne vs git diff
Quand utiliser cet outil plutôt que git diff ? Les deux approches sont complémentaires :
| Critère | Cet outil en ligne | git diff |
|---|---|---|
| Installation requise | ✅ Aucune | ❌ Git installé |
| Texte libre (non versionné) | ✅ Oui | ❌ Fichiers trackés uniquement |
| Interface visuelle | ✅ Colorée, interactive | ⚠️ Terminal uniquement (sans GUI) |
| Historique multi-commits | ❌ Non | ✅ Oui |
| Fichiers volumineux | ⚠️ Limité (~2 000 lignes) | ✅ Illimité |
| Confidentialité | ✅ 100% local, navigateur | ✅ Local |
git diff pour tout ce qui est versionné dans un dépôt.
Bonnes pratiques de comparaison
Normaliser avant de comparer
Pour éviter les faux positifs (différences d'indentation, fins de ligne), activez l'option "Ignorer les espaces" si seule la logique vous importe.
Comparer de petites unités
Préférez comparer des fonctions ou classes isolées plutôt que des fichiers entiers. Un diff de 10 lignes est lisible en 10 secondes ; un diff de 500 lignes nécessite une vraie session de review.
Lire les suppressions avant les ajouts
Lisez d'abord les lignes rouges (ce qui disparaît) pour comprendre le contexte avant de lire les vertes (ce qui est introduit). C'est l'ordre naturel de la pensée : "qu'est-ce qui existait ?" puis "qu'est-ce qui le remplace ?".
Utiliser "Afficher uniquement les modifications"
Sur des textes longs avec peu de changements, cochez cette option pour vous concentrer sur ce qui a vraiment changé — comme le mode --unified=0 de git diff.
Sécurité et confidentialité
Cet outil fonctionne entièrement dans votre navigateur. Aucune donnée n'est envoyée à un serveur. Vous pouvez l'utiliser en toute sécurité avec du code propriétaire ou des documents confidentiels.
FAQ
Le comparateur supporte-t-il tous les langages de code ?
Oui — la comparaison est purement textuelle, ligne par ligne. JavaScript, PHP, Python, SQL, JSON, YAML, HTML, CSS… tous les formats texte fonctionnent.
Quelle est la taille maximale des textes ?
L'outil gère confortablement des textes jusqu'à ~2 000 lignes. Au-delà, le calcul LCS peut être lent selon votre appareil. Pour de très grands fichiers, utilisez diff en ligne de commande ou git diff.
Mes données sont-elles envoyées à un serveur ?
Non. Tout le traitement se fait en JavaScript dans votre navigateur. Aucun texte n'est transmis à AngularForAll ou à un tiers.
Comment copier le résultat ?
Cliquez sur le bouton "Copier le résultat" après la comparaison. Le diff est copié au format texte unifié (avec préfixes + et −) dans votre presse-papier.
L'option "ignorer les espaces" affecte-t-elle les résultats ?
Oui. Avec cette option, deux lignes identiques à l'indentation près seront traitées comme égales. Pratique pour comparer du code reformaté ou copié depuis différentes sources avec des tabulations/espaces incohérents.
Puis-je comparer des fichiers entiers ?
Oui — ouvrez votre fichier dans un éditeur de texte, sélectionnez tout (Ctrl+A), copiez (Ctrl+C) et collez dans l'une des zones. Faites de même pour la seconde version.
Conclusion
Le comparateur de diff texte / code en ligne est un outil indispensable pour tout développeur ou rédacteur souhaitant visualiser rapidement les différences entre deux versions d'un contenu. Basé sur l'algorithme LCS, il produit un résultat clair, coloré et exploitable directement depuis le navigateur — sans installation ni envoi de données.
Que vous révisiez du code, compariez des configurations ou vérifiez des documents, gardez cet outil en favori pour gagner du temps lors de vos revues quotidiennes.
git diff et la revue de code sur GitHub/GitLab pour un workflow de révision complet et efficace.
Comment utiliser le comparateur
L'outil est conçu pour être simple et immédiat — aucune installation, aucun compte requis.
Étape par étape
Options disponibles
Raccourci clavier
Depuis n'importe quelle zone de texte, appuyez sur Ctrl+Entrée (ou Cmd+Entrée sur Mac) pour lancer la comparaison instantanément.