Subversion Repositories eFlore/Projets.eflore-projets

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
766 3966 d 3 h raphael /trunk/services/modules/0.1/baseveg/syntaxons/ syntaxon: fix d'une notice, Commun->traiterResultat() attend 2 arguments  
/trunk/services/modules/0.1/baseveg/syntaxons/SyntaxonsCode.php
765 3966 d 3 h raphael /trunk/services/modules/0.1/ ontologies: follow-up r759 et r762: utilisation de Bdd::MODE_OBJET pour le fetch PDO [dépend de la r429 du Framework]  
/trunk/services/modules/0.1/baseflor/InformationsTaxonsSup.php
/trunk/services/modules/0.1/bdtfx/CommunNomsTaxons.php
764 3966 d 4 h raphael /trunk/services/modules/0.1/baseflor/ ontologies: suppression de l'appel au webservice des ontologies baseflor (InformationsBaseflor) par une requête SQL directe hyper-simplifiée [dépend de la r429 du Framework]  
/trunk/services/modules/0.1/baseflor/InformationsBaseflor.php
763 3966 d 4 h raphael /trunk/services/modules/0.1/baseflor/ ontologies: suppression de l'appel au webservice des ontologies baseflor (CommunGraphiques) par une requête SQL directe hyper-simplifiée [dépend de la r429 du Framework]  
/trunk/services/modules/0.1/baseflor/CommunGraphiques.php
762 3966 d 5 h raphael /trunk/services/modules/0.1/baseflor/ ontologies: suppression de l'appel au webservice des ontologies baseflor (InformationsTaxonsSup) par une requête SQL directe hyper-simplifiée  
/trunk/services/modules/0.1/baseflor/InformationsTaxonsSup.php
761 3966 d 6 h raphael /trunk/services/modules/0.1/baseflor/ baseflor: gestion d'erreur: reformulations/typo mineures  
/trunk/services/modules/0.1/baseflor/Informations.php
/trunk/services/modules/0.1/baseflor/InformationsBaseflor.php
/trunk/services/modules/0.1/baseflor/InformationsTaxonsSup.php
759 3966 d 21 h raphael /trunk/services/modules/0.1/bdtfx/ ontologies: suppression de l'appel au webservice des ontologies "communes" par une requête SQL directe hyper-simplifiée  
/trunk/services/modules/0.1/bdtfx/CommunNomsTaxons.php
758 3967 d 21 h raphael /trunk/services/modules/0.1/commun/ ontologies communes: correction de 2 notices PHP dans le cas de l'absence de passage de
masque et de retour_champs.
Ex: /service:eflore:0.1/bdnt/ontologies/rangTaxo:220/nom
 
/trunk/services/modules/0.1/commun/Ontologies.php
751 3973 d 4 h alex /trunk/services/modules/0.1/moissonnage/cartes/ Correction bug sur requete SQL  
/trunk/services/modules/0.1/moissonnage/cartes/SourceDonnees.php
750 3973 d 4 h alex /trunk/services/modules/0.1/moissonnage/cartes/  
/trunk/services/modules/0.1/moissonnage/cartes/SourceDonnees.php
747 3973 d 5 h alex /trunk/services/modules/0.1/moissonnage/ Mise à jour du web service de moissonnage generant les cartes SVG de repartition des observations pour e-Flore.
Ajout de commentaires dans les classes
 
/trunk/services/modules/0.1/moissonnage/cartes/DonneesFloradata.php
/trunk/services/modules/0.1/moissonnage/cartes/DonneesMoissonnage.php
/trunk/services/modules/0.1/moissonnage/Cartes.php
/trunk/services/modules/0.1/moissonnage/cartes/FormateurSVG.php
/trunk/services/modules/0.1/moissonnage/cartes/LegendeCartes.php
/trunk/services/modules/0.1/moissonnage/cartes/SourceDonnees.php
743 3973 d 23 h alex /trunk/services/modules/0.1/nasa-srtm/ Mise à jour de la classe altitude : correction des paramètres acceptés par le web service et ajout d'un cartouche de commentaire en début de code.  
/trunk/services/modules/0.1/nasa-srtm/Altitude.php
742 3973 d 23 h alex /trunk/services/modules/0.1/ Renommage service altitude. Le nouveau nom du web service est maintenant nasa-srtm (pour être plus en adéquation avec les ressources utilisées que sont les fichiers HGT du modèle SRTM de la NASA)  
/trunk/services/modules/0.1/nasa-srtm
/trunk/services/modules/0.1/altitude
740 3977 d 23 h raphael /trunk/services/modules/0.1/bdtfx/ service noms: debug ajout de __FILE__ comme commentaire suffixé aux requêtes
afin de faciliter l'identification des appels en cas d'activation du general_log MySQL.
 
/trunk/services/modules/0.1/bdtfx/CommunNomsTaxons.php
/trunk/services/modules/0.1/bdtfx/Noms.php
/trunk/services/modules/0.1/bdtfx/Taxons.php
736 3980 d 5 h alex /trunk/services/ Ajout d'un nouveau web service altitude qui calcule l'altitude pour un point dont on passe les coordonnees longitude/latitude dans les parametres de l'URL.
Dans le dossier présentations, ajout d'un dossier SRTM contenant les fichiers MNT par secteurs de 1*1 degré, décrivant l'altitude d'échantillons de points situés tous les 90 m
 
/trunk/services/configurations/config_altitude.ini
/trunk/services/modules/0.1/altitude
/trunk/services/modules/0.1/altitude/Altitude.php
/trunk/services/presentations/srtm
/trunk/services/presentations/srtm/N14W061.hgt.zip
/trunk/services/presentations/srtm/N14W062.hgt.zip
/trunk/services/presentations/srtm/N15W062.hgt.zip
/trunk/services/presentations/srtm/N15W064.hgt.zip
/trunk/services/presentations/srtm/N16W062.hgt.zip
/trunk/services/presentations/srtm/N16W063.hgt.zip
/trunk/services/presentations/srtm/N18W064.hgt.zip
/trunk/services/presentations/srtm/N41E008.hgt.zip
/trunk/services/presentations/srtm/N41E009.hgt.zip
/trunk/services/presentations/srtm/N42E000.hgt.zip
/trunk/services/presentations/srtm/N42E001.hgt.zip
/trunk/services/presentations/srtm/N42E002.hgt.zip
/trunk/services/presentations/srtm/N42E003.hgt.zip
/trunk/services/presentations/srtm/N42E006.hgt.zip
/trunk/services/presentations/srtm/N42E008.hgt.zip
/trunk/services/presentations/srtm/N42E009.hgt.zip
/trunk/services/presentations/srtm/N42W001.hgt.zip
/trunk/services/presentations/srtm/N43E000.hgt.zip
/trunk/services/presentations/srtm/N43E001.hgt.zip
/trunk/services/presentations/srtm/N43E002.hgt.zip
/trunk/services/presentations/srtm/N43E003.hgt.zip
/trunk/services/presentations/srtm/N43E004.hgt.zip
/trunk/services/presentations/srtm/N43E005.hgt.zip
/trunk/services/presentations/srtm/N43E006.hgt.zip
/trunk/services/presentations/srtm/N43E007.hgt.zip
/trunk/services/presentations/srtm/N43E009.hgt.zip
/trunk/services/presentations/srtm/N43W001.hgt.zip
/trunk/services/presentations/srtm/N43W002.hgt.zip
/trunk/services/presentations/srtm/N44E000.hgt.zip
/trunk/services/presentations/srtm/N44E001.hgt.zip
/trunk/services/presentations/srtm/N44E002.hgt.zip
/trunk/services/presentations/srtm/N44E003.hgt.zip
/trunk/services/presentations/srtm/N44E004.hgt.zip
/trunk/services/presentations/srtm/N44E005.hgt.zip
/trunk/services/presentations/srtm/N44E006.hgt.zip
/trunk/services/presentations/srtm/N44E007.hgt.zip
/trunk/services/presentations/srtm/N44W001.hgt.zip
/trunk/services/presentations/srtm/N44W002.hgt.zip
/trunk/services/presentations/srtm/N45E000.hgt.zip
/trunk/services/presentations/srtm/N45E001.hgt.zip
/trunk/services/presentations/srtm/N45E002.hgt.zip
/trunk/services/presentations/srtm/N45E003.hgt.zip
/trunk/services/presentations/srtm/N45E004.hgt.zip
/trunk/services/presentations/srtm/N45E005.hgt.zip
/trunk/services/presentations/srtm/N45E006.hgt.zip
/trunk/services/presentations/srtm/N45E007.hgt.zip
/trunk/services/presentations/srtm/N45W001.hgt.zip
/trunk/services/presentations/srtm/N45W002.hgt.zip
/trunk/services/presentations/srtm/N46E000.hgt.zip
/trunk/services/presentations/srtm/N46E001.hgt.zip
/trunk/services/presentations/srtm/N46E002.hgt.zip
/trunk/services/presentations/srtm/N46E003.hgt.zip
/trunk/services/presentations/srtm/N46E004.hgt.zip
/trunk/services/presentations/srtm/N46E005.hgt.zip
/trunk/services/presentations/srtm/N46E006.hgt.zip
/trunk/services/presentations/srtm/N46E007.hgt.zip
/trunk/services/presentations/srtm/N46W001.hgt.zip
/trunk/services/presentations/srtm/N46W002.hgt.zip
/trunk/services/presentations/srtm/N46W003.hgt.zip
/trunk/services/presentations/srtm/N47E000.hgt.zip
/trunk/services/presentations/srtm/N47E001.hgt.zip
/trunk/services/presentations/srtm/N47E002.hgt.zip
/trunk/services/presentations/srtm/N47E003.hgt.zip
/trunk/services/presentations/srtm/N47E004.hgt.zip
/trunk/services/presentations/srtm/N47E005.hgt.zip
/trunk/services/presentations/srtm/N47E006.hgt.zip
/trunk/services/presentations/srtm/N47E007.hgt.zip
/trunk/services/presentations/srtm/N47W001.hgt.zip
/trunk/services/presentations/srtm/N47W002.hgt.zip
/trunk/services/presentations/srtm/N47W003.hgt.zip
/trunk/services/presentations/srtm/N47W004.hgt.zip
/trunk/services/presentations/srtm/N47W005.hgt.zip
/trunk/services/presentations/srtm/N48E000.hgt.zip
/trunk/services/presentations/srtm/N48E001.hgt.zip
/trunk/services/presentations/srtm/N48E002.hgt.zip
/trunk/services/presentations/srtm/N48E003.hgt.zip
/trunk/services/presentations/srtm/N48E004.hgt.zip
/trunk/services/presentations/srtm/N48E005.hgt.zip
/trunk/services/presentations/srtm/N48E006.hgt.zip
/trunk/services/presentations/srtm/N48E007.hgt.zip
/trunk/services/presentations/srtm/N48E008.hgt.zip
/trunk/services/presentations/srtm/N48W001.hgt.zip
/trunk/services/presentations/srtm/N48W002.hgt.zip
/trunk/services/presentations/srtm/N48W003.hgt.zip
/trunk/services/presentations/srtm/N48W004.hgt.zip
/trunk/services/presentations/srtm/N48W005.hgt.zip
/trunk/services/presentations/srtm/N48W006.hgt.zip
/trunk/services/presentations/srtm/N49E000.hgt.zip
/trunk/services/presentations/srtm/N49E001.hgt.zip
/trunk/services/presentations/srtm/N49E002.hgt.zip
/trunk/services/presentations/srtm/N49E003.hgt.zip
/trunk/services/presentations/srtm/N49E004.hgt.zip
/trunk/services/presentations/srtm/N49E005.hgt.zip
/trunk/services/presentations/srtm/N49E006.hgt.zip
/trunk/services/presentations/srtm/N49E007.hgt.zip
/trunk/services/presentations/srtm/N49E008.hgt.zip
/trunk/services/presentations/srtm/N49W001.hgt.zip
/trunk/services/presentations/srtm/N49W002.hgt.zip
/trunk/services/presentations/srtm/N50E000.hgt.zip
/trunk/services/presentations/srtm/N50E001.hgt.zip
/trunk/services/presentations/srtm/N50E002.hgt.zip
/trunk/services/presentations/srtm/N50E003.hgt.zip
/trunk/services/presentations/srtm/N50E004.hgt.zip
/trunk/services/presentations/srtm/N51E001.hgt.zip
/trunk/services/presentations/srtm/N51E002.hgt.zip
/trunk/services/presentations/srtm/S21E055.hgt.zip
/trunk/services/presentations/srtm/S22E055.hgt.zip
/trunk/services/configurations/config.defaut.ini
735 3987 d 3 h alex /trunk/services/modules/0.1/moissonnage/cartes/ Correction bug sur les requêtes de récupération des stations pour un genre donné  
/trunk/services/modules/0.1/moissonnage/cartes/DonneesFloradata.php
/trunk/services/modules/0.1/moissonnage/cartes/DonneesMoissonnage.php
734 3992 d 0 h raphael /trunk/services/modules/0.1/nvjfl/ nom-vernaculaires: support de requêtes multi-critères pour NVJFL, côté client: ACTIVATION
Ce commit active la recherche d'ontologie par multi-critères
pour le web-service de nom vernaculaire JFL.
Un define(), nécessaire mais malheureusement précédemment omis, a été rajouté.
 
/trunk/services/modules/0.1/nvjfl/NomsVernaculaires.php
733 3992 d 0 h raphael /trunk/services/modules/0.1/commun/ ontologies: support de requêtes multi-critères pour les ontologies (partie 2/2).
Lorsque des ontologies sont demandées, celles-ci peuvent désormais être regroupées
au sein d'une même requête.
La modification, portée à Commun/Ontologie.php affecte donc les web-services n'ayant *pas*
redéfini leur classe d'accès aux ontologies, c'est à dire (au 28/06/2013):
* nvjfl
* bdnt

Exemple:
Avant, 3 requêtes:
/service:eflore:0.1/nvjfl/ontologies/numStatut:1
/service:eflore:0.1/nvjfl/ontologies/numStatut:2
/service:eflore:0.1/nvjfl/ontologies/genreNombre:10

Après, 1 requête:
/service:eflore:0.1/nvjfl/ontologies/numStatus:1,numStatus:2,genreNombre:10

Dans le seul cas d'une requête multi-critères le format de retour du web-service
a été modifié: Un ensemble de clef-valeurs est retourné dans lequel chaque clef
représente le nom d'un des critères demandés.
Si un critère ne correspond à rien dans la BDD, celui-ci est absent de l'ensemble retourné.


$ ddiff \
<(GET "http://eflore/$i"|json_pp) \
<(GET "http://www.tela-botanica.org/$i"|json_pp)

# service:eflore:0.1/nvjfl/noms-vernaculaires/attributions?masque.nt=1382&masque.lg=fra&retour.champs=conseil_emploi
# 2 appels d'ontologies nvjfl, résultat identique

# service:eflore:0.1/bdtxa/taxons/13517/relations/inferieurs
# 1 appel d'ontologie bdnt/nom, résultat identique

$ diff \
<(GET http://eflore/service:eflore:0.1/bdnt/ontologies/rangTaxo:70|json_pp) \
<(GET http://eflore/service:eflore:0.1/bdnt/ontologies/rangTaxo:70,rangTaxo:-1|json_pp) \
|grep -v rangTaxo:70
# même résultat (-1 n'existe pas)

Le comparatif suivant provient de l'étude de la requête suivante,
représentative d'une recherche de nom commun (cf: Cel/export XLS):
"/service:eflore:0.1/nvjfl/noms-vernaculaires/attributions?masque.nt=1382&masque.lg=fra&retour.champs=conseil_emploi"

Avant Après
Requêtes HTTP 3 2
Connexions SQL 4 3
SELECT 15 10
Temps sur 300 (*) 1m36 1m30

(*) $ time \
mysql -N tb_eflore<<<"SELECT num_taxonomique FROM bdtfx_v1_01 WHERE num_nom = num_nom_retenu ORDER BY ORD(SUBSTRING(nom_sci, 4, 1)) LIMIT 300;" | \
xargs -i -t -n 1 curl -so /dev/null "http://eflore/service:eflore:0.1/nvjfl/noms-vernaculaires/attributions?masque.nt={}&masque.lg=fra&retour.champs=conseil_emploi";

Le faible différentiel de temps observable s'explique partiellement par le fait que toutes les recherches de nom vernaculaire
n'aboutissent pas systématiquement à l'émission de plusieurs requêtes d'ontologie.
Le différentiel n'en reste pas moins décevant.
 
/trunk/services/modules/0.1/commun/Ontologies.php
732 3992 d 1 h raphael /trunk/services/modules/0.1/commun/ ontologies communes: fix cosmétiques.
1° usage du paramètre retour.champs qui n'était pas utilisé jusqu'ici et n'aurait
pas pu être utilisé dans le cas d'un retour.format différent de "max".

2° ajout d'un commentaire relatif aux SELECT imbriqués actuellement utilisés et
auxquel une série de JOIN serait à préférer.

3° clarification de formaterOntologiesId()

4° réécriture et renommage afficherDonnees() en calculerClassID().
Une variable est passée par référence en paramètre de la fonction et
les conditions imbriquées sont remplacées par des return rapides.
La gestion des champs demandés est améliorée.
 
/trunk/services/modules/0.1/commun/Ontologies.php
731 3992 d 20 h raphael /trunk/services/modules/0.1/nvjfl/ nom-vernaculaires: support de requêtes multi-critères pour NVJFL, côté client (partie 1).
Lorsque des données ontologiques propres à la base NVJFL sont nécessaires, celles-ci sont
chargée en une seule fois en tirant parti des requête ontologiques multi-critères.

ATTENTION: le code effectif est encore désactivé (par un if(FALSE...))
car le commit correspondant dans la classe d'ontologie NVJFL n'est pas encore présent.
(partie 2, cf: services/modules/0.1/commun/Ontologies.php)

Le fonctionnement est le suivant:
1) NvjflOntologieIndex()
Concaténer tous les critères nécessaires, exemple: numStatut:1,numStatut:2,...
et faire un lien entre d'une part
* un tableau temporaire associant requête et résultat
et d'autre part:
* le tableau général associant résultat existant [ champs standards ] et requête

2) NvjflOntologieExpand()
Obtenir une URL vers le web-service multi-critère, l'appeler et
enregistrer les résultats à la place qui leur est destinée dans le
tableau temporaire "requête -> résultat"
L'index spécial créé en 1), du tableau des résultats généraux est mis
à jour automatiquement puisqu'il s'agit d'une référence.

3) NvjflOntologieCombine()
Nettoyer les éléments de résultats pour et copier les valeurs demandée dans
un index correctement nommé (dépendant du web-service, et plus directement de
la variable $champ_infos).

Un modèle similaire pourrait être reproduit pour d'autre partie de code effectuant
des requêtes sans que des modification majeures du concept soient nécessaire.

Cependant une manière plus générale d'aborder la résolution consisterait à effectuer
l'indexation à partir des URL déjà générées plutôt que sur les éléments de tableau de
résultats, cependant le faible nombre de web-service supportant le multi-critère et la
diversité des schémas d'URL ne plaident pas en faveur d'une généralisation trop précoce.
 
/trunk/services/modules/0.1/nvjfl/NomsVernaculaires.php

Show All