Subversion Repositories Applications.referentiel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 393 → Rev 394

/branches/v2.0-betulales/scripts/modules/algolia/Algolia.php
125,10 → 125,6
// Exécution de la requête
$requete = file_get_contents($fichierRequete);
$resultat = $this->requete($requete);
/*while ($ligne = $resultat->fetch()) {
var_dump($ligne);
break;
}*/
$donneesBrutes[$ref] = $resultat->fetchAll();
 
// Info utilisation mémoire
143,7 → 139,7
 
// Mise en forme
$index = $this->mettreEnForme($index);
//$this->extrait($index, 3);
//$this->extrait($index, 100);
 
// Stats
$taille = count($index);
151,7 → 147,12
//file_put_contents("couscous.json", json_encode($index));
 
// Calcul des différences ?
// @TODO bonjour la galère
 
// Insertion ?
if (! $this->confirmer("Prêt à insérer dans l'index Algolia [" . Config::get('algolia_index') . "]. Continuer ?")) {
exit;
}
$this->insererDansAlgolia($index);
 
// Info utilisation mémoire totale
170,7 → 171,14
echo "-- fusion du référentiel [$ref] : $nbTaxons taxons --" . PHP_EOL;
 
$fusions = 0;
 
foreach ($d as $taxon) {
// debug
/*if ($taxon[$ref . '_num_nom'] == 141) {
echo "> Taxon 141 :" . PHP_EOL;
var_dump($taxon);
echo PHP_EOL;
}*/
$nomSci = $taxon[$ref . '_nom_sci'];
//$nn = $taxon[$ref . '_num_nom'];
// Ajout du nom d'auteur pour éviter les collisions dans un même référentiel
238,6 → 246,12
$nomCommun = (isset($taxon[$ref . '_nom_francais']) ? $taxon[$ref . '_nom_francais'] : '');
$url = $taxon[$ref . '_url'];
$synonymes = json_decode($taxon[$ref . '_synonymes'], true);
// debug synonymes tronqués (group_concat limité en longueur)
/*if ($nn == 141) {
echo ">> Synonymes bruts: [" . $taxon[$ref . '_synonymes'] . "]" . PHP_EOL;
echo ">> Synonymes décodés: [" . print_r($synonymes, true) . "]" . PHP_EOL;
exit;
}*/
$raccourcis = json_decode($taxon[$ref . '_shortcuts'], true);
$raccourcis = ($raccourcis != null ? array_values(array_unique($raccourcis)) : null); // array_values réindexe pour obtenir une liste en JSON et non un objet
// garniture
260,6 → 274,12
'cultivar' => $cultivar,
'cultivar_groupe' => $cultivar_groupe
);
// dans le cas de BDTFX, ajout de l'illustration de Coste et de
// la carte Chorodep pour illustrer les résultats de recherche
if ($ref == "bdtfx" && (Config::get("activer_image_coste") == "1")) {
$this->ajouterImagesCosteEtChorodep($nn, $donneesRef);
}
 
$nouveauTaxon[$ref] = $donneesRef;
$nouveauTaxon['shortcuts'] = $raccourcis;
}
269,6 → 289,36
}
 
/**
* Interroge le service eFlore pour récupérer l'illustration de Coste pour
* le nn en cours, et ajoute une URL pour obtenir la carte de répartition
* de Chorodep
*/
protected function ajouterImagesCosteEtChorodep($nn, &$donnees) {
// carte de répartition - le service renvoie directement une image
$donnees['thumbnails.chorodep'] = sprintf(Config::get('url_template_chorodep'), $nn);
// Coste
$urlServiceCoste = sprintf(Config::get('url_template_coste'), $nn);
$retour = @file_get_contents($urlServiceCoste);
if ($retour) {
try {
$infosCoste = json_decode($retour, true);
if (! empty($infosCoste['resultats']) && is_array($infosCoste['resultats'])) {
$res1 = array_shift($infosCoste['resultats']);
if (is_array($res1) && ! empty($res1['binaire.href'])) {
$donnees['thumbnails.coste'] = $res1['binaire.href'];
}
}
} catch (Exception $ex) {
// pas de bol
}
}
// debug
/*echo ">> nn : [$nn]" . PHP_EOL;
echo ">> image Coste : [" . $donnees['thumbnails.coste'] . "]" . PHP_EOL;
echo ">> carte Chorodep : [" . $donnees['thumbnails.chorodep'] . "]" . PHP_EOL;*/
}
 
/**
* Appelle l'API Algolia pour indexer les données présentes dans $index, par
* tranches.
*/
/branches/v2.0-betulales/scripts/modules/algolia/algolia.default.ini
7,6 → 7,13
; ATTENTION ! ne jamais la rendre publique
algolia_api_key = ""
; index à utiliser
algolia_index = "dev_Taxons"
algolia_index = "Flore_dev"
; référentiels à fusionner avant import / mise à jour
algolia_referentiels = "bdtxa,bdtfx,isfan,apd"
 
; schémas d'URL pour les images Coste et Chorodep ddestinées à illustrer les
; résultats des requêtes sur l'index des taxons
url_template_chorodep = "http://api.tela-botanica.org/service:eflore:0.1/chorodep/cartes/bdtfx.nn:%s?retour.format=100x100&retour=image/png"
url_template_coste = "http://api.tela-botanica.org/service:eflore:0.1/coste/images?masque.nn=%s"
; la récupération des URL des images de Coste est lente, on peut la désactiver (0)
activer_image_coste = "0"
/branches/v2.0-betulales
Property changes:
Modified: svn:mergeinfo
Merged /trunk:r392-393