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. |
*/ |