Partager ce qui a été lu (Supriaha)¶
Aujourd'hui, chacun fait reconnaître séparément le même registre d'archives. Une lecture ne coûte pas cher, mais elle coûte à chaque fois : un dossier de trois mille feuillets, ce sont des heures de calcul, et chacun de ceux qui y arrivent les paie. Pourtant le texte est le même, et quelqu'un l'a déjà tout prêt.
Supriaha (nyshporka.online) est la banque commune des dossiers lus. C'est le
texte qui voyage, pas les images : un dossier de 3772 feuillets pèse
3–4 mégaoctets dans un paquet.
Les images n'entrent jamais dans le paquet
Le paquet contient le texte de la machine et le passeport de la façon dont il a été obtenu. Les scans eux-mêmes restent chez celui qui les a téléchargés, et le paquet ne fait que nommer la source — pour que le destinataire puisse les obtenir au même endroit et aux mêmes conditions.
Le chemin le plus court¶
nysh share login # один раз: браузер, одна кнопка
nysh share setup --as "ваше імʼя" # один раз: профіль
nysh share pack "ДАХмО 315-1-1234" # спакувати справу
nysh share publish data/share/outbox/DAHMO_315-1-1234.nyshtext
De l'autre côté :
nysh share pull "ДАХмО 315-1-1234" --take # знайти в пулі й прийняти
nysh share pull --repo RGIA --fond 592 --opys 25 --take # уся серія одним викликом
Les lectures reçues se rangent au même endroit que vos propres textes lus et
entrent aussitôt dans le stockage de texte : nysh text find, grep et ctx les
voient sans text index séparé. On peut chercher dans une série comme dans un
dossier : nysh text find <прізвище> --case "RGIA 592-25" ; pour plusieurs
dossiers, répétez --case.
Si vous partagez par l'intermédiaire d'un agent
La skill share-case conduit l'agent par ce même chemin et surveille les
endroits qui cassent sans bruit : elle vérifie la cote en dry-run avant le
versement, n'utilise pas les années du catalogue FamilySearch, et fait
parvenir à la banque la fiche définie par share card en versant à nouveau.
Elle s'installe avec les autres skills : nysh skills install.
Connexion¶
nysh share login ouvre une page de nyshporka.online : se connecter par e-mail,
avec Google ou anonymement. La clé arrive d'elle-même dans Nyshporka et se range
dans le trousseau de clés du système — il n'y a rien à copier. Pour retirer la
clé de la machine : nysh share logout. Sur un serveur sans navigateur, la clé se
place dans la variable NYSHPORKA_SUPRIAHA_TOKEN ; elle est délivrée dans Mon
compte.
La banque ne permet de chercher, de prendre et de verser des paquets qu'avec une
clé. Si vous n'en avez pas encore, pull, sync et publish proposeront
d'eux-mêmes de vous connecter.
Profil¶
nysh share setup sans options pose les questions une à une ; avec n'importe
quelle option, il enregistre seulement ce qui est indiqué et ne demande rien
(pour les scripts et l'installateur).
| champ | option | par défaut |
|---|---|---|
| pseudonyme au catalogue | --as |
sans nom |
| contact (public) | --contact, pour le retirer — --contact - |
aucun |
| licence du texte | --license |
CC0-1.0 |
| quand verser | --consent nikoly \| pytaty \| zavzhdy |
pytaty — tenir une liste et le rappeler |
| consulter la banque avant une lecture | --lookup / --no-lookup |
non |
| géométrie des lignes | --geometry / --no-geometry |
oui |
Le contact est une donnée publique
Il part dans chacun de vos paquets et est visible par tous ceux qui le
reçoivent. Il n'est jamais rempli automatiquement (ni depuis git config, ni
depuis le nom d'utilisateur du système) — seulement depuis le profil que vous
avez rempli, ou depuis --contact. Pour un seul paquet sans contact —
--contact -.
Consulter la banque avant une lecture (--lookup) signifie : avant chaque
nysh read, Nyshporka envoie au serveur la cote du dossier et le nombre d'images
et, si le texte existe déjà, affiche une ligne. Le serveur voit alors quel dossier
vous vous apprêtez à lire — c'est pourquoi c'est désactivé par défaut.
Fiche du dossier : titre, années, lieux, genre¶
L'empaqueteur compose la fiche lui-même — à partir du passeport du répertoire, du relevé de l'inventaire du fonds et de la bibliothèque des dossiers. Les mentions de travail du passeport (date de vérification entre parenthèses, « FS-тег: … », « ⚠ … », marques de priorité) n'entrent pas dans la fiche. Quand c'est insuffisant — dossier sans nom, titre de travail au lieu du vrai —, c'est celui qui verse qui définit la fiche :
nysh share card "ДАХмО 315-1-1234" --title "Сповідні розписи парафії …" \
--years 1795-1797 --place "Слобідка" --place "Вербівка" --genre confession
La même chose directement à l'empaquetage : nysh share pack … --title … --years ….
Ce qui est défini est mémorisé (data/share/cards.json) et s'applique à chaque
empaquetage suivant de ce dossier — pack, suggest --all, le versement
automatique. Pour consulter — nysh share card <шифра>, pour effacer un champ —
--title "", toute la fiche — --clear.
Genres : birth, marriage, death, confession, revision, clergy_list,
gazette, finding_aid, other (on peut aussi les donner par leur libellé :
« сповідні »).
Où sont les images. Quand un dossier a été lu à partir d'une prise de vue privée — collection d'un chercheur, achetée ou commandée —, le destinataire ne la trouvera ni sur FamilySearch ni sur Commons. La fiche indique qui détient les images :
nysh share card "ДАХмО 230-1-1234" --scans "Колекція дослідника=https://…"
Le lien part en premier parmi les liens du paquet, avec la marque role: scans,
et dans la banque il figure à côté du texte : c'est là que la personne ira
chercher les images. Comme le reste de la fiche, il est mémorisé ; pour l'effacer —
--scans "".
Ce qui est lu mais pas encore versé¶
nysh share suggest # перелік зі статусами
nysh share suggest --all --ready # спакувати все готове
nysh share suggest --skip "ДАХмО 315-1-1234" --why "платна зйомка"
Statuts : prêt, dans la banque sans position des lignes, incomplet
(moins de 80 % des images lues — versé seulement avec --partial), sans
images. Ce qui est déjà dans la banque est déterminé par l'instantané de la
banque (nysh share sync) ; pour les dossiers que l'instantané ne couvre pas —
par le journal des empaquetages. Un refus est mémorisé dossier par dossier : on ne
vous redemandera plus rien sur un dossier que vous avez décidé de ne pas verser.
Ce qu'il y a dans un paquet¶
manifest.json шифра, картка, джерело сканів, знаменник, ваші поля
frames.jsonl перелік кадрів справи
runs/<прогін>/ NNNN.txt — сторінка, рядок у рядок; плюс паспорт прогону
README.md пояснення для того, хто відкриє пакет без Нишпорки
La géométrie des lignes (*.lines.json) part dans un fichier séparé,
….geom.nyshtext : elle pèse ×10 le texte et n'est utile qu'à celui qui a les
mêmes images.
Quelles lectures partent¶
Les voix d'un paquet sont des lectures du dossier, et non tout ce qui se trouve à
côté. Restent à la maison, et pack nomme chacune avec la raison :
- les lectures de mesure (marque
control_rundans le passeport de la lecture) ; - les essais : une lecture dont toutes les pages figurent dans une lecture plus complète du même modèle (des parties d'un dossier lues par un même modèle partent toutes les deux) ;
- les lectures d'un autre dossier au nom semblable ;
- les lectures reçues d'autrui — c'est leur auteur qui les verse, pas vous ;
- celles que vous nommez :
--skip-run <прогін>.
Le dénominateur — le champ principal¶
Le manifeste indique combien d'images compte le dossier et combien ont été lues, avec quel modèle, et si l'orientation a été vérifiée. Sans cela, le décodage d'autrui produit de faux zéros en masse : quelqu'un fait un grep sur trois pages prises pour trois mille, ne trouve pas le nom — et ferme honnêtement la piste, en ayant tout fait correctement.
C'est pourquoi un paquet avec un décodage incomplet ou sans nom de modèle ne se construit tout simplement pas. Si vous avez lu une partie exprès, dites pourquoi :
nysh share pack "ДАХмО 315-1-1234" --partial "лише аркуші з нашим селом"
nysh share pack "ДАХмО 315-1-1234" --frames 408 # число кадрів справи, якщо пакувальник його не знайшов
Vos champs¶
nysh share pack "ДАХмО 315-1-1234" \
--as "sergiy" --contact "t.me/…" \
--note "читав Дяком, останні аркуші підмокли" \
--link "звідки скани=https://…" \
--extra "plivka=105208823"
--note— texte libre ; il parvient au lecteur et figure dans le README du paquet.--link— « libellé=adresse » ou simplement le lien ; le plus utile est celui qui mène aux scans. Une adresse contenant=(lien FamilySearch) est prise en entier.--extra— des paires « clé=valeur » que le format transportera intactes. Une paire sans=, avec une clé vide ou nommée deux fois — c'est un refus, et non une omission silencieuse.
Ce qui n'entre pas dans le paquet¶
L'empaqueteur prend seulement les pages de texte et le passeport de la lecture
— et, du passeport, seulement les champs utiles au destinataire : modèle, moteur,
écriture, nombre de pages traitées. Ne partent pas : les chemins de votre disque,
les notes de travail (*_note, explications des mesures, historique des
fusions), les extraits de sauvetage, les journaux, la quarantaine, le stockage des
pages, les verdicts, le canon.
On peut voir exactement ce qui partira avant la construction :
nysh share pack "ДАХмО 315-1-1234" --dry-run
Carnet du dossier¶
Outre le texte, on sait souvent sur un dossier autre chose, utile à quiconque l'ouvrira : ce que contient vraiment le registre, où l'inventaire des archives s'est trompé dans le titre ou les années, où se trouve une copie. S'y ajoute aussi une ligne que la machine a lue de travers et que vous avez vérifiée sur le scan. Tout cela, c'est le carnet du dossier. Il se trouve à côté des feuillets examinés et part dans Supriaha séparément du texte : on peut aussi l'ajouter à un registre versé par quelqu'un d'autre.
nysh note add "ДАХмО 315-1-1234" --kind about --text "Метрична книга Покровської церкви, 1834–1836" --share
nysh note add "ДАХмО 315-1-1234" --kind catalog-error --field years --archive-says 1834 --actually "1834–1836" --share
nysh note add "ДАХмО 315-1-1234" --kind copy --other "ДАВіО 904-24-55" --text "копія в консисторії" --share
nysh note read "ДАХмО 315-1-1234" 0031 --line 153 --text "урожденная Прухницкая" --share
nysh note push "ДАХмО 315-1-1234" --dry-run # що поїде
nysh note push "ДАХмО 315-1-1234" # віддати
nysh note pull "ДАХмО 315-1-1234" # що дописали інші
Dans Supriaha ne part que ce qui est marqué --share, ainsi que la liste des
feuillets examinés, sans vos commentaires. Le familial — « mon grand-père est
inscrit ici » — écrivez-le en --kind note : une telle entrée ne part jamais, et
la banque n'acceptera pas une entrée contenant des mots familiaux, même marquée.
Sur la page du registre, le carnet est affiché séparément du texte et n'entre pas
dans le nombre de pages lues : ce qui est vérifié à l'œil, ce sont des lignes
choisies, et non un dossier lu.
Une ligne vérifiée part dans Supriaha avec son extrait — la découpe de cette ligne
dans le scan, en JPEG gris, si le scan du dossier se trouve sur votre ordinateur
(sans lui, la ligne part seulement en texte). En partageant des lignes
vérifiées, vous acceptez que le propriétaire de Nyshporka les utilise pour
entraîner les modèles de reconnaissance. Les extraits ne sont pas transmis aux
autres utilisateurs et ne sont pas affichés sur la page du registre ; le texte de
la vérification est visible par tous. Une entrée retirée (nysh note retract puis
note push) retire aussi l'extrait de la banque.
Recevoir le paquet de quelqu'un d'autre¶
Si vous passez par un agent
La skill pull-case conduit l'agent de pull jusqu'à la recherche dans ce
qui a été reçu et énonce à voix haute le niveau de correspondance : ce qui,
dans le texte d'autrui, se placera sur vos images, et ce qui ne servira qu'à
la recherche.
nysh share inspect <файл або адреса> # подивитись, нічого не розкладаючи
nysh share import <файл або адреса> # прийняти
nysh share geometry <….geom.nyshtext> # докласти рамки рядків
Le paquet vient d'une personne que vous ne connaissez pas, et le récepteur ne le croit pas sur parole :
- les contrôles mesurent le contenu, et non la déclaration : pages, lignes et empreinte du texte sont calculées à partir du paquet lui-même, et un paquet qui déclare plus qu'il ne contient ne passe pas ;
- un défaut du paquet entraîne un refus avant toute écriture : un chemin hors
de
runs/<прогін>/<файл>, un nom interdit sous Windows, un lien, un fichier trop gros — et rien n'est écrit sur le disque ; - seules les lectures nommées dans le manifeste sont déployées, et seulement le texte avec son passeport ; le passeport est nettoyé selon la même liste blanche ;
- votre propre lecture n'est jamais écrasée — même avec
--force. Une lecture portant le même nom (sans tenir compte de la casse) — c'est un refus.--forcene remplace qu'un paquet reçu auparavant ; - un paquet récupéré à une adresse du catalogue est vérifié avec son sha256
(
share pull --takele fait lui-même ; pourimportetgeometrypar adresse —--sha256) : un fichier substitué dans le stockage après que la banque l'a accepté n'est pas reçu.
Dans quelle mesure le texte d'autrui se place sur vos images¶
La clé du dossier ne convient pas pour cela : elle est formée à partir du nom du répertoire et de votre référentiel d'archives, si bien que chez deux personnes le même registre obtient des clés différentes. C'est pourquoi le paquet contient la liste des images et l'empreinte de la prise de vue, et Nyshporka mesure la correspondance et l'annonce clairement :
| niveau | ce que cela signifie | ce qui fonctionne |
|---|---|---|
exact |
toutes les images concordent (empreinte ou identifiant FamilySearch), ou l'empreinte de la prise de vue sur au moins trois images | tout, y compris les extraits et la géométrie d'autrui |
by-name |
les noms et le nombre concordent | tout, sauf la géométrie d'autrui |
by-position |
seul le nombre, ou une partie des images, concorde | la page oui, l'extrait est douteux |
text-only |
pas d'images, ou des images différentes | recherche, page, cote |
La géométrie d'autrui ne se place que sur le texte de la même contribution et
seulement avec exact ; sinon — refus avec explication (--force, si vous êtes
sûr de vous).
text-only n'est pas un échec, mais le cas d'usage le plus fréquent : vous trouvez
le nom dans le texte d'autrui, vous voyez le dossier et le numéro du feuillet — et
vous allez regarder le scan lui-même à la source.
Un même nom de fichier ne signifie pas la même image
Un staging à plat renumérote les pages : deux prises de vue d'un même registre donnent facilement les mêmes noms pour un contenu différent. C'est justement pourquoi le niveau n'est jamais relevé sur une supposition.
Votre zéro et le zéro d'autrui sont deux réponses différentes¶
Les lectures reçues sont marquées, et la recherche le dit :
знаменник: кадрів 3772 · прочитано 3770 · у сторі прогонів 2 із 2 …
з них чужий декод: прогонів 2 із 2 · сторінок 3770 · від oksana
Le texte d'autrui a été lu par un autre modèle, personne ici ne répond de son exhaustivité, et on ne peut le faire relire qu'en le demandant à celui qui l'a donné. Un zéro obtenu sur ce texte pèse moins qu'un zéro sur le vôtre — et cela doit se voir.
La banque¶
nysh share pull # огляд пулу: архів · фонд · опис, справ і сторінок
nysh share pull "Слобідка" # що є в каталозі
nysh share pull "ДАХмО 315-1-1234" --take
nysh share pull --repo RGIA --fond 592 # серія: що в ній є
nysh share pull --repo RGIA --fond 592 --take # і прийняти всю
nysh share stats --catalog # хто скільки вніс
nysh share sync --repo DAHMO --fond 315 # зріз для колонки «пул» у `cases fond`
Le catalogue est l'API https://api.nyshporka.online/v1. Un miroir à vous ou un
serveur de test se définit par la variable NYSHPORKA_TOLOKA ou l'option
--base ; la clé de Supriaha ne part pas vers une telle adresse — ni depuis le
trousseau, ni depuis NYSHPORKA_SUPRIAHA_TOKEN. Votre propre serveur doit être
nommé explicitement : NYSHPORKA_SUPRIAHA_TRUST=https://хост[:порт] — HTTPS
uniquement et correspondance exacte de l'adresse ; la clé de Supriaha part alors
vers lui. La boucle locale de cette machine (127.0.0.1, localhost) est de
toute façon considérée comme sûre.
sync avec --repo/--fond ajoute l'instantané d'un seul fonds à celui qui
existe ; pour les fonds que l'instantané ne couvre pas, la colonne « пул »
(banque) indique « on ne sait pas », et non « absent ».
Un refus de la banque (contrôles, quota journalier), Nyshporka l'affiche avec les
mots du serveur. Quand le même texte est déjà dans la banque, publish indique
s'il a été accepté, refusé autrefois ou s'il n'est pas encore terminé — « déjà
dans Supriaha » ne signifie que le premier cas.
La trace des échanges¶
data/share/journal.jsonl garde la mémoire de ce qui est arrivé d'où et de ce qui
est parti où, et les paquets reçus restent dans data/share/inbox. Ce n'est pas
du suivi pour le suivi : un fait tiré du décodage d'autrui et inscrit dans le canon
doit s'appuyer sur un fichier permanent — sinon la citation reste en l'air dès que
vous supprimez le téléchargement.
nysh share list # журнал
nysh share stats # скільки віддано, скільки прийнято, від кого
Licence¶
Le paquet indique à quelles conditions le texte est versé (--license, par défaut
CC0-1.0) et, à part, les conditions de la source des scans (--source-terms),
s'il y en a. Sans licence, le paquet ne se construit pas : le destinataire doit
savoir ce qu'il peut en faire.