Le concept de comparaison différentielle de données
La comparaison différentielle, communément appelée « diff », consiste à identifier et à afficher visuellement les écarts entre deux versions d'un même contenu. Cette opération est essentielle pour suivre l'évolution d'un document, valider des modifications de code ou vérifier l'intégrité de données structurées. L'outil permet de comparer une version source, désignée sous le label « Original », et une version révisée, désignée sous le label « Modifié ».
L'analyse différentielle classe les écarts selon trois catégories distinctes:
- Ajouté: éléments présents uniquement dans la version modifiée.
- Supprimé: éléments présents uniquement dans la version originale.
- Modifié: éléments qui existent dans les deux versions mais dont la valeur ou le contenu a été altéré.
Fonctionnement de la comparaison de texte
En mode « Texte », l'outil analyse les chaînes de caractères brutes selon deux niveaux de granularité configurables:
Comparaison par lignes
Ce mode segmente les entrées à chaque retour à la ligne. Il est particulièrement adapté pour comparer des fichiers de configuration, du code source ou des listes d'éléments où chaque ligne représente une entité logique indépendante.
Comparaison par mots
Ce mode offre une granularité plus fine en analysant les changements à l'intérieur même des phrases. Il permet de repérer précisément l'ajout, la suppression ou la modification d'un mot ou d'un caractère spécifique au sein d'un paragraphe.
Pour illustrer ce fonctionnement, l'outil propose un exemple de texte:
- Original:
Les outils BroBroGo tournent dans votre navigateur. Ils sont rapides, privés et simples. Utilisez-les pour une vérification rapide. - Modifié:
Les outils BroBroGo tournent dans votre navigateur. Ils sont rapides, privés et ciblés. Utilisez-les pour une comparaison rapide.
La comparaison de ces deux textes met en évidence le remplacement de « simples » par « ciblés » à la deuxième ligne, et de « vérification » par « comparaison » à la troisième ligne.
Spécificités de la comparaison de structures JSON
La comparaison de données au format JSON (JavaScript Object Notation) diffère de la simple comparaison textuelle. Le mode « JSON » analyse et valide la structure syntaxique des documents avant d'effectuer la comparaison.
Analyse sémantique et ordre des clés
Dans un objet JSON, les paires clé-valeur ne sont pas ordonnées de manière sémantique. L'outil compare les clés d'objet par leur nom. Par conséquent, si deux objets contiennent exactement les mêmes clés et valeurs, mais dans un ordre différent, l'outil ne signalera aucun changement sémantique.
Comparaison des tableaux
Contrairement aux objets, les éléments d'un tableau JSON sont ordonnés. L'outil compare donc les tableaux par position (index par index). Un déplacement d'élément au sein d'un tableau sera ainsi détecté comme une modification.
L'outil fournit un exemple de structure JSON pour tester ces règles:
- Original:
{ "name": "BroBroGo", "plan": "free", "tools": ["json", "regex", "hash"], "private": true } - Modifié:
{ "name": "BroBroGo", "plan": "free", "tools": ["json", "regex", "diff"], "private": true, "updated": 2026 }
Dans cet exemple, l'outil identifie deux changements structurels précis:
- Dans le tableau
tools, la valeur à l'index 2 passe de"hash"à"diff". - Une nouvelle clé
"updated"avec la valeur2026est ajoutée à la fin de l'objet.
Si aucune modification n'est détectée entre les deux structures, le message « Aucun changement de valeur JSON trouvé » s'affiche.
Gestion des limites et des erreurs de saisie
Pour garantir la réactivité de l'interface utilisateur, des limites strictes et des mécanismes de sécurité sont intégrés au traitement des données:
- Limite de taille: La capacité de saisie pour chaque côté (Original et Modifié) est plafonnée à 300 000 caractères. Si cette limite est dépassée, l'outil affiche le message d'erreur: « Cette entrée est trop grande pour cet outil. Essayez une comparaison plus petite. ».
- Temps de calcul (Timeout): Les algorithmes de comparaison s'interrompent automatiquement si le traitement dépasse 2,5 secondes. Dans ce cas, le message suivant s'affiche: « Cette comparaison prend trop de temps. Essayez une entrée plus courte ou le mode lignes. ».
- Résultats tronqués: Si le volume de différences généré risque de ralentir le navigateur, l'affichage est limité et l'outil indique: « Le résultat est limité pour garder la page réactive. ».
- Erreurs de syntaxe JSON: Si l'une des entrées JSON est mal formée, l'analyse s'arrête et affiche précisément l'erreur rencontrée, sous la forme « Le JSON de gauche est invalide: » ou « Le JSON de droite est invalide: » suivi du détail technique de l'erreur de parsing.
- Échec général: En cas d'anomalie imprévue lors du traitement, le message « Impossible de comparer ces entrées. » est renvoyé.
Confidentialité et traitement local des données
La sécurité des données saisies est assurée par l'architecture technique de l'outil. La comparaison de vos textes et fichiers JSON s'effectue localement, directement dans votre navigateur web.
Aucune donnée, texte, clé ou configuration n'est téléversée vers les serveurs de BroBroGo. Ce fonctionnement garantit que les informations sensibles, telles que les clés d'API, les configurations de serveurs ou les données personnelles, restent confinées au sein de votre propre environnement de navigation.
FAQ
Quelle différence entre le mode texte et le mode JSON?
Le mode texte compare le contenu brut par lignes ou par mots. Le mode JSON analyse les deux côtés, uniformise le format et liste les chemins modifiés, comme $.user.email.
Peut-il comparer de très gros contenus?
La comparaison s’arrête après 2,5 secondes si elle est trop lente. Les collages accidentellement énormes sont aussi limités. Chaque champ de saisie est limité à un maximum de 300 000 caractères.
Le mode JSON ignore-t-il l’ordre des clés?
La liste structurée compare les clés d’objet par nom: changer seulement leur ordre n’est donc pas un changement sémantique. Les tableaux sont comparés par position.
Comment puis-je intervertir rapidement les deux textes saisis?
L'outil dispose d'une fonction d'inversion qui permet d'échanger instantanément le contenu de la colonne de gauche et celui de la colonne de droite. Lorsque cette action est effectuée, le message « Gauche et droite ont été inversés. » s'affiche. Vous pouvez également vider les deux champs d'un seul clic, ce qui déclenche l'affichage du message « Les deux côtés ont été effacés. ».