Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1446 → Rev 1535

/tags/v1.1-helium/services/tests/0.1/ServiceDelPhpUnit.php
New file
0,0 → 1,166
<?php
/**
* Classe contenant des méthodes :
* - d'intialisation des tests,
* - refactorisant le code des tests,
* - facilitant les tests.
*
* @category php 5.4
* @package Tests/Services
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
* @author Raphaël Droz <raphael@tela-botanica.org>
* @copyright Copyright (c) 2011, 2013 Tela Botanica (accueil@tela-botanica.org)
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
*/
 
abstract class ServiceDelPhpUnit extends PHPUnit_Framework_TestCase {
 
/** Définir la valeur de cet attribut dans le constructeur de la classe de test.*/
protected $projet = '';
/** Définir la valeur de cet attribut dans le constructeur de la classe de test.*/
protected $service = '';
 
//+------------------------------------------------------------------------------------------------------+
// Intialisation
 
public static function setUpBeforeClass() {
error_reporting(E_ALL);
 
self::chargerFramework();
 
// Enregistrement en première position des autoload de la méthode gérant les classes des services
spl_autoload_register(array(get_class(), 'chargerClasseAuto'));
}
 
public static function chargerClasseAuto($classe) {
if (class_exists($classe)) {
return null;
}
$cheminBase = realpath(__DIR__.'/../../modules/0.1').'/';
$cheminsTests = __DIR__.'/';
$chemins = array($cheminBase, $cheminsTests);
foreach ($chemins as $chemin) {
$chemin = $chemin.$classe.'.php';
if (file_exists($chemin)) {
require_once $chemin;
}
}
}
 
private static function chargerFramework() {
$cheminRacine = realpath(dirname(__FILE__).'/../..').'/';
$framework = $cheminRacine.'framework.php';
if (!file_exists($framework)) {
$e = "Veuillez paramétrer l'emplacement et la version du Framework dans le fichier $framework";
trigger_error($e, E_USER_ERROR);
} else {
// Inclusion du Framework
require_once $framework;
 
// Ajout d'information concernant cette application
Framework::setCheminAppli($cheminRacine);// Obligatoire
}
}
 
//+------------------------------------------------------------------------------------------------------+
// Refactorisation
protected function consulterJson($ressources, $parametres) {
$retourJson = $this->consulterBrut($ressources, $parametres);
$retour = json_decode($retourJson, true);
$url = $this->creerUrl($ressources, $parametres);
$this->assertEquals(JSON_ERROR_NONE, json_last_error(), "Le json contient des erreurs qui bloquent le décodage. Voir : $url\n".print_r($retourJson, true));
return $retour;
}
 
public function consulterDirectJson($json, $url) {
$retour = json_decode($json, true);
$this->assertEquals(JSON_ERROR_NONE,
json_last_error(),
"Le json contient des erreurs qui bloquent le décodage. Voir : $url\n" .
print_r($json, true));
return $retour;
}
 
protected function consulterBrut($ressources, $parametres) {
array_unshift($ressources, $this->service);
array_unshift($ressources, $this->projet);
$projets = new Determinations();
$retourJson = $projets->consulter($ressources, $parametres);
return $retourJson;
}
 
 
protected function creerUrl($ressources, $parametres = []) {
$version = '';
$ressourcesUrl = array();
foreach ($ressources as $ressource) {
$ressourcesUrl[] = $ressource;
}
$ressourcesUrl = count($ressourcesUrl) > 0 ? '/'.implode('/', $ressourcesUrl) : '';
 
$parametresUrl = '';
if (count($parametres) > 0) {
foreach ($parametres as $cle => $valeur) {
$parametresUrl[] = $cle.'='.rawurlencode($valeur);
}
$parametresUrl = '?'.implode('&', $parametresUrl);
}
 
$url = Config::get('url_service').'/'.$version.$this->service.$ressourcesUrl.$parametresUrl;
return $url;
}
 
//+------------------------------------------------------------------------------------------------------+
// Méthodes facilitant les tests
 
/**
* Récupère un bouchon de classe abstraite.
* Comment l'utiliser :
* $classeAstraite = $this->getClasseAbstraite('MaClasse', array('param1', 'param2'));
* $foo = $classeAstraite->methodeConcretePublique();
*
* @param String $classeNom Le nom de la classe
* @param Array $parametres Les paramètres à passer au constructeur.
* @return Object Le bouchon de la classe abstraite
*/
public function getClasseAbstraite($classeNom, Array $parametres) {
$efloreScript = $this->getMockForAbstractClass($classeNom, $parametres);
return $efloreScript;
}
 
/**
* Récupère une méthode privée d'une classe pour tester/documenter.
* Comment l'utiliser :
* MyClass->foo():
* $cls = new MyClass();
* $foo = self::getPrivateMethode($cls, 'foo');
* $foo->invoke($cls, $...);
*
* @param object $objet Une instance de votre classe
* @param string $methode Le nom de la méthode private
* @return ReflectionMethod La méthode demandée
*/
public static function getMethodePrivee($objet, $nomMethode) {
$classe = new ReflectionClass($objet);
$methode = $classe->getMethod($nomMethode);
$methode->setAccessible(true);
return $methode;
}
 
/**
* Récupère une méthode protégée d'une classe pour tester/documenter.
* Comment l'utiliser :
* MyClass->foo():
* $cls = new MyClass();
* $foo = self::getProtectedMethode($cls, 'foo');
* $foo->invoke($cls, $...);
* @param object $objet Une instance de votre classe
* @param string $methode Le nom de la méthode protected
* @return ReflectionMethod La méthode demandée
*/
public static function getMethodeProtegee($objet, $nomMethode) {
return self::getMethodePrivee($objet, $nomMethode);
}
}
?>
/tags/v1.1-helium/services/tests/0.1/images/ImagesTest.php
New file
0,0 → 1,45
<?php
/*
* @author Grégoire DUCHE <gregoire@tela-botanica.org>
* @author Raphaël Droz <raphael@tela-botanica.org>
* @copyright Copyright (c) 2012, 2013 Tela Botanica (accueil@tela-botanica.org)
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
*
* Classe de test pour /del/services/0.1/images
*/
require_once dirname(__FILE__).'/../ServiceDelPhpUnit.php';
 
class ImagesTest extends ServiceDelPhpUnit {
 
const nbResultatsGregoire = 409;
public function testCoherenceResultat() {
$url = $this->creerUrl('images');
$i = new Images();
$retour = $this->consulterDirectJson($i->consulter([], []),
$url);
 
$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
$this->assertArrayHasKey('resultats', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
}
 
public function testNbObsEnFonctionDeLauteur() {
$parametres = ['masque.auteur' => 'gregoire'];
$url = $this->creerUrl('images', $parametres);
$i = new Images();
$retour = $this->consulterDirectJson($i->consulter([], $parametres),
$url);
$this->assertEquals(self::nbResultatsGregoire,
$retour['entete']['total'],
'Le total des observations de Grégoire n\'est pas égal à '.self::nbResultatsGregoire);
}
 
 
// del:services:0.1/images?navigation.depart=0&navigation.limite=12&tri=date_observation&ordre=asc
// doit avoir 12 éléments
}
?>
/tags/v1.1-helium/services/tests/0.1/observations/obs-1048532-complete.data.json
New file
0,0 → 1,0
{"id_observation":"1048532","date_observation":"2013-09-19 00:00:00","date_transmission":"2013-09-19 20:48:46","determination.famille":"Berberidaceae","determination.ns":"Mahonia aquifolium (Pursh) Nutt.","determination.nn":"40676","determination.nt":"1317","determination.referentiel":"bdtfx","observateur":"herve.goeau@inria.fr","id_zone_geo":"INSEE-C:","zone_geo":"Sainte-Genevi\u00e8ve-des-Bois","lieudit":"","station":"","milieu":"","auteur.nom":"GO\u00cbAU","auteur.prenom":"Herv\u00e9","auteur.id":"11851","mots_cles_texte":"plantnet,plantnet-mobile,Projets coop\u00e9ratifs","commentaire":"","images":[{"id_image":"187550","date":"0000-00-00 00:00:00","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187550XL.jpg","hauteur":"563","protocoles_votes":{"3":{"protocole.id":"3","protocole.intitule":"Capitalisation d'images","protocole.descriptif":"photographier en ext\u00e9rieur les organes (feuille, fruit, tronc, etc.) de plantes et transmettre les photos via le Carnet en ligne.","protocole.tag":"Plantnet","votes":{"120014":{"vote.id":"120014","image.id":"187550","auteur.id":"11851","vote":"3","date":"2013-09-19 23:19:10"}}}}},{"id_image":"187551","date":"0000-00-00 00:00:00","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187551XL.jpg","hauteur":"563","protocoles_votes":{"3":{"protocole.id":"3","protocole.intitule":"Capitalisation d'images","protocole.descriptif":"photographier en ext\u00e9rieur les organes (feuille, fruit, tronc, etc.) de plantes et transmettre les photos via le Carnet en ligne.","protocole.tag":"Plantnet","votes":{"120013":{"vote.id":"120013","image.id":"187551","auteur.id":"11851","vote":"3","date":"2013-09-19 23:19:08"}}}}},{"id_image":"187552","date":"0000-00-00 00:00:00","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187552XL.jpg","hauteur":"563","protocoles_votes":{"3":{"protocole.id":"3","protocole.intitule":"Capitalisation d'images","protocole.descriptif":"photographier en ext\u00e9rieur les organes (feuille, fruit, tronc, etc.) de plantes et transmettre les photos via le Carnet en ligne.","protocole.tag":"Plantnet","votes":{"120017":{"vote.id":"120017","image.id":"187552","auteur.id":"11851","vote":"3","date":"2013-09-19 23:19:27"}}}}},{"id_image":"187553","date":"0000-00-00 00:00:00","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187553XL.jpg","hauteur":"563","protocoles_votes":{"3":{"protocole.id":"3","protocole.intitule":"Capitalisation d'images","protocole.descriptif":"photographier en ext\u00e9rieur les organes (feuille, fruit, tronc, etc.) de plantes et transmettre les photos via le Carnet en ligne.","protocole.tag":"Plantnet","votes":{"120016":{"vote.id":"120016","image.id":"187553","auteur.id":"11851","vote":"3","date":"2013-09-19 23:19:16"}}}}},{"id_image":"187554","date":"0000-00-00 00:00:00","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187554XL.jpg","hauteur":"563","protocoles_votes":{"3":{"protocole.id":"3","protocole.intitule":"Capitalisation d'images","protocole.descriptif":"photographier en ext\u00e9rieur les organes (feuille, fruit, tronc, etc.) de plantes et transmettre les photos via le Carnet en ligne.","protocole.tag":"Plantnet","votes":{"120015":{"vote.id":"120015","image.id":"187554","auteur.id":"11851","vote":"3","date":"2013-09-19 23:19:13"}}}}}],"commentaires":{"7725":{"id_commentaire":"7725","observation":"1048532","proposition":"0","id_parent":"0","auteur.id":"11851","auteur.nom":"GO\u00cbAU","auteur.prenom":"Herv\u00e9","auteur.courriel":"herve.goeau@inria.fr","date":"2013-09-19 23:25:19","nom_sel":"","nom_sel_nn":"0","nom_ret_nn":"0","proposition_initiale":"1"},"7726":{"id_commentaire":"7726","observation":"1048532","proposition":"0","id_parent":"0","auteur.id":"11851","auteur.nom":"GO\u00cbAU","auteur.prenom":"Herv\u00e9","auteur.courriel":"herve.goeau@inria.fr","date":"2013-09-19 23:25:19","nom_sel":"Mahonia aquifolium (Pursh) Nutt.","nom_sel_nn":"40676","proposition_initiale":"0","votes":{"9447":{"vote.id":"9447","proposition.id":"7726","auteur.id":"11851","vote":"1","date":"2013-09-19 23:25:21"}}}}}
/tags/v1.1-helium/services/tests/0.1/observations/masque.type=endiscussion.data.json
New file
0,0 → 1,0
{"entete":{"masque":"masque.type%5Bendiscussion%5D=0","total":610,"depart":0,"limite":10,"href.precedent":null,"href.suivant":"http:\/\/eflore?navigation.depart=10&navigation.limite=10&tri=date_transmission&ordre=asc&masque.type%5Bendiscussion%5D=0"},"resultats":{"\"8654\"":{"id_observation":"8654","determination.ns":"Pulmonaria officinalis L.","determination.nt":"1453","determination.nn":"54018","determination.famille":"Boraginaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:80021","zone_geo":"Amiens","station":"Centre ville, jardin.","date_observation":"2008-03-05 00:00:00","date_transmission":"2008-07-18 10:35:51","auteur.id":"7890","auteur.prenom":"Laurent","auteur.nom":"PETIT","observateur":"yanyan80@free.fr","images":[{"id_image":"49865","date":"0000-00-00 00:00:00","hauteur":"1870","largeur":"1320","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000049865XL.jpg"},{"id_image":"49866","date":"2007-03-09 10:39:40","hauteur":"768","largeur":"1024","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000049866XL.jpg"},{"id_image":"49867","date":"2007-03-09 10:43:37","hauteur":"1024","largeur":"768","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000049867XL.jpg"}],"commentaires":[{"957":{"nb_commentaires":"0","id_commentaire":"957","observation":"8654","proposition":"0","id_parent":"0","auteur.id":"7890","auteur.nom":"Petit","auteur.prenom":"Laurent","auteur.courriel":"yanyan80@free.fr","date":"2008-07-18 10:35:51","nom_sel":"Pulmonaria officinalis L.","nom_sel_nn":"54018","nom_ret_nn":"54018","proposition_initiale":"1","votes":{"1253":{"vote.id":"1253","proposition.id":"957","auteur.id":"f85a381e68eda1c1c2e300700735d407","vote":"1","date":"2012-11-29 13:43:06"}}}}]},"\"16117\"":{"id_observation":"16117","determination.ns":"Ophrys scolopax Cav.","determination.nt":"30471","determination.nn":"75479","determination.famille":"Orchidaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:34131","zone_geo":"Lauret","date_observation":"2009-05-20 00:00:00","mots_cles_texte":"Mes observations,aurelienperonnet","date_transmission":"2009-09-03 22:54:35","auteur.id":"11623","auteur.prenom":"Gr\u00e9goire","auteur.nom":"DUCH\u00c9","observateur":"gregoire@tela-botanica.org","images":[{"id_image":"6969","date":"2009-05-20 18:09:59","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006969XL.jpg"},{"id_image":"6968","date":"2009-05-20 18:09:28","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006968XL.jpg"},{"id_image":"6970","date":"2009-05-20 18:11:22","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006970XL.jpg"},{"id_image":"6971","date":"2009-05-20 18:13:29","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006971XL.jpg"},{"id_image":"6972","date":"2009-05-20 18:14:22","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006972XL.jpg"},{"id_image":"6973","date":"2009-05-20 18:15:15","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006973XL.jpg"},{"id_image":"6974","date":"2009-05-20 18:15:39","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006974XL.jpg"},{"id_image":"6975","date":"2009-05-20 18:16:15","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006975XL.jpg"},{"id_image":"6976","date":"2009-05-20 18:16:50","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006976XL.jpg"},{"id_image":"6977","date":"2009-05-20 18:16:58","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006977XL.jpg"},{"id_image":"6978","date":"2009-05-20 18:25:52","hauteur":"2304","largeur":"1759","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006978XL.jpg"}],"commentaires":[{"3911":{"nb_commentaires":"0","id_commentaire":"3911","observation":"16117","proposition":"0","id_parent":"0","auteur.id":"11623","auteur.nom":"DUCH\u00c9","auteur.prenom":"Gr\u00e9goire","auteur.courriel":"gregoire@tela-botanica.org","date":"2013-05-13 11:09:03","nom_sel":"Ophrys scolopax Cav.","nom_sel_nn":"75479","nom_ret_nn":"75479","proposition_initiale":"1","votes":{"5151":{"vote.id":"5151","proposition.id":"3911","auteur.id":"11623","vote":"0","date":"2013-05-13 11:09:07"}}}},{"3912":{"nb_commentaires":"0","id_commentaire":"3912","observation":"16117","proposition":"0","id_parent":"0","auteur.id":"11623","texte":"je crois","auteur.nom":"DUCH\u00c9","auteur.prenom":"Gr\u00e9goire","auteur.courriel":"gregoire@tela-botanica.org","date":"2013-05-13 11:09:03","nom_sel":"Ophrys apifera Huds.","nom_sel_nn":"45064","proposition_initiale":"0","votes":{"5150":{"vote.id":"5150","proposition.id":"3912","auteur.id":"11623","vote":"1","date":"2013-05-13 11:09:06"}}}}]},"\"19507\"":{"id_observation":"19507","determination.ns":"Pulmonaria","determination.nt":"50636","determination.nn":"100636","determination.famille":"Boraginaceae","determination.referentiel":"bdtfx:v1.01","zone_geo":"Saint-Antonin-Noble-Val","lieudit":"Montpalach","date_observation":"2010-04-10 00:00:00","date_transmission":"2010-04-12 15:46:54","auteur.id":"51af35965b5e53f4073081fe2c0c5d94","observateur":"nscotto@club-internet.fr","images":[{"id_image":"12904","date":"2008-11-19 19:06:19","hauteur":"2736","largeur":"3648","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000012904XL.jpg"}],"commentaires":[{"3277":{"nb_commentaires":"0","id_commentaire":"3277","observation":"19507","proposition":"0","id_parent":"0","auteur.id":"0","auteur.nom":"","auteur.prenom":"","auteur.courriel":"","date":"2013-04-22 21:06:41","nom_sel":"Pulmonaria","nom_sel_nn":"100636","nom_ret_nn":"100636","proposition_initiale":"1","votes":{"4546":{"vote.id":"4546","proposition.id":"3277","auteur.id":"4657","vote":"1","date":"2013-04-30 12:34:04"},"5436":{"vote.id":"5436","proposition.id":"3277","auteur.id":"2819","vote":"1","date":"2013-05-22 14:48:34"}}}},{"4644":{"nb_commentaires":"0","id_commentaire":"4644","observation":"19507","proposition":"0","id_parent":"0","auteur.id":"13389","auteur.nom":"SABBAG","auteur.prenom":"Claude","auteur.courriel":"sabbag.claude13@gmail.com","date":"2013-06-04 15:41:57","nom_sel":"Pulmonaria longifolia subsp. longifolia","nom_sel_nn":"54005","proposition_initiale":"0"}}]},"\"15282\"":{"id_observation":"15282","determination.ns":"Mespilus germanica L.","determination.nt":"4763","determination.nn":"42397","determination.famille":"Rosaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:30033","zone_geo":"Beauvoisin","lieudit":"La Passeronne","station":"43\u00b043'02.2\"N 04\u00b019'02.2\"E","date_observation":"2009-08-06 00:00:00","date_transmission":"2010-11-04 15:46:31","auteur.id":"7303","auteur.prenom":"Ruddy","auteur.nom":"BENEZET","observateur":"ruddy.benezet@gmail.com","images":[{"id_image":"6410","date":"0000-00-00 00:00:00","hauteur":"1494","largeur":"1528","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006410XL.jpg"},{"id_image":"6409","date":"0000-00-00 00:00:00","hauteur":"1918","largeur":"1719","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006409XL.jpg"},{"id_image":"6408","date":"0000-00-00 00:00:00","hauteur":"2162","largeur":"1371","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006408XL.jpg"},{"id_image":"6407","date":"0000-00-00 00:00:00","hauteur":"3510","largeur":"2226","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006407XL.jpg"},{"id_image":"6406","date":"0000-00-00 00:00:00","hauteur":"3092","largeur":"1975","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006406XL.jpg"},{"id_image":"6405","date":"0000-00-00 00:00:00","hauteur":"3057","largeur":"1989","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006405XL.jpg"},{"id_image":"6404","date":"0000-00-00 00:00:00","hauteur":"1755","largeur":"1275","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006404XL.jpg"},{"id_image":"6881","date":"0000-00-00 00:00:00","hauteur":"1755","largeur":"1275","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006881XL.jpg"},{"id_image":"6882","date":"0000-00-00 00:00:00","hauteur":"2739","largeur":"1509","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006882XL.jpg"},{"id_image":"6883","date":"0000-00-00 00:00:00","hauteur":"2671","largeur":"1995","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006883XL.jpg"},{"id_image":"6884","date":"0000-00-00 00:00:00","hauteur":"3201","largeur":"2376","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006884XL.jpg"},{"id_image":"6885","date":"0000-00-00 00:00:00","hauteur":"2559","largeur":"2374","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006885XL.jpg"},{"id_image":"6886","date":"0000-00-00 00:00:00","hauteur":"2466","largeur":"2376","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006886XL.jpg"},{"id_image":"6887","date":"0000-00-00 00:00:00","hauteur":"2829","largeur":"1539","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006887XL.jpg"},{"id_image":"6888","date":"0000-00-00 00:00:00","hauteur":"3254","largeur":"1495","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006888XL.jpg"},{"id_image":"6889","date":"0000-00-00 00:00:00","hauteur":"2933","largeur":"1969","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006889XL.jpg"},{"id_image":"6890","date":"0000-00-00 00:00:00","hauteur":"2994","largeur":"2376","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006890XL.jpg"}],"commentaires":[{"3937":{"nb_commentaires":"0","id_commentaire":"3937","observation":"15282","proposition":"0","id_parent":"0","auteur.id":"7303","auteur.nom":"BENEZET","auteur.prenom":"Ruddy","auteur.courriel":"ruddy.benezet@gmail.com","date":"2013-05-13 22:49:10","nom_sel":"Mespilus germanica L.","nom_sel_nn":"42397","nom_ret_nn":"42397","proposition_initiale":"1"}},{"3938":{"nb_commentaires":"0","id_commentaire":"3938","observation":"15282","proposition":"0","id_parent":"0","auteur.id":"121","auteur.nom":"BARTH\u00c9L\u00c9MY","auteur.prenom":"Daniel","auteur.courriel":"daniel.barthelemy@cirad.fr","date":"2013-05-13 22:49:10","nom_sel":"Eriobotrya japonica (Thunb.) Lindl.","nom_sel_nn":"24979","proposition_initiale":"0"}}]},"\"167375\"":{"id_observation":"167375","determination.ns":"Carduus tenuiflorus Curtis","determination.nt":"545","determination.nn":"13358","determination.famille":"Asteraceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:84007","zone_geo":"Avignon","lieudit":"Avenue de Tarascon","station":"Culture abandonn\u00e9e","milieu":"Prairie","date_observation":"2009-05-03 00:00:00","mots_cles_texte":"Vigie-Flore,Maille 4202-G","date_transmission":"2010-12-28 23:23:13","auteur.id":"5","auteur.prenom":"Daniel","auteur.nom":"MATHIEU","observateur":"dmathieu@tela-botanica.org","images":[{"id_image":"15974","date":"2009-05-03 10:49:16","hauteur":"800","largeur":"535","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000015974XL.jpg"}],"commentaires":[{"3465":{"nb_commentaires":"0","id_commentaire":"3465","observation":"167375","proposition":"0","id_parent":"0","auteur.id":"5","auteur.nom":"MATHIEU","auteur.prenom":"Daniel","auteur.courriel":"dmathieu@tela-botanica.org","date":"2013-04-28 01:35:25","nom_sel":"Carduus tenuiflorus Curtis","nom_sel_nn":"13358","nom_ret_nn":"13358","proposition_initiale":"1","votes":{"4479":{"vote.id":"4479","proposition.id":"3465","auteur.id":"7163","vote":"0","date":"2013-04-28 01:35:28"}}}},{"3466":{"nb_commentaires":"0","id_commentaire":"3466","observation":"167375","proposition":"0","id_parent":"0","auteur.id":"7163","auteur.nom":"MERCIER","auteur.prenom":"David","auteur.courriel":"davidpmercier@yahoo.fr","date":"2013-04-28 01:35:25","nom_sel":"Carduus pycnocephalus L.","nom_sel_nn":"75026","proposition_initiale":"0"}}]},"\"40099\"":{"id_observation":"40099","determination.ns":"Neotinea ustulata subsp. ustulata","determination.nt":"13044","determination.nn":"78364","determination.famille":"Orchidaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:30153","zone_geo":"Malons-et-Elze","station":"MDA","milieu":"Prairie humide","date_observation":"2010-05-23 00:00:00","mots_cles_texte":"Orchid\u00e9es","date_transmission":"2011-01-01 18:20:46","auteur.id":"11326","auteur.prenom":"Paul","auteur.nom":"Fabre","observateur":"paul.fabre19@gmail.com","commentaire":"Plante discr\u00e8te, d\u00e9licate et tr\u00e8s esth\u00e9tique","images":[{"id_image":"16423","date":"2010-05-23 13:40:33","hauteur":"2816","largeur":"2112","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000016423XL.jpg"},{"id_image":"16584","date":"2010-05-23 14:01:13","hauteur":"2816","largeur":"2112","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000016584XL.jpg"}],"commentaires":[{"356":{"nb_commentaires":"0","id_commentaire":"356","observation":"40099","proposition":"0","id_parent":"0","auteur.id":"11326","auteur.nom":"Fabre","auteur.prenom":"Paul","auteur.courriel":"paul.fabre19@gmail.com","date":"2011-01-01 18:20:46","nom_sel":"Neotinea ustulata subsp. ustulata","nom_sel_nn":"78364","nom_ret_nn":"78364","proposition_initiale":"1","votes":{"543":{"vote.id":"543","proposition.id":"356","auteur.id":"bd60d1e88277ffd39837715ac37fa11a","vote":"1","date":"2012-11-07 20:34:18"},"712":{"vote.id":"712","proposition.id":"356","auteur.id":"f3bb43f8949a9f87052a39850d570fb5","vote":"1","date":"2012-11-22 13:44:09"},"746":{"vote.id":"746","proposition.id":"356","auteur.id":"075162d89e6afe9fec2093b6a03cb87f","vote":"1","date":"2012-11-22 20:47:54"},"1139":{"vote.id":"1139","proposition.id":"356","auteur.id":"d28354f594fac20684eaee3924fc001f","vote":"1","date":"2012-11-27 17:06:32"},"1150":{"vote.id":"1150","proposition.id":"356","auteur.id":"4323cb26721a24199955441fd4ee6dc4","vote":"1","date":"2012-11-29 09:45:49"},"1506":{"vote.id":"1506","proposition.id":"356","auteur.id":"712aefda23de9dcff28d902d66d20959","vote":"1","date":"2013-02-12 18:11:02"},"1558":{"vote.id":"1558","proposition.id":"356","auteur.id":"20482","vote":"1","date":"2013-02-14 15:57:14"},"1630":{"vote.id":"1630","proposition.id":"356","auteur.id":"7887","vote":"1","date":"2013-02-16 18:08:45"},"2217":{"vote.id":"2217","proposition.id":"356","auteur.id":"d5d4b8ed2629ef534b5087c580520121","vote":"1","date":"2013-03-23 16:38:57"},"4710":{"vote.id":"4710","proposition.id":"356","auteur.id":"121","vote":"1","date":"2013-05-01 16:37:50"}}}}]},"\"19081\"":{"id_observation":"19081","determination.ns":"Spiranthes spiralis (L.) Chevall.","determination.nt":"6567","determination.nn":"65818","determination.famille":"Orchidaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:34154","zone_geo":"Mauguio","lieudit":"Bois de la Mourre","date_observation":"2008-03-03 00:00:00","date_transmission":"2011-01-09 12:29:27","auteur.id":"12799","auteur.prenom":"Julien","auteur.nom":"BARATAUD","observateur":"julien.barataud@laposte.net","images":[{"id_image":"9815","date":"2008-03-03 18:51:18","hauteur":"1200","largeur":"1600","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000009815XL.jpg"},{"id_image":"9816","date":"2008-03-03 18:51:18","hauteur":"1200","largeur":"1600","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000009816XL.jpg"},{"id_image":"9817","date":"2008-03-03 18:51:09","hauteur":"1600","largeur":"1200","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000009817XL.jpg"}],"commentaires":[{"1567":{"nb_commentaires":"0","id_commentaire":"1567","observation":"19081","proposition":"0","id_parent":"0","auteur.id":"12799","auteur.nom":"BARATAUD","auteur.prenom":"Julien","auteur.courriel":"julien.barataud@laposte.net","date":"0000-00-00 00:00:00","nom_sel":"Spiranthes spiralis (L.) Chevall.","nom_sel_nn":"65818","nom_ret_nn":"65818","proposition_initiale":"0","votes":{"2049":{"vote.id":"2049","proposition.id":"1567","auteur.id":"18748","vote":"0","date":"2013-03-14 15:56:12"}}}}]},"\"313463\"":{"id_observation":"313463","determination.ns":"Urtica urens L.","determination.nt":"5650","determination.nn":"70431","determination.famille":"Urticaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:83126","zone_geo":"La Seyne-sur-Mer","milieu":"friche","date_observation":"2011-04-10 00:00:00","date_transmission":"2011-04-11 09:32:28","auteur.id":"76","auteur.prenom":"Frederic","auteur.nom":"BOUFFARD","observateur":"facama@orange.fr","images":[{"id_image":"27152","date":"2011-04-09 23:17:59","hauteur":"3240","largeur":"4320","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000027152XL.jpg"}],"commentaires":[{"1523":{"nb_commentaires":"0","id_commentaire":"1523","observation":"313463","proposition":"0","id_parent":"0","auteur.id":"76","auteur.nom":"bouffard","auteur.prenom":"frederic","auteur.courriel":"facama@orange.fr","date":"0000-00-00 00:00:00","nom_sel":"Urtica urens L.","nom_sel_nn":"70431","nom_ret_nn":"70431","proposition_initiale":"0","votes":{"2001":{"vote.id":"2001","proposition.id":"1523","auteur.id":"1356","vote":"0","date":"2013-03-10 10:15:15"},"2218":{"vote.id":"2218","proposition.id":"1523","auteur.id":"d5d4b8ed2629ef534b5087c580520121","vote":"1","date":"2013-03-23 16:39:03"}}}}]},"\"350814\"":{"id_observation":"350814","determination.ns":"Gagea granatelli (Parl.) Parl.","determination.nt":"6315","determination.nn":"28634","determination.famille":"Liliaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:34129","zone_geo":"Lattes","lieudit":"Mas Mannier","date_observation":"2005-03-01 00:00:00","date_transmission":"2011-08-04 11:20:23","auteur.id":"16995","auteur.prenom":"Christophe","auteur.nom":"BERNIER","observateur":"christophe.bernier@tela-botanica.org","images":[{"id_image":"39928","date":"2005-03-08 17:47:39","hauteur":"1536","largeur":"2048","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000039928XL.jpg"},{"id_image":"39927","date":"2005-03-08 17:41:21","hauteur":"1536","largeur":"2048","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000039927XL.jpg"}],"commentaires":[{"1142":{"nb_commentaires":"0","id_commentaire":"1142","observation":"350814","proposition":"0","id_parent":"0","auteur.id":"44","texte":"la gag\u00e9e des garrigues calcaires autour de Montpellier est G. lacaitae. G. granatelli pousse plus \u00e0 l'ouest, dans le Minervois","auteur.nom":"GIROD","auteur.prenom":"Christophe","auteur.courriel":"chrisgir2@yahoo.fr","date":"2013-02-04 20:38:15","nom_sel":"Gagea lacaitae A.Terracc.","proposition_initiale":"0"}},{"1150":{"nb_commentaires":"0","id_commentaire":"1150","observation":"350814","proposition":"0","id_parent":"0","auteur.id":"16995","auteur.nom":"BERNIER","auteur.prenom":"Christophe","auteur.courriel":"christophe.bernier@tela-botanica.org","date":"2011-08-04 11:20:23","nom_sel":"Gagea granatelli (Parl.) Parl.","nom_sel_nn":"28634","nom_ret_nn":"28634","proposition_initiale":"1","votes":{"1434":{"vote.id":"1434","proposition.id":"1150","auteur.id":"44","vote":"0","date":"2013-02-04 20:40:41"},"1564":{"vote.id":"1564","proposition.id":"1150","auteur.id":"389470bbca344f8cdc4905d2c791395b","vote":"0","date":"2013-02-14 16:11:42"}}}}]},"\"350815\"":{"id_observation":"350815","determination.ns":"Gagea granatelli (Parl.) Parl.","determination.nt":"6315","determination.nn":"28634","determination.famille":"Liliaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:34129","zone_geo":"Lattes","lieudit":"Mas Mannier","date_observation":"2005-03-08 00:00:00","date_transmission":"2011-08-04 11:20:23","auteur.id":"16995","auteur.prenom":"Christophe","auteur.nom":"BERNIER","observateur":"christophe.bernier@tela-botanica.org","images":[{"id_image":"39930","date":"0000-00-00 00:00:00","hauteur":"1173","largeur":"1969","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000039930XL.jpg"},{"id_image":"39929","date":"0000-00-00 00:00:00","hauteur":"1224","largeur":"1944","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000039929XL.jpg"}],"commentaires":[{"1151":{"nb_commentaires":"0","id_commentaire":"1151","observation":"350815","proposition":"0","id_parent":"0","auteur.id":"16995","auteur.nom":"BERNIER","auteur.prenom":"Christophe","auteur.courriel":"christophe.bernier@tela-botanica.org","date":"2011-08-04 11:20:23","nom_sel":"Gagea granatelli (Parl.) Parl.","nom_sel_nn":"28634","nom_ret_nn":"28634","proposition_initiale":"1","votes":{"1435":{"vote.id":"1435","proposition.id":"1151","auteur.id":"44","vote":"0","date":"2013-02-04 20:40:47"}}}},{"1152":{"nb_commentaires":"0","id_commentaire":"1152","observation":"350815","proposition":"0","id_parent":"0","auteur.id":"44","texte":"la gag\u00e9e des garrigues calcaires autour de Montpellier est G. lacaitae. G. granatelli pousse plus \u00e0 l'ouest, dans le Minervois","auteur.nom":"GIROD","auteur.prenom":"Christophe","auteur.courriel":"chrisgir2@yahoo.fr","date":"2013-02-04 20:40:56","nom_sel":"Gagea lacaitae A.Terracc.","proposition_initiale":"0"}}]}}}
/tags/v1.1-helium/services/tests/0.1/observations/masque=G-date=2009.data.json
New file
0,0 → 1,0
{"entete":{"masque":"masque=Grand&masque.date=2009","total":8,"depart":"0","limite":"12"},"resultats":{"\"44174\"":{"id_observation":"44174","date_observation":"2009-06-08 00:00:00","date_transmission":"2010-12-21 21:16:09","determination.famille":"Apiaceae","determination.ns":"Orlaya grandiflora (L.) Hoffm.","determination.nn":"46423","determination.nt":"235","determination.referentiel":"bdtfx:v1.01","observateur":"paul.fabre19@gmail.com","id_zone_geo":"INSEE-C:07334","zone_geo":"Les Vans","lieudit":null,"station":"Les Gras","milieu":"Garrigue de thym","auteur.nom":"FABRE","auteur.prenom":"Paul","auteur.id":"11326","mots_cles_texte":null,"commentaire":"sol calcaire","images":[{"id_image":"15653","date":"2009-06-08 12:47:28","hauteur":"2112","largeur":"2816","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000015653XL.jpg"},{"id_image":"15654","date":"2009-06-08 12:47:39","hauteur":"2816","largeur":"2112","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000015654XL.jpg"}]},"\"619435\"":{"id_observation":"619435","date_observation":"2009-06-14 00:00:00","date_transmission":"2011-11-23 08:03:58","determination.famille":"Lamiaceae","determination.ns":"Clinopodium grandiflorum (L.) Kuntze","determination.nn":"18255","determination.nt":"3527","determination.referentiel":"bdtfx:v1.01","observateur":"houdrejj@free.fr","id_zone_geo":"INSEE-C:15073","zone_geo":"Fridefont","lieudit":null,"station":null,"milieu":null,"auteur.nom":"HOUDR\u00c9","auteur.prenom":"Jean-Jacques","auteur.id":"1503","mots_cles_texte":"null","commentaire":null,"images":[{"id_image":"51994","date":"2009-06-14 07:54:10","hauteur":"1602","largeur":"2394","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000051994XL.jpg"}]},"\"619700\"":{"id_observation":"619700","date_observation":"2009-07-12 00:00:00","date_transmission":"2011-11-25 22:37:48","determination.famille":"Plantaginaceae","determination.ns":"Digitalis grandiflora Mill.","determination.nn":"22409","determination.nt":"5321","determination.referentiel":"bdtfx:v1.01","observateur":"houdrejj@free.fr","id_zone_geo":"INSEE-C:73024","zone_geo":"Les Avanchers-Valmorel","lieudit":null,"station":null,"milieu":null,"auteur.nom":"HOUDR\u00c9","auteur.prenom":"Jean-Jacques","auteur.id":"1503","mots_cles_texte":null,"commentaire":null,"images":[{"id_image":"52237","date":"2009-07-12 08:37:18","hauteur":"2008","largeur":"3000","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000052237XL.jpg"},{"id_image":"52238","date":"2009-07-12 08:37:37","hauteur":"3000","largeur":"2008","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000052238XL.jpg"}],"commentaires":[{"2863":{"nb_commentaires":"0","id_commentaire":"2863","observation":"619700","proposition":"0","id_parent":"0","auteur.id":"1503","auteur.nom":"HOUDR\u00c9","auteur.prenom":"Jean-Jacques","auteur.courriel":"houdrejj@free.fr","date":"0000-00-00 00:00:00","nom_sel":"Digitalis grandiflora Mill.","nom_sel_nn":"22409","nom_ret_nn":"22409","proposition_initiale":"1","votes":{"3741":{"vote.id":"3741","proposition.id":"2863","auteur.id":"20207","vote":"1","date":"2013-04-11 22:30:20"}}}}]},"\"722604\"":{"id_observation":"722604","date_observation":"2009-06-10 00:00:00","date_transmission":"2012-02-14 15:47:50","determination.famille":"Apiaceae","determination.ns":"Orlaya grandiflora (L.) Hoffm.","determination.nn":"46423","determination.nt":"235","determination.referentiel":"bdtfx:v1.01","observateur":"mathieumenand@yahoo.fr","id_zone_geo":"INSEE-C:84143","zone_geo":"Venasque","lieudit":null,"station":null,"milieu":null,"auteur.nom":"MENAND","auteur.prenom":"Mathieu","auteur.id":"4967","mots_cles_texte":null,"commentaire":null,"images":[{"id_image":"18638","date":"2009-06-10 17:12:11","hauteur":"600","largeur":"800","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000018638XL.jpg"},{"id_image":"18832","date":"2009-06-10 17:14:26","hauteur":"600","largeur":"800","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000018832XL.jpg"}]},"\"724855\"":{"id_observation":"724855","date_observation":"2009-07-21 00:00:00","date_transmission":"2012-02-14 19:09:59","determination.famille":"Lentibulariaceae","determination.ns":"Pinguicula grandiflora Lam.","determination.nn":"49553","determination.nt":"5654","determination.referentiel":"bdtfx:v1.01","observateur":"avreliane@botaniste-en-herbe.net","id_zone_geo":"INSEE-C:09100","zone_geo":"Couflens","lieudit":null,"station":null,"milieu":null,"auteur.nom":"MAHYEUX","auteur.prenom":"Catherine","auteur.id":"8082","mots_cles_texte":null,"commentaire":null,"images":[{"id_image":"60639","date":"2009-07-21 16:41:58","hauteur":"488","largeur":"650","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000060639XL.jpg"},{"id_image":"60640","date":"2009-07-21 16:27:45","hauteur":"488","largeur":"650","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000060640XL.jpg"}]},"\"1021817\"":{"id_observation":"1021817","date_observation":"2009-06-27 00:00:00","date_transmission":"2013-07-16 12:01:26","determination.famille":"LINACEAE","determination.ns":"Linum alpinum Jacq.","determination.nn":"39369","determination.nt":"3751","determination.referentiel":"bdtfx:v1.01","observateur":"claude.figureau.plantnet@gmail.com","id_zone_geo":"INSEE-C:","zone_geo":"Grand Montrond lelex","lieudit":"","station":"","milieu":"","auteur.nom":"FIGUREAU","auteur.prenom":"Claude","auteur.id":"22878","mots_cles_texte":"Projets coop\u00e9ratifs","commentaire":"","images":[{"id_image":"165267","date":"2009-06-27 12:06:27","hauteur":"450","largeur":"600","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000165267XL.jpg"},{"id_image":"165266","date":"2009-06-27 12:06:51","hauteur":"450","largeur":"600","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000165266XL.jpg"},{"id_image":"165264","date":"2009-06-27 12:06:41","hauteur":"450","largeur":"600","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000165264XL.jpg"}]},"\"1032660\"":{"id_observation":"1032660","date_observation":"2009-04-04 00:00:00","date_transmission":"2013-08-02 18:55:42","determination.famille":"Fabaceae","determination.ns":"Agati grandiflora (L.) Desv.","determination.nn":"284","determination.nt":"2809","determination.referentiel":"bdtxa:1.00","observateur":"valbrasse@orange.fr","id_zone_geo":"INSEE-C:63099","zone_geo":"Ch\u00e2teaugay","lieudit":"","station":"","milieu":"","auteur.nom":"BRASSE","auteur.prenom":"Val\u00e9rie","auteur.id":"11681","mots_cles_texte":"WidgetSaisie,aDeterminer,Projets coop\u00e9ratifs","commentaire":"vue en Guadeloupe","images":[{"id_image":"179865","date":"2009-03-18 16:14:59","hauteur":"2816","largeur":"2112","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000179865XL.jpg"}]},"\"1032667\"":{"id_observation":"1032667","date_observation":"2009-04-04 00:00:00","date_transmission":"2013-08-02 19:05:53","determination.famille":"Aristolochiaceae","determination.ns":"Aristolochia grandiflora Sw.","determination.nn":"876","determination.nt":"273","determination.referentiel":"bdtxa:1.00","observateur":"valbrasse@orange.fr","id_zone_geo":"INSEE-C:63099","zone_geo":"Ch\u00e2teaugay","lieudit":"","station":"","milieu":"","auteur.nom":"BRASSE","auteur.prenom":"Val\u00e9rie","auteur.id":"11681","mots_cles_texte":"WidgetSaisie,aDeterminer,Projets coop\u00e9ratifs","commentaire":"vue en Guadeloupe (fleur)","images":[{"id_image":"179872","date":"2009-03-13 20:30:52","hauteur":"2816","largeur":"2112","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000179872XL.jpg"}]}}}
/tags/v1.1-helium/services/tests/0.1/observations/ObservationsTest.php
New file
0,0 → 1,162
<?php
require_once __DIR__ . '/../ServiceDelPhpUnit.php';
error_reporting(E_ALL);
 
class ObservationsTest extends ServiceDelPhpUnit {
//static function creerUrl($service, $ressources, $parametres = NULL) {
public function testNonExistant() {
$url = $this->creerUrl('observations');
$i = new Observations();
$retour = $this->consulterDirectJson($i->consulter([0], []),
$url);
// doit retourner une 404
$this->assertEmpty($retour, "Le json doit retourner un tableau vide. Voir : $url");
}
 
public function testExistant() {
$url = $this->creerUrl('observations');
$i = new Observations();
$retour = $this->consulterDirectJson($i->consulter([1043942], []),
$url);
 
$this->hasKeysAndNotEmpty($retour, ['auteur.id', 'auteur.nom', 'date_transmission', 'observateur', 'id_observation'], $url);
$this->hasKeys($retour, ['auteur.nom'], $url);
$this->assertArrayHasKey('auteur.id', $retour, "attribut auteur.id manquant. Voir : $url");
}
 
 
public function testExistantEtContenu() {
$url = $this->creerUrl('observations');
$i = new Observations();
$retour = $this->consulterDirectJson($i->consulter([1043942], []),
$url);
 
// from
// "http://www.tela-botanica.org/eflore/del/services/0.1/observations/1048532
$expected = json_decode(file_get_contents("obs-1048532-complete.data.json"), true);
 
self::ignoreNullValuesAndSort($expected);
self::ignoreNullValuesAndSort($retour);
 
// echo implode(',', array_keys($retour['resultats'])) . "\n" . implode(',', array_keys($expected['resultats']));die;
$this->clefsIdentiques($expected, $retour, $url);
$this->assertEquals($expected['resultats'], $retour['resultats'], "Différences dans le tableau pour l'obs 1048532, $url");
}
 
public function testSansImage() {
$url = $this->creerUrl('observations');
$i = new Observations();
$retour = $this->consulterDirectJson($i->consulter([14203], []),
$url);
// doit retourner une 404
$this->assertEmpty($retour, "Observation sans image devrait ne rien retourner. Voir : $url");
}
 
public function testRechercheNoObs() {
$url = $this->creerUrl('observations');
$i = new Observations();
$retour = $this->consulterDirectJson($i->consulter([], ['masque.date'=>-1e11]), // 10^11 secondes avant 1970
$url);
// doit retourner une 404
$this->assertEquals(0, $retour['entete']['total'], "Incongruité sur ['entete'][0]. Voir : $url");
$this->assertEmpty($retour['resultats'], "Absence d'observation devrait retourner un result-set vide. Voir : $url");
}
 
/* guidelines pour des tests pérennes:
* - Utiliser ordre=asc pour prendre les enregistrement les plus anciens, moins susceptibles de changer
* - Restreindre par date (évite les date_transmission = NULL, qui, après des GROUP BY affectent le result-set
* - Utiliser moins de "$limite" résultats à cause de la sélection (arbitraire[GROUP-BY])) des obs ayant la même date */
public function testMasque() {
$url = $this->creerUrl('observations');
$i = new Observations();
$retour = $this->consulterDirectJson($i->consulter([], ['navigation.depart'=>0,'navigation.limite'=>12,'ordre'=>'asc','masque'=>'Grand','masque.date'=>2009]),
$url);
// from
// "http://www.tela-botanica.org/eflore/del/services/0.1/observations?navigation.depart=0&navigation.limite=12&masque=Grand&masque.date=2009&ordre=asc"
$expected = json_decode(file_get_contents("masque=G-date=2009.data.json"), true);
 
self::ignoreNullValuesAndSort($expected);
self::ignoreNullValuesAndSort($retour);
 
// echo implode(',', array_keys($retour['resultats'])) . "\n" . implode(',', array_keys($expected['resultats']));die;
$this->clefsIdentiques($expected, $retour, $url);
$this->assertEquals($expected['resultats'], $retour['resultats'], "Différences dans le tableau, $url");
}
 
public function testType() {
@$url = $this->creerUrl('observations');
$i = new Observations();
$retour = $this->consulterDirectJson($i->consulter([], ['ordre'=>'asc','masque.type'=>'endiscussion']),
$url);
if(Config::get('nb_commentaires_discussion') != 1) {
printf("can't do test: Config::get('nb_commentaires_discussion') == %d <> 1\n", Config::get('nb_commentaires_discussion'));
return;
}
 
// from
// "http://www.tela-botanica.org/eflore/del/services/0.1/observations?masque.type=endiscussion&ordre=asc"
$expected = json_decode(file_get_contents("masque.type=endiscussion.data.json"), true);
 
self::ignoreNullValuesAndSort($expected);
self::ignoreNullValuesAndSort($retour);
 
// echo implode(',', array_keys($retour['resultats'])) . "\n" . implode(',', array_keys($expected['resultats']));die;
$this->clefsIdentiques($expected, $retour, $url);
$this->assertEquals($expected['resultats'], $retour['resultats'], "Différences dans le tableau, $url");
}
 
 
public function testMasqueEtType() {
@$url = $this->creerUrl('observations');
$i = new Observations();
$retour = $this->consulterDirectJson($i->consulter([], ['navigation.depart'=>0,'navigation.limite'=>12,'ordre'=>'asc','masque'=>'G','masque.type'=>'endiscussion']),
$url);
 
$expected = json_decode(file_get_contents("masque=G-masque.type=endiscussion.data.json"), true);
 
self::ignoreNullValuesAndSort($expected);
self::ignoreNullValuesAndSort($retour);
 
// echo implode(',', array_keys($retour['resultats'])) . "\n" . implode(',', array_keys($expected['resultats']));die;
$this->clefsIdentiques($expected, $retour, $url);
$this->assertEquals($expected['resultats'], $retour['resultats'], "Différences dans le tableau, $url");
}
 
 
 
public function hasKeys($arr, $keys, $url) {
foreach($keys as $k) {
$this->assertArrayHasKey($k, $arr, "attribut {$k} manquant. Voir : $url");
}
}
 
public function hasKeysAndNotEmpty($arr, $keys, $url) {
foreach($keys as $k) {
$this->assertArrayHasKey($k, $arr, "attribut {$k} manquant. Voir : $url");
$this->assertNotEmpty($arr[$k], "attribut {$k} vide. Voir : $url");
}
}
 
static function ignoreNullValuesAndSort(&$arr) {
$arr['resultats'] = array_map('array_filter', $arr['resultats']);
ksort($arr['resultats']);
}
 
public function clefsIdentiques($e, $r, $url) {
$e = array_map(function($a) { return intval(trim($a, '"')); }, array_keys($e['resultats']));
sort($e, SORT_NUMERIC);
$r = array_map(function($a) { return intval(trim($a, '"')); }, array_keys($r['resultats']));
sort($r, SORT_NUMERIC);
$this->assertEquals($e, $r, "Différences dans les clefs du tableau, $url");
}
 
// obs-1048891-masque.ns=Fleur+violette-masque.comune=Arette.data.json
// test la présence des commentaires en général
 
// obs-1047949-masque.ns=Echium+wildpretii+Pearson-masque.commune=Vilaflor.data.json
// test la présence des commentaires parents: "1047949"[commentaires][7730][nb_commentaires] == 1 ?
 
// obs-1043671-masque.ns=plante+rose-masque.departement=38451
// idem
}
/tags/v1.1-helium/services/tests/0.1/observations/obs-1047949-masque.ns=Echium+wildpretii+Pearson-masque.commune=Vilaflor.data.json
New file
0,0 → 1,0
{"entete":{"masque":"masque.ns=Echium wildpretii Pearson&masque.commune=Vilaflor","total":1,"depart":0,"limite":10},"resultats":{"\"1047949\"":{"id_observation":"1047949","date_observation":"2013-05-23 00:00:00","date_transmission":"2013-09-19 00:20:22","determination.famille":null,"determination.ns":"Echium wildpretii Pearson ex Hook.f.","determination.nn":null,"determination.nt":null,"observateur":"pdesnos45@free.fr","id_zone_geo":null,"zone_geo":"Vilaflor - Tenerife - Espagne","lieudit":"Caldeira du Teide","station":null,"milieu":"Sable","auteur.nom":"DESNOS","auteur.prenom":"Pat","auteur.id":"22894","mots_cles_texte":"","commentaire":null,"images":[{"id_image":"187515","date":"2013-05-23 12:17:54","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187515XL.jpg","hauteur":"964"},{"id_image":"187516","date":"2013-05-23 12:16:36","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187516XL.jpg","hauteur":"964"},{"id_image":"187517","date":"2013-05-23 12:17:46","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187517XL.jpg","hauteur":"963"},{"id_image":"187518","date":"2013-05-23 12:18:13","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187518XL.jpg","hauteur":"964"},{"id_image":"187519","date":"2013-05-23 12:18:19","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187519XL.jpg","hauteur":"962"},{"id_image":"187520","date":"2013-05-23 12:20:34","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000187520XL.jpg","hauteur":"963"}],"commentaires":{"7730":{"nb_commentaires":"1","id_commentaire":"7730","observation":"1047949","proposition":"0","id_parent":"0","auteur.id":"22894","auteur.nom":"DESNOS","auteur.prenom":"Pat","auteur.courriel":"pdesnos45@free.fr","date":"2013-09-20 11:14:33","nom_sel":"Echium wildpretii Pearson ex Hook.f.","proposition_initiale":"1","votes":{"9451":{"vote.id":"9451","proposition.id":"7730","auteur.id":"3c6ef2d001a39ff75df2327b86d3666b","vote":"1","date":"2013-09-20 11:14:33"}}}}}}}
/tags/v1.1-helium/services/tests/0.1/observations/obs-1043671-masque.ns=plante+rose-masque.departement=38451.data.json
New file
0,0 → 1,0
{"entete":{"masque":"masque.ns=plante rose&masque.departement=38451","total":1,"depart":0,"limite":10},"resultats":{"\"1043671\"":{"id_observation":"1043671","date_observation":"2013-09-06 00:00:00","date_transmission":"2013-09-09 21:14:23","determination.famille":"","determination.ns":"plante rose","determination.nn":"0","determination.nt":"0","observateur":"mhusson.bonetti@hotmail.fr","id_zone_geo":"INSEE-C:38451","zone_geo":"Saint-Romain-de-Jalionas","lieudit":"","station":"","milieu":"","auteur.nom":"HUSSON","auteur.prenom":"Margaux","auteur.id":"20497","mots_cles_texte":"Projets coop\u00e9ratifs,WidgetSaisie","commentaire":"","images":[{"id_image":"185842","date":"2013-09-06 19:26:55","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000185842XL.jpg","hauteur":"3000"}],"commentaires":{"7502":{"nb_commentaires":"0","id_commentaire":"7502","observation":"1043671","proposition":"0","id_parent":"0","auteur.id":"20497","auteur.nom":"HUSSON","auteur.prenom":"Margaux","auteur.courriel":"mhusson.bonetti@hotmail.fr","date":"2013-09-10 10:43:15","nom_sel":"plante rose","nom_sel_nn":"0","nom_ret_nn":"0","proposition_initiale":"1"},"7506":{"nb_commentaires":"3","id_commentaire":"7506","observation":"1043671","proposition":"0","id_parent":"0","auteur.id":"11851","auteur.nom":"GO\u00cbAU","auteur.prenom":"Herv\u00e9","auteur.courriel":"herve.goeau@inria.fr","date":"2013-09-10 12:04:58","nom_sel":"Silene flos-cuculi (L.) Clairv.","nom_sel_nn":"75377","proposition_initiale":"0","votes":{"9222":{"vote.id":"9222","proposition.id":"7506","auteur.id":"11851","vote":"0","date":"2013-09-12 16:16:03"},"9260":{"vote.id":"9260","proposition.id":"7506","auteur.id":"13366","vote":"0","date":"2013-09-11 13:00:07"}}},"7560":{"nb_commentaires":"0","id_commentaire":"7560","observation":"1043671","proposition":"0","id_parent":"0","auteur.id":"11851","auteur.nom":"GO\u00cbAU","auteur.prenom":"Herv\u00e9","auteur.courriel":"herve.goeau@inria.fr","date":"2013-09-12 16:15:59","nom_sel":"Centaurea jacea L.","nom_sel_nn":"15248","proposition_initiale":"0","votes":{"9279":{"vote.id":"9279","proposition.id":"7560","auteur.id":"11851","vote":"1","date":"2013-09-12 16:18:07"}}}}}}}
/tags/v1.1-helium/services/tests/0.1/observations/obs-1048891-masque.ns=Fleur+violette-masque.comune=Arette.data.json
New file
0,0 → 1,0
{"entete":{"masque":"masque.ns=Fleur violette&masque.commune=Arette","total":1,"depart":0,"limite":10},"resultats":{"\"1048891\"":{"id_observation":"1048891","date_observation":"0000-00-00 00:00:00","date_transmission":"2013-09-23 18:17:55","determination.famille":"","determination.ns":"Fleur violette","determination.nn":"0","determination.nt":"0","observateur":null,"id_zone_geo":"INSEE-C:64040","zone_geo":"Arette","lieudit":"","station":"","milieu":"","auteur.nom":"","auteur.prenom":"","auteur.id":"0","mots_cles_texte":"aDeterminer,WidgetSaisie,Projets coop\u00e9ratifs","commentaire":"Bonjour, je n'ai pas beaucoup d'information \u00e0 vous donner sur cette fleur car c'est un ami qui m'a donn\u00e9 cette photo \u00e0 d\u00e9terminer et je ne sais pas ce que c'est. Au sol j'ai l'impression que c'est des feuilles de Dryas octopetala. C'est tout ce que je peux vous dire.\n\nMerci","images":[{"id_image":"188102","date":"2012-05-31 08:36:26","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000188102XL.jpg","hauteur":"1920"}],"commentaires":{"7785":{"nb_commentaires":"0","id_commentaire":"7785","observation":"1048891","proposition":"0","id_parent":"0","auteur.id":"0","auteur.nom":"","auteur.prenom":"","auteur.courriel":"","date":"2013-09-24 12:36:53","nom_sel":"Fleur violette","nom_sel_nn":"0","nom_ret_nn":"0","proposition_initiale":"1"},"7786":{"nb_commentaires":"0","id_commentaire":"7786","observation":"1048891","proposition":"0","id_parent":"0","auteur.id":"11851","texte":"je tente ma chance avec cette esp\u00e8ce sans conviction","auteur.nom":"GO\u00cbAU","auteur.prenom":"Herv\u00e9","auteur.courriel":"herve.goeau@inria.fr","date":"2013-09-24 12:36:53","nom_sel":"Jasione crispa (Pourr.) Samp.","nom_sel_nn":"36248","proposition_initiale":"0"},"7804":{"nb_commentaires":"0","id_commentaire":"7804","observation":"1048891","proposition":"0","id_parent":"0","auteur.id":"10104","texte":"Je pense \u00e0 une V\u00e9ronique.\n4 p\u00e9tales, 2 \u00e9tamines ... mais je ne saurais dire laquelle...","auteur.nom":"BECK","auteur.prenom":"Florent","auteur.courriel":"beckflorent@gmail.com","date":"2013-09-24 22:58:12","nom_sel":"Veronica sp.","proposition_initiale":"0"},"7864":{"nb_commentaires":"0","id_commentaire":"7864","observation":"1048891","proposition":"0","id_parent":"0","auteur.id":"23407","texte":"Suite \u00e0 vos commentaire j'ai vu sur internet cette esp\u00e8ce mais qui m'a l'air bien plus velue","auteur.nom":"LABEYRIE","auteur.prenom":"Vincent","auteur.courriel":"vincent.labeyrie@hotmail.fr","date":"2013-09-26 15:21:43","nom_sel":"Jasione crispa subsp. amethystina (Lag. & Rodr.) Tutin","nom_sel_nn":"83547","proposition_initiale":"0"}}}}}
/tags/v1.1-helium/services/tests/0.1/observations/masque=G-masque.type=endiscussion.data.json
New file
0,0 → 1,0
{"entete":{"masque":"masque=G&masque.type%5Bendiscussion%5D=0","total":349,"depart":0,"limite":12,"href.precedent":null,"href.suivant":"http:\/\/eflore?navigation.depart=12&navigation.limite=12&tri=date_transmission&ordre=asc&masque=G&masque.type%5Bendiscussion%5D=0"},"resultats":{"\"16117\"":{"id_observation":"16117","determination.ns":"Ophrys scolopax Cav.","determination.nt":"30471","determination.nn":"75479","determination.famille":"Orchidaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:34131","zone_geo":"Lauret","date_observation":"2009-05-20 00:00:00","mots_cles_texte":"Mes observations,aurelienperonnet","date_transmission":"2009-09-03 22:54:35","auteur.id":"11623","auteur.prenom":"Gr\u00e9goire","auteur.nom":"DUCH\u00c9","observateur":"gregoire@tela-botanica.org","images":[{"id_image":"6969","date":"2009-05-20 18:09:59","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006969XL.jpg"},{"id_image":"6968","date":"2009-05-20 18:09:28","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006968XL.jpg"},{"id_image":"6970","date":"2009-05-20 18:11:22","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006970XL.jpg"},{"id_image":"6971","date":"2009-05-20 18:13:29","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006971XL.jpg"},{"id_image":"6972","date":"2009-05-20 18:14:22","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006972XL.jpg"},{"id_image":"6973","date":"2009-05-20 18:15:15","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006973XL.jpg"},{"id_image":"6974","date":"2009-05-20 18:15:39","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006974XL.jpg"},{"id_image":"6975","date":"2009-05-20 18:16:15","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006975XL.jpg"},{"id_image":"6976","date":"2009-05-20 18:16:50","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006976XL.jpg"},{"id_image":"6977","date":"2009-05-20 18:16:58","hauteur":"4288","largeur":"2848","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006977XL.jpg"},{"id_image":"6978","date":"2009-05-20 18:25:52","hauteur":"2304","largeur":"1759","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006978XL.jpg"}],"commentaires":[{"3911":{"nb_commentaires":"0","id_commentaire":"3911","observation":"16117","proposition":"0","id_parent":"0","auteur.id":"11623","auteur.nom":"DUCH\u00c9","auteur.prenom":"Gr\u00e9goire","auteur.courriel":"gregoire@tela-botanica.org","date":"2013-05-13 11:09:03","nom_sel":"Ophrys scolopax Cav.","nom_sel_nn":"75479","nom_ret_nn":"75479","proposition_initiale":"1","votes":{"5151":{"vote.id":"5151","proposition.id":"3911","auteur.id":"11623","vote":"0","date":"2013-05-13 11:09:07"}}}},{"3912":{"nb_commentaires":"0","id_commentaire":"3912","observation":"16117","proposition":"0","id_parent":"0","auteur.id":"11623","texte":"je crois","auteur.nom":"DUCH\u00c9","auteur.prenom":"Gr\u00e9goire","auteur.courriel":"gregoire@tela-botanica.org","date":"2013-05-13 11:09:03","nom_sel":"Ophrys apifera Huds.","nom_sel_nn":"45064","proposition_initiale":"0","votes":{"5150":{"vote.id":"5150","proposition.id":"3912","auteur.id":"11623","vote":"1","date":"2013-05-13 11:09:06"}}}}]},"\"15282\"":{"id_observation":"15282","determination.ns":"Mespilus germanica L.","determination.nt":"4763","determination.nn":"42397","determination.famille":"Rosaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:30033","zone_geo":"Beauvoisin","lieudit":"La Passeronne","station":"43\u00b043'02.2\"N 04\u00b019'02.2\"E","date_observation":"2009-08-06 00:00:00","date_transmission":"2010-11-04 15:46:31","auteur.id":"7303","auteur.prenom":"Ruddy","auteur.nom":"BENEZET","observateur":"ruddy.benezet@gmail.com","images":[{"id_image":"6410","date":"0000-00-00 00:00:00","hauteur":"1494","largeur":"1528","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006410XL.jpg"},{"id_image":"6409","date":"0000-00-00 00:00:00","hauteur":"1918","largeur":"1719","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006409XL.jpg"},{"id_image":"6408","date":"0000-00-00 00:00:00","hauteur":"2162","largeur":"1371","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006408XL.jpg"},{"id_image":"6407","date":"0000-00-00 00:00:00","hauteur":"3510","largeur":"2226","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006407XL.jpg"},{"id_image":"6406","date":"0000-00-00 00:00:00","hauteur":"3092","largeur":"1975","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006406XL.jpg"},{"id_image":"6405","date":"0000-00-00 00:00:00","hauteur":"3057","largeur":"1989","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006405XL.jpg"},{"id_image":"6404","date":"0000-00-00 00:00:00","hauteur":"1755","largeur":"1275","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006404XL.jpg"},{"id_image":"6881","date":"0000-00-00 00:00:00","hauteur":"1755","largeur":"1275","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006881XL.jpg"},{"id_image":"6882","date":"0000-00-00 00:00:00","hauteur":"2739","largeur":"1509","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006882XL.jpg"},{"id_image":"6883","date":"0000-00-00 00:00:00","hauteur":"2671","largeur":"1995","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006883XL.jpg"},{"id_image":"6884","date":"0000-00-00 00:00:00","hauteur":"3201","largeur":"2376","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006884XL.jpg"},{"id_image":"6885","date":"0000-00-00 00:00:00","hauteur":"2559","largeur":"2374","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006885XL.jpg"},{"id_image":"6886","date":"0000-00-00 00:00:00","hauteur":"2466","largeur":"2376","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006886XL.jpg"},{"id_image":"6887","date":"0000-00-00 00:00:00","hauteur":"2829","largeur":"1539","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006887XL.jpg"},{"id_image":"6888","date":"0000-00-00 00:00:00","hauteur":"3254","largeur":"1495","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006888XL.jpg"},{"id_image":"6889","date":"0000-00-00 00:00:00","hauteur":"2933","largeur":"1969","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006889XL.jpg"},{"id_image":"6890","date":"0000-00-00 00:00:00","hauteur":"2994","largeur":"2376","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000006890XL.jpg"}],"commentaires":[{"3937":{"nb_commentaires":"0","id_commentaire":"3937","observation":"15282","proposition":"0","id_parent":"0","auteur.id":"7303","auteur.nom":"BENEZET","auteur.prenom":"Ruddy","auteur.courriel":"ruddy.benezet@gmail.com","date":"2013-05-13 22:49:10","nom_sel":"Mespilus germanica L.","nom_sel_nn":"42397","nom_ret_nn":"42397","proposition_initiale":"1"}},{"3938":{"nb_commentaires":"0","id_commentaire":"3938","observation":"15282","proposition":"0","id_parent":"0","auteur.id":"121","auteur.nom":"BARTH\u00c9L\u00c9MY","auteur.prenom":"Daniel","auteur.courriel":"daniel.barthelemy@cirad.fr","date":"2013-05-13 22:49:10","nom_sel":"Eriobotrya japonica (Thunb.) Lindl.","nom_sel_nn":"24979","proposition_initiale":"0"}}]},"\"167375\"":{"id_observation":"167375","determination.ns":"Carduus tenuiflorus Curtis","determination.nt":"545","determination.nn":"13358","determination.famille":"Asteraceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:84007","zone_geo":"Avignon","lieudit":"Avenue de Tarascon","station":"Culture abandonn\u00e9e","milieu":"Prairie","date_observation":"2009-05-03 00:00:00","mots_cles_texte":"Vigie-Flore,Maille 4202-G","date_transmission":"2010-12-28 23:23:13","auteur.id":"5","auteur.prenom":"Daniel","auteur.nom":"MATHIEU","observateur":"dmathieu@tela-botanica.org","images":[{"id_image":"15974","date":"2009-05-03 10:49:16","hauteur":"800","largeur":"535","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000015974XL.jpg"}],"commentaires":[{"3465":{"nb_commentaires":"0","id_commentaire":"3465","observation":"167375","proposition":"0","id_parent":"0","auteur.id":"5","auteur.nom":"MATHIEU","auteur.prenom":"Daniel","auteur.courriel":"dmathieu@tela-botanica.org","date":"2013-04-28 01:35:25","nom_sel":"Carduus tenuiflorus Curtis","nom_sel_nn":"13358","nom_ret_nn":"13358","proposition_initiale":"1","votes":{"4479":{"vote.id":"4479","proposition.id":"3465","auteur.id":"7163","vote":"0","date":"2013-04-28 01:35:28"}}}},{"3466":{"nb_commentaires":"0","id_commentaire":"3466","observation":"167375","proposition":"0","id_parent":"0","auteur.id":"7163","auteur.nom":"MERCIER","auteur.prenom":"David","auteur.courriel":"davidpmercier@yahoo.fr","date":"2013-04-28 01:35:25","nom_sel":"Carduus pycnocephalus L.","nom_sel_nn":"75026","proposition_initiale":"0"}}]},"\"350814\"":{"id_observation":"350814","determination.ns":"Gagea granatelli (Parl.) Parl.","determination.nt":"6315","determination.nn":"28634","determination.famille":"Liliaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:34129","zone_geo":"Lattes","lieudit":"Mas Mannier","date_observation":"2005-03-01 00:00:00","date_transmission":"2011-08-04 11:20:23","auteur.id":"16995","auteur.prenom":"Christophe","auteur.nom":"BERNIER","observateur":"christophe.bernier@tela-botanica.org","images":[{"id_image":"39928","date":"2005-03-08 17:47:39","hauteur":"1536","largeur":"2048","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000039928XL.jpg"},{"id_image":"39927","date":"2005-03-08 17:41:21","hauteur":"1536","largeur":"2048","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000039927XL.jpg"}],"commentaires":[{"1142":{"nb_commentaires":"0","id_commentaire":"1142","observation":"350814","proposition":"0","id_parent":"0","auteur.id":"44","texte":"la gag\u00e9e des garrigues calcaires autour de Montpellier est G. lacaitae. G. granatelli pousse plus \u00e0 l'ouest, dans le Minervois","auteur.nom":"GIROD","auteur.prenom":"Christophe","auteur.courriel":"chrisgir2@yahoo.fr","date":"2013-02-04 20:38:15","nom_sel":"Gagea lacaitae A.Terracc.","proposition_initiale":"0"}},{"1150":{"nb_commentaires":"0","id_commentaire":"1150","observation":"350814","proposition":"0","id_parent":"0","auteur.id":"16995","auteur.nom":"BERNIER","auteur.prenom":"Christophe","auteur.courriel":"christophe.bernier@tela-botanica.org","date":"2011-08-04 11:20:23","nom_sel":"Gagea granatelli (Parl.) Parl.","nom_sel_nn":"28634","nom_ret_nn":"28634","proposition_initiale":"1","votes":{"1434":{"vote.id":"1434","proposition.id":"1150","auteur.id":"44","vote":"0","date":"2013-02-04 20:40:41"},"1564":{"vote.id":"1564","proposition.id":"1150","auteur.id":"389470bbca344f8cdc4905d2c791395b","vote":"0","date":"2013-02-14 16:11:42"}}}}]},"\"350815\"":{"id_observation":"350815","determination.ns":"Gagea granatelli (Parl.) Parl.","determination.nt":"6315","determination.nn":"28634","determination.famille":"Liliaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:34129","zone_geo":"Lattes","lieudit":"Mas Mannier","date_observation":"2005-03-08 00:00:00","date_transmission":"2011-08-04 11:20:23","auteur.id":"16995","auteur.prenom":"Christophe","auteur.nom":"BERNIER","observateur":"christophe.bernier@tela-botanica.org","images":[{"id_image":"39930","date":"0000-00-00 00:00:00","hauteur":"1173","largeur":"1969","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000039930XL.jpg"},{"id_image":"39929","date":"0000-00-00 00:00:00","hauteur":"1224","largeur":"1944","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000039929XL.jpg"}],"commentaires":[{"1151":{"nb_commentaires":"0","id_commentaire":"1151","observation":"350815","proposition":"0","id_parent":"0","auteur.id":"16995","auteur.nom":"BERNIER","auteur.prenom":"Christophe","auteur.courriel":"christophe.bernier@tela-botanica.org","date":"2011-08-04 11:20:23","nom_sel":"Gagea granatelli (Parl.) Parl.","nom_sel_nn":"28634","nom_ret_nn":"28634","proposition_initiale":"1","votes":{"1435":{"vote.id":"1435","proposition.id":"1151","auteur.id":"44","vote":"0","date":"2013-02-04 20:40:47"}}}},{"1152":{"nb_commentaires":"0","id_commentaire":"1152","observation":"350815","proposition":"0","id_parent":"0","auteur.id":"44","texte":"la gag\u00e9e des garrigues calcaires autour de Montpellier est G. lacaitae. G. granatelli pousse plus \u00e0 l'ouest, dans le Minervois","auteur.nom":"GIROD","auteur.prenom":"Christophe","auteur.courriel":"chrisgir2@yahoo.fr","date":"2013-02-04 20:40:56","nom_sel":"Gagea lacaitae A.Terracc.","proposition_initiale":"0"}}]},"\"374880\"":{"id_observation":"374880","determination.ns":"Carduus tenuiflorus Curtis","determination.nt":"545","determination.nn":"13358","determination.famille":"Asteraceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:49117","zone_geo":"La Dagueni\u00e8re","milieu":"bord de rivi\u00e8re","date_observation":"2004-05-29 00:00:00","date_transmission":"2011-10-08 19:00:59","auteur.id":"2143","auteur.prenom":"Augustin","auteur.nom":"ROCHE","observateur":"augustin.roche@gmail.com","images":[{"id_image":"26280","date":"2004-05-29 16:06:11","hauteur":"1600","largeur":"1200","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000026280XL.jpg"},{"id_image":"26368","date":"2004-05-29 16:06:20","hauteur":"1600","largeur":"1200","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000026368XL.jpg"},{"id_image":"26279","date":"2004-05-29 16:06:27","hauteur":"1600","largeur":"1200","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000026279XL.jpg"}],"commentaires":[{"3435":{"nb_commentaires":"0","id_commentaire":"3435","observation":"374880","proposition":"0","id_parent":"0","auteur.id":"2143","auteur.nom":"ROCHE","auteur.prenom":"Augustin","auteur.courriel":"augustin.roche@gmail.com","date":"2013-04-28 01:14:57","nom_sel":"Carduus tenuiflorus Curtis","nom_sel_nn":"13358","nom_ret_nn":"13358","proposition_initiale":"1","votes":{"4451":{"vote.id":"4451","proposition.id":"3435","auteur.id":"7163","vote":"0","date":"2013-04-28 01:14:57"}}}},{"3436":{"nb_commentaires":"0","id_commentaire":"3436","observation":"374880","proposition":"0","id_parent":"0","auteur.id":"7163","texte":"Les fleurons d\u00e9passent nettement les bract\u00e9es, ces derni\u00e8res \u00e9tant tr\u00e8s aran\u00e9euses sur le dos : il s'agit de C. pycnocephalus. Les confusions sont fr\u00e9quentes entre C. pycnocephalus et tenuiflorus, pour cause de flores indiquant des caract\u00e8res peu fiables (tiges ail\u00e9es ou non, capitules regroup\u00e9s en t\u00eates plus ou moins fournies, couleurs de fleurs). La flore des champs cultiv\u00e9s (Jauzein 1995) est plus fiable.","auteur.nom":"MERCIER","auteur.prenom":"David","auteur.courriel":"davidpmercier@yahoo.fr","date":"2013-04-28 01:19:29","nom_sel":"Carduus pycnocephalus L.","nom_sel_nn":"75026","proposition_initiale":"0","votes":{"4467":{"vote.id":"4467","proposition.id":"3436","auteur.id":"7163","vote":"1","date":"2013-04-28 01:28:42"}}}}]},"\"386183\"":{"id_observation":"386183","determination.ns":"Fritillaria meleagris L.","determination.nt":"6305","determination.nn":"28311","determination.famille":"Liliaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:37242","zone_geo":"Savigny-en-V\u00e9ron","milieu":"prairie humide","date_observation":"2011-04-07 00:00:00","date_transmission":"2011-11-04 15:07:41","auteur.id":"17106","auteur.prenom":"H\u00e9l\u00e8ne","auteur.nom":"LABALTE","observateur":"labalte.h@wanadoo.fr","images":[{"id_image":"50739","date":"2011-04-07 16:34:51","hauteur":"3264","largeur":"2448","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000050739XL.jpg"}],"commentaires":[{"2634":{"nb_commentaires":"0","id_commentaire":"2634","observation":"386183","proposition":"0","id_parent":"0","auteur.id":"17106","auteur.nom":"LABALTE","auteur.prenom":"H\u00e9l\u00e8ne","auteur.courriel":"labalte.h@wanadoo.fr","date":"2011-11-04 15:07:41","nom_sel":"Fritillaria","nom_sel_nn":"100649","nom_ret_nn":"100649","proposition_initiale":"1","votes":{"3499":{"vote.id":"3499","proposition.id":"2634","auteur.id":"20207","vote":"1","date":"2013-04-10 08:55:13"}}}},{"2635":{"nb_commentaires":"0","id_commentaire":"2635","observation":"386183","proposition":"0","id_parent":"0","auteur.id":"20207","auteur.nom":"SUTTER","auteur.prenom":"Claire","auteur.courriel":"jardin-de-claire@orange.fr","date":"2013-04-10 08:55:07","nom_sel":"Fritillaria meleagris L.","proposition_initiale":"0","votes":{"4708":{"vote.id":"4708","proposition.id":"2635","auteur.id":"121","vote":"1","date":"2013-05-01 16:37:25"},"5434":{"vote.id":"5434","proposition.id":"2635","auteur.id":"2819","vote":"1","date":"2013-05-22 14:47:55"}}}}]},"\"629145\"":{"id_observation":"629145","determination.ns":"Gagea granatelli (Parl.) Parl.","determination.nt":"6315","determination.nn":"28634","determination.famille":"Liliaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:34270","zone_geo":"Saint-Jean-de-V\u00e9das","milieu":"gazon \u00e0 brachypodes en pente douce, sol l\u00e9g\u00e8rement humide","date_observation":"2012-01-17 00:00:00","mots_cles_texte":"module veiller","date_transmission":"2012-01-18 15:45:47","auteur.id":"18043","auteur.prenom":"L\u00e9o","auteur.nom":"PICHON","observateur":"pichon.leo@gmail.com","commentaire":"10 \u00e0 15 individus observ\u00e9s sur une zone tr\u00e8s localis\u00e9e d'environ 1m\u00e8tre carr\u00e9, assez dense en brachypodes","images":[{"id_image":"55446","date":"2012-01-17 16:03:01","hauteur":"1632","largeur":"1224","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000055446XL.jpg"}],"commentaires":[{"1139":{"nb_commentaires":"0","id_commentaire":"1139","observation":"629145","proposition":"0","id_parent":"0","auteur.id":"44","texte":"la gag\u00e9e des garrigues calcaires autour de Montpellier est G. lacaitae. G. granatelli pousse plus \u00e0 l'ouest, dans le Minervois","auteur.nom":"GIROD","auteur.prenom":"Christophe","auteur.courriel":"chrisgir2@yahoo.fr","date":"2013-02-04 20:37:34","nom_sel":"Gagea lacaitae A.Terracc.","proposition_initiale":"0"}},{"1141":{"nb_commentaires":"0","id_commentaire":"1141","observation":"629145","proposition":"0","id_parent":"0","auteur.id":"18043","auteur.nom":"PICHON","auteur.prenom":"L\u00e9o","auteur.courriel":"pichon.leo@gmail.com","date":"2012-01-18 15:45:47","nom_sel":"Gagea granatelli (Parl.) Parl.","nom_sel_nn":"28634","nom_ret_nn":"28634","proposition_initiale":"1","votes":{"1427":{"vote.id":"1427","proposition.id":"1141","auteur.id":"44","vote":"0","date":"2013-02-04 20:37:38"}}}}]},"\"636442\"":{"id_observation":"636442","determination.ns":"Clematis vitalba L.","determination.nt":"4436","determination.nn":"18235","determination.famille":"Ranunculaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:05061","zone_geo":"Gap","date_observation":"1863-08-16 00:00:00","mots_cles_texte":"Herbier:Inconnu,Liasse:HG8,Herbarium:MPU,Collecteur:inconnu,France","date_transmission":"2012-01-26 09:35:21","auteur.id":"18133","auteur.prenom":"Jean-Pascal","auteur.nom":"MILCENT","observateur":"mpu-jp.milcent@tela-botanica.org","commentaire":"num_part:3;","images":[{"id_image":"55822","date":"2012-01-24 15:05:52","hauteur":"3279","largeur":"2034","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000055822XL.jpg"},{"id_image":"55823","date":"2012-01-24 15:05:52","hauteur":"450","largeur":"921","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000055823XL.jpg"}],"commentaires":[{"2986":{"nb_commentaires":"0","id_commentaire":"2986","observation":"636442","proposition":"0","id_parent":"0","auteur.id":"18133","auteur.nom":"MILCENT","auteur.prenom":"Jean-Pascal","auteur.courriel":"mpu-jp.milcent@tela-botanica.org","date":"2013-04-15 14:18:10","nom_sel":"Clematis vitalba L.","nom_sel_nn":"18235","nom_ret_nn":"18235","proposition_initiale":"1"}},{"2987":{"nb_commentaires":"0","id_commentaire":"2987","observation":"636442","proposition":"0","id_parent":"0","auteur.id":"10229","auteur.nom":"PERONNET","auteur.prenom":"Aur\u00e9lien","auteur.courriel":"aurelien@tela-botanica.org","date":"2013-04-15 14:18:10","nom_sel":"Clematis alpina (L.) Mill.","nom_sel_nn":"75058","proposition_initiale":"0","votes":{"3900":{"vote.id":"3900","proposition.id":"2987","auteur.id":"10229","vote":"1","date":"2013-04-15 14:18:14"}}}}]},"\"719147\"":{"id_observation":"719147","determination.ns":"Sagina apetala Ard.","determination.nt":"2161","determination.nn":"59056","determination.famille":"Caryophyllaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:85166","zone_geo":"Olonne-sur-Mer","date_observation":"2006-08-30 00:00:00","date_transmission":"2012-02-14 15:47:50","auteur.id":"4967","auteur.prenom":"Mathieu","auteur.nom":"MENAND","observateur":"mathieumenand@yahoo.fr","images":[{"id_image":"20637","date":"2008-04-19 17:06:01","hauteur":"600","largeur":"800","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000020637XL.jpg"}],"commentaires":[{"3416":{"nb_commentaires":"0","id_commentaire":"3416","observation":"719147","proposition":"0","id_parent":"0","auteur.id":"4967","auteur.nom":"MENAND","auteur.prenom":"Mathieu","auteur.courriel":"mathieumenand@yahoo.fr","date":"2013-04-28 00:52:47","nom_sel":"Sagina apetala Ard.","nom_sel_nn":"59056","nom_ret_nn":"59056","proposition_initiale":"1"}},{"3417":{"nb_commentaires":"0","id_commentaire":"3417","observation":"719147","proposition":"0","id_parent":"0","auteur.id":"7163","texte":"C'est la sous-esp\u00e8ce erecta \u00e0 s\u00e9pales courts et \u00e9tal\u00e9s","auteur.nom":"MERCIER","auteur.prenom":"David","auteur.courriel":"davidpmercier@yahoo.fr","date":"2013-04-28 00:52:47","nom_sel":"Sagina apetala subsp. erecta F.Herm.","nom_sel_nn":"59061","proposition_initiale":"0","votes":{"4434":{"vote.id":"4434","proposition.id":"3417","auteur.id":"7163","vote":"1","date":"2013-04-28 00:55:36"}}}}]},"\"720368\"":{"id_observation":"720368","determination.ns":"Sagina apetala Ard.","determination.nt":"2161","determination.nn":"59056","determination.famille":"Caryophyllaceae","determination.referentiel":"bdtfx:v1.01","id_zone_geo":"INSEE-C:31022","zone_geo":"Aucamville","date_observation":"2008-04-10 00:00:00","date_transmission":"2012-02-14 15:47:50","auteur.id":"4967","auteur.prenom":"Mathieu","auteur.nom":"MENAND","observateur":"mathieumenand@yahoo.fr","images":[{"id_image":"20627","date":"2008-04-10 12:01:54","hauteur":"600","largeur":"800","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000020627XL.jpg"}],"commentaires":[{"3420":{"nb_commentaires":"0","id_commentaire":"3420","observation":"720368","proposition":"0","id_parent":"0","auteur.id":"4967","auteur.nom":"MENAND","auteur.prenom":"Mathieu","auteur.courriel":"mathieumenand@yahoo.fr","date":"2013-04-28 01:01:07","nom_sel":"Sagina apetala Ard.","nom_sel_nn":"59056","nom_ret_nn":"59056","proposition_initiale":"1"}},{"3421":{"nb_commentaires":"1","id_commentaire":"3421","observation":"720368","proposition":"0","id_parent":"0","auteur.id":"7163","texte":"Il semble qu'il s'agisse de cette esp\u00e8ce : les s\u00e9pales sont grands, les feuilles larges et la plante est apparemment vivace. Mais la photo est difficile \u00e0 interpr\u00e9ter, donc je reste avec un l\u00e9ger doute.","auteur.nom":"MERCIER","auteur.prenom":"David","auteur.courriel":"davidpmercier@yahoo.fr","date":"2013-04-28 01:01:07","nom_sel":"Sagina procumbens L.","nom_sel_nn":"59112","proposition_initiale":"0","votes":{"4442":{"vote.id":"4442","proposition.id":"3421","auteur.id":"7163","vote":"0","date":"2013-04-28 01:06:35"}}}},{"3428":{"nb_commentaires":"0","id_commentaire":"3428","observation":"720368","proposition":"0","id_parent":"0","auteur.id":"7163","texte":"J'ai d'abord pris cette plante pour S. procumbens : voir le commentaires sous ce nom.","auteur.nom":"MERCIER","auteur.prenom":"David","auteur.courriel":"davidpmercier@yahoo.fr","date":"2013-04-28 01:09:34","nom_sel":"Sagina apetala subsp. erecta F.Herm.","nom_sel_nn":"59061","proposition_initiale":"0","votes":{"4443":{"vote.id":"4443","proposition.id":"3428","auteur.id":"7163","vote":"1","date":"2013-04-28 01:09:37"}}}}]},"\"720471\"":{"id_observation":"720471","determination.ns":"Gagea bohemica (Zauschn.) Schult. & Schult.f.","determination.nt":"10135","determination.nn":"28606","determination.famille":"Liliaceae","determination.referentiel":"bdtfx:v1.01","zone_geo":"Cr\u00e8te","date_observation":"2008-04-23 00:00:00","date_transmission":"2012-02-14 15:47:50","auteur.id":"4967","auteur.prenom":"Mathieu","auteur.nom":"MENAND","observateur":"mathieumenand@yahoo.fr","images":[{"id_image":"22952","date":"2008-04-30 14:42:08","hauteur":"600","largeur":"800","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000022952XL.jpg"},{"id_image":"22965","date":"2008-04-30 14:42:35","hauteur":"600","largeur":"800","binaire.href":"http:\/\/www.tela-botanica.org\/appli:cel-img:000022965XL.jpg"}],"commentaires":[{"1134":{"nb_commentaires":"0","id_commentaire":"1134","observation":"720471","proposition":"0","id_parent":"0","auteur.id":"4967","auteur.nom":"MENAND","auteur.prenom":"Mathieu","auteur.courriel":"mathieumenand@yahoo.fr","date":"2012-02-14 15:47:50","nom_sel":"Gagea bohemica (Zauschn.) Schult. & Schult.f.","nom_sel_nn":"28606","nom_ret_nn":"28606","proposition_initiale":"1","votes":{"1422":{"vote.id":"1422","proposition.id":"1134","auteur.id":"44","vote":"0","date":"2013-02-04 20:36:18"}}}}]}}}