Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1174 jpm 1
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
2
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
1809 raphael 3
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
1174 jpm 4
 
5
 
6
-- -----------------------------------------------------
7
-- Table `cel_utilisateurs`
8
-- -----------------------------------------------------
2423 jpm 9
CREATE TABLE IF NOT EXISTS `cel_utilisateurs` (
10
  `id_utilisateur` INT NOT NULL,
11
  `prenom` VARCHAR(255) NULL DEFAULT NULL,
12
  `nom` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL,
13
  `courriel` VARCHAR(255) NOT NULL,
14
  `mot_de_passe` VARCHAR(45) NOT NULL,
15
  `admin` TINYINT(1) NULL DEFAULT '0',
16
  `licence_acceptee` TINYINT(1) NULL DEFAULT '0' COMMENT 'Acceptation de la licence utilisateur pour le cel\n',
17
  `preferences` LONGTEXT NULL DEFAULT NULL COMMENT 'Préférences utilisateur sérialisées sous une forme à définir\n',
18
  `date__premiere_utilisation` DATETIME NOT NULL,
19
  PRIMARY KEY (`id_utilisateur`))
1174 jpm 20
ENGINE = MyISAM
21
DEFAULT CHARACTER SET = utf8
22
COLLATE = utf8_general_ci;
23
 
24
 
25
-- -----------------------------------------------------
2065 aurelien 26
-- Table `cel_arbre_mots_cles_images`
1174 jpm 27
-- -----------------------------------------------------
2423 jpm 28
CREATE TABLE IF NOT EXISTS `cel_arbre_mots_cles_images` (
29
  `id_mot_cle` INT NOT NULL AUTO_INCREMENT,
30
  `chemin` VARCHAR(2048) NULL,
31
  `mot_cle` VARCHAR(80) NULL,
32
  `id_utilisateur` VARCHAR(255) NULL,
33
  PRIMARY KEY (`id_mot_cle`))
2065 aurelien 34
ENGINE = MyISAM;
1174 jpm 35
 
36
 
37
-- -----------------------------------------------------
2065 aurelien 38
-- Table `cel_mots_cles_images_liaison`
1174 jpm 39
-- -----------------------------------------------------
2065 aurelien 40
DROP TABLE IF EXISTS `cel_mots_cles_images_liaison` ;
1174 jpm 41
 
2065 aurelien 42
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_images_liaison` (
43
  `id_element_lie` INT NOT NULL ,
44
  `id_mot_cle` INT NOT NULL ,
45
  PRIMARY KEY (`id_element_lie`, `id_mot_cle`) )
46
ENGINE = MyISAM;
1174 jpm 47
 
48
 
49
-- -----------------------------------------------------
2065 aurelien 50
-- Table `cel_zones_geo`
1174 jpm 51
-- -----------------------------------------------------
2423 jpm 52
CREATE TABLE IF NOT EXISTS `cel_zones_geo` (
53
  `id_zone_geo` VARCHAR(50) NOT NULL,
54
  `code` VARCHAR(10) NOT NULL,
55
  `nom` VARCHAR(255) NOT NULL,
56
  `utm_secteur` CHAR(3) NOT NULL,
57
  `utm_x` INT NOT NULL DEFAULT '0',
58
  `utm_y` INT NOT NULL DEFAULT '0',
59
  `wgs84_latitude` FLOAT NOT NULL,
60
  `wgs84_longitude` FLOAT NOT NULL,
61
  `date_modification` DATETIME NOT NULL,
62
  `ce_zone_geo_parente` VARCHAR(50) NULL DEFAULT NULL,
63
  `bg` BIGINT NULL,
64
  `bd` BIGINT NULL,
65
  `niveau` INT NULL,
66
  PRIMARY KEY (`id_zone_geo`),
67
  INDEX `nom` (`nom` ASC),
68
  INDEX `zone_geo_parente` (`ce_zone_geo_parente` ASC))
2065 aurelien 69
ENGINE = MyISAM
1174 jpm 70
DEFAULT CHARACTER SET = utf8
2065 aurelien 71
COLLATE = utf8_general_ci;
1174 jpm 72
 
73
 
74
-- -----------------------------------------------------
2065 aurelien 75
-- Table `cel_obs_etendues`
1174 jpm 76
-- -----------------------------------------------------
2065 aurelien 77
DROP TABLE IF EXISTS `cel_obs_etendues` ;
1174 jpm 78
 
2065 aurelien 79
CREATE  TABLE IF NOT EXISTS `cel_obs_etendues` (
80
  `id_observation` BIGINT NOT NULL ,
81
  `cle` VARCHAR(255) NOT NULL COMMENT 'Clé du champ au format chat mot (sans accents).\nEx. : maCle, uneAutreCle' ,
82
  `valeur` TEXT NOT NULL COMMENT 'Valeur du champ.' ,
83
  PRIMARY KEY (`id_observation`, `cle`) )
1174 jpm 84
ENGINE = MyISAM
85
DEFAULT CHARACTER SET = utf8
2065 aurelien 86
COLLATE = utf8_general_ci
87
COMMENT = 'Stockage d\'infos supplémentaires sur une observation';
1174 jpm 88
 
89
 
90
-- -----------------------------------------------------
2065 aurelien 91
-- Table `cel_arbre_mots_cles_obs`
1174 jpm 92
-- -----------------------------------------------------
2423 jpm 93
CREATE TABLE IF NOT EXISTS `cel_arbre_mots_cles_obs` (
94
  `id_mot_cle` INT NOT NULL AUTO_INCREMENT,
95
  `chemin` VARCHAR(2048) NULL,
96
  `mot_cle` VARCHAR(80) NULL,
97
  `id_utilisateur` VARCHAR(255) NULL,
98
  PRIMARY KEY (`id_mot_cle`))
2065 aurelien 99
ENGINE = MyISAM;
1174 jpm 100
 
101
 
102
-- -----------------------------------------------------
2065 aurelien 103
-- Table `cel_mots_cles_obs_liaison`
1505 jpm 104
-- -----------------------------------------------------
2065 aurelien 105
ENGINE = MyISAM;
1505 jpm 106
 
107
 
108
-- -----------------------------------------------------
1174 jpm 109
-- Table `cel_obs`
110
-- -----------------------------------------------------
2423 jpm 111
CREATE TABLE IF NOT EXISTS `cel_obs` (
112
  `id_observation` BIGINT NOT NULL AUTO_INCREMENT,
113
  `ordre` BIGINT NOT NULL,
114
  `ce_utilisateur` VARCHAR(255) NOT NULL,
115
  `prenom_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
116
  `nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
117
  `courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
118
  `nom_sel` VARCHAR(601) NULL DEFAULT NULL COMMENT 'doit pouvoir contenir CONCAT(bdtfx.nom_sci, \" \", bdtfx.auteur) soit 601 caractères',
119
  `nom_sel_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom sélectionné.',
120
  `nom_ret` VARCHAR(601) NULL DEFAULT NULL COMMENT 'doit pouvoir contenir CONCAT(bdtfx.nom_sci, \" \", bdtfx.auteur) soit 601 caractères',
121
  `nom_ret_nn` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro du nom retenu = num_nom_retenu dans bdtfx',
122
  `nt` DECIMAL(9,0) NULL DEFAULT NULL COMMENT 'Numéro taxonomique.',
123
  `famille` VARCHAR(255) NULL DEFAULT NULL,
124
  `nom_referentiel` VARCHAR(255) NULL DEFAULT NULL,
125
  `ce_zone_geo` VARCHAR(50) NULL DEFAULT NULL,
126
  `zone_geo` VARCHAR(255) NULL DEFAULT NULL,
127
  `lieudit` VARCHAR(255) NULL DEFAULT NULL,
128
  `station` VARCHAR(255) NULL DEFAULT NULL,
129
  `milieu` VARCHAR(255) NULL DEFAULT NULL,
130
  `latitude` DECIMAL(8,5) NULL DEFAULT NULL,
131
  `longitude` DECIMAL(8,5) NULL DEFAULT NULL,
132
  `altitude` INT(5) NULL DEFAULT NULL,
133
  `geodatum` VARCHAR(25) NULL DEFAULT NULL COMMENT 'Référentiel géographique utilisé.\nPar exmple : WGS84',
134
  `date_observation` DATETIME NULL DEFAULT NULL,
135
  `mots_cles_texte` LONGTEXT NULL DEFAULT NULL COMMENT 'Champ calculé contenant la liste des mots clés utilisateurs séparé par des virgules.',
136
  `commentaire` TEXT NULL DEFAULT NULL,
137
  `transmission` TINYINT(1) NULL DEFAULT NULL,
138
  `date_creation` DATETIME NULL DEFAULT NULL,
139
  `date_modification` DATETIME NULL DEFAULT NULL,
140
  `date_transmission` DATETIME NULL DEFAULT NULL,
141
  `abondance` VARCHAR(50) NULL DEFAULT NULL,
142
  `certitude` VARCHAR(255) NULL DEFAULT NULL,
143
  `phenologie` VARCHAR(255) NULL DEFAULT NULL,
144
  `code_insee_calcule` VARCHAR(5) NULL DEFAULT NULL COMMENT 'Code INSEE calculé par un scrip CRON.',
145
  PRIMARY KEY (`id_observation`),
146
  INDEX `ce_utilisateur` (`ce_utilisateur`(10) ASC),
147
  INDEX `ce_zone_geo` (`ce_zone_geo` ASC),
148
  UNIQUE INDEX `id_obs` (`ce_utilisateur` ASC, `ordre` ASC),
149
  INDEX `date_creation` (`ce_utilisateur`(10) ASC, `date_creation` ASC),
150
  INDEX `coordonnees` (`latitude` ASC, `longitude` ASC),
151
  INDEX `nom_retenu` (`nom_ret` ASC),
152
  INDEX `date_observation` (`date_observation` ASC),
153
  INDEX `nom_referentiel` (`nom_referentiel`(5) ASC)  COMMENT ' /* comment truncated */ /*Index sur (bdtfx,bdtfx,isfan)*/',
154
  INDEX `date_transmission` (`date_transmission` DESC)  COMMENT ' /* comment truncated */ /*Date_transmission : nécessaire à l'ORDER BY utilisé dans la liste d'observation de DEL*/',
155
  INDEX `transmission` (`transmission` ASC)  COMMENT ' /* comment truncated */ /*Nécessaire à CEL/DEL qui officie avec transmission = 1*/')
156
ENGINE = MyISAM
157
DEFAULT CHARACTER SET = utf8
158
COLLATE = utf8_general_ci;
1174 jpm 159
 
2423 jpm 160
 
161
-- -----------------------------------------------------
162
-- Table `cel_images`
163
-- -----------------------------------------------------
164
CREATE TABLE IF NOT EXISTS `cel_images` (
165
  `id_image` BIGINT NOT NULL AUTO_INCREMENT,
166
  `ce_observation` BIGINT NOT NULL,
167
  `ordre` BIGINT NOT NULL,
168
  `ce_utilisateur` VARCHAR(255) NOT NULL COMMENT 'L\'id utilisateur est un int mais on utilise un varchar pour stocker des observations avec des identifiants temporaires\n',
169
  `prenom_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
170
  `nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
171
  `courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL,
172
  `hauteur` INT NOT NULL,
173
  `largeur` INT NOT NULL,
174
  `appareil_fabriquant` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL,
175
  `appareil_modele` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL,
176
  `date_prise_de_vue` DATETIME NULL DEFAULT NULL,
177
  `note_qualite` DECIMAL(1,0) NULL DEFAULT NULL,
178
  `mots_cles_texte` LONGTEXT NULL DEFAULT NULL COMMENT 'Champ calculé contenant la liste des mots clés utilisateurs séparé par des virgules.\n',
179
  `commentaire` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL,
180
  `nom_original` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL,
181
  `md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL,
182
  `meta_exif` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL,
183
  `meta_iptc` LONGTEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL,
184
  `meta_xmp` LONGTEXT NULL DEFAULT NULL,
185
  `meta_makernote` LONGTEXT NULL DEFAULT NULL,
186
  `meta_autres` LONGTEXT NULL DEFAULT NULL,
187
  `transmission` TINYINT(1) NOT NULL DEFAULT 1,
188
  `date_creation` DATETIME NOT NULL COMMENT 'Date d\'ajout de l\'image au CEL.',
189
  `date_modification` DATETIME NOT NULL,
190
  `date_liaison` DATETIME NULL DEFAULT NULL,
191
  `date_transmission` DATETIME NULL DEFAULT NULL,
192
  PRIMARY KEY (`id_image`),
193
  INDEX `id_image` (`id_image` ASC, `ordre` ASC, `ce_utilisateur` ASC),
194
  INDEX `ce_utilisateur` (`ce_utilisateur` ASC),
195
  INDEX `ce_observation` (`ce_observation` ASC),
196
  INDEX `date_creation` (`date_creation` ASC),
197
  INDEX `date_prise_de_vue` (`date_prise_de_vue` ASC),
198
  INDEX `ce_utilisateur_date_creation` (`ce_utilisateur` ASC, `date_creation` ASC))
1174 jpm 199
ENGINE = MyISAM
2423 jpm 200
AUTO_INCREMENT = 265
1174 jpm 201
DEFAULT CHARACTER SET = utf8
202
COLLATE = utf8_general_ci;
203
 
1196 jpm 204
 
1197 jpm 205
-- -----------------------------------------------------
206
-- Table `cel_utilisateurs_infos`
207
-- -----------------------------------------------------
2423 jpm 208
CREATE TABLE IF NOT EXISTS `cel_utilisateurs_infos` (
209
  `id_utilisateur` INT NOT NULL,
210
  `admin` TINYINT(1) NOT NULL DEFAULT 0,
211
  `licence_acceptee` TINYINT(1) NOT NULL DEFAULT 0,
212
  `preferences` LONGTEXT NULL DEFAULT NULL,
213
  `date_premiere_utilisation` DATETIME NOT NULL,
214
  PRIMARY KEY (`id_utilisateur`),
215
  INDEX `id_utilisateur` (`id_utilisateur` ASC))
1197 jpm 216
ENGINE = MyISAM
217
DEFAULT CHARACTER SET = utf8
218
COLLATE = utf8_general_ci
1809 raphael 219
COMMENT = 'Contient les infos utilisateurs spécifiques au CEL. À utilis /* comment truncated */ /*er avec une vue pour récupérer les infos de la table annuaire_tela.*/';
1197 jpm 220
 
221
 
222
-- -----------------------------------------------------
1505 jpm 223
-- Table `cel_images_etendues`
224
-- -----------------------------------------------------
2423 jpm 225
DROP TABLE IF EXISTS `cel_mots_cles_obs_liaison` ;
1505 jpm 226
 
2423 jpm 227
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_obs_liaison` (
228
  `id_element_lie` INT NOT NULL ,
229
  `id_mot_cle` INT NOT NULL ,
230
  PRIMARY KEY (`id_element_lie`, `id_mot_cle`) )
231
CREATE TABLE IF NOT EXISTS `cel_mots_cles_obs_liaison` (
232
  `id_element_lie` INT NOT NULL,
233
  `id_mot_cle` INT NOT NULL,
234
  PRIMARY KEY (`id_element_lie`, `id_mot_cle`),
235
  INDEX `fk_cel_mots_cles_obs_liaison_cel_arbre_mots_cles_obs1_idx` (`id_mot_cle` ASC))
1505 jpm 236
ENGINE = MyISAM
237
DEFAULT CHARACTER SET = utf8
238
COLLATE = utf8_general_ci
1881 jpm 239
COMMENT = 'Stockage d\'info supplémentaires sur une image';
1505 jpm 240
 
241
 
242
-- -----------------------------------------------------
2395 aurelien 243
-- Table `cel_catalogue_champs_etendus_liaison`
2299 mathias 244
-- -----------------------------------------------------
245
 
246
-- -----------------------------------------------------
1202 jpm 247
-- Placeholder table for view `cel_utilisateurs`
248
-- -----------------------------------------------------
249
CREATE TABLE IF NOT EXISTS `cel_utilisateurs` (`id_utilisateur` INT, `prenom` INT, `nom` INT, `courriel` INT, `mot_de_passe` INT, `licence_acceptee` INT, `admin` INT, `preferences` INT, `date_premiere_utilisation` INT);
250
 
251
-- -----------------------------------------------------
1197 jpm 252
-- Placeholder table for view `cel_tapir`
253
-- -----------------------------------------------------
1505 jpm 254
CREATE TABLE IF NOT EXISTS `cel_tapir` (`guid` INT, `observation_id` INT, `observation_date` INT, `nom_scientifique_complet` INT, `nom_num_nomenclatural` INT, `nom_num_taxonomique` INT, `nom_famille` INT, `lieu_commune_nom_complet` INT, `lieu_commune_nom` INT, `lieu_commune_code_insee` INT, `lieu_commune_source` INT, `lieu_latitude` INT, `lieu_longitude` INT, `lieu_geodatum` INT, `lieu_georeference_source` INT, `lieu_localite` INT, `observateur_prenom` INT, `observateur_nom` INT, `observateur_courriel` INT, `observateur_nom_complet` INT, `observateur_intitule` INT, `observation_commentaire` INT, `observation_information_complement` INT, `saisie_date_modification` INT, `saisie_date_creation` INT);
1197 jpm 255
 
256
-- -----------------------------------------------------
257
-- View `cel_utilisateurs`
258
-- -----------------------------------------------------
259
DROP TABLE IF EXISTS `cel_utilisateurs`;
2240 mathias 260
CREATE  OR REPLACE VIEW `cel_utilisateurs` AS
261
	SELECT at.U_ID AS id_utilisateur, at.U_SURNAME AS prenom, at.U_NAME AS nom, at.U_MAIL AS courriel, at.U_PASSWD AS mot_de_passe,
262
		ui.licence_acceptee, ui.admin, ui.preferences, ui.date_premiere_utilisation
263
	FROM tela_prod_v4.annuaire_tela AS at
1811 raphael 264
		LEFT JOIN cel_utilisateurs_infos AS ui ON (ui.id_utilisateur = at.U_ID);
1197 jpm 265
 
266
-- -----------------------------------------------------
267
-- View `cel_tapir`
268
-- -----------------------------------------------------
269
DROP TABLE IF EXISTS `cel_tapir`;
2240 mathias 270
CREATE  OR REPLACE VIEW `cel_tapir` AS
271
	select concat(_utf8'urn:lsid:tela-botanica.org:cel:',`o`.`id_observation`) AS `guid`,
272
		`o`.`id_observation` AS `observation_id`,
273
		date_format(`o`.`date_observation`,'%Y-%m-%d') AS `observation_date`,
274
		`o`.`nom_sel` AS `nom_scientifique_complet`,
275
		`o`.`nom_sel_nn` AS `nom_num_nomenclatural`,
276
		`o`.`nt` AS `nom_num_taxonomique`,
277
		`o`.`famille` AS `nom_famille`,
278
		concat(_utf8'',`zg`.`nom`,' [INSEE:',`zg`.`code`,']') AS `lieu_commune_nom_complet`,
279
		`zg`.`nom` AS `lieu_commune_nom`,
280
		`zg`.`code` AS `lieu_commune_code_insee`,
281
		if((`zg`.`code` <> ''), 'Lion1906 version 26-05-2008 - http://www.lion1906.com/', NULL) AS `lieu_commune_source`,
282
		format(if((`o`.`latitude` <> ''), `o`.`latitude`, `zg`.`wgs84_latitude`), 5) AS `lieu_latitude`,
283
		format(if((`o`.`longitude` <> ''), `o`.`longitude`, `zg`.`wgs84_longitude`), 5) AS `lieu_longitude`,
284
		`o`.`geodatum` AS `lieu_geodatum`,
285
		if((`o`.`geodatum` <> ''), 'Coordonnées issues de l''utilisation de Google Map', NULL) AS `lieu_georeference_source`,
286
		`o`.`lieudit` AS `lieu_localite`,
287
		`o`.`prenom_utilisateur` AS `observateur_prenom`,
288
		`o`.`nom_utilisateur` AS `observateur_nom`,
289
		`o`.`courriel_utilisateur` AS `observateur_courriel`,
290
		concat(`o`.`prenom_utilisateur`,_utf8' ',`o`.`nom_utilisateur`) AS `observateur_nom_complet`,
291
		concat_ws(' ',`o`.`prenom_utilisateur`,`o`.`nom_utilisateur`,concat('<',`o`.`courriel_utilisateur`,'>')) AS `observateur_intitule`,
292
		`o`.`commentaire` AS `observation_commentaire`,
293
		concat(_utf8'nom_num_nomenclatural=',`o`.`nom_sel_nn`,'; ',
294
			'nom_ret=',encodeToDcsv(`o`.`nom_ret`),'; ',
295
			'nom_num_ret=',`o`.`nom_ret_nn`,'; ',
296
			'nom_num_taxonomique=',`o`.`nt`,'; ',
297
			'nom_referentiel=',encodeToDcsv(`o`.`nom_referentiel`),'; ',
298
			'saisie_date_transmission=',`o`.`date_transmission`,'; ',
299
			'saisie_date_creation=',`o`.`date_creation`,'; ',
300
			'ordre=',`o`.`ordre`,'; ',
301
			'station=',encodeToDcsv(`o`.`station`),'; ',
302
			'milieu=',encodeToDcsv(`o`.`milieu`),'; ',
303
			'mots_cles=',encodeToDcsv(`o`.`mots_cles_texte`),'; ',
304
			'zg_utm_secteur=',encodeToDcsv(`zg`.`utm_secteur`),'; ',
305
			'zg_date_modification=',`zg`.`date_modification`) AS `observation_information_complement`,
306
		`o`.`date_modification` AS `saisie_date_modification`,
307
		`o`.`date_creation` AS `saisie_date_creation`
308
	from (`cel_obs` `o`
309
		left join `cel_zones_geo` `zg` on((`o`.`ce_zone_geo` = `zg`.`id_zone_geo`)))
310
	where `o`.`transmission` = 1
1505 jpm 311
		AND (`o`.`mots_cles_texte` NOT LIKE '%sensible%' OR `o`.`mots_cles_texte` IS NULL);
1197 jpm 312
 
1174 jpm 313
SET SQL_MODE=@OLD_SQL_MODE;
314
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
1196 jpm 315
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
2395 aurelien 316
 
2423 jpm 317
DROP TABLE IF EXISTS `cel_images_etendues` ;
318
 
319
CREATE  TABLE IF NOT EXISTS `cel_images_etendues` (
320
  `id_observation` BIGINT NOT NULL ,
321
  `cle` VARCHAR(255) NOT NULL COMMENT 'Clé du champ au format chat mot (sans accents).\nEx. : maCle, uneAutreCle' ,
322
  `valeur` TEXT NOT NULL COMMENT 'Valeur du champ.' ,
323
  PRIMARY KEY (`id_observation`, `cle`) )