HAL Id: hal-02604279
https://hal.inrae.fr/hal-02604279
Submitted on 16 May 2020HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires
ALISMA Software
Eric Quinton, Christian Chauvin
To cite this version:
ALISMA
Dossier technique
17 juin 2016
Éric Quinton
IRSTEA - Centre de Bordeaux
50, avenue de Verdun, Gazinet 33612 CESTAS Cedex
Chapitre 1
Présentation
1.1
Genèse du projet
Dans le cadre de la mise en œuvre de la Directive européenne sur l’eau, (DCE) plusieurs équipes scientifiques d’Irstea ont été chargées de développer des bioindicateurs et des méthodes d’évaluation de l’état écologique des cours d’eau. L’équipe CARMA – EABX a assuré le développement de la méthode d’évaluation basée sur les macrophytes en cours d’eau. Cette méthode s’appuie sur l’Indice Biologique Macrophytique en Rivière (IBMR), indicateur biologique qui évalue le niveau trophique d’un tronçon de cours d’eau.
Dès la mise en place des réseaux nationaux DCE de mesure hydrobiologique, Irstea a mis au point un modèle de saisie-contrôle des données issues des relevés réalisés par les opérateurs de surveillance (norme NF T95-395). Ce modèle de collecte des données permet également le calcul de l’indicateur IBMR et de quelques métriques descriptives. Il a été élaboré sous la forme d’une application MS Excel, comprenant de nombreuses fonctions dont les scripts sont écrits en VBA.
Après 10 ans d’utilisation, cette application MS Excel arrive en fin de vie. Elle pose désormais plusieurs problèmes : compatibilité de versions d’Excel, difficultés de sécurisation (gestion des pro-tections), incompatibilité avec les logiciels libres utilisés de plus en plus largement par les opérateurs, difficultés pour développer des fonctions complexes, exports vers les bases de données, etc.
Pour pallier ces inconvénients, la décision a été prise de proposer une nouvelle application aux opérateurs chargés de réaliser les relevés. Un premier prototype a été réalisé en interne et avec l’aide d’un stagiaire, qui a permis de définir les besoins en matière de produit final attendu.
Le prototype n’étant pas fonctionnel, l’administrateur des bases de données de l’unité de recherche Écosystèmes Aquatiques et changements globaux(EABX) a été chargé de fournir un nouveau logiciel. Le prototype a servi de cahier des charges pour l’application à réaliser.
La technologie mise en place dans le prototype a été conservée, à savoir une application basée sur le langage Java et une base de données Mysql. Par contre, tout le code a été (ré)écrit, en cherchant à être en phase avec l’état de l’art. En particulier, le modèle MVC (modèle, vue, contrôleur) a été appliqué, et une classe de gestion des accès à la base de données a été développée spécifiquement.
L’application permet l’alimentation de la base de données, gère des contrôles de cohérence, calcule l’indicateur IBMR et les métriques, et permet d’exporter les informations au format XML.
1.2
licence
Le logiciel est distribué sous la licence GNU GPL v3 (http ://www.gnu.org/licenses/gpl.txt).
ALISMA
1.3
Technologie employée
Le logiciel a été écrit en Java 1.7. La connexion avec la base de données utilise les connecteurs JDBC classiques.
L’ensemble des modules ou fonctions sont appelés par l’intermédiaire d’un contrôleur basé sur les classes Observable/Observer de Java.
Les différentes boites de saisie des informations sont traitées à partir d’une même classe, Compo-santAlisma, qui permet notamment d’indiquer l’emplacement des champs de saisie et leur nature. Ses instances sont emboîtables, et elle est capable de récupérer l’ensemble des données sous-jacentes.
Cette classe permet de définir si les informations saisies ont un caractère obligatoire ou pas, selon l’échelle suivante :
— information complémentaire ;
— information utile (liseré bleu tant qu’elle n’est pas renseignée) ; — information nécessaire pour calculer l’indice (liseré orange) ; — information obligatoire pour enregistrer le dossier (liseré rouge).
Lors de la saisie d’un dossier, l’icône de l’onglet reflète l’état des informations à saisir dans celui-ci. Les relevés peuvent être imprimés en recourant à des fichiers PDF. Ceux-ci sont générés en deux étapes :
— les relevés sont exportés dans un fichier XML ;
— le fichier XML est transformé, grâce à la bibliothèque Apache-FOP (https://xmlgraphics. apache.org/fop/), en PDF, à partir d’un fichier de transformation XSL.
1.3.1 Statut du dossier
Un dossier ne peut être enregistré que si toutes les informations obligatoires ont été renseignées. Le calcul de l’indice n’est possible que si toutes les informations nécessaires ont été renseignées. Lors de l’enregistrement d’un dossier, si le calcul de l’indice a été réalisé, le dossier passe au statut valide. Il ne peut plus être modifié, sauf demande explicite (bouton à activer).
Toute modification d’un dossier validé bascule le statut à En saisie, et le calcul de l’indicateur est supprimé.
1.4
Architecture de l’application
L’application utilise MAVEN pour organiser le code et gérer les dépendances. Le code est placé dans le dossier src, et comprend les sous-dossiers suivants :
alisma : classe principale de l’application, contrôleur, fenêtre principale et menu principal. Le nu-méro de version est placé dans la classe principale (Alisma.java) ;
database : classes d’accès aux tables de la base de données. Elles sont toutes héritées de la classe DbObject ;
import_export : classes de génération des fichiers XML et PDF, lancement de la sauvegarde de la base de données ;
reference classes de visualisation et de modification des tables de référence ; ressources : images, fichiers de langue et autres ressources utilisées ;
releve : classes de consultation et de modification d’un relevé ;
CHAPITRE 1. PRÉSENTATION
alisma.xsl : fichier de traduction utilisé pour générer les bilans PDF ; log4j.xml : fichier de configuration des traces ;
param.ini : paramètres modifiables par l’utilisateur
Chapitre 2
Modules disponibles
2.1
Tables de référence
Pour fonctionner, l’application a besoin de tables alimentées à partir d’informations dotées d’un code SANDRE (Service d’Administration Nationale des Données et Référentiels sur l’Eau - http: //www.sandre.eaufrance.fr), et de la liste des végétaux susceptibles d’être rencontrés :
— la liste des cours d’eau ;
— la liste des stations de collecte ;
— la liste officielle des végétaux susceptibles d’être rencontrés, associés aux valeurs permettant de calculer l’indice.
L’opérateur a la possibilité de consulter ces différents référentiels, voire de rajouter des informa-tions manquantes le cas échéant, avec certaines limitainforma-tions :
— les stations dotées d’un code SANDRE ne sont pas modifiables ;
— les végétaux non présents dans le référentiel initial peuvent être saisis dans une table secondaire, mais ne sont pas utilisables pour calculer l’indice IBMR.
2.2
Saisie des dossiers
2.2.1 Consultation de la liste
La liste des dossiers intègre un moteur permettant de les rechercher par : — date de saisie ;
— statut ;
— nom ou code de la station ;
— s’il s’agit ou non d’un relevé effectué dans le cadre de la DCE.
À partir de ce module, il est possible de réaliser un export uniquement des dossiers valides, ou de préparer un récapitulatif au format PDF.
À noter que l’export PDF implique obligatoirement la génération d’un fichier XML (c’est le fichier XML qui est transformé en PDF).
2.2.2 Création d’un dossier
Lors de la création d’un dossier, le programme demande si le relevé a été réalisé en deux fois (rivières larges ou hétérogènes) ou pas. Il n’est pas possible de modifier cette valeur ensuite.
CHAPITRE 2. MODULES DISPONIBLES
2.2.3 Coordonnées géographiques
Les coordonnées géographiques, dans le cadre de la DCE, doivent être fournies au format Lambert 93. L’application permet de les saisir sous la forme de coordonnées WGS83 (le format des GPS), le programme les transformant grâce aux bibliothèques de GeoTools (http://www.geotools.org).
2.2.4 Export d’un dossier
Un dossier enregistré peut être exporté (export unique), soit au format XML, soit au format PDF.
2.3
Support des langues
L’application a été conçue pour pouvoir fonctionner en français et en anglais. Toutefois, dans sa version initiale, seul le français est complètement disponible.
Pour rendre le logiciel totalement utilisable en anglais, il convient de :
— traduire tous les libellés présents dans le fichier ressources/Langue_fr_FR.properties ;
— traduire tous les libellés des tables facies, facies_autre_type, hydrologie, meteo, niveau_trophique, periphyton, protocole, rive, statut, turbidite, type_ur;
— modifier (en créant une copie) le fichier param/alisma.xsl, utilisé pour générer le fichier PDF. Une seule langue principale est actuellement utilisable, les tables citées ne pouvant supporter qu’une langue à la fois.
Des modifications dans le fichier param/param.ini sont également indispensables pour pouvoir prendre en compte correctement les modifications apportées.
2.4
Sauvegarde de la base de données
Le programme permet de réaliser une sauvegarde de la base de données. Toutefois, pour que celle-ci fonctionne, le chemin d’accès au programme de sauvegarde de mysql doit être correctement renseigné dans le fichier de paramètres.
Annexe A
Contenu du fichier de paramètres
Le fichier de paramètres est organisé en sections :
A.1
database
Cette section précise les paramètres de connexion à la base de données (entre parenthèses, les valeurs par défaut).
server : nom du serveur (localhost)
dbname : nom de la base de données (alisma) dbuser : nom du compte de connexion (alisma) dbpass : mot de passe de connexion (alisma)
dbencode_iso8859 : si à true, les données sont encodées en iso8859-15 avant affichage (false) ; jdbc_class : nom du pilote d’accès à la base de données (com.mysql.jdbc.Driver)
dbtype : type de la base de données (mysql)
backupFileNamePrefix : préfixe utilisé pour les sauvegardes de la base de données (alisma_db) backupProgram : nom du programme utilisé pour réaliser la sauvegarde de la base de données
(c :\Program Files\MySQL\MYSQL Server 5.6\bin\mysqldump.exe)
pathFolderDataSave : chemin de stockage des sauvegardes (c :\alisma\backup)
pathFileDateSave : chemin d’accès au fichier contenant la date de la dernière sauvegarde réalisée (c :\alisma\backup\alisma_save.txt)
backupDelay : délai entre deux sauvegardes (7). Pour inhiber la réalisation des sauvegardes, ce pa-ramètre doit être positionné à -1
A.2
language
Cette section permet de définir la langue utilisée par défaut dans le logiciel. default : langue utilisée par défaut (fr_FR)
preferred : langue préférée (fr_FR)
en_US : langue utilisée en cas de libellé manquant (fr_FR) en_EN : idem
ANNEXE A. CONTENU DU FICHIER DE PARAMÈTRES
A.3
others
modeDebug : active l’affichage des messages dans le logiciel (false). Ce paramètre n’est, en principe, plus utilisé, et remplacé par le paramétrage de log4j
lambert : indique si les coordonnées Lambert sont utilisées (true). Si le logiciel est employé pour des relevés hors France, basculez ce paramètre à false
lambert93Emin : coordonnée Lambert Est minimale (70000) lambert93Emax : coordonnée Lambert Est maximale (1200000) lambert93Nmin : coordonnée Lambert Nord minimale (6000000) lambert93Nmax : coordonnée Lambert Nord maximale (7200000)
pathFolderExport : chemin de stockage des fichiers générés (c :\alisma\export) exportFileNamePrefix : préfixe utilisé pour les fichiers exportés (alisma)
xsltfile_fr : nom du fichier contenant le filtre utilisé pour générer les fichiers PDF, en français (pa-ram/alisma.xsl)
xsltfile_en : nom du fichier contenant le filtre utilisé pour générer les fichiers PDF, en anglais (pa-ram/alisma.xsl)
A.4
fieldslevel
Cette section permet de rendre certains champs obligatoires ou non. Quatre niveaux sont dispo-nibles :
— vide : pas de contrôle particulier sur le champ ;
— recommanded : le champ concerné devrait être renseigné ;
— necessary : le champ doit être renseigné pour que le dossier soit validé ; — mandatory : le champ doit être renseigné pour pouvoir enregistrer le dossier.
Dans la pratique, ces niveaux ne sont modifiables que pour les informations suivantes :
coord_x et coord_y : coordonnées Lambert. Les valeurs doivent être vidées si le logiciel est utilisé hors de France (modification à réaliser en même temps pour le paramètre others/lambert) wgs84_x et wgs84_y : coordonnées WGS84 (recommanded).
A.5
display
Cette section contient le code des couleurs employées, ainsi que les adresses des logos. colorFooter : couleur du bas d’écran (150,182,254)
colorBanniere : couleur de la bannière (150,182,254) colorCentral : couleur de la fenêtre (157,212,255) colorTab : couleur des onglets (0,20,205)
icone : nom du fichier contenant l’icône de l’application (ressources/alisma.png) logo : nom du fichier contenant le logo d’IRSTEA (ressources/logo.png)
Annexe B
ANNEXE B. SCHÉMA DE LA B ASE DE DONNÉES 9
Annexe C
Description des tables
Alisma
List of tables
Auteurs Cours_Eau facies facies_autre_type Groupes hydrologie ibmr Lignes_op_controle meteo niveau_trophique Op_controle periphyton Points_prelev protocole rive Stations Statut Taxons_details_view Taxons_MP Taxons_MP_persos Taxons_view turbidite type_ur Unite_relevesAuteurs
(Physical Name: Auteurs)
Logical Column Name Physical Column Name Type PK Nullable
id_auteur (PK) id_auteur INTEGER PK NOT NULL
Cours_Eau
(Physical Name: Cours_Eau)
Logical Column Name Physical Column Name Type PK Nullable id_cours_eau (PK) id_cours_eau INTEGER PK NOT NULL
cours_eau cours_eau VARCHAR(255) NOT NULL
Referenced By
Stations referencing (id_cours_eau)
facies
(Physical Name: facies)
Type de facies dominant
Logical Column Name Physical Column Name Type PK Nullable
facies_id (PK) facies_id INTEGER PK NOT NULL
facies_libelle facies_libelle VARCHAR(255) NOT NULL Referenced By
Table des autres types de facies
Logical Column Name Physical Column Name Type PK Nullable facies_autre_type_id (PK) facies_autre_type_id INTEGER PK NOT NULL facies_autre_type_libelle facies_autre_type_libelle VARCHAR(255) NOT NULL Referenced By
Unite_releves referencing (facies_autre_type_id)
Groupes
(Physical Name: Groupes)
Logical Column Name Physical Column Name Type PK Nullable
id_groupe (PK) id_groupe INTEGER PK NOT NULL
nom_groupe nom_groupe VARCHAR(50)
Referenced By
Taxons_MP referencing (id_groupe)
Taxons_MP_persos referencing (id_groupe)
hydrologie
(Physical Name: hydrologie)
Logical Column Name Physical Column Name Type PK Nullable hydrologie_id (PK) hydrologie_id INTEGER PK NOT NULL hydrologie_libelle hydrologie_libelle VARCHAR(255) NOT NULL Referenced By
Op_controle referencing (hydrologie_id)
ibmr
(Physical Name: ibmr)
Table des informations specifiques du calcul de l'IBMR
Logical Column Name Physical Column Name Type PK Nullable id_op_controle (PK) (FK) id_op_controle INTEGER PK NOT NULL
ibmr_value ibmr_value FLOAT
robustesse_value robustesse_value FLOAT niveau_trophique_id (FK) niveau_trophique_id INTEGER robustesse_niveau_trophique_id (FK) robustesse_niveau_trophique_id INTEGER
taxon_robustesse taxon_robustesse VARCHAR(255)
cs_moy cs_moy DOUBLE
cs_min cs_min DOUBLE
cs_max cs_max DOUBLE
coef_moy coef_moy DOUBLE
nbtaxon_bry nbtaxon_bry INTEGER
nbtaxon_pte nbtaxon_pte INTEGER
nbtaxon_pha nbtaxon_pha INTEGER
nbtaxon_lic nbtaxon_lic INTEGER
nbtaxon_total nbtaxon_total INTEGER nbtaxon_contrib nbtaxon_contrib INTEGER nbtaxon_steno1 nbtaxon_steno1 INTEGER nbtaxon_steno2 nbtaxon_steno2 INTEGER nbtaxon_steno3 nbtaxon_steno3 INTEGER References
Op_controle through (id_op_controle)
niveau_trophique through (niveau_trophique_id)
niveau_trophique through (robustesse_niveau_trophique_id)
Lignes_op_controle
(Physical Name: Lignes_op_controle)
Logical Column Name Physical Column Name Type PK Nullable id_ligne_op_controle (PK) id_ligne_op_controle INTEGER PK NOT NULL
pc_UR1 pc_UR1 DOUBLE NOT NULL
pc_UR2 pc_UR2 DOUBLE
cf cf INTEGER
id_op_controle (FK) id_op_controle INTEGER NOT NULL
id_taxon id_taxon VARCHAR(7) NOT NULL
References
meteo
(Physical Name: meteo)
Table des conditions meteo
Logical Column Name Physical Column Name Type PK Nullable
meteo_id (PK) meteo_id INTEGER PK NOT NULL
meteo_libelle meteo_libelle VARCHAR(255) NOT NULL Referenced By
Op_controle referencing (meteo_id)
niveau_trophique
(Physical Name: niveau_trophique)
Table des libelles des niveaux trophiques
Logical Column Name Physical Column Name Type PK Nullable niveau_trophique_id (PK) niveau_trophique_id INTEGER PK NOT NULL niveau_trophique_libelle niveau_trophique_libelle VARCHAR(255) NOT NULL Referenced By
Op_controle
(Physical Name: Op_controle)
Logical Column Name Physical Column Name Type PK Nullable id_op_controle (PK) id_op_controle INTEGER PK NOT NULL id_pt_prel (FK) id_pt_prel INTEGER NOT NULL id_statut (FK) id_statut INTEGER
0 : en saisie 1 : validé
protocole_id (FK) protocole_id INTEGER
rive_id (FK) rive_id INTEGER
1 : gauche 2 : droite
hydrologie_id (FK) hydrologie_id INTEGER
meteo_id (FK) meteo_id INTEGER
turbidite_id (FK) turbidite_id INTEGER
date_op date_op DATE
organisme organisme VARCHAR(50)
operateur operateur VARCHAR(50)
observation observation VARCHAR(255)
ref_dossier ref_dossier VARCHAR(25)
releve_dce releve_dce TINYINT NOT NULL
Indique si le relevé est utilisé dans le cadre de la DCE
References
Points_prelev through (id_pt_prel)
Statut through (id_statut)
protocole through (protocole_id)
hydrologie through (hydrologie_id)
meteo through (meteo_id)
turbidite through (turbidite_id) Referenced By
Lignes_op_controle referencing (id_op_controle)
Unite_releves referencing (id_op_controle)
ibmr referencing (id_op_controle)
periphyton
(Physical Name: periphyton)
Table des abondances du périphyton
Logical Column Name Physical Column Name Type PK Nullable periphyton_id (PK) periphyton_id INTEGER PK NOT NULL periphyton_libelle periphyton_libelle VARCHAR(255) NOT NULL Referenced By
Unite_releves referencing (periphyton_id)
coord_x coord_x INTEGER
coord_y coord_y INTEGER
altitude altitude FLOAT
longueur longueur DOUBLE
largeur largeur DOUBLE
id_station (FK) id_station INTEGER NOT NULL
wgs84_x wgs84_x VARCHAR(20)
Coordonnée X du point de prélèvement, en WGS84
wgs84_y wgs84_y VARCHAR(20)
Coordonnée Y du point de prélèvement, en wgs84
References
Stations through (id_station) Referenced By
Op_controle referencing (id_pt_prel)
protocole
(Physical Name: protocole)
Table des protocoles d'échantillonnage
Logical Column Name Physical Column Name Type PK Nullable protocole_id (PK) protocole_id INTEGER PK NOT NULL protocole_libelle protocole_libelle VARCHAR(255) NOT NULL Referenced By
Op_controle referencing (protocole_id)
rive
(Physical Name: rive)
Table des rives
Logical Column Name Physical Column Name Type PK Nullable
rive_id (PK) rive_id INTEGER PK NOT NULL
1 : gauche 2 : droite
rive_libelle rive_libelle VARCHAR(255) NOT NULL Referenced By
Op_controle referencing (rive_id)
Stations
(Physical Name: Stations)
Logical Column Name Physical Column Name Type PK Nullable id_station (PK) id_station INTEGER PK NOT NULL
id_cours_eau (FK) id_cours_eau INTEGER NOT NULL References
Cours_Eau through (id_cours_eau) Referenced By
Points_prelev referencing (id_station)
Statut
(Physical Name: Statut)
Table des statuts du dossier
Logical Column Name Physical Column Name Type PK Nullable
id_statut (PK) id_statut INTEGER PK NOT NULL
0 : en saisie 1 : validé
libelle_statut libelle_statut VARCHAR(50) NOT NULL Referenced By
Op_controle referencing (id_statut)
Logical Column Name Physical Column Name Type PK Nullable
cd_taxon cd_taxon VARCHAR(7) NOT NULL
nom_taxon nom_taxon VARCHAR(100) NOT NULL
cd_sandre cd_sandre INTEGER
id_groupe id_groupe INTEGER
Taxons_MP
(Physical Name: Taxons_MP)
Logical Column Name Physical Column Name Type PK Nullable
cd_taxon (PK) cd_taxon VARCHAR(6) PK NOT NULL
nom_taxon nom_taxon VARCHAR(100) NOT NULL
cote_spe cote_spe INTEGER
coef_steno coef_steno INTEGER
cd_sandre cd_sandre INTEGER
aquaticite aquaticite INTEGER
date_creation date_creation DATE
id_groupe (FK) id_groupe INTEGER NOT NULL
auteur auteur VARCHAR(50)
Auteur
cd_valide cd_valide VARCHAR(6)
cd_contrib cd_contrib VARCHAR(6)
References
Taxons_MP_persos
(Physical Name: Taxons_MP_persos)
Logical Column Name Physical Column Name Type PK Nullable cd_taxon_perso (PK) cd_taxon_perso VARCHAR(7) PK NOT NULL nom_taxon_perso nom_taxon_perso VARCHAR(50) NOT NULL
createur createur VARCHAR(50)
cd_sandre cd_sandre INTEGER
date_creationP date_creationP DATE NOT NULL
auteur auteur VARCHAR(50)
id_groupe (FK) id_groupe INTEGER NOT NULL
References
Groupes through (id_groupe)
Taxons_view
(Physical Name: Taxons_view)
Logical Column Name Physical Column Name Type PK Nullable
cd_taxon cd_taxon VARCHAR(7) NOT NULL
nom_taxon nom_taxon VARCHAR(100) NOT NULL
turbidite
(Physical Name: turbidite)
Logical Column Name Physical Column Name Type PK Nullable turbidite_id (PK) turbidite_id INTEGER PK NOT NULL turbidite_libelle turbidite_libelle VARCHAR(255) NOT NULL Referenced By
Op_controle referencing (turbidite_id)
type_ur
(Physical Name: type_ur)
Type de l'unité de relevé
Logical Column Name Physical Column Name Type PK Nullable type_ur_id (PK) type_ur_id INTEGER PK NOT NULL type_ur_libelle type_ur_libelle VARCHAR(255) NOT NULL Referenced By
Unite_releves referencing (type_ur_id)
type_ur_id (FK) type_ur_id INTEGER NOT NULL periphyton_id (FK) periphyton_id INTEGER
facies_id (FK) facies_id INTEGER facies_autre_type_id (FK) facies_autre_type_id INTEGER
numUR numUR INTEGER NOT NULL
1 ou 2
pc_UR pc_UR DOUBLE
longueur_UR longueur_UR DOUBLE
largeur_UR largeur_UR DOUBLE
pc_vegetalisation pc_vegetalisation DOUBLE
ch_lentique ch_lentique INTEGER
pl_lentique pl_lentique INTEGER
mouille mouille INTEGER
fosse_dissipation fosse_dissipation INTEGER
ch_lotique ch_lotique INTEGER
radier radier INTEGER
cascade cascade_1 INTEGER
pl_courant pl_courant INTEGER
rapide rapide INTEGER
p1 p1 INTEGER p2 p2 INTEGER p3 p3 INTEGER p4 p4 INTEGER p5 p5 INTEGER v1 v1 INTEGER v2 v2 INTEGER v3 v3 INTEGER v4 v4 INTEGER v5 v5 INTEGER
tres_ombrage tres_ombrage INTEGER
peu_ombrage peu_ombrage INTEGER
eclaire eclaire INTEGER
tres_eclaire tres_eclaire INTEGER
vase_limons vase_limons INTEGER
terre_marne_tourbe terre_marne_tourbe INTEGER cailloux_pierres cailloux_pierres INTEGER
blocs_dalles blocs_dalles INTEGER
sable_graviers sable_graviers INTEGER
racines racines INTEGER
debris_org debris_org INTEGER
artificiel artificiel INTEGER
pc_heterot pc_heterot DOUBLE
pc_algues pc_algues DOUBLE
pc_bryo pc_bryo DOUBLE
pc_lichen pc_lichen DOUBLE
pc_phanero pc_phanero DOUBLE
pc_flottante pc_flottante DOUBLE
pc_immerg pc_immerg DOUBLE
pc_helophyte pc_helophyte DOUBLE
autreTypeClass autreTypeClass INTEGER References
Op_controle through (id_op_controle)
periphyton through (periphyton_id)
facies through (facies_id)
facies_autre_type through (facies_autre_type_id)
Table des matières
1 Présentation 1 1.1 Genèse du projet . . . 1 1.2 licence . . . 1 1.3 Technologie employée . . . 2 1.3.1 Statut du dossier . . . 2 1.4 Architecture de l’application . . . 2 2 Modules disponibles 4 2.1 Tables de référence . . . 42.2 Saisie des dossiers . . . 4
2.2.1 Consultation de la liste . . . 4
2.2.2 Création d’un dossier . . . 4
2.2.3 Coordonnées géographiques . . . 5
2.2.4 Export d’un dossier . . . 5
2.3 Support des langues . . . 5
2.4 Sauvegarde de la base de données . . . 5
A Contenu du fichier de paramètres 6 A.1 database . . . 6
A.2 language . . . 6
A.3 others . . . 7
A.4 fieldslevel . . . 7
A.5 display . . . 7
B Schéma de la base de données 8
C Description des tables 10