ForHosting KIT · Texte et IA

Comparez deux textes ligne par ligne

Comparez deux versions d’un texte sans examiner manuellement chaque ligne. Cet outil déterministe aligne les lignes identiques dans leur ordre d’origine, puis classe chaque résultat comme ajout, suppression ou élément inchangé.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Il convient aux fichiers de configuration, journaux, listes, brouillons et sorties générées dont les retours à la ligne ont un sens. La réponse structurée fournit les numéros disponibles et un résumé compact, faciles à exploiter lors d’une révision humaine ou dans un traitement automatisé.

Préparez les deux versions pour une comparaison pertinente

Placez la version de référence dans le champ original et celle que vous souhaitez examiner dans revised. Chaque retour à la ligne constitue une limite significative : conservez donc la mise en forme utile. Une phrase déplacée sur une autre ligne est signalée comme une suppression puis un ajout, même si ses mots restent identiques. Les fins de ligne Windows et Mac classiques sont normalisées avant la comparaison, ce qui évite de déclarer différents des contenus issus de systèmes distincts. Les espaces, majuscules, signes de ponctuation et lignes vides restent significatifs. Cette rigueur convient aux configurations, rapports générés et inventaires. Une version peut être vide pour montrer que toutes les lignes ont été ajoutées ou retirées. Si les deux sont vides, la requête renvoie une erreur. Envoyez directement des chaînes, pas des tableaux ni des objets. Le service ne tronque, ne réécrit et n’interprète pas votre contenu avant l’alignement.

Lisez le résultat ordonné ligne par ligne

La réponse contient un tableau lines ordonné et un résumé. Chaque entrée présente un statut et le texte exact de la ligne. Une entrée inchangée comprend original_line et revised_line, car elle existe dans les deux versions. Une suppression ne comporte que original_line, tandis qu’un ajout ne comporte que revised_line. Ces positions commencent à un et correspondent au texte source ; elles peuvent donc être affichées directement dans une interface de révision. Lorsqu’une ligne est remplacée, le résultat indique généralement une suppression puis un ajout : il n’existe aucun statut de remplacement distinct. Le résumé compte les ajouts, suppressions et lignes inchangées. L’alignement repose sur une plus longue sous-séquence commune, préserve l’ordre et empêche une petite insertion de faire paraître tout le document différent. Des lignes identiques répétées peuvent autoriser plusieurs alignements ; une règle stable privilégiant la suppression tranche les égalités et produit toujours le même JSON.

Exploitez les différences structurées dans vos automatisations

La comparaison par ligne est particulièrement utile lorsqu’un autre système doit agir sur la réponse. Un processus de déploiement peut comparer la configuration attendue à celle observée, bloquer une publication si des réglages protégés disparaissent et conserver le résultat comme preuve. Un outil éditorial peut mettre en évidence uniquement les ajouts et suppressions, tout en gardant les lignes intactes comme contexte. Une surveillance peut confronter des instantanés successifs, consulter d’abord le résumé et éviter toute alerte si rien ne change. Cette capacité est déterministe, n’utilise ni réseau ni modèle de langage et ne reformule jamais le contenu. Chaque requête API coûte $0.002 ; la page exécute aussi la même logique pure dans le navigateur. Il s’agit volontairement d’une comparaison par ligne, non d’une analyse sémantique : elle n’explique pas les motifs, n’ignore pas les espaces et ne compare pas les mots d’une ligne modifiée. Utilisez ses positions et statuts pour surligner, auditer, tester ou alerter.

Contrôler une configuration

Comparez une configuration proposée à la version déployée et affichez précisément les lignes ajoutées ou supprimées.

Vérifier une sortie générée

Confrontez un rapport récent à un résultat connu et utilisez le résumé pour repérer les changements inattendus.

Créer une révision éditoriale

Transformez deux brouillons structurés en lignes en éléments qu’une interface peut surligner avec des positions fiables.

Que renvoie la comparaison ?

Elle renvoie un tableau ordonné des lignes ajoutées, supprimées et inchangées, accompagné du total de chaque statut.

Comment les lignes modifiées sont-elles représentées ?

Une modification apparaît sous la forme d’une suppression de l’ancienne ligne et d’un ajout de la nouvelle.

Les espaces sont-ils pris en compte ?

Oui. Les espaces et lignes vides sont conservés et comparés, mais les fins de ligne avec retour chariot sont normalisées.

Une entrée peut-elle être vide ?

Oui. Le texte non vide sera entièrement ajouté ou supprimé. Seules deux entrées vides provoquent une erreur.

Quel est le prix d’une requête API ?

Chaque requête API coûte $0.002. L’outil du navigateur exécute localement la même comparaison déterministe.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/text/diff-lines

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/text/diff-lines \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"original":"alpha\nbeta\ngamma","revised":"alpha\nbeta updated\ngamma"}'
{
  "original": "alpha\nbeta\ngamma",
  "revised": "alpha\nbeta updated\ngamma"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "text.diff_lines",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_tokens20000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →