Rev |
Age |
Author |
Path |
Log message |
Diff |
1117 |
3691 d 11 h |
mathias |
/branches/v5.9-aulnaie/ |
Création branche v5.9-aulnaie |
|
1111 |
3716 d 6 h |
mathias |
/trunk/services/ |
Chorodep : ajout du service "infos-espece" qui retourne les mêmes infos que celui de gentiana-services (nom_sci, num_nom, num_tax, noms vernaculaires français, statuts de protection, nombre de départements où l'espèce est présente)
Bricolage de sptb
La classe parente des services (Commun) avait un constructeur foutu à l'envers - ajout de la méthode init() bien pratique |
|
1103 |
3730 d 12 h |
mathias |
/trunk/services/ |
Ajout d'un service Noms à chorodep |
|
961 |
4031 d 4 h |
raphael |
/trunk/services/ |
cartes: fixes temporaires (anti-notices) en attendant la story sur l'uniformisation du caractères de séparation des "compléments" dans les ontologies |
|
952 |
4034 d 6 h |
raphael |
/trunk/services/modules/0.1/ |
tests: quelques bugfixes cf php bug #42197 |
|
951 |
4034 d 7 h |
raphael |
/trunk/services/modules/0.1/ |
ontologies: mutualisation de la fonction éclatant des valeurs multiples de "complements", basé sur le séparateur "," |
|
946 |
4034 d 10 h |
raphael |
/trunk/services/ |
tests: retour plus adéquat en cas d'absence de la version de la table de projet demandée et correction des tests en conséquence |
|
941 |
4039 d 6 h |
aurelien |
/trunk/services/modules/0.1/ |
Ajout d'un paramètre référentiel à la méthode de récupération des taxons parents (au lieu de l'extraire de la config) |
|
940 |
4039 d 6 h |
aurelien |
/trunk/services/ |
Ajout ébauche service liste rouge + factorisation de la methode de récupération de hierarchie des taxons dans commun.php |
|
937 |
4040 d 9 h |
raphael |
/trunk/services/modules/0.1/ |
tentative interrompue, de créer une alternative à CommunNomsTaxons pour:
- en faire un *toolkit* *véritablement* réutilisable (cf classes éponymes dans bdtfx et isfan)
- faire remonter les boucles effectuant des requêtes MySQL des niveaux d'imbrications les plus
enfouis vers les niveaux supérieurs où ils pourraient potentiellement être factorisés.
NB: une réécriture totale s'avèrerait finalement de loin la meilleure option mais du code réutilisable
passe par la statification des functions/outils présentes dans Commun qui ne dépendent en aucun cas
(ou presque) de l'instanciation d'une classe. |
|
899 |
4062 d 11 h |
raphael |
/trunk/services/modules/0.1/commun/ |
api/aide: correction de "service.wikini" (suppression du "." dans le nom de page)
afin de pointer vers une page wikini valide. |
|
847 |
4086 d 8 h |
aurelien |
/trunk/services/modules/0.1/commun/ |
Correction des noms trop longs par troncage (temporaire normalement) |
|
837 |
4087 d 5 h |
raphael |
/trunk/services/modules/0.1/commun/ |
meta-données: ajout d'un cache pour les ontologies redondantes |
|
830 |
4088 d 9 h |
raphael |
/trunk/services/modules/0.1/commun/ |
aide: en cas d'erreur, ne pas générer d'E_NOTICE de variable non-existente ce qui ne pourrait qu'amplifier le problème |
|
807 |
4093 d 7 h |
raphael |
/trunk/services/modules/0.1/ |
chorodep|bdtxa/cartes: factorisation du code de génération du fichier de carte PNG, dans Commun |
|
801 |
4094 d 8 h |
raphael |
/trunk/services/ |
cache: fix de l'obtention de la durée du cache auprès de Commun |
|
768 |
4117 d 8 h |
raphael |
/trunk/services/modules/0.1/ |
ontologies/sptb: correction de notices + traçage des requête mysql + compat PHP-5.2 |
|
767 |
4117 d 11 h |
raphael |
/trunk/services/modules/0.1/ |
services: ajout de debug aux requêtes SQL + correction d'un masque pour le service de noms bdtxa |
|
758 |
4125 d 5 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 |
|
733 |
4149 d 8 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. |
|