Match — comparaison locale de déclarations
Comparer vos descriptions et contraintes explicites, expliquer les incompatibilités et garder les inconnues. Les prix sont classés uniquement dans leurs groupes réellement comparables ; aucun classement global de fournisseurs, mesure de terrain ou exécution d'offre.
Usage local personnel et professionnel gratuit selon les conditions adoptées. Node.js20 ou supérieur déjà disponible, aucune dépendance à installer. Paquet0.1.2, moteur0.1.0, profil entrée explicite et stdout.
Fichiers et conditions
Télécharger Match — archive de neuf fichiers :10917octets, SHA-256 e11739e7c8aa256b6d3de09793e524ff6533c8fe64bdad658948cc7654b648f1.
Un exemple, un résultat à conserver
- Extraire le ZIP dans un dossier neuf sans écraser une installation. Garder les neuf fichiers et leur structure.
- Ouvrir PowerShell dans le dossier contenant cli.mjs. Lire les conditions et le format d'entrée.
- Pour conserver l'exemple dans un fichier neuf, suivre la capture externe ci-dessous. Elle appelle une fois le CLI sur examples/comparison.json, puis sauvegarde le JSON capturé si aucun refus n'est signalé.
$matchTexte = & node .\cli.mjs --input .\examples\comparison.json
$matchCode = $LASTEXITCODE
if ($matchCode -ne 0) { throw "Match a refuse l'entree : code $matchCode." }
$matchJson = [string]::Join([Environment]::NewLine, [string[]]$matchTexte) + [Environment]::NewLine
$null = $matchJson | ConvertFrom-Json -ErrorAction Stop
$matchSortie = Join-Path -Path (Get-Location).Path -ChildPath 'resultat-match.json'
$matchOctets = [Text.UTF8Encoding]::new($false).GetBytes($matchJson)
$matchFlux = [IO.File]::Open($matchSortie, [IO.FileMode]::CreateNew)
try { $matchFlux.Write($matchOctets, 0, $matchOctets.Length) }
finally { $matchFlux.Dispose() }
Get-Content -Raw -Encoding utf8 -LiteralPath $matchSortie | ConvertFrom-Json
Lire ensuite resultat-match.json : demande, déclarations, provenance, motifs, prix et groupes comparables. Le CLI lui-même écrit seulement sur stdout ; la création du fichier ci-dessus est faite par PowerShell. Cette capture peut être partielle après interruption et n'est pas un export durable fourni par Match.
L'exemple inclus est entièrement fictif et daté du24octobre2026. L'attendu est deux offres compatibles déclarées et une indéterminée ; Beta avant Alpha dans un groupe comparable, inconnue sans rang. Ce n'est ni une offre actuelle ni une mesure. Les attendus ne sont pas un test nouvellement exécuté.
Vos données, refus et limites
Créer votre propre entrée selon README, avec schema datoka.match.input.v0.1, evaluatedAt, request et offers. Ne pas utiliser une projection Semantic ou un catalogue à sa place. Aucun mode Registry/M1, vue connectée, mesureK3 ou fichier d'export intégré n'est fourni dans ce profil.
Code0 : JSON transmis sur stdout. Code2 : refus USAGE, INPUT_SIZE ou INPUT_REFUSED sur stderr ; aucun ancien résultat de secours. Corriger les données autorisées et choisir une sortie neuve. Ne pas écraser ou effacer des fichiers utiles pour faire accepter un refus.
Entrée≤2Mio,1000offres ; formats/unités/devises/conditions différents ne deviennent pas comparables par conversion implicite. Inconnu, devis et zéro déclaré restent distincts. L'outil ne contacte pas les sources, ne vérifie pas leur vérité et ne déclenche ni service ni paiement.
Conserver vos descriptions, captures et leur provenance localement, sans secret. Les conditions n'accordent pas aux utilisateurs de modification ou redistribution du logiciel. Les données et résultats sont distincts du code, sous vos droits réels et règles de confidentialité. Aucun achat, abonnement, support garanti ou hébergement n'est compris dans la gratuité d'usage local.