(modifié le 8 mars 2013 à 23:07)

But : détecter rapidement les différences entre deux fichiers quasi-similaires. Gain de temps énorme !

Ne vous est-il jamais arriver de vous arracher les cheveux en pensant que 2 fichiers sources étaient identiques mais qu'ils ne rendaient pas le même résultat ? Visuellement vous parvenez pas à déceler par l'erreur, le plus facile étant de demande à une autre personne de déceler les différences... mais il y a (beaucoup) mieux 🙂

Je vous présente un logiciel que j'utilise très régulièrement pour programmer (en PHP), notamment pour tous les bugs que j'ai sur ce blog même (suite à divers problèmes de serveur...). Ce logiciel se nomme Winmerge, il est gratuit car Open Source, fiable et rapide. Le concept est très simple : à l'ouverture du logiciel sélectionnez les deux fichiers à comparer et validez.

Le résultat ne se fait pas attendre, WinMerge vous signale les différences de manière visuelle en utilisant plusieurs codes couleur :

WinMerge - exemple avec du html
Comparaison de deux pages HTML

Voici un aperçu des fonctionnalitées offertes :

  • interface en Français ou Anglais
  • comparaison de fichiers
  • comparaison de répertoires
  • couleurs de syntaxe configurables à souhait
  • support des formats DOS, UNIX et MAX
  • détection et conversion des sauts de lignes (DOS/LINUX/MAC)
  • support de l'unicode
  • panneau vertical montrant les différences sur la gauche (cliquable)
  • possibilité de filtrage par expression régulière pour inclure/exclure des termes
  • intégration à l'environnement Windows (64 bits supporté)
  • support des archive (avec 7-zip)
  • support de différents plugins
  • documentation en ligne (en anglais) et en HTML compilé installé en local

WinMerge - exemple de comparaison de deux répertoires
Comparaison de deux dossiers

Si vous codez vous serez ravis d'un compagnon pareil 🙂 Les options sont nombreuses et utiles, vous trouverez sûrement ce que vous cherchez !

A savoir : DOS intègre directement un comparateur de fichier, il s'agit de la commande FC (pour File Compare), voici la documentation :

Compare deux fichiers ou ensembles de fichiers et affiche les différences
entre eux

FC [/A] [/C] [/L] [/LBn] [/N][/OFF[LINE]][/T] [/U] [/W] [/nnnn]
[lect1:][chemin1]fichier1          [lect2:][chemin2]fichier2
FC /B [lect1:][chemin1]fichier1 [lect2:][chemin2]fichier2

/A        Affiche la 1ère et dernière ligne de chaque ensemble de différences.
/B        Effectue une comparaison binaire.
/C        Ignore la casse.
/L        Compare les fichiers en tant que texte ASCII.
/LBn      Définit le nombre maximal de différences consécutives comme égal
au nombre de lignes spécifié.
/N        Affiche les numéros de ligne pour une comparaison ASCII.
/OFF[LINE] Ne pas ignorer les fichiers dont l'attribut hors connexion a été réglé.
/T        Ne convertit pas les tabulations en espaces.
/U        Compare les fichiers en tant que fichiers texte UNICODE.
/W        Comprime les blancs (tabulations et espaces) pour la comparaison.
/nnnn     Spécifie le nombre de lignes consécutives qui doivent correspondre
après une différence.
[lect1:][chemin1]fichier1
Spécifie le premier fichier ou ensemble de fichiers à comparer.
[lect2:][chemin2]fichier2
Spécifie le second fichier ou ensemble de fichiers à comparer.

Téléchargement : WinMerge - mirroir clubic.com
A noter que si vous êtes habitué au SVN vous pourrez le coupler avec TortoiseSVN (site officiel ici, fonctionne sur Windows 32/64 bits)

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter