D OU VIENT CHAQUE FICHIER DE assets/pdfcoupe/
========================================================================

Pose a C73, le 19/10/2026.

POURQUOI CE DOSSIER EXISTE
--------------------------
Decouper un lot en pieces demande d ECRIRE des octets de PDF. Le
serveur ne sait pas le faire depuis C54 : Ghostscript et qpdf ont
quitte l edition, et cette edition ne lance aucun programme.

L intelligence, elle, n a jamais manque : c est l IA qui trouve ou
chaque piece commence et finit, et "seg_decouper()" ne lance aucun
programme -- il ne lit que du TEXTE. Ce qui manquait etait la
mecanique.

C est la solution de C55, appliquee une seconde fois : QUAND LE
SERVEUR NE SAIT PAS FAIRE, LE NAVIGATEUR FAIT. Les scans se lisent
ainsi depuis C55 ; les lots se decoupent ainsi depuis C73.

/!\ CE N EST PAS UN REDESSIN. pdf-lib COPIE les objets de la page --
le texte, les polices, les images, les annotations. Un PDF natif
reste natif, et sa couche de texte survit. Redessiner les pages dans
un canevas aurait rendu des IMAGES : la recherche et la selection
seraient mortes, et il aurait fallu relire chaque piece a l OCR.

LE PARAGRAPHE 1.2 EST TENU
--------------------------
Aucune dependance : pas de Composer, pas de npm, pas d etape de
construction. UN SEUL FICHIER, copie a la main, comme
app/vendor/Smalot/PdfParser et comme assets/ocr/.

/!\ Le paquet npm declare quatre dependances
(@pdf-lib/standard-fonts, @pdf-lib/upng, pako, tslib) : le paquet UMD
livre ici les porte DEJA EN LUI. Mesure sur le fichier : 0 "require(",
0 "import". Prendre les sources au lieu du paquet UMD exigerait npm,
et le paragraphe 1.2 l interdit.

LE PARAGRAPHE 1.1 EST TENU, ET IL N A RIEN FALLU CHANGER
---------------------------------------------------------
assets/ocr/ avait TROIS adresses de CDN a neutraliser : laissees la,
elles seraient allees chercher sur Internet.

Ici, mesure sur le fichier : 0 "fetch(", 0 "XMLHttpRequest",
0 "importScripts", 0 "new Worker", 0 "eval(". Les deux seules
adresses du fichier sont dans les COMMENTAIRES de licence
(apache.org/licenses, github.com/Hopding/pdf-lib) et ne sont jamais
demandees. LE FICHIER EST DONC LIVRE TEL QUEL, sans retouche -- et
c est dit ici parce que l absence de retouche doit se mesurer, elle
aussi.

LE DOSSIER PESE : 513 Ko en 3 fichiers

A cote des 29,6 Mo de assets/ocr/, c est peu : un transfert FTP ne
l abandonnera pas. Verifier quand meme avec "_empreintes.txt" --
un fichier tronque ferait paraitre le bouton et NE RIEN DECOUPER.

========================================================================

pdf-lib.min.js
    pdf-lib 1.17.1 - paquet UMD pour navigateur - 513 Ko
    licence : MIT (voir LICENCE-pdf-lib.txt)
    origine : https://cdn.jsdelivr.net/npm/pdf-lib@1.17.1/dist/pdf-lib.min.js
    sha256  : 0f9a5cad07941f0826586c94e089d89b918c46e5c17cf2d5a3c6f666e3bc694f
    ce qu on en emploie : PDFDocument.load(), PDFDocument.create(),
        copyPages(), addPage(), save(). RIEN d autre.

LICENCE-pdf-lib.txt
    pdf-lib 1.17.1 - texte de licence MIT - 1,0 Ko
    origine : https://cdn.jsdelivr.net/npm/pdf-lib@1.17.1/LICENSE.md
    sha256  : f2c9fc00fdb66eb99ac156ba52d734af66d8d309f65753ae809ad34ee2883bcb

_empreintes.txt
    les deux empreintes ci-dessus, dans le format de "sha256sum",
    pour verifier un dossier apres transfert.
