827 |
raphael |
1 |
<?php
|
|
|
2 |
/**
|
|
|
3 |
* @category PHP 5.2
|
|
|
4 |
* @package Framework
|
|
|
5 |
* @author Raphaël Droz <raphael@tela-botanica.org>
|
|
|
6 |
* @copyright Copyright (c) 2013, Tela Botanica (accueil@tela-botanica.org)
|
|
|
7 |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3
|
|
|
8 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2
|
|
|
9 |
*/
|
|
|
10 |
|
|
|
11 |
/*
|
|
|
12 |
- bootstrap le framework
|
|
|
13 |
- bootstrap une fiche
|
|
|
14 |
- puis, pour un ou plusieurs onglet (automatique ou manuellement),
|
|
|
15 |
obtient les données correspondante.
|
|
|
16 |
|
|
|
17 |
L'objectif est de pouvoir générer un flux de données exhaustive pour une Fiche donnée
|
|
|
18 |
tout en restant assez indépendant des (lourds) appels à l'API.
|
|
|
19 |
Une finalité est de pouvoir s'orienter vers un cron pour index Sphinx, tout en
|
|
|
20 |
permettant d'identifier les limites de l'API.
|
|
|
21 |
*/
|
|
|
22 |
|
|
|
23 |
|
|
|
24 |
define('_DIR_FRAMEWORK', '/home/raphael/TBF/trunk/framework');
|
|
|
25 |
define('_DIR_CONSULT', '/home/raphael/eflore/consultation');
|
|
|
26 |
define('_DIR_SERVICES', '/home/raphael/eflore/projets/services/modules/0.1');
|
|
|
27 |
|
|
|
28 |
//require_once __DIR__ . '/../../framework.php';
|
|
|
29 |
set_include_path(_DIR_FRAMEWORK . PATH_SEPARATOR .
|
|
|
30 |
_DIR_CONSULT . '/controleurs' . PATH_SEPARATOR .
|
|
|
31 |
_DIR_CONSULT . '/bibliotheque' . PATH_SEPARATOR .
|
|
|
32 |
_DIR_CONSULT . '/modules/fiche' . PATH_SEPARATOR .
|
|
|
33 |
_DIR_CONSULT . '/metier/api_0.1' . PATH_SEPARATOR .
|
|
|
34 |
_DIR_SERVICES . '/commun' . PATH_SEPARATOR .
|
|
|
35 |
_DIR_SERVICES . '/bdtfx' . PATH_SEPARATOR .
|
|
|
36 |
_DIR_CONSULT . '/modules/fiche/formateurs' . PATH_SEPARATOR .
|
|
|
37 |
get_include_path());
|
|
|
38 |
spl_autoload_extensions('.php');
|
|
|
39 |
spl_autoload_register();
|
|
|
40 |
|
|
|
41 |
/*require_once _DIR_FRAMEWORK . '/Controleur.php';
|
|
|
42 |
require_once _DIR_CONSULT . '/controleurs/AppControleur.php';
|
|
|
43 |
require_once _DIR_CONSULT . '/bibliotheque/AppUrls.php';
|
|
|
44 |
require_once _DIR_CONSULT . '/controleurs/aControleur.php';
|
|
|
45 |
require_once _DIR_CONSULT . '/bibliotheque/Conteneur.php';
|
|
|
46 |
require_once _DIR_CONSULT . '/modules/fiche/Fiche.php';*/
|
|
|
47 |
|
|
|
48 |
|
|
|
49 |
// require_once _DIR_CONSULT . '/modules/fiche/Fiche.php'
|
|
|
50 |
require_once('Framework.php');
|
|
|
51 |
Framework::setCheminAppli(__FILE__);
|
|
|
52 |
Framework::setInfoAppli(Config::get('info'));
|
|
|
53 |
// idéalement
|
|
|
54 |
// $a = new Fiche(new Conteneur(array()));
|
|
|
55 |
|
|
|
56 |
|
|
|
57 |
require_once('Config.php');
|
|
|
58 |
require_once('Controleur.php');
|
|
|
59 |
require_once('aControleur.php');
|
|
|
60 |
require_once('AppControleur.php');
|
|
|
61 |
require_once('AppUrls.php');
|
|
|
62 |
require_once('Conteneur.php');
|
|
|
63 |
|
|
|
64 |
AppControleur::initialiser();
|
|
|
65 |
|
|
|
66 |
require_once('Commun.php');
|
|
|
67 |
require_once('CommunNomsTaxons.php');
|
|
|
68 |
require_once('Eflore.php');
|
|
|
69 |
require_once('Taxons.php');
|
|
|
70 |
require_once('Noms.php');
|
|
|
71 |
|
|
|
72 |
require_once('NomCourant.php');
|
|
|
73 |
require_once('Nom.php');
|
|
|
74 |
|
|
|
75 |
Config::charger(_DIR_FRAMEWORK . '/config.ini');
|
|
|
76 |
Config::charger(_DIR_CONSULT . '/configurations/config.ini');
|
|
|
77 |
|
|
|
78 |
|
|
|
79 |
require_once('Fiche.php');
|
|
|
80 |
$a = new Fiche();
|
|
|
81 |
$_GET['num_nom'] = 141;
|
|
|
82 |
$_GET['referentiel'] = 'bdtfx';
|
|
|
83 |
|
|
|
84 |
$a->initialiser();
|
|
|
85 |
|
|
|
86 |
$classes = array(
|
|
|
87 |
// 'illustrations',
|
|
|
88 |
// 'repartition',
|
|
|
89 |
// 'ecologie', // fait main (mais peu utile)
|
|
|
90 |
|
|
|
91 |
// 'nomenclature', // TODO
|
|
|
92 |
// 'description', // fait main
|
|
|
93 |
// 'ethnobotanique', // fait main
|
|
|
94 |
// 'bibliographie', // fait main
|
|
|
95 |
// 'statut', // TODO
|
|
|
96 |
);
|
|
|
97 |
|
|
|
98 |
// pour nomenclature
|
|
|
99 |
require_once('MetaDonnees.php');
|
|
|
100 |
require_once('Wikini.php');
|
|
|
101 |
|
|
|
102 |
// pour description
|
|
|
103 |
require_once('Textes.php');
|
|
|
104 |
require_once('Informations.php');
|
|
|
105 |
|
|
|
106 |
// pour ethnobotanique
|
|
|
107 |
require_once('NomsVernaculaires.php');
|
|
|
108 |
|
|
|
109 |
// pour bibliographie
|
|
|
110 |
require_once('BiblioBota.php');
|
|
|
111 |
|
|
|
112 |
// pour statuts
|
|
|
113 |
require_once('Statuts.php');
|
|
|
114 |
|
|
|
115 |
// pour ecologie
|
|
|
116 |
require_once('Graphiques.php');
|
|
|
117 |
require_once('Syntaxons.php');
|
|
|
118 |
|
|
|
119 |
// pour repartition
|
|
|
120 |
require_once('Cartes.php'); // TODO
|
|
|
121 |
|
|
|
122 |
// way 1
|
|
|
123 |
foreach($classes as $c) {
|
|
|
124 |
$a->onglet = $c;
|
|
|
125 |
$b = $a->obtenirDonnees();
|
|
|
126 |
var_dump($b);die();
|
|
|
127 |
}
|
|
|
128 |
|
|
|
129 |
|
|
|
130 |
// non-nécessaire si l'on peut récupérer le conteneur
|
|
|
131 |
// initialisé par new Fiche()
|
|
|
132 |
// $conteneur = new Conteneur($a->parametres);
|
|
|
133 |
|
|
|
134 |
// description
|
|
|
135 |
$onglet = new Description($a->conteneur);
|
|
|
136 |
$onglet->obtenirDonnees();
|
|
|
137 |
$onglet->getCoste();
|
|
|
138 |
echo implode('; ', $onglet->donnees['wikini']['description']);
|
|
|
139 |
echo implode('; ', $onglet->donnees['coste']['description']);
|
|
|
140 |
|
|
|
141 |
// bibliographie
|
|
|
142 |
Config::charger(_DIR_CONSULT . '/configurations/bdtfx.ini');
|
|
|
143 |
$onglet = new Bibliographie($a->conteneur);
|
|
|
144 |
$onglet->obtenirDonnees();
|
|
|
145 |
echo implode('; ', $onglet->donnees['flores']['liste_flores']);
|
|
|
146 |
echo implode('; ', $onglet->donnees['bibliobota']['references']);
|
|
|
147 |
|
|
|
148 |
// ethnobota
|
|
|
149 |
Config::charger(_DIR_CONSULT . '/configurations/bdtfx.ini');
|
|
|
150 |
$onglet = new Ethnobotanique($a->conteneur);
|
|
|
151 |
$onglet->obtenirDonnees();
|
|
|
152 |
echo implode('; ', array_map(function($v) { return $v['nom_vernaculaire']; }, $onglet->donnees['nvjfl']['noms'])) . '; ' .
|
|
|
153 |
implode('; ', array_map(function($v) { return $v['nom_vernaculaire']; }, $onglet->donnees['nvps']['noms']));
|
|
|
154 |
|
|
|
155 |
// ecologie
|
|
|
156 |
Config::charger(_DIR_CONSULT . '/configurations/bdtfx.ini');
|
|
|
157 |
$onglet = new Ecologie($a->conteneur);
|
|
|
158 |
// $onglet->obtenirDonnees(); // slow !
|
|
|
159 |
// var_dump($onglet->donnees['baseflor']['legende']);
|
|
|
160 |
|
|
|
161 |
|
|
|
162 |
|
|
|
163 |
/*
|
|
|
164 |
API: TODO:
|
|
|
165 |
- Chaque service de /consultation/formateur/ doit définir en en-tête:
|
|
|
166 |
* référentiels supportés
|
|
|
167 |
* fichiers/directives de configuration nécessaire
|
|
|
168 |
* class utilisées (namespace "use")
|
|
|
169 |
|
|
|
170 |
- obtenirDonnees() doit prendre ses paramètres [optionnels] par argument, sans compter
|
|
|
171 |
sur l'instanciation et la définition d'attributs
|
|
|
172 |
- obtenirDonnees() doit retourner les valeurs générées
|
|
|
173 |
- obtenirDonnees() ne doit pas traiter le formattage des résultats (getBloc() oui)
|
|
|
174 |
- si $this->données reste nécessaire pour une quelconque raison, celui-ci doit être public
|
|
|
175 |
|
|
|
176 |
- pour Fiche.php
|
|
|
177 |
- onglets ne doit plus être un attribut (pas même public)
|
|
|
178 |
- executerFiche(), executerOnglet() et obtenirDonnees() doivent prendre un $onglet comme paramètre
|
|
|
179 |
- $parametre et $conteneur doivent être "public"
|
|
|
180 |
|
|
|
181 |
*/
|