Home

Awesome

ginco-diff

Développement

Environnement de développement Eclipse

  1. Récupérez une version locale du répository et importez le projet dans Eclipse (version JEE)
  2. Ajoutez les facets "Dynamic Web Module 2.4" et "Java 1.6". Configurez le répertoire "/web" comme racine du contenu web et "/web/WEB-INF/classes" comme répertoire de compilation.
  3. Ajoutez le JAR "/lib/javax.mail-1.5.1.jar" au Classpath
  4. Ajoutez la librairie JUnit 4 (ou le JAR "/lib/junit-4.10.jar") au Classpath
  5. Ajoutez la librairie servlet-api.jar au Classpath
  6. Ajoutez le répertoire test/java au Buildpath

NB : la webapp se déploie sur une serveur Tomcat dans Eclipse en respectant la configuration décrite au paragraphe "Déploiement".

Compilation

Le projet comporte des tâches Ant pour réaliser la compilation en vue d'une installation :

Vous pouvez personnaliser les paramètres de compilation en créant un fichier build.properties et en surchargeant les propriétés Ant désirées (cf. fichier build.xml du projet).

Déploiement

Pour déployer l'application, vous devez disposer d'un serveur Apache Tomcat 6 :

Etapes de déploiement :

  1. Arrêter le serveur Tomcat (si besoin)

  2. Copier le jar "/lib/javax.mail-1.5.1.jar" dans le répertoire "/lib" de Tomcat (cette librairie permet à l'application d'envoyer des emails).

  3. Copier le war généré dans "/dist" (thesaurus.war par défaut) dans le repertoire "/webapps" de Tomcat.

  4. Copier les 2 war "/lib/sesame/openrdf-sesame.war" et "/lib/sesame/openrdf-workbench.war" dans le repertoire "/webapps" de Tomcat. La version de OpenRDF Sesame mise à disposition ici est la 2.6.5 (version minimale compatible).

  5. Ajouter une Resource de type javax.mail.Session avec le nom JNDI mail/thesaurus au context du war de l'application. Par exemple, créer le fichier "/conf/Catalina/localhost/thesaurus.xml" dans Tomcat avec le contenu suivant (en adaptant si nécessaire la valeur de 'mail.smtp.host' qui est l'adresse IP ou le nom du serveur SMTP) :

    <pre> &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;Context&gt; &lt;Resource name="mail/thesaurus" auth="Container" type="javax.mail.Session" mail.smtp.host="127.0.0.1"/&gt; &lt;/Context&gt; </pre>

NB : Si la Session email n'est pas trouvée au démarrage de l'application, un warning (non bloquant) apparait dans les logs. L'application fonctionne alors, à l'exception du formulaire de contact et des logs d'erreurs par email.

Configurer OpenRDF SESAME

Avant de pouvoir utiliser l'application, il faut créer le répository sesame :

  1. Accéder à l’URL http://localhost:8080/openrdf-workbench (remplacer "localhost" et "8080" si besoin en fonction de votre serveur).
  2. Cliquer sur le lien New repository
  3. Choisir le type Native Java Store, l'ID thesaurus et un title (le contenu de ce champ est libre).
  4. Cliquer sur Next, puis sur Create.
  5. Vous pouvez maintenant utiliser l'application !

Paramétrage

L'application admet plusieurs paramétrages :

Paramètres du web.xml

Activer le chargement automatique des vocabulaires

Pour activer le chargement automatique des vocabulaires depuis un répertoire, il faut décommenter la partie du fichier "web.xml" correspondant au filter * VocabularyAutoload *. Ce filter admet plusieurs paramètres de configuration (init-param) :

Fonctionnement :

Lorsque qu'il est activé, le mécanisme de chargement automatique des vocabulaires scrute, à intervalle régulier (cf. paramètre refresh), le répertoire configuré (cf. paramètre lookupDirectory). Les fichiers situés dans ce répertoire (sans tenir compte des sous-répertoires) et dont le nom se termine par ".rdf" (sans tenir compte de la casse) sont alors importés en tant que vocabulaires, de façon séquentielle.

Tant qu'un fichier "lock.txt" est présent dans le répertoire, l'import n'a pas lieu. Cela permet de "verrouiller" le mécanisme, le temps d'y déposer des fichiers par exemple.

Une fois traités, les fichiers sont renommés avec un numéro de traitement (à la fin du nom) et déplacés dans les répertoires de succès ou d'échec (cf. paramètres successDirectory et failureDirectory). Dans le cas d'un échec, les logs du traitement sont également écrits dans un fichier portant le même numéro de traitement que le fichier dans le répertoire d'échec, et un email contenant ces logs est envoyé (cf. paramètre emailTo).

Recherches dans les corpus ouverts

Sur la page d'un concept, il est possible d'afficher des liens permettant d'effectuer des recherches sur ce concept dans des corpus ouverts. Par défaut, l'application est configurée pour ces recherches dans Wikimedia Commons et Wiktionnaire.

Le paramétrage de ces liens se fait dans "fr/gouv/culture/thesaurus/service/open-searches_fr.properties", sous la forme de 3 clés à compléter pour chaque lien :

NB : le "x" dans le nom des clés doit être remplacé par un chiffre (search-1.name, search-2.name, etc.).