Wicri:HypertextV6
Ancien démonstrateur : Serveur d'exploration sur l'hypertexte, Pour mémoire : première maquette (2012) |
Cette page introduit les aspects techniques de la version HypertextV6 du « Serveur d'exploration hypertexte et hypermédia ».
Voir aussi :
- Wicri:HypertextV6/Paramètres, data - génération des données
- Wicri:HypertextV6/Paramètres, fr - génération de l'interface
- Wicri:HypertextV6/Paramètres, génération des cartes - génération de cartes géographiques
- Wicri:HypertextV6/Études techniques
Mise en œuvre
Sur la machine de développement
Initialisation
- Génération des pages wikis
Compte tenu de la complexité de l'application le générateur de pages n'a pas été utilisé.
- Définition $EXPLOR_AREA
EXPLOR_AREA=$WICRI_ROOT/Ticri/H2ptm/corpus/Hypertext.storage/HypertextV6
export EXPLOR_AREA
export LC_ALL='C'
- Création répertoires
mkdir $EXPLOR_AREA
mkdir $EXPLOR_AREA/Import
Récupération des corpus ISTEX
Compte tenu du volume du corpus (ordre de grandeur 20 000), le téléchargement est découpé en 9 étapes de 2500 documents.
IstexGetCorpusSize -q "hypertext* OR hypermedia" 21596
- En cas de reprise complète au niveau du téléchargement
rm -rf $EXPLOR_AREA/Import/IstexDownload.*.h*
time IstexGetCorpus -q "hypertext* OR hypermedia" -s 2500 -A \
| IstexToSxml \
| HfdBuild -bh $EXPLOR_AREA/Import/IstexDownload.00000
time IstexGetCorpus -q "hypertext* OR hypermedia" -s 2500 -f 2500 -A \
| IstexToSxml \
| HfdBuild -bh $EXPLOR_AREA/Import/IstexDownload.02500
time IstexGetCorpus -q "hypertext* OR hypermedia" -s 2500 -f 5000 -A \
| IstexToSxml \
| HfdBuild -bh $EXPLOR_AREA/Import/IstexDownload.05000
time IstexGetCorpus -q "hypertext* OR hypermedia" -s 2500 -f 7500 -A \
| IstexToSxml \
| HfdBuild -bh $EXPLOR_AREA/Import/IstexDownload.07500
time IstexGetCorpus -q "hypertext* OR hypermedia" -s 2500 -f 10000 -A \
| IstexToSxml \
| HfdBuild -bh $EXPLOR_AREA/Import/IstexDownload.10000
time IstexGetCorpus -q "hypertext* OR hypermedia" -s 2500 -f 12500 -A \
| IstexToSxml \
| HfdBuild -bh $EXPLOR_AREA/Import/IstexDownload.12500
time IstexGetCorpus -q "hypertext* OR hypermedia" -s 2500 -f 15000 -A \
| IstexToSxml \
| HfdBuild -bh $EXPLOR_AREA/Import/IstexDownload.15000
time IstexGetCorpus -q "hypertext* OR hypermedia" -s 2500 -f 17500 -A \
| IstexToSxml \
| HfdBuild -bh $EXPLOR_AREA/Import/IstexDownload.17500
time IstexGetCorpus -q "hypertext* OR hypermedia" -s 2500 -f 20000 -A \
| IstexToSxml \
| HfdBuild -bh $EXPLOR_AREA/Import/IstexDownload.20000
- Vérification
Vérfier l'identité de résultats des 2 commandes :
HfdCat /Users/jacquesducloy/Documents/WicriRoot/Ticri/H2ptm/corpus/Hypertext.storage/HypertextV6/Import/IstexDownload.*.hfd | wc
IstexGetCorpusSize -q "hypertext* OR hypermedia"
Un résultat de "IstexGetCorpusSize" différent de celui du départ signifie une évolution de la plateforme INIST pendant le téléchargement. Il faut alors reprendre l'ensemble de l'opération.
Un résultat du HfdCat différent du IstexCorpusSize indique (au moins) un transfert partiel erroné. Il faut alors localiser et faire un télechargement partiel.
Construction du repository ISTEX plein texte
Ce repository contient les documents en texte intégral. Il doit rester sur la machine de développement (ou être limité en lecture sur un site accessible par internet).
- En cas de reprise au niveau du téléchargement
rm -rf $EXPLOR_AREA/Import/IstexRepository.h*
time HfdCat $EXPLOR_AREA/Import/IstexDownload.*.hfd \
| SgmlFast -c 1 | HfdBuild -bh $EXPLOR_AREA/Import/IstexRepository
Palliatif JSON/BMJ
cat <<... > $EXPLOR_AREA/bmjJsonPatch.lex
%START CC
%START TO_CAMEL_CASE
%%
"<"/[^ >]+" "[^=>]+">" {ECHO; BEGIN TO_CAMEL_CASE;}
"</"/[^ >]+" "[^>]+">" {ECHO; BEGIN TO_CAMEL_CASE;}
<TO_CAMEL_CASE>[ ]+">" {putchar ('>'); BEGIN 0;}
<TO_CAMEL_CASE>">" {putchar ('>'); BEGIN 0;}
<TO_CAMEL_CASE>[ ]+ BEGIN CC;
<CC>[A-Z] {ECHO; BEGIN TO_CAMEL_CASE;}
<CC>[a-z] {putchar(toupper(*yytext)); BEGIN TO_CAMEL_CASE;}
<CC>. {ECHO; BEGIN TO_CAMEL_CASE;}
%%
main()
{
yylex();
}
...
lex $EXPLOR_AREA/bmjJsonPatch.lex
gcc lex.yy.c -ll -o $EXPLOR_AREA/bmjJsonPatch.bin
- Construction du repository ISTEX plein texte avec le palliatif
rm -rf $EXPLOR_AREA/Import/IstexRepository.h*
(
HfdCat $EXPLOR_AREA/Import/IstexDownload.*.hfd \
| grep -v bmj
HfdCat $EXPLOR_AREA/Import/IstexDownload.*.hfd \
| grep bmj | $EXPLOR_AREA/bmjJsonPatch.bin
) | SgmlFast -c 1 | HfdBuild -bh $EXPLOR_AREA/Import/IstexRepository
Construction du Repository de métadonnées
Celui ci est en fait la base biblio de l'étape Corpus elle est alignée par les clé HFD sur le repository fulltext.
- En cas de reprise
rm -rf $EXPLOR_AREA/Import/IstexMetadata.h*
- Construction corpus biblio
time HfdCat $EXPLOR_AREA/Import/IstexRepository.hfd \
| IstexCleanFullText \
| SgmlFast -c1 \
| IstexToTei \
| TeiPutRefToIdno -t wicri:Area/ISTEX/Corpus \
| HfdBuild -h $EXPLOR_AREA/Import/IstexMetadata
Récupération des autres corpus
- PubMed
Pour PubMed/MEDLINE, la requête hypertext dans la boîte de dialogue entraîne :
"hypermedia"[MeSH Terms] OR "hypermedia"[All Fields] OR "hypertext"[All Fields]
Le résultat est rangé dans $EXPLOR_AREA/Import/pubmed_result.xml
- PubMed Central
Même requête que pour PubMed, le résultat est rangé dans $EXPLOR_ARE/Import/pmc_result.xml
- Pascal/Francis
requête (Stanalyst) :
hypertext* ou hypermedia*
Résultats
- format Serveur : $EXPLOR_AREA/Import/inistServer.txt
- format Standard/SGML : $EXPLOR_AREA/Import/inistStandard.txt
- HAL
Sur CCSD/HAL Critère :
hypertexte OR hypertext OR hypermedia
Génération des FTP
cd $EXPLOR_AREA
rm Site.tar.gz
tar -cvf Site.tar Site
gzip Site.tar
rm Data.tar.gz
tar -cvf Data.tar Data
gzip Data.tar
rm ImportMetadata.tar.gz
tar -cvf ImportMetadata.tar Import/istexMetadata.hcs Import/istexMetadata.hfd
gzip ImportMetadata.tar
Sur la machine cible
Aller sur le répertoire corpus correspondant au wiki cible
. ... Dilib/init.sh
newgrp ticri
EXPLOR_AREA=$WICRI_ROOT/Wicri/France/corpus/Aussois.storage/AussoisV1.20150722
Si nouveau code générique :
mkdir $WICRI_ROOT/Ticri/H2ptm/corpus/HypertextV6.storage
Création du répertoire plateforme
mkdir $EXPLOR_AREA
- Transfert par FileZilla
Transférer les fichiers Site.tar.gz, Data.tar.gz de AussoisV1 (émetteur) vers AussoisV1 (cible).
- Installation
cd $EXPLOR_AREA
gunzip Site.tar.gz
tar -xvf Site.tar
gzip Site.tar
gunzip Data.tar.gz
tar -xvf Data.tar
gzip Data.tar
gunzip ImportMetadata.tar.gz
tar -xvf ImportMetadata.tar
gzip ImportMetadata.tar
cd Data/ISTEX/Corpus
rm biblio.hcs
rm biblio.hfd
ln -s ../../../Import/istexMetadata.hcs biblio.hcs
ln -s ../../../Import/istexMetadata.hfd biblio.hfd