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
→Format des données : sectin navigation dans les documents |
|||
| Ligne 176 : | Ligne 176 : | ||
=== Format des données === | === 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. | 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'{{attr|eadid}} ==== | |||
L'{{attr|eadid}} est construit sur comme une concaténation de plusieurs champs, issus du fichier {{path|*_DATA_EAD_*.csv}} : | |||
* <del>le code pays : {{value|FR}} (constante)</del> ; | |||
* l'identifiant du service d'archives : {{value|FR391986102}} (constante) <del>(parti après le {{var|FR}})</del> ; | |||
* « {{value|:}} » (deux-points) séparateurs ; | |||
* l'identifiant du fond : par exemple {{value|1AP1-4}} ; | |||
* « {{value|:}} » (deux-points) séparateurs ; | |||
* l'identifiant du sous-fond : par exemple {{value|1AP1-4}} ; | |||
=== Navigation entre les documents === | |||
Pleade permet de naviguer d'un document à l'autre, pour cela il faut s'appuyer sur l'{{attr|eadid}} et les identifiant ({{attr|id}}) des éléments {{tag|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 « {{value|{}} » « {{value|}}} » et ne contenir que des caractères parmi la liste suivante : | |||
* caractère alphabétique non-accentué entre A et Z (la casse importe peu) ; | |||
* chiffres entre 0 et 9 ; | |||
* point ({{value|.}})<ref>[http://www.liafa.jussieu.fr/~carton/Enseignement/XML/Cours/Syntax/index.html#id3791394 2.2.3. Jetons et noms XML]<ref> ; | |||
* trait d'union ({{value|-}}) ; | |||
* tiret bas ({{value|_}}) ; | |||
* deux-points ({{value|:}})<ref>[http://www.w3.org/TR/2008/REC-xml-20081126/#NT-NameStartChar 2.3 Common Syntactic Constructs]<ref> ; | |||
* dièse ({{value|#}}). | |||
Ce qui implique que les références doivent validées l'expression régulière suivante : {{value|([\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} | |||
==== 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 : {{value|FR391986102}} (constante) ; | |||
* l'identifiant du fond cible : par exemple {{value|1AP1-4}} ; | |||
* l'identifiant de la pièce : par exemple {{value|5.1.88}} ; | |||
Ainsi que du « {{value|:}} » (deux-points) qui permet de séparer ces 3 valeurs. Ce qui nous permet de former une référence du type : | |||
[[Fichier:Ville-dole-Convention-référence-intra-document.png|center]] | |||
{{remarque|Il est nécessaire d'entourer cette référence d'accolades pour qu'elle soit reconnue. Par exemple : '''{'''{{var|FR391986102:1AP1-4:5.1.88}}'''}'''}} | |||
{{important|les espaces étant invalides dans les {{attr|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 {{attr|eadid}} du document ; | |||
* vers la pièce : l'attribut {{attr|id}} des éléments {{tag|c {{attr|level}}="{{value|item}}" {{attr|id}}="{{value|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 : | |||
** l'identifiant du service d'archives : {{value|FR391986102}} (constante) ; | |||
** « {{value|:}} » (deux-points) séparateurs ; | |||
* l'identifiant du fond : par exemple {{value|1AP1-4}} ; | |||
** « {{value|:}} » (deux-points) séparateurs ; | |||
ID Sous-Fonds, | |||
** « {{value|#}} » (dièse) séparateurs ou ancre ; | |||
* Partie « fragment », identique aux [[#Liens intra-document|références internes]]. | |||
* l'identifiant du service d'archives : {{value|FR391986102}} (constante) ; | |||
* l'identifiant du fond cible : par exemple {{value|1AP1-4}} ; | |||
* l'identifiant de la pièce : par exemple {{value|5.1.88}} ; | |||
Ce qui nous permet de former une référence du type : | |||
[[Fichier:Ville-dole-Convention-référence-inter-document.png]] | |||
=== Export en {{var|.csv}} === | === Export en {{var|.csv}} === | ||
Version du 19 juin 2012 à 09:25
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/scripts/backup.sh ville-dole-front | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log"
#@daily bash /home/backupAgent/scripts/backup.sh ville-dole-back | tee -a "/home/backupAgent/logs/backup-$(date '+\%Y-\%b-\%d').log"
Tomcat
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"
/>
⋮
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 consultera la section Arrêt et redémarrage automatique pour la procédure détaillée.
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>
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 :
- 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
- 213.56.103.235, correspond au paramètre pleade.public-url décrit dans pleade /home/ajlsm/apps/ville-dole-front/WEB-INF/properties/pleade-admin.properties ;
- FR--391986102--1AP--1_AP_5-88, correspond à l'identifiant d'un document EAD.
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 ;
Navigation entre les documents
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 :
- caractère alphabétique non-accentué entre A et Z (la casse importe peu) ;
- chiffres entre 0 et 9 ;
- point (.)<ref>2.2.3. Jetons et noms XML<ref> ;
- trait d'union (-) ;
- tiret bas (_) ;
- deux-points (:)<ref>2.3 Common Syntactic Constructs<ref> ;
- dièse (#).
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}
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 :

Remarques : 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 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 :
- l'identifiant du service d'archives : FR391986102 (constante) ;
- « : » (deux-points) séparateurs ;
- l'identifiant du fond : par exemple 1AP1-4 ;
- « : » (deux-points) séparateurs ;
ID Sous-Fonds,
- « # » (dièse) séparateurs ou ancre ;
- Partie « fragment », identique aux références internes.
- 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 ;
Ce qui nous permet de former une référence du type :
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).

