Subversion Repositories eFlore/Projets.eflore-projets

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
1300 1582 d 5 h delphine /trunk/services/ fusion : modif sur le serveur de prod + maj carte new bd cel  
1281 1854 d 4 h killian /trunk/services/modules/0.1/commun/ Fix string to array conversion  
1111 3714 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 3728 d 12 h mathias /trunk/services/ Ajout d'un service Noms à chorodep  
961 4029 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 4032 d 6 h raphael /trunk/services/modules/0.1/ tests: quelques bugfixes cf php bug #42197  
951 4032 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 4032 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 4037 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 4037 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 4038 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 4060 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 4084 d 8 h aurelien /trunk/services/modules/0.1/commun/ Correction des noms trop longs par troncage (temporaire normalement)  
837 4085 d 5 h raphael /trunk/services/modules/0.1/commun/ meta-données: ajout d'un cache pour les ontologies redondantes  
830 4086 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 4091 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 4092 d 8 h raphael /trunk/services/ cache: fix de l'obtention de la durée du cache auprès de Commun  
768 4115 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 4115 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 4123 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 4147 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.
 
732 4147 d 9 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.
 
654 4239 d 4 h jpm /trunk/services/modules/0.1/commun/ Mise en formet et commentaires.  
609 4459 d 11 h mathilde /trunk/services/modules/0.1/commun/ correction commentaire  
597 4472 d 11 h mathilde /trunk/services/modules/0.1/commun/  
593 4478 d 8 h mathilde /trunk/services/modules/0.1/commun/ ajout de nouvelles valeurs possibles pour navigation.limite  
563 4505 d 7 h aurelien /trunk/services/modules/0.1/ correction d'un constructeur appelé sans paramètres qui causait une erreur  
536 4521 d 9 h gduche /trunk/services/ cache des webservices  
535 4522 d 7 h mathilde /trunk/services/modules/0.1/commun/  
457 4560 d 6 h mathilde /trunk/services/modules/0.1/commun/  
291 4662 d 7 h aurelien /trunk/services/modules/0.1/commun/ Remplacement d'un égal par un in dans une sous requete qui peut parfois rendre plusieurs valeurs  
278 4667 d 4 h jpm /trunk/services/modules/0.1/commun/ Correction service meta-donnes couverture temporelle start et end.  
265 4673 d 10 h jpm /trunk/services/ Suppression du projet commun remplacé par eFLore.  
239 4683 d 8 h delphine /trunk/services/modules/0.1/commun/ debug de version.projet et retour.langue  
236 4686 d 6 h delphine /trunk/services/ debuggage pour que les services fonctionnent avec la classe Projets  
151 4731 d 5 h delphine /trunk/services/modules/0.1/commun/ suppression du _v dans la version  
92 4746 d 5 h jpm /trunk/services/modules/0.1/commun/ Correction de la gestion des versions de projet demandées.  
88 4746 d 7 h delphine /trunk/services/modules/0.1/commun/ traiter version projet envoie de la version dans les url  
81 4749 d 5 h delphine /trunk/services/modules/0.1/ traiter version projet envoie de la version dans les url  
8 4756 d 12 h jpm /trunk/services/modules/0.1/commun/ Utilisation des paramètres GET bruts.