Création d'une chaîne de traitement ?
@beya et @gaubilr : Croyez-vous qu'il soit possible de mettre en place un job qui permettrait de lancer une transfo xslt (qui prend des paramètres), puis une compression zip et rendrait ce zip téléchargeable.
Je m'explique : pour récupérer des données depuis Eman, je questionne l'API OAI-PMH, je transfo la sortie (XML) avec une XSL et ça me créé un dossier composé de deux sous-dossiers : media/ et transcriptions/ qui sont tout prêt à être importés dans TACT(EO). Ces sous-dossiers contiennent d'autres dossiers dont les noms correspondent à des contenus (Item sur Omeka) et doivent être conservés à l'identique (pour faciliter la répartition des transcriptions sur TACTEO). Or, certains contiennent le caractère "?" interdits sous Windows, mais informatifs (typiquement, dans "Lettre de V. à [?]"). Nos collègues d'EMAN ne sont donc plus en mesure de faire les transfo par eux-même, du coup, j'aimerai bien voir si on peut proposer une solution qui ne passe pas par moi, hé hé
La ligne de commande est la suivante :
# cd xsl/
xslt3 -xsl:omekac-collection2tact-data.xsl -s:../transcription_schema/cm-tei-schema_11-07-2024.xml project_slug=$PARAM1 collection_id=$PARAM2
sachant que :
- xslt3 est un package npm (celui-là : https://www.npmjs.com/package/xslt3)
-
project_slug
etcollection_id
doivent pouvoir être fourni en paramètre (comment... ? Pour vos tests, un exemple est respectivementChastenay/
et15
) - les sorties sont des logs (sortie standard) qu'iels vont sûrement vouloir observer est un dossier organisé ainsi :
../out/Chastenay/
├── media
│ └── Mémoires_savants_(id_15)
└── transcriptions
└── Mémoires_savants_(id_15)
Il faudrait pouvoir zipper media/
et transcription/
et permettre de récupérer précisément ces 2 zip là (pas possible de zipper plus haut car le dézippage va retourner au problème de nom de dossier incorrect ; là, on veut juste qu'iels puissent utiliser ces deux zip pour déposer les choses directement dans TACTEO).
Je continue dans les requêtes : dans l'idéal, on peut faire un ensemble de requêtes (par exemple, Chastenay/
15
, Chastenay/
13
, Mythologia
37
...) et récupérer un ensemble de log (par exemple, Chastenay_15.log
, etc.) et un ensemble de zip avec une séparation des projets, mais pas des collections (media_Chastenay.zip
avec les sous-dossiers Mémoires_savants_(id_15)
et xxx_id_13
, transcriptions_Chastenay.zip
avec les sous-dossiers Mémoires_savants_(id_15)
et xxx_id_13
et pareil côté Mythologia
). Ça pourrait aussi être un seul grand zip qui contient tantôt des dossiers, tantôt des zip :
../out/
├── Chastenay
│ ├── media.zip
│ └── transcriptions.zip
└── manuscritsLeibniz
├── media.zip
└── transcriptions.zip
Voilà. Je crois encore au Père Noël !