Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

« Doc/Ville-Dole » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
→Sauvegardes : Serveur
→Dépot OAI : : Association à la boucle locale
Ligne 163 : Ligne 163 :
</syntaxhighlight>
</syntaxhighlight>


==== Association à la boucle locale ====
Les requêtes pour moissonner l'{{value|OAI_DC}} et le {{value|QDC}} ont nécessité de modifier le fichier {{path|/etc/hosts}}. Il a fallu associé l’hôte virtuel à la boucle locale.
<syntaxhighlight lang="text">127.0.0.1  localhost ead.doledujura.fr</syntaxhighlight>
On redémarre ensuite {{httpd}} et {{tomcat}} pour que les modifications soient prises en compte :
<syntaxhighlight lang="bash">
flushAndRestart front
sudo /etc/init.d/apache2 restart
</syntaxhighlight>
{{remarque|On constatera que le nombre de requête interne correspond à la valeur définit dans l'élément {{tag|ead-oai-repo-nb}} du fichier {{path|parametres.xconf}}}}
==== Tests ====
==== Tests ====
Un premier test pourra être fait en consultant l'URL de vérification du dépôt OAI :
Un premier test pourra être fait en consultant l'URL de vérification du dépôt OAI :
* [http://ville-dole.prod/ead-oai?verb=Identify http://ville-dole.prod/ead-oai?verb=Identify].
* [http://ville-dole.prod/ead-oai?verb=Identify http://ville-dole.prod/ead-oai?verb=Identify].
* [http://ead.doledujura.fr:8080/ville-dole-front/ead-oai?verb=ListRecords&metadataPrefix=qdc http://ead.doledujura.fr:8080/ville-dole-front/ead-oai?verb=ListRecords&metadataPrefix={{value|'''qdc'''}}]
On pourra également vérifier la disponibilité d'un document EAD grâce à une URL de la forme :
On pourra également vérifier la disponibilité d'un document EAD grâce à une URL de la forme :
* [http://ville-dole.prod/ead-oai?verb=GetRecord&identifier=sdx:213.56.103.235:module-eadeac/ead/FR--391986102--1AP--1_AP_5-88&metadataPrefix=ead http://ville-dole.prod/ead-oai?verb=GetRecord&identifier=sdx:{{value|213.56.103.235}}:module-eadeac/ead/{{value|FR--391986102--1AP--1_AP_5-88}}&metadataPrefix=ead]
* [http://ville-dole.prod/ead-oai?verb=GetRecord&identifier=sdx:213.56.103.235:module-eadeac/ead/FR--391986102--1AP--1_AP_5-88&metadataPrefix=ead http://ville-dole.prod/ead-oai?verb=GetRecord&identifier=sdx:{{value|213.56.103.235}}:module-eadeac/ead/{{value|FR--391986102--1AP--1_AP_5-88}}&metadataPrefix={{value|'''ead'''}}]
** {{value|213.56.103.235}}, correspond au paramètre {{var|pleade.public-url}} décrit dans pleade {{path|{{Ville-Dole/App|front}}/WEB-INF/properties/pleade-admin.properties}} ;
** {{value|213.56.103.235}}, correspond au paramètre {{var|pleade.public-url}} décrit dans pleade {{path|{{Ville-Dole/App|front}}/WEB-INF/properties/pleade-admin.properties}} ;
** {{value|FR--391986102--1AP--1_AP_5-88}}, correspond à l'identifiant d'un document EAD.
** {{value|FR--391986102--1AP--1_AP_5-88}}, correspond à l'identifiant d'un document EAD.

Version du 17 juillet 2012 à 16:35

Serveur

Description Valeur Commentaire
Adresse IP ead.doledujura.fr pas de restriction
Tomcat 8080 pas de restriction
SSH 22 uniquement AJLSM
Séquenceur (Java) 8181 uniquement AJLSM

Sauvegardes

Crontab

Nous mettons en place une sauvegarde journalière de l'application et de ses données. Pour cela on commence par modifier le crontab :

@daily bash /home/backupAgent/shell-scripts/backup/backup.sh ville-dole-front 2>&1 | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log"
#@daily bash /home/backupAgent/shell-scripts/backup/backup.sh ville-dole-back 2>&1 | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log"
Notice :
De façon à pouvoir scripter les sauvegardes, il est nécessaire de modifier les configurations de postgreSQL, ceci est documenté dans la documentation Pleade.

Tomcat

Important :
L'installation comprends deux instances Apache Tomcat. De ce fait, la version installée avec les dépôts Debian ne doit pas être utilisé.

Localisation des serveur

Nous avons installé la version 6.0.35 (binaire) de Apache Tomcat à partir du site officiel et créé deux dossiers, respectivement :

  • /opt/tomcat6-front : sert l'application de « production »,
  • /opt/tomcat6-back : sert l'application de « recettage ».

Liens vers l'application

L'application est installé dans /home/ajlsm/, de façon à rendre l'application Pleade nous avons placer un lien vers ce dossier dans le dossier webapps/ de Apache Tomcat.

Configuration du serveur : server.xml

Nous avons configuré le serveur Apache Tomcat de recettage pour qu'il écoute sur des ports différents de ceux du serveur de production, ceci dans le but d'éviter tout conflits entre les deux environnements. Les modifications ont été effectué dans /opt/tomcat-back et /opt/tomcat-front et sont décrites ci-dessous :

Type de Port Production Recettage
arrêt 8005 9005
écoute (connecteur HTTP) 8080 9090
redirection (connecteur HTTP) 8443 9443
écoute (connecteur AJP/1.3) 8009 9009
redirection (connecteur AJP/1.3) 8443 9443

Il faut également rajouter l'attribut emptySessionPath=true sur le connecteur HTTP/1.1 et AJP/1.3, de façon à faire persister les sessions :

<Server port="9005" shutdown="SHUTDOWN">
⋮
    <Connector port="9090" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="9443"
        emptySessionPath="true"
    />
⋮
    <Connector port="9009" protocol="AJP/1.3"
        redirectPort="9443"
        emptySessionPath="true"
    />
⋮

Allocation de mémoire

On reconfigure Tomcat en suivant la procédure avec l'allocation mémoire suivante pour JAVA_OPTS :

-Xms400m -Xmx5000m -Djava.awt.headless=true -server -XX:+UseConcMarkSweepGC

Scripts

Remarques : Cette section ne concerne que les employés AJLSM.

Des alias on étaient définis dans le fichier ~/.bashrc pour simplifier la maintenance :

  • tomcat-log application : affiche le log tomcat de l'application ;
  • restartTomcat application : redémarre l'application ;
  • flushAndRestart application : nettoie le cache et redémarre l'application.

Le paramètre application, est nécessaire et peut prendre l'une des valeurs suivante :

  • back : application de « recettage » ;
  • front : application de « production ».

Arrêt et redémarrage automatique

On mettra en place un service pour que l'application redémarre sous certains critères :

Apache

Nous avons défini un hôte virtuel pour l'application /etc/apache2/sites-enabled/ville-dole-vhost.conf. L'application est à l'heure actuelle accessible uniquement par son adresse IP (http://213.56.103.235), mais tout est en place pour un accès par nom de domaine.

<VirtualHost *:80>
    ServerAdmin ajlsm+ville-dole@ajlsm.com

    ServerName ville-dole.com
    ServerAlias www.ville-dole.com  www.ville-dole.prod ville-dole.prod

    # Application de recette
    ProxyPass /ville-dole-back/ ajp://localhost:9009/ville-dole-back/
    ProxyPassReverse /ville-dole-back/ ajp://localhost:9009/ville-dole-back/

    # Application de production
    ProxyPass / ajp://localhost:8009/ville-dole/
    ProxyPassReverse / ajp://localhost:8009/ville-dole/

    ErrorLog ${APACHE_LOG_DIR}/error-ville-dole.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access-ville-dole.log combined
</VirtualHost>

Application Pleade

Emplacement

L'application et les fichiers sont installé dans /home/ajlsm :

.
├── apps
│   ├── ville-dole-back
│   └── ville-dole-front
├── backup
├── data
│   └── ville-dole
├── logs
│   ├── ville-dole-back
│   └── ville-dole-front
├── sdx-data
│   ├── ville-dole-back
│   └── ville-dole-front
├── shell-scripts
│   ├── backup
│   ├── httpd-maintenance
│   └── logs
└── tmp

Utilisateurs

Nous avons créer un compte pour les utilisateurs de la ville de Dole et un pour la gestion faite par AJLSM :

  • ville-dole ;
  • script : compte désactivé par mesure de sécurité.

Paramètres spéciaux

pleade.url-interne=http://localhost:8080/ville-dole-front/
⋮
pleade.public-url=http://213.56.103.235/
⋮
pleade.sdx-data-dir=file:///home/ajlsm/sdx-data/ville-dole-front
⋮
pleade.log-file-directory=/home/ajlsm/logs/ville-dole-front
⋮
pleade.ead-docs-dir=/home/ajlsm/data/ville-dole/ead/
⋮
pleade.img-server.racines=/home/ajlsm/data/ville-dole/images/
⋮
pleade.images.preparees=/home/ajlsm/data/ville-dole/images-preparees/

Dépot OAI

Nous avons activez le dépôt OAI dans le fichier /home/ajlsm/apps/ville-dole-front/parametres.xconf avec les paramètres suivants :

<ead-oai-repo-name>ville-dole</ead-oai-repo-name>
<ead-oai-repo-admin-email>s.sauge@dole.org</ead-oai-repo-admin-email>

Association à la boucle locale

Les requêtes pour moissonner l'OAI_DC et le QDC ont nécessité de modifier le fichier /etc/hosts. Il a fallu associé l’hôte virtuel à la boucle locale.

127.0.0.1   localhost ead.doledujura.fr

On redémarre ensuite Apache HTTPd et Apache Tomcat pour que les modifications soient prises en compte :

flushAndRestart front
sudo /etc/init.d/apache2 restart

Remarques : On constatera que le nombre de requête interne correspond à la valeur définit dans l'élément <ead-oai-repo-nb> du fichier parametres.xconf.

Tests

Un premier test pourra être fait en consultant l'URL de vérification du dépôt OAI :

On pourra également vérifier la disponibilité d'un document EAD grâce à une URL de la forme :

Emplacement des fichiers d’autorités

Nous définissons l'emplacement des fichiers d'autorités dans /home/ajlsm/apps/ville-dole-front/WEB-INF/properties/pleade-ville-dole.properties :

pleade.csv-docs-dir=/home/ajlsm/data/ville-dole/ead/

# Le fichier de template xsl.
pleade.ead-file=/home/ajlsm/data/ville-dole/AJSLM_PVR_DATA_EAD/AJSLM_PVR_DATA_EAD_5-fev-02-modifier.csv

# le fichier d'information sur les images
pleade.img-file=/home/ajlsm/data/ville-dole/AJSLM_PVR_DATA_IMG/AJSLM_PVR_IMG_5-modifier.csv

# le fichier d'autorite rameau
pleade.ram-file=/home/ajlsm/data/ville-dole/AJSLM_PVR_RAM/AJSLM_PVR_RAM_1-fev-02-modifier.csv

Accès simplifié

Un accès simplifier et mis en place pour l'utilisateur ville-dole, les chemins sont alors :

  • /home/ville-dole/csv : si on veut faire une interface type EAD (sélectionner un id et ça fait le reste) ;
  • /home/ville-dole/images : images utilisés par l'EAD ;
  • /home/ville-dole/EAD : fichier EAD issu de la conversion des CSV.

On rajoute les droits de lecture/écriture aux utilisateurs du groupe :

chmod g+w -R EAD/ images/ csv/

Conversion des données en CSV

Format des données

Le fichier décrivant les images précise l'identifiant de la pièce dans sa première colonne. Cette identifiant correspond à des informations dans le fichier décrivant les données de l'EAD, elles sont concaténées.

Construction de l'eadid

L'eadid est construit sur comme une concaténation de plusieurs champs, issus du fichier *_DATA_EAD_*.csv :

  • le code pays : FR (constante) ;
  • l'identifiant du service d'archives : FR391986102 (constante) (parti après le FR) ;
  • « : » (deux-points) séparateurs ;
  • l'identifiant du fond : par exemple 1AP1-4 ;
  • « : » (deux-points) séparateurs ;
  • l'identifiant du sous-fond : par exemple 1AP1-4 ;


Pleade permet de naviguer d'un document à l'autre, pour cela il faut s'appuyer sur l'eadid et les identifiant (id) des éléments <c>.

Une convention a été mis en place pour que les éditeurs du projet puissent indiquer des liens de navigation entre les documents dans certaines colonnes. Nous détaillons ci-dessous les formats pour les liens intra- et inter-documents (leurs structure est légèrement différente).

Format des liens de navigation

Les références doivent être comprises entre accolades « { » « } » et ne contenir que des caractères parmi la liste suivante :

Ce qui implique que les références doivent validées l'expression régulière suivante : ([\w\.\-_:]+?(#[\w\.\-_:]+?)?).

Voici un exemple de cellule faisant des références intra- et inter-documents :

D'abord une référence interne {FR391986102:1AP:5.1.8} et une autre référence,
externe celle là {FR391986102:1AP:1AP1-4#FR391986102:1AP:1.1.16}
Notice :
Il est nécessaire d'entourer cette référence d'accolades pour qu'elle soit reconnue. Par exemple : {FR391986102:1AP1-4:5.1.88}.

Liens intra-document

Pour les liens intra-documents (ou référence interne), c'est à dire restant dans le même sous-fond, nous avons besoin de 3 information pour créer le lien :

  • l'identifiant du service d'archives : FR391986102 (constante) ;
  • l'identifiant du fond cible : par exemple 1AP1-4 ;
  • l'identifiant de la pièce : par exemple 5.1.88 ;

Ainsi que du « : » (deux-points) qui permet de séparer ces 3 valeurs. Ce qui nous permet de former une référence du type :

Figure : référence interne au document EAD en cours, p. ex. : {FR391986102:1AP:1.1.16}

Important :
les espaces étant invalides dans les id, il est impératif de les supprimer des composant.

Liens inter-documents

Les références vers d'autres documents EAD (ou référence interne) doivent 'utiliser des références complètes, car on envoi vers des fonds ou sous-fonds différents. C'est-à-dire :

  • référence vers le document cible : l'attribut eadid du document ;
  • vers la pièce : l'attribut id des éléments <c level="item" id="xyz">.

Ce format de référence s'appuie sur la syntaxe des référence intra-document. La différence tient au fait que l'on précise le document que l'on vise avant d'indiquer la pièce souhaitée. On a alors la séquence suivante  :

  • Partie « document » EAD :
    1. l'identifiant du service d'archives détenteur : FR391986102 (constante) ;
      • « : » (deux-points) séparateurs ;
    2. l'identifiant du fonds : par exemple 1AP1-4 ;
      • « : » (deux-points) séparateurs ;
    3. l'identifiant du sous-fonds : par exemple 1AP1-4 ;
  • « # » (dièse) séparateurs ou ancre ;
  • Partie « fragment », identique aux références internes.
    • l'identifiant du service d'archives détenteur : FR391986102 (constante) ;
    • l'identifiant du fonds cible : par exemple 1AP1-4 ;
    • l'identifiant de la pièce : par exemple 5.1.88.

Ce qui nous permet de former une référence du type :

Figure : référence externe au document EAD en cours, p. ex. : FR391986102:1AP:1AP1-4#FR391986102:1AP:1.1.16

Export en .csv

Les fichiers de données fournis par le client sont au format .xls. L'application Pléade ne gérant pas ce format, il est nécessaire de les exporter en .csv via OpenOffice.org ou Microsoft Office. Lors de cette conversion il est important de vérifier les 3 paramètres suivants :

  • Encodage : UTF-8 ;
  • Séparateur de champs : {Tab} (Tabulation) ;
  • Séparateur de texte : " (guillemet double).

Figure : Fenêtre d'export LibreOffice.

Conversion dans Pleade

Figure : Séquence de conversion dans Pleade

Références

<references/>