Nuvola apps important.png Attention, suite à une faille de sécurité, les liens vers les serveurs d'exploration sont désactivés.

-

Wicri:HypertextV6

De H2PTM

Cette page introduit les aspects techniques de la version HypertextV6 du « Serveur d'exploration hypertexte et hypermédia ».

Voir aussi :

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

logo travaux Attention problème avec JSON sur BMJ voir paragraphe suivant

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

Voir aussi