Organisation du dépôt Java

Cette partie décrit le contenu du dépôt du code source. Le développement utilise comme référence la version 5 du JDK (Java 1.5). le code est réparti en une série de répertoires (qui peuvent être autant de projet sous Netbeans par exemple). La répartition entre les différents répertoires s’est fait plus ou moins pour les raisons suivantes:

Certains paquets Java commence par net.mapeadores, ce sont les paquets de bibliothèques. Les paquets commençant par fr.exemole sont les paquets plus proches de « l’applicatif ».

Afin de mieux identifier les répertoires proches, une séparation par tiret bas _ a été utilisée.

Certaines bibliothèques extérieures dépendent d’autres bibliothèques, celles-ci sont indiquées entre parenthèses. Elles ne sont pas obligatoire au moment de la compilation mais elles le sont au moment de l’exécution.

Les bibliothèques générales (UtilLib)

Ils comprennent des classes utilitaires et un certain nombre de définition d’interfaces utilisées dans tous les autres projets.

UtilLib

Le répertoire de base, utilisé par pratiquement tous les autres répertoires.

UtilLib_Servlet

Comprend des interfaces de traitement de la réponse des servlets

UtilLib_Servlet_MultiPart

Extension de UtilLib_Servlet pour gérer les formulaires d’envoi de fichiers.

UtilLib_Image

Classe de traitement d’images. La bibliothèque extérieure utilisée sert à la transformation de documents PDF en image.

UtilLib_Pdf

Aide à la conversion de documents en PDF via XSLT-FO (n’est pas inséré par défaut dans BaseDeFiches).

UtilLib_Email

Contient une version modifiée de org.apache.commons.email.

UtilLib_Csv

Contient une bibliothèque externe de traitement du CSV : org.Ostermiller.util. Pour des raisons de compatibilité, cette bibliothèque est sous licence GNU GPLv2. Elle ne devra pas être incluse directement dans la distribution mais fournie à part.

UtilLib_Css

Contient l’extraction du code de Batik (xmlgraphics.apache.org/batik/) concernant l’implémentation de l’interface SAC d’analyse de fichiers CSS. On peut utiliser un autre parseur que celui-ci (Par exemple, Flute).

UtilLib_Display

Contient des utilitaires liés à l’interface graphique (extension de Swing notamment), elle n’est pas utilisé dans les environnements non graphiques (BaseDeFiches, notamment). Contient également la bibliothèque net.sourceforge.mlf.metouia légèrement modifiée.

Les bibliothèques autour d’OpenDocument (OdLib)

Bibliothèques tournant autour du format OpenDocument.

OdLib_Css

Propose un mécanisme de modification du style d’un fichier OpenDocument à partir d’une syntaxe CSS.

OdLib_Io

Contient des classes permettant de créer un fichier au format OpenDocument en compilant divers fichiers XML.

Les bibliothèques autour de BaseDeFiches (BasedefichesLib)

Ce sont toutes les bibliothèques qui servent de fondement au logiciel BaseDeFiches. La bibliothèque initiale est BasedefichesLib_API, les autres bibliothèques sont des compléments pour des traitements particuliers de cette API.

BasedefichesLib_API

La bibliothèque de base qui définit les principales interfaces et classes d’accès aux données.

BasedefichesLib_Explore

Bibliothèque qui comprend une série d’utilitaires permettant d’accéder facilement aux données définies dans BasedefichesLib_API, par exemple : des outils de sélection, des pointeurs, etc. (nettoyage en cours)

BasedefichesLib_Export

Bibliothèque comprend des classes et des interfaces pour l’exportation des données sous d’autres formats (tables Sql par exemple). (nettoyage en cours)

BasedefichesLib_Impl

Implémentation de BasedefichesLib_API basée sur le stockage dans des fichiers XML.

BasedefichesLib_Xml

Concerne toute l’extraction des données au format XML (que ce soit pour l’enregistrement ou le balayage).

BasedefichesLib_Srz

Concerne la transformation des données des fiches en chaines de caractères.

BasedefichesLib_Import (nettoyage en cours)

Bibliothèque au développement suspendu pour le moment. Est censée servir à l’importation de données, notamment HTML.

BasedefichesLib_Tools

Bibliothèque d’outils divers, notamment l’implémentation de quelques interfaces de BasedefichesLib_Explore

L’application BdfServer (BdfServer)

BdfServer est le serveur de BaseDeFiches. Il fournit non seulement les données définies dans BasedefichesLib_API mais aussi tout ce qui a trait à la gestion du serveur (système de droits, transformation XSLT des données, etc.).

BdfServer (nettoyage en cours)

Le plus gros du code du serveur de BaseDeFiches.

BdfServer_Interaction

Concerne tout ce qui a trait à la communication de BdfServer avec un moteur de servlets (suivant l’API servlet 2.3). C’est dans ce sous-projet que se trouve la définition des extensions ainsi que la gestion des sessions.

BdfServer_DirectoryStorage

Concerne l’enregistrement des données du serveur sous la forme de fichiers (principalement Xml). L’utilisation de la bibliothèque Castor sera abandonnée un jour.

BdfServer_Html

Concerne l’affichage Html standard. Peut être utilisé par une extension pour s’intégrer dans l’interface d’administration.

BdfServer_Get

Concerne la récupération de données du serveur et leur affichage (HTML ou autre format) ainsi que le traitement de pages diverses (barre de menu, liste des fiches). Aucune des instructions dans cette bibliothèque ne modife la base de données, à part l’historique de l’utilisateur.

BdfServer_Commands (nettoyage en cours)

Concerne la transformation de requêtes Http en commandes effectuées sur le serveur BaseDeFiches. En cours d’élaboration. Est amené à recevoir du contenu de BaseDeFiches.

Bibliothèques diverses

ScrutariDataExport (nettoyage en cours)

Implémentation en Java de l’API d’export au format ScrutariData. Voir dataexport.scrutari.net

ScrutariDataURI

Définition de l’URI des ressources décrites par le format ScrutariData (voir www.scrutari.net). Est utilisé uniquement pour l’application Scrutari mais est susceptible d’un jour d’être utilisée dans d’autres contextes.

L’application Web BaseDeFiches (BaseDeFiches)

Un seul projet qui englobe tout le reste.

BaseDeFiches (nettoyage en cours)

Englobe l’ensemble des bibliothèques nécessaires et comprend la configuration nécessaire pour fonctionner sous Tomcat. La liste des dépendances indique toutes les bibliothèques nécessaires au fonctionnement.

Les extensions (BdfExt)

Elles ne sont pas décrites ici. Par convention, toute extension commence par BdfExt_, suivi d’un identifiant de l’origine de l’extension (par exemple BdfExt_EXM_, pour les extensions d’Exemole).

Les bibliothèques de l’atlas relationnel (AtlasLib)

Elles contiennent les différentes interfaces et implémentations de ces interfaces pour décrire un atlas relationnel, principalement utilisé dans Desmodo.

AtlasLib_API (nettoyage en cours)

La bibliothèque de base qui définit les principales interfaces et classes d’un atlas relationel

AtlasLib_API (nettoyage en cours)

La bibliothèque de base qui définit les principales interfaces et classes d’un atlas relationel

AtlasLib_API (nettoyage en cours)

La bibliothèque de base qui définit les principales interfaces et classes d’un atlas relationel

AtlasLib_Impl (nettoyage en cours)

Implémentation des interfaces de la bibliothèque précédente

AtlasLib_Impl (nettoyage en cours)

Implémentation des interfaces de la bibliothèque précédente

AtlasLib_Tools (nettoyage en cours)

Outils autour de l’API de l’atlas relationnel, contient notamment la gestion de la navigation à l’intérieur d’un atlas

AtlasLib_Display (nettoyage en cours)

Concernent l’affichage des cartes d’un atlas relationel dans un environnement Java

Les bibliothèques de Scrutari (ScrutariLib)

Elles sont le fondement du moteur de recherche Scrutari.

ScrutariLib_Data

Traduction des données ScrutariData en objet Java enregistrable sous forme de suite de primitices.

ScrutariLib_Lexie

Décomposition des données de ScrutariData en unités lexicales.

ScrutariLib_DB

Accès aux données et statistiques.

ScrutariLib_Supermotcle

Regroupement des mots-clés de bases différentes avec des libellés identiques dans une même langue.

ScrutariLib_Xml

Traitement du format Xml ScrutariData.

ScrutariLib_SearchEngine

Moteur de recherche sur les données.

L’application SctServer (SctServer)

SctServer est le serveur de Scrutari : il reçoit les requêtes et, organise la collecte des fichiers au format ScrutariData.

SctServer

La partie principale du serveur.

SctServer_Directory

Concerne l’enregistrement des données en tant que fichiers dans des répertoires.

L’application Web Scutari (BaseDeFiches)

Le projet qui englobe ScrutariLib et SctServer.

Scrutari

Englobe l’ensemble des bibliothèques nécessaires et comprend la configuration nécessaire pour fonctionner sous Tomcat. La liste des dépendances indique toutes les bibliothèques nécessaires au fonctionnement.

Les bibliothèques de SimpleGrille (SimplegrilleLib)

Elles contiennent les différentes interfaces et implémentations de ces interfaces pour SimpleGrille, un approche simplifiée d’un atlas relationnel.

SimplegrilleLib_API

La bibliothèque de base qui définit les interfaces des données de SimpleGrille

SimplegrilleLib_Impl

Implémentation des interfaces de l’API de SimplegrilleLib_API

SimplegrilleLib_Xml

Lecture et écriture du format XML

SimplegrilleLib_Tools

Outils divers.

L’application SimpleGrille (SimplegrilleLib)

Application pour le poste client.

SimpleGrille

L’application elle-même avec la gestion des fenêtres.

Bibliothèques extérieures (vendor/lib)

Les bibliothèques extérieures sont placées dans le répertoire vendor/lib.