# Match — conserver la sortie de l'exemple dans un fichier neuf Profil concerné : paquet0.1.2, moteur0.1.0, explicit-input-stdout-r1, archive finale e11739e7. Le CLI produit du JSON sur stdout ; il ne comporte pas d'option d'export fichier. Le parcours ci-dessous est une capture externe par PowerShell, distincte du logiciel. Il n'a pas été exécuté pour cette préparation de page et reste à qualifier lors du premier usage autorisé. Extraire les neuf fichiers du ZIP dans un dossier neuf, conserver leur structure, puis ouvrir PowerShell dans le dossier contenant cli.mjs, run.mjs et examples. Node.js20+ doit déjà être disponible ; aucune installation npm. Lire README.md, CONDITIONS.md et NOTICE-LIMITES.md. Utiliser un emplacement dont vous pouvez faire cet usage et un nom de sortie inexistant. Les commandes suivantes appellent Match une seule fois sur l'exemple synthétique déjà fourni, conservent sa sortie en mémoire, contrôlent le code et la forme JSON, puis créent exclusivement un fichier UTF-8 sans BOM. Elles ne modifient ni l'entrée ni les neuf fichiers du paquet. ~~~powershell $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 ~~~ resultat-match.json contient le JSON capturé, pas un nouveau format d'export Match. CreateNew refuse un fichier existant sans le tronquer. Une coupure ou erreur d'écriture peut laisser un fichier partiel : le conserver, ne pas l'annoncer comme un résultat complet et choisir ensuite un nom neuf. La capture n'est pas une remise durable/atomique, ni une barrière universelle de mémoire, de temps, de liens ou d'ACL. Les fins de ligne de la capture peuvent être celles de PowerShell ; cela ne change pas les valeurs JSON et ne garantit pas l'identité binaire avec stdout. Sur cet exemple daté du24octobre2026, l'attendu décrit par les sources est trois offres fictives : deux compatibles déclarées, une indéterminée, aucune exclue ; Beta rang1 et Alpha rang2 seulement dans leur groupe de prix comparable, inconnue sans rang, K3 non évalué. Ce sont des attendus, pas un nouveau résultat observé. Ne pas rajeunir la date pour obtenir une conclusion favorable. Pour vos propres données, créer une entrée neuve selon README et remplacer seulement le chemin après --input. Code0 signifie résultat transmis à stdout ; code2 signifie refus sur stderr, pas résultat précédent de secours. Arrêter la suite si le CLI refuse, si ConvertFrom-Json échoue ou si l'écriture échoue. Retrouver entrée et fichiers intacts, corriger les données autorisées et relancer explicitement vers un nouveau nom ; aucune répétition automatique. Une empreinte ou le parsing JSON ne certifie ni vérité, disponibilité actuelle, fournisseur ni paiement. Vos entrées et captures peuvent contenir provenance, descriptions et prix confidentiels ; garder les originaux, lire avant partage et respecter les droits réels sur les données. Usage local personnel/professionnel gratuit selon les conditions adoptées, sans permission nouvelle de modifier ou redistribuer le logiciel.