Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 446 → Rev 447

/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.properties
31,6 → 31,9
commentaire = Commentaire
commentaires= Commentaires
autre = autre
nomCommun = Nom commun
lieuDit = Lieu dit
milieu = Milieu
 
#ecran recherche image
rechercherImage = Rechercher une image
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.java
2,7 → 2,7
 
/**
* Interface to represent the constants contained in resource bundle:
* '/home/aurelien/web/del/src/org/tela_botanica/del/client/i18n/Vocabulary.properties'.
* '/home/greg/web/del/src/org/tela_botanica/del/client/i18n/Vocabulary.properties'.
*/
public interface Vocabulary extends com.google.gwt.i18n.client.Constants {
349,6 → 349,15
String lesPropositions();
 
/**
* Translated "Lieu dit".
*
* @return translated "Lieu dit"
*/
@DefaultStringValue("Lieu dit")
@Key("lieuDit")
String lieuDit();
 
/**
* Translated "Localite".
*
* @return translated "Localite"
367,6 → 376,15
String metadonneesPhoto();
 
/**
* Translated "Milieu".
*
* @return translated "Milieu"
*/
@DefaultStringValue("Milieu")
@Key("milieu")
String milieu();
 
/**
* Translated "Mon vote".
*
* @return translated "Mon vote"
421,6 → 439,15
String nom();
 
/**
* Translated "Nom commun".
*
* @return translated "Nom commun"
*/
@DefaultStringValue("Nom commun")
@Key("nomCommun")
String nomCommun();
 
/**
* Translated "Nom retenu".
*
* @return translated "Nom retenu"
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/image.css
1,6 → 1,6
.observations {width:250px; height:250px; margin-bottom:50px;}
.observations img {width:250px; padding:0}
.zoneCache {position:absolute; padding:15px; border:solid 1px #CCC; background:#333; opacity:0.9; color:white; width:250px; z-index:1000; margin-top:30px }
.zoneCache {position:absolute; padding:5px; border:solid 1px #CCC; background:#333; opacity:0.9; color:white; width:250px; z-index:1000; margin-top:30px }
.enSavoirPlus {position:absolute; background:url(./img/ajouter.png) no-repeat; width:30px; height:30px; cursor:pointer; margin-top:3px; margin-left:3px }
.zoom {background:url(./img/loupe.png); width:30px; height:30px; cursor:pointer; margin-top:3px; position:absolute;margin-left:217px;}
.espece {font-size:12px; font-weight:bold; color:white; width:240px; height:41px}
7,4 → 7,5
.zoneDetail {position:absolute; }
.zonePlus {position:absolute; background:#333; padding:5px; margin-top:-120px; opacity:0.9; color:white; text-align:left; cursor:pointer}
.zoneImage {cursor:pointer;height:300px}
.zoneVoter {margin-top:-48px; text-align:center; background:#333; opacity:0.9; width:250px; position:absolute; height:27px; -moz-border-radius:3px; padding-top:5px }
.zoneVoter {margin-top:-48px; text-align:center; background:#333; opacity:0.9; width:250px; position:absolute; height:27px; -moz-border-radius:3px; padding-top:5px }
.metadonnees {text-align:left}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/ImageVue.ui.xml
11,20 → 11,9
<g:Label ui:field="enSavoirPlus" text=" " styleName="{style.enSavoirPlus}"/>
<g:Label ui:field="zoom" styleName="{style.zoom}"></g:Label>
<g:VerticalPanel styleName="{style.zoneCache}" ui:field="zoneCache">
<g:VerticalPanel>
<g:Label text="{constants.observateur}" styleName="gris petit"/>
<g:Label ui:field="nomObservateur">Nom observateur</g:Label>
<g:Label text="{constants.nomRetenu}" styleName="gris petit"/>
<g:Label ui:field="nomRetenu">Nom retenu</g:Label>
<g:Label text="{constants.famille}" styleName="gris petit"/>
<g:Label ui:field="famille">Famille</g:Label>
<g:Label text="{constants.dateObservation}" styleName="gris petit"/>
<g:Label ui:field="dateObservation">Date observation</g:Label>
<g:Label text="{constants.localite}" styleName="gris petit"/>
<g:Label ui:field="localite">Localite</g:Label>
</g:VerticalPanel>
</g:VerticalPanel>
<g:HTMLPanel styleName="{style.zoneCache}" ui:field="zoneCache">
<g:HTMLPanel ui:field="metadonnees" styleName="{style.metadonnees}"/>
</g:HTMLPanel>
</g:HTMLPanel>
<g:HTMLPanel styleName="{style.zoneImage}"><g:Image ui:field="imagePrincipale" resource='{res.logo}'/></g:HTMLPanel>
<g:HTMLPanel styleName="{style.zonePlus}" ui:field="zonePlus">
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/ImagePresenteur.java
5,6 → 5,8
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.fenetreOverlayDefilante.FenetreOverlayDefilantePresenteur;
import org.tela_botanica.del.client.composants.fenetreOverlayDefilante.FenetreOverlayDefilanteVue;
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesPresenteur;
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesVue;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.ImageServiceResultat;
66,6 → 68,8
public HasClickHandlers getNomAuteur();
public HasClickHandlers getNomEspece();
public HasWidgets getMetadonnees();
}
 
private Vue vue;
85,6 → 89,7
public void go(HasWidgets composite) {
composite.add(vue.asWidget());
vue.loadImage(image);
new MetadonneesPresenteur(new MetadonneesVue(), image.getObservation()).go(vue.getMetadonnees());
loadValidationData();
gererEvenements();
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/ImageVue.java
28,7 → 28,7
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
 
@UiField
protected Label nomEspece, nomAuteur, nomObservateur, nomRetenu, dateObservation, famille, localite;
protected Label nomEspece, nomAuteur;
 
@UiField
protected HorizontalPanel voter;
41,6 → 41,8
 
@UiField
Label enSavoirPlus, zoom;
@UiField Panel metadonnees;
 
public ImageVue() {
// sets listBox
67,12 → 69,6
imagePrincipale.setUrl(image.getUrl());
imagePrincipale.setTitle(image.getUrlFormat("L"));
imagePrincipale.setAltText(image.getObservation().getAuteur() + " - " + image.getObservation().getNomRetenu());
nomObservateur.setText(image.getObservation().getAuteur());
nomRetenu.setText(image.getObservation().getNomRetenu());
dateObservation.setText(image.getObservation().getDate());
famille.setText(image.getObservation().getFamille());
localite.setText(image.getObservation().getLocalite());
 
}
 
@Override
134,5 → 130,9
public HasClickHandlers getNomEspece() {
return nomEspece;
}
public HasWidgets getMetadonnees() {
return metadonnees;
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java
3,6 → 3,8
import java.util.List;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesPresenteur;
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesVue;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.modeles.VoteDetermination;
45,6 → 47,8
public VerticalPanel getBarreRepartition();
 
public Button getBoutonAjoutProposition();
public HasWidgets getMetadonnees();
}
 
private Vue vue;
58,8 → 62,7
public void go(HasWidgets composite) {
 
if (CacheClient.getInstance().getImageCourante() != null) {
// new DetailImageObservationPresenteur(new
// DetailImageObservationVue()).go(vue.getDetailImageObservation());
new MetadonneesPresenteur(new MetadonneesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getMetadonnees());
new ObservationImagesPresenteur(new ObservationImagesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getDetailImageObservation());
new EnsembleVotesPresenteur(new EnsembleVotesVue()).go(vue.getVote());
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationVue.java
5,6 → 5,7
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
 
12,8 → 13,12
 
@UiField
VerticalPanel forum, detailImageObservation, formulaireRechercheEflore, vote, barreRepartition;
@UiField
Button boutonAjoutProposition;
@UiField
Panel metadonnees;
 
interface DeterminationUIiBinder extends UiBinder<Widget, DeterminationVue> {
};
47,4 → 52,8
public Button getBoutonAjoutProposition() {
return boutonAjoutProposition;
}
public Panel getMetadonnees() {
return metadonnees;
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationVue.ui.xml
12,6 → 12,7
<g:VerticalPanel ui:field="formulaireRechercheEflore"/>
</g:VerticalPanel>
<g:VerticalPanel styleName="{style.zoneVote}">
<g:HTMLPanel ui:field="metadonnees"/>
<g:VerticalPanel ui:field="vote" />
<g:VerticalPanel ui:field="barreRepartition" styleName="{style.zoneBarreRepartition} repartitionVoteTaxonPopulaire"/>
<g:HTML><br /></g:HTML>
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/ObservationVue.ui.xml
8,6 → 8,7
<ui:style src="observation.css" />
<g:HorizontalPanel>
<g:HTMLPanel ui:field="metadonnees" styleName="{style.metadonnees}"/>
<g:HTMLPanel ui:field="imagesPanel" />
<g:HTMLPanel>
<g:Label ui:field="lienDeterminer" styleName="lien {style.lienDetermination}"
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/ObservationPresenteur.java
3,6 → 3,8
import java.util.List;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesPresenteur;
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesVue;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.Observation;
28,6 → 30,8
public HasWidgets getDeterminationsPanel();
 
public HasWidgets getImagesPanel();
public HasWidgets getMetadonneesPanel();
}
 
private Vue vue;
43,6 → 47,7
public void chargerObservation() {
 
new ObservationImagesPresenteur(new ObservationImagesVue(), observation).go(vue.getImagesPanel());
new MetadonneesPresenteur(new MetadonneesVue(), observation).go(vue.getMetadonneesPanel());
new ObservationDeterminationPresenteur(new ObservationDeterminationVue(), observation.getPropositionsDetermination()).go(vue.getDeterminationsPanel());
 
gererEvenements();
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/ObservationVue.java
24,7 → 24,7
protected Panel determinationsPanel;
 
@UiField
protected Panel imagesPanel;
protected Panel imagesPanel, metadonnees;
 
public ObservationVue() {
initWidget(binder.createAndBindUi(this));
46,4 → 46,8
public Panel getImagesPanel() {
return imagesPanel;
}
public Panel getMetadonneesPanel() {
return metadonnees;
}
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/observationimages/ObservationImagesVue.ui.xml
5,20 → 5,8
<ui:with field='res' type='org.tela_botanica.del.client.Ressources' />
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
 
 
 
<g:HTMLPanel>
<g:VerticalPanel>
<g:Image ui:field="photoPrincipale" />
<g:Label ui:field="nomRetenu" styleName="sousTitre" />
<g:Label ui:field="famille" />
<g:Label ui:field="auteur" />
<g:Label ui:field="date" />
<g:Label ui:field="localite" />
<g:Label ui:field="motsClefs" />
<g:Label ui:field="numNomenclatural" />
</g:VerticalPanel>
 
<g:Image ui:field="photoPrincipale" />
<g:HTMLPanel ui:field="photos"></g:HTMLPanel>
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/observationimages/ObservationImagesVue.java
29,8 → 29,6
@UiField
protected Panel photos;
 
@UiField
protected Label auteur, date, famille, localite, motsClefs, nomRetenu, numNomenclatural;
 
public ObservationImagesVue() {
initWidget(binder.createAndBindUi(this));
53,7 → 51,7
}
 
public void chargerInformationsObservation(Observation observation) {
auteur.setText(observation.getAuteur());
/*auteur.setText(observation.getAuteur());
nomRetenu.setText(observation.getNomRetenu());
famille.setText(observation.getFamille());
localite.setText(observation.getLocalite());
70,7 → 68,7
}
}
motsClefs.setText(motsClesChaine);
numNomenclatural.setText(observation.getNumNomenclatural());
numNomenclatural.setText(observation.getNumNomenclatural());*/
}
 
public void setUrlImagePrincipale(String url) {
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/observation.css
5,4 → 5,5
.photos img {float:left; padding:2px; -moz-box-shadow:2px 2px 2px #DDD; cursor:pointer;}
.photoPrincipale {height:300px; float:left; padding:5px;margin-bottom:15px; cursor:pointer}
.lienDetermination {text-align:center; padding:5px}
.miniatures img {height:30px}
.miniatures img {height:30px}
.metadonnees {width:200px}
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/MetadonneesPresenteur.java
New file
0,0 → 1,60
package org.tela_botanica.del.client.composants.metadonnees;
 
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.Observation;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
public class MetadonneesPresenteur extends Presenteur{
 
public abstract interface Vue extends IsWidget {
public HasText getNomRetenu();
public HasText getNomCommun();
public HasText getFamille();
public HasText getLocalite();
public HasText getLieuDit();
public HasText getMilieu();
public HasText getCommentaire();
public HasText getAuteur();
public HasText getDate();
public HasText getMotsClefs();
public HasText getNumNomenclatural();
}
private Vue vue;
private Observation observation;
public MetadonneesPresenteur(Vue vue, Observation observation) {
this.vue = vue;
setObservation(observation);
}
public void setObservation(Observation observation) {
this.observation = observation;
}
public void chargerMetaDonnees() {
vue.getNomRetenu().setText(observation.getNomRetenu());
vue.getNomCommun().setText(observation.getNomCommun());
vue.getFamille().setText(observation.getFamille());
vue.getLocalite().setText(observation.getLocalite());
vue.getLieuDit().setText(observation.getLieuDit());
vue.getMilieu().setText(observation.getMilieu());
vue.getCommentaire().setText(observation.getCommentaire());
vue.getAuteur().setText(observation.getAuteur());
vue.getDate().setText(observation.getDate());
}
@Override
public void go(HasWidgets composite) {
composite.add(vue.asWidget());
chargerMetaDonnees();
}
 
@Override
protected void gererEvenements() {
// TODO Auto-generated method stub
}
}
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/MetadonneesVue.java
New file
0,0 → 1,69
package org.tela_botanica.del.client.composants.metadonnees;
 
import org.tela_botanica.del.client.vues.rechercheobservations.observationdeterminations.ObservationDeterminationVue;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
 
public class MetadonneesVue extends Composite implements MetadonneesPresenteur.Vue {
// Gestion d'UiBinder
interface Binder extends UiBinder<Widget, MetadonneesVue> {
}
private static Binder binder = GWT.create(Binder.class);
@UiField Label nomRetenu, famille, auteur, date, localite, motsClefs, numNomenclatural, nomCommun, lieuDit, commentaire, milieu;
 
public MetadonneesVue() {
initWidget(binder.createAndBindUi(this));
}
public HasText getNomRetenu() {
return this.nomRetenu;
}
public HasText getFamille() {
return this.famille;
}
public HasText getAuteur() {
return this.auteur;
}
public HasText getDate() {
return this.date;
}
public HasText getLocalite() {
return this.localite;
}
public HasText getMotsClefs() {
return this.motsClefs;
}
public HasText getNumNomenclatural() {
return this.numNomenclatural;
}
 
public HasText getNomCommun() {
return nomCommun;
}
 
public HasText getLieuDit() {
return lieuDit;
}
 
public HasText getMilieu() {
return milieu;
}
 
public HasText getCommentaire() {
return commentaire;
}
}
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/metadonnees.css
New file
0,0 → 1,0
.metadonnees {}
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/MetadonneesVue.ui.xml
New file
0,0 → 1,74
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui' ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator"
ui:generateLocales="default">
<ui:with field='res' type='org.tela_botanica.del.client.Ressources' />
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
 
<ui:style src="metadonnees.css" />
<g:HTMLPanel styleName="{style.metadonnees}">
<!-- Nom retenu -->
<g:HTMLPanel ui:field="zoneNomRetenu">
<g:Label styleName="petit gris" text="{constants.nomRetenu}"/>
<g:Label ui:field="nomRetenu" />
</g:HTMLPanel>
<!-- Nom commun -->
<g:HTMLPanel ui:field="zoneNomCommun">
<g:Label styleName="petit gris" text="{constants.nomCommun}"/>
<g:Label ui:field="nomCommun" />
</g:HTMLPanel>
<!-- Famille -->
<g:HTMLPanel ui:field="zoneFamille">
<g:Label styleName="petit gris" text="{constants.famille}"/>
<g:Label ui:field="famille" />
</g:HTMLPanel>
<!-- Lieu -->
<g:HTMLPanel ui:field="zoneLocalite">
<g:Label styleName="petit gris" text="{constants.localite}"/>
<g:Label ui:field="localite" />
</g:HTMLPanel>
<!-- Lieu-dit -->
<g:HTMLPanel ui:field="zoneLieuDit">
<g:Label styleName="petit gris" text="{constants.lieuDit}"/>
<g:Label ui:field="lieuDit" />
</g:HTMLPanel>
<!-- Milieu -->
<g:HTMLPanel ui:field="zoneMilieu">
<g:Label styleName="petit gris" text="{constants.milieu}"/>
<g:Label ui:field="milieu" />
</g:HTMLPanel>
<!-- Commentaire -->
<g:HTMLPanel ui:field="zoneCommentaire">
<g:Label styleName="petit gris" text="{constants.commentaire}"/>
<g:Label ui:field="commentaire" />
</g:HTMLPanel>
<!-- Date du relevé -->
<!-- Publié par -->
<g:HTMLPanel ui:field="zoneAuteur">
<g:Label styleName="petit gris" text="{constants.auteur}"/>
<g:Label ui:field="auteur" />
</g:HTMLPanel>
<!-- Date de transmission -->
<g:HTMLPanel ui:field="zoneDate">
<g:Label styleName="petit gris" text="{constants.dateObservation}"/>
<g:Label ui:field="date" />
</g:HTMLPanel>
<!-- Mots-clés/Tag -->
<g:HTMLPanel ui:field="zoneMotsClefs">
<g:Label styleName="petit gris" text="{constants.motsClefs}"/>
<g:Label ui:field="motsClefs" />
</g:HTMLPanel>
<g:Label ui:field="numNomenclatural" />
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/modeles/ImageServiceResultat.java
47,6 → 47,8
observation.setId(observationJson.get("id_observation").isString().stringValue());
observation.setLocalite(observationJson.get("ce_zone_geo").isString().stringValue());
observation.setNomRetenu(observationJson.get("nom_ret").isString().stringValue());
observation.setMilieu(observationJson.get("milieu").isString().stringValue());
observation.setLieuDit(observationJson.get("lieudit").isString().stringValue());
observation.setNumNomenclatural(observationJson.get("nom_ret_nn").isString().stringValue());
observation.setMotsClefs(parserMotsCles(observationJson.get("mots_cles_texte").isString().stringValue()));
/trunk/src/org/tela_botanica/del/client/modeles/Observation.java
7,7 → 7,7
public class Observation implements Serializable {
 
private static final long serialVersionUID = 840032625524143547L;
private String id, auteur, species, nomRetenu, famille, localite, date, numNomenclatural;
private String id, auteur, species, nomRetenu, famille, localite, date, numNomenclatural, nomCommun, lieuDit, milieu, commentaire;
 
private List<String> motsClefs = new ArrayList<String>();
private List<PropositionDetermination> propositionsDetermination = new ArrayList<PropositionDetermination>();
29,6 → 29,38
this.nomRetenu = commonName;
}
 
public String getNomCommun() {
return nomCommun;
}
public void setNomCommun(String nomCommun) {
this.nomCommun = nomCommun;
}
public String getLieuDit() {
return this.lieuDit;
}
public void setLieuDit(String lieuDit) {
this.lieuDit = lieuDit;
}
public String getMilieu() {
return milieu;
}
public void setMilieu(String milieu) {
this.milieu = milieu;
}
public String getCommentaire() {
return commentaire;
}
public void setCommentaire(String commentaire) {
this.commentaire = commentaire;
}
public String getFamille() {
return famille;
}
76,6 → 108,13
public void setMotsClefs(List<String> motsClefs) {
this.motsClefs = motsClefs;
}
public void ajouterMotsClef(String motsClefs) {
if (this.motsClefs == null) {
this.motsClefs = new ArrayList<String>();
}
this.motsClefs.add(motsClefs);
}
 
public void addImageCelValidationData(PropositionDetermination observationValidation) {
propositionsDetermination.add(observationValidation);
/trunk/src/org/tela_botanica/del/client/modeles/ObservationServiceResultat.java
35,7 → 35,11
observation.setFamille(observationJson.get("famille").isString().stringValue());
observation.setId(observationJson.get("id_observation").isString().stringValue());
observation.setLocalite(observationJson.get("ce_zone_geo").isString().stringValue());
observation.setLieuDit(observationJson.get("lieudit").isString().stringValue());
observation.setMilieu(observationJson.get("milieu").isString().stringValue());
observation.setNomRetenu(observationJson.get("nom_ret").isString().stringValue());
observation.setCommentaire(observationJson.get("commentaire").isString().stringValue());
observation.ajouterMotsClef(observationJson.get("mots_cles_texte").isString().stringValue());
observation.setNumNomenclatural(observationJson.get("nom_ret_nn").isString().stringValue());
observation.setMotsClefs(parserMotsCles(observationJson.get("mots_cles_texte").isString().stringValue()));