Rev 839 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** @category PHP 5.2* @package Framework* @author Raphaël Droz <raphael@tela-botanica.org>* @copyright Copyright (c) 2013, Tela Botanica (accueil@tela-botanica.org)* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2*//*- bootstrap le framework- bootstrap une fiche- puis, pour un ou plusieurs onglet (automatique ou manuellement),obtient les données correspondante.L'objectif est de pouvoir générer un flux de données exhaustive pour une Fiche donnéetout en restant assez indépendant des (lourds) appels à l'API.Une finalité est de pouvoir s'orienter vers un cron pour index Sphinx, tout enpermettant d'identifier les limites de l'API.*/define('_DIR_FRAMEWORK', '/home/raphael/TBF/trunk/framework');define('_DIR_CONSULT', '/home/raphael/eflore/consultation');define('_DIR_SERVICES', '/home/raphael/eflore/projets/services/modules/0.1');//require_once __DIR__ . '/../../framework.php';set_include_path(_DIR_FRAMEWORK . PATH_SEPARATOR ._DIR_CONSULT . '/controleurs' . PATH_SEPARATOR ._DIR_CONSULT . '/bibliotheque' . PATH_SEPARATOR ._DIR_CONSULT . '/modules/fiche' . PATH_SEPARATOR ._DIR_CONSULT . '/metier/api_0.1' . PATH_SEPARATOR ._DIR_SERVICES . '/commun' . PATH_SEPARATOR ._DIR_SERVICES . '/bdtfx' . PATH_SEPARATOR ._DIR_CONSULT . '/modules/fiche/formateurs' . PATH_SEPARATOR .get_include_path());spl_autoload_extensions('.php');spl_autoload_register();/*require_once _DIR_FRAMEWORK . '/Controleur.php';require_once _DIR_CONSULT . '/controleurs/AppControleur.php';require_once _DIR_CONSULT . '/bibliotheque/AppUrls.php';require_once _DIR_CONSULT . '/controleurs/aControleur.php';require_once _DIR_CONSULT . '/bibliotheque/Conteneur.php';require_once _DIR_CONSULT . '/modules/fiche/Fiche.php';*/// require_once _DIR_CONSULT . '/modules/fiche/Fiche.php'require_once('Framework.php');Framework::setCheminAppli(__FILE__);Framework::setInfoAppli(Config::get('info'));// idéalement// $a = new Fiche(new Conteneur(array()));require_once('Config.php');require_once('Controleur.php');require_once('aControleur.php');require_once('AppControleur.php');require_once('AppUrls.php');require_once('Conteneur.php');AppControleur::initialiser();require_once('Commun.php');require_once('CommunNomsTaxons.php');require_once('Eflore.php');require_once('Taxons.php');require_once('Noms.php');require_once('NomCourant.php');require_once('Nom.php');Config::charger(_DIR_FRAMEWORK . '/config.ini');Config::charger(_DIR_CONSULT . '/configurations/config.ini');require_once('Fiche.php');$a = new Fiche();$_GET['num_nom'] = 141;$_GET['referentiel'] = 'bdtfx';$a->initialiser();$classes = array(// 'illustrations',// 'repartition',// 'ecologie', // fait main (mais peu utile)// 'nomenclature', // TODO// 'description', // fait main// 'ethnobotanique', // fait main// 'bibliographie', // fait main// 'statut', // TODO);// pour nomenclaturerequire_once('MetaDonnees.php');require_once('Wikini.php');// pour descriptionrequire_once('Textes.php');require_once('Informations.php');// pour ethnobotaniquerequire_once('NomsVernaculaires.php');// pour bibliographierequire_once('BiblioBota.php');// pour statutsrequire_once('Statuts.php');// pour ecologierequire_once('Graphiques.php');require_once('Syntaxons.php');// pour repartitionrequire_once('Cartes.php'); // TODO// way 1foreach($classes as $c) {$a->onglet = $c;$b = $a->obtenirDonnees();var_dump($b);die();}// non-nécessaire si l'on peut récupérer le conteneur// initialisé par new Fiche()// $conteneur = new Conteneur($a->parametres);// description$onglet = new Description($a->conteneur);$onglet->obtenirDonnees();$onglet->getCoste();echo implode('; ', $onglet->donnees['wikini']['description']);echo implode('; ', $onglet->donnees['coste']['description']);// bibliographieConfig::charger(_DIR_CONSULT . '/configurations/bdtfx.ini');$onglet = new Bibliographie($a->conteneur);$onglet->obtenirDonnees();echo implode('; ', $onglet->donnees['flores']['liste_flores']);echo implode('; ', $onglet->donnees['bibliobota']['references']);// ethnobotaConfig::charger(_DIR_CONSULT . '/configurations/bdtfx.ini');$onglet = new Ethnobotanique($a->conteneur);$onglet->obtenirDonnees();echo implode('; ', array_map(function($v) { return $v['nom_vernaculaire']; }, $onglet->donnees['nvjfl']['noms'])) . '; ' .implode('; ', array_map(function($v) { return $v['nom_vernaculaire']; }, $onglet->donnees['nvps']['noms']));// ecologieConfig::charger(_DIR_CONSULT . '/configurations/bdtfx.ini');$onglet = new Ecologie($a->conteneur);// $onglet->obtenirDonnees(); // slow !// var_dump($onglet->donnees['baseflor']['legende']);/*API: TODO:- Chaque service de /consultation/formateur/ doit définir en en-tête:* référentiels supportés* fichiers/directives de configuration nécessaire* class utilisées (namespace "use")- obtenirDonnees() doit prendre ses paramètres [optionnels] par argument, sans comptersur l'instanciation et la définition d'attributs- obtenirDonnees() doit retourner les valeurs générées- obtenirDonnees() ne doit pas traiter le formattage des résultats (getBloc() oui)- si $this->données reste nécessaire pour une quelconque raison, celui-ci doit être public- pour Fiche.php- onglets ne doit plus être un attribut (pas même public)- executerFiche(), executerOnglet() et obtenirDonnees() doivent prendre un $onglet comme paramètre- $parametre et $conteneur doivent être "public"*/