/trunk/interfaces/controleurs/Test.php |
---|
53,14 → 53,21 |
// Traitement de l'info sur le code du référentiel |
if (isset($this->referentiel)) { |
$donnees['ref'] = $this->referentiel; |
// Recherche des traitements en attente |
$resultat = $this->traitementDao->getTraitementsEnAttente($this->referentiel); |
if (is_array($resultat)) { |
$donnees['traitements_en_attente'] = $resultat; |
} |
// Recherche des traitements en cours d'éxecution |
$resultat = $this->traitementDao->getTraitementsEnCours($this->referentiel); |
if ($resultat != false) { |
if (is_array($resultat)) { |
$donnees['traitements_en_cours'] = $resultat; |
} |
// Recherche des traitements déjà effectué |
$resultat = $this->traitementDao->getTraitementsTermines($this->referentiel); |
if ($resultat != false) { |
if (is_array($resultat)) { |
// Ajout de l'url vers la fiche du traitement |
foreach ($resultat as &$traitement) { |
$traitement['url'] = $this->obtenirUrlFicheTraitement($this->referentiel, $traitement['id_traitement']); |
92,17 → 99,21 |
if (!isset($this->referentiel)) { |
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdnff)."); |
} else { |
// TODO : vérifier qu'il n'y a pas déjà un traitement en cours pour ce projet. |
$resultat_traitement_en_cours = $this->traitementDao->getTraitementsEnCours($this->referentiel); |
if ($resultat_traitement_en_cours) { |
$this->addMessage("Un traitement est déjà en cours..."); |
$resultat_traitement_en_attente = $this->traitementDao->getTraitementsEnAttente($this->referentiel); |
if ($resultat_traitement_en_attente) { |
$this->addMessage("Un traitement est déjà en attente..."); |
} else { |
$resultat = $this->traitementDao->ajouterTraitement($this->referentiel); |
if ($resultat != false) { |
$this->addMessage("Le traitement #'$resultat' a été ajouté."); |
$this->lancerScript(); |
$resultat_traitement_en_cours = $this->traitementDao->getTraitementsEnCours($this->referentiel); |
if ($resultat_traitement_en_cours) { |
$this->addMessage("Un traitement est déjà en cours..."); |
} else { |
$this->addMessage("Un problème est survenu lors de la tentative d'ajout du traitement."); |
$resultat = $this->traitementDao->ajouterTraitement($this->referentiel); |
if ($resultat != false) { |
$this->addMessage("Le traitement #'$resultat' a été ajouté."); |
$this->lancerScript(); |
} else { |
$this->addMessage("Un problème est survenu lors de la tentative d'ajout du traitement."); |
} |
} |
} |
} |
118,7 → 129,7 |
$projet = $this->referentiel; |
$action = 'tout'; |
$log = Config::get('chemin_script_log'); |
$commande = "$php -f $exe $script -p $projet -a $action > $log &"; |
$commande = "$php -d memory_limit=1073741824 -f $exe $script -p $projet -a $action > $log &"; |
$message_erreur_tpl = "%s\n.". |
"Il est nécessaire de configurer le lancement du script via une tache dans le cron.\n". |
/trunk/interfaces/controleurs/Versionnage.php |
---|
14,6 → 14,7 |
*/ |
class Versionnage extends AppliControleur { |
private $manuel = null; |
private $referentiel = null; |
public function __construct() { |
23,6 → 24,8 |
if (isset($_GET['ref'])) { // code du projet courrant |
$this->referentiel = strtolower($_GET['ref']); |
} |
$this->manuel = parse_ini_file(Config::get('chemin_appli').DS.'..'.DS.'configurations'.DS.'referentiel_v2.1.ini'); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
31,9 → 34,41 |
* Fonction d'affichage par défaut |
*/ |
public function executerActionParDefaut() { |
return $this->afficherInterface(); |
} |
/** |
* Affiche le formulaire de demande de versionnage |
*/ |
public function afficherInterface() { |
$donnees = array(); |
// Paramêtres pour l'url du formulaire |
$this->url->unsetVariablesRequete(array('module', 'action', 'ref')); |
$donnees['url_form'] = $this->url->getUrl(); |
$donnees['url_module'] = 'Versionnage'; |
$donnees['url_action_demande'] = 'demanderTraitement'; |
$donnees['url_action_rafraichir'] = 'afficherInterface'; |
// Date de production de la version |
$donnees['date_prod'] = date('Y-m-d'); |
// Récupération des paramètres de configuration du manuel des référentiels |
$donnees['domaine_geo'] = explode(';', $this->manuel['domaine_geo']); |
$donnees['domaine_taxo'] = explode(';', $this->manuel['domaine_taxo']); |
$donnees['domaine_code'] = explode(';', $this->manuel['domaine_code']); |
$licences = explode(';', $this->manuel['licences']); |
foreach ($licences as $licence) { |
if (preg_match('/^([^<]+)<([^>]+)>/', $licence, $match)) { |
$info_licence = array(); |
$info_licence['nom'] = $match[1]; |
$info_licence['url'] = $match[2]; |
$donnees['licences'][] = $info_licence; |
} |
} |
$this->setSortie(self::RENDU_CORPS, $this->getVue('form_version', $donnees), false); |
$this->construireMenu($this->referentiel); |
$this->construireFilAriane($this->referentiel); |
$this->setSortie(self::RENDU_CORPS, '<p>En cours de réalisation...</p>', false); |
} |
} |
} |
?> |
/trunk/interfaces/configurations/config.default.ini |
---|
12,6 → 12,10 |
info.framework.version = 0.2 |
;Encodage de l'application |
appli_encodage = "UTF-8" |
; Paramêtres indiquant que l'on est en français pour permettre l'affichage des dates en français. |
i18n_locale_systeme = "php:setlocale(LC_TIME, 'fr_FR.UTF-8')" |
; Paramêtres indiquant la zone horaire locale |
i18n_zone_horaire_systeme = "php:date_default_timezone_set('Europe/Paris')" |
; Nom de domaine pour l'URL de base de l'application : 162.38.234.6 |
domaine = "localhost" |
; URL de base de l'application, si elle est laissée vide, l'application fonctionnera en Stand-alone |
/trunk/interfaces/configurations/referentiel_v2.1.ini |
---|
73,4 → 73,11 |
; Liste des statuts d'introduction |
codes_statuts_introduction = "ISDECAX" |
; Liste des statuts de culture |
codes_statuts_culture = "CISDECX" |
codes_statuts_culture = "CISDECX" |
; Liste des domaines géographiques |
domaine_geo="France métro & Corse;Océan Indien;Martinique;Guadeloupe;Guyane;Nouvelle-Calédonie;Polynésie française;St Martin & St Barth;St Pierre et Miquelon;Terres Australes" |
; Liste des domaines taxonomiques |
domaine_taxo="Trachéophytes;Bryophytes;Champignons;Lichens;Algues" |
; Liste des codes de nomenclatures |
domaine_code="CINB;CINPC" |
/trunk/interfaces/index.php |
---|
15,8 → 15,8 |
<meta name="description" content="<?php echo Referentiel::getMetaDescription();?>" /> |
<meta name="keywords" content="<?php echo Referentiel::getMetaTags();?>" /> |
<meta name="revisit-after" content="15 days" /> |
<meta name="robots" content="index,follow" /> |
<meta name="revisit-after" content="150 days" /> |
<meta name="robots" content="noindex,nofollow" /> |
<meta name="author" content="Tela Botanica" /> |
<link rel="shortcut icon" type="image/x-icon" href="http://www.tela-botanica.org/favicon.ico" /> |
/trunk/interfaces/squelettes/form_traitement.tpl.html |
---|
19,7 → 19,7 |
<input name="module" type="hidden" value="<?=$url_module;?>" /> |
<input name="action" type="hidden" value="<?=$url_action_demande;?>" /> |
<input name="ref" type="hidden" value="<?=$ref;?>" /> |
<label id="ref-dem-label"for="ref-dem-ok">Faire une demande de traitement</label> |
<label id="ref-dem-label" for="ref-dem-ok">Faire une demande de traitement</label> |
<input id="ref-dem-ok" type="submit" value="Demander" /> |
</form> |
<form id="ref-rafraichir" name="ref-rafraichir" action="<?=$url_form;?>" method="get"> |
38,6 → 38,29 |
<?php endforeach; ?> |
<?php endif; ?> |
<h2>Traitements en attente <?=strftime('à %H:%M:%S le %d %B %Y')?></h2> |
<?php if (isset($traitements_en_attente)) : ?> |
<table> |
<caption>Traitements en attente</caption> |
<thead> |
<tr> |
<th>Nom (#)</th> |
<th>Date de la demande</th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($traitements_en_attente as $traitement) : ?> |
<tr> |
<td><?=$traitement['nom']?> <span class="discretion">(id:<?=$traitement['id_traitement']?>)</span></td> |
<td><?=$traitement['meta_date_creation']?></td> |
</tr> |
<?php endforeach; ?> |
</tbody> |
</table> |
<?php else : ?> |
<p class="information">Aucun traitement en attente.</p> |
<?php endif; ?> |
<h2>Traitements en cours</h2> |
<?php if (isset($traitements_en_cours)) : ?> |
<table> |
/trunk/interfaces/squelettes/css/referentiel/referentiel.css |
---|
16,12 → 16,25 |
background-color:#E9584C !important;} |
.espace{ |
background-color:yellow !important;} |
.case-a-cocher-scroll { |
height:6em; |
padding:2px; |
overflow:auto; |
border:1px solid #ccc} |
.liste-simple li, ul.liste-simple{ |
list-style-type:none; |
padding:0; |
margin:0 !important;} |
.liste-champs li, ul.liste-champs{ |
list-style-type:none; |
padding:0; |
margin:0 !important;} |
.liste-champs li{ |
padding:2px;} |
/*--------------------------------------------------------------------------------------------------------------*/ |
/* Demande de traitements */ |
#zone-form form{ |
display:inline;} |
/*--------------------------------------------------------------------------------------------------------------*/ |
/* Traitement */ |
#resultats { |
41,4 → 54,6 |
width:800px; |
padding:5px;} |
#ref-resultat .message p{ |
background-color:#f0f0f0;} |
background-color:#f0f0f0;} |
/trunk/interfaces/squelettes/form_version.tpl.html |
---|
New file |
0,0 → 1,141 |
<!-- REF - DEBUT VERSIONNAGE --> |
<script type="text/javascript"> |
$(document).ready(function() { |
$('#ref-dem-ok').click(function(e) { |
var ok = false; |
if (confirm('Êtes vous sûr de vouloir versionner le référentiel actuellement en cours de travail ?')) { |
ok = true; |
} |
return ok; |
}); |
}); |
</script> |
<h1>Versionnage du référentiel « <?=$ref;?> »</h1> |
<?php if (isset($messages)) : ?> |
<h2>Messages</h2> |
<?php foreach ($messages as $message) : ?> |
<p class="information"><?=$message;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
<div id="zone-form-version"> |
<form id="ref-demande-versionnage" name="ref-demande-versionnage" action="<?=$url_form;?>" method="get"> |
<input name="module" type="hidden" value="<?=$url_module;?>" /> |
<input name="action" type="hidden" value="<?=$url_action_demande;?>" /> |
<input name="ref" type="hidden" value="<?=$ref;?>" /> |
<fieldset> |
<legend>Général</legend> |
<ul class="liste-champs"> |
<li> |
<label for="titre">Titre</label> |
<input id="titre" type="text" value=""/> |
</li> |
<li> |
<label for="acronyme">Acronyme</label> |
<input id="acronyme" type="text" value=""/> |
</li> |
<li> |
<label for="version">Version</label> |
<input id="version" type="text" value=""/> |
</li> |
</ul> |
</fieldset> |
<fieldset> |
<legend>Date</legend> |
<label for="date_prod">Date de production</label> |
<input id="date_prod" name="date_prod" type="text" value="<?=$date_prod?>" readonly="readonly"/> |
</fieldset> |
<fieldset> |
<legend>Domaines couverts par le référentiel</legend> |
<p> Vous pouvez choisir plusieurs éléments par liste.</p> |
<label for="ref-ver-dom-tax">Domaine taxonomique</label> |
<div id="ref-ver-dom-tax" class="case-a-cocher-scroll" style="width:150px;"/> |
<ul class="liste-simple"> |
<? foreach ($domaine_taxo as $taxo) : ?> |
<li><label><input type="checkbox" name="dom_tax" value="<?=$taxo?>" /><?=$taxo?></label></li> |
<? endforeach; ?> |
</ul> |
</div> |
<label for="ref-ver-dom-geo">Domaine géographique</label> |
<div id="ref-ver-dom-geo" class="case-a-cocher-scroll" style="width:250px;"/> |
<ul class="liste-simple"> |
<? foreach ($domaine_geo as $geo) : ?> |
<li><label><input type="checkbox" name="dom_geo" value="<?=$geo?>" /><?=$geo?></label></li> |
<? endforeach; ?> |
</ul> |
</div> |
<label for="ref-ver-dom-code">Codes botaniques utilisés</label> |
<div id="ref-ver-dom-code" class="case-a-cocher-scroll" style="width:150px;"/> |
<ul class="liste-simple"> |
<? foreach ($domaine_code as $code) : ?> |
<li><label><input type="checkbox" name="dom_code" value="<?=$code?>" /><?=$code?></label></li> |
<? endforeach; ?> |
</ul> |
</div> |
</fieldset> |
<fieldset> |
<legend>Contacts</legend> |
<ul class="liste-champs"> |
<li> |
<label for="auteur_principal">Auteur principal</label> |
<input type="text" id="auteur_principal" name="auteur_principal" value="" /> |
</li> |
<li> |
<label for="coordinateur">Coordinateur</label> |
<input type="text" id="coordinateur" name="coordinateur" value="" /> |
</li> |
<li> |
<label for="contributeur">Auteurs/Contributeurs</label> |
<textarea id="contributeur" name="contributeur" rows="5" cols="50"></textarea> |
</li> |
<li> |
<label for="editeur">Éditeur</label> |
<input type="text" id="editeur" name="editeur" value="" /> |
</li> |
<li> |
<label for="contact">Courriel de contact</label> |
<input type="text" name="contact" value="" /> |
</li> |
</ul> |
</fieldset> |
<fieldset> |
<legend>Citation</legend> |
<ul class="liste-champs"> |
<li> |
<label for="source">Source</label> |
<textarea id="source" name="source" rows="5" cols="50"></textarea> |
</li> |
<li> |
<label for="mention_legale">Mention légale</label> |
<input type="text" id="mention_legale" name="mention_legale" value="" /> |
</li> |
<li> |
<label for="ref-ver-licence">Licence</label> |
<div class="case-a-cocher-scroll" style="width:350px;"> |
<ul id="ref-ver-licence" class="liste-simple"> |
<? foreach ($licences as $licence) : ?> |
<li><label><input type="checkbox" name="licence" value="<?=$licence['url']?>" /><a href="<?=$licence['url']?>" onclick="window.open(this.href); return false;"><?=$licence['nom']?></a></label></li> |
<? endforeach; ?> |
</ul> |
</div> |
</li> |
<li> |
<label for="referencement">Comment citer ce référentiel?</label> |
<textarea id="referencement" name="referencement" rows="5" cols="50"></textarea> |
</li> |
</ul> |
</fieldset> |
<input id="ref-versionnage-ok" type="submit" value="Versionner" /> |
</form> |
</div> |
<!-- REF - FIN VERSIONNAGE --> |
/trunk/services/jrest.ini.php.defaut |
---|
1,5 → 1,8 |
;<?/* |
[settings] |
;Memoire maxi pour les services : 128Mo = 134217728 ; 256Mo = 268435456 ; 512Mo = 536870912 ; 1Go = 1073741824 |
memoryLimit = "512M" |
erreurNiveau = 30719 ; E_ALL = 30719 |
servicesDir = "modules/" |
baseURL = "/referentiel/services/" |
argSeparatorInput = "&" |
/trunk/services/modules/Referentiel.php |
---|
79,8 → 79,9 |
if (!is_null($projet)) { |
$requete = ($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '. |
"FROM $projet ". |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'num_nom ASC').' '; |
//"LIMIT $this->start, $this->limit "; |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'num_nom ASC').' '. |
"LIMIT $this->start, $this->limit "; |
$this->debug[] = $requete; |
// Récupération des résultats |
try { |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
100,7 → 101,7 |
* Appelée avec les paramêtres d'url suivant : |
* /RefReferentiel/nombre/code_du_referentiel |
*/ |
public function getElementNombre($projet) { |
public function getElementNombre($params_url) { |
$p = $this->traiterParametresUrl(array('projet'), $params_url, false); |
extract($p); |
/trunk/services/modules/Ref.php |
---|
35,12 → 35,14 |
if (isset($_GET)) { |
$get_params = array('orderby', 'distinct', 'start', 'limit', 'formatRetour'); |
foreach ($get_params as $get) { |
$verifier = array('NULL', "\n", "\r", "\\", "'", '"', "\x00", "\x1a", ';'); |
$_GET[$get] = str_replace($verifier, '', $_GET[$get]); |
if (isset($_GET[$get]) && $_GET[$get] != '') { |
$this->$get = $_GET[$get]; |
} else { |
$_GET[$get] = null; |
if (isset($_GET[$get])) { |
$verifier = array('NULL', "\n", "\r", "\\", "'", '"', "\x00", "\x1a", ';'); |
$_GET[$get] = strip_tags(str_replace($verifier, '', $_GET[$get])); |
if ($_GET[$get] != '') { |
$this->$get = $_GET[$get]; |
} else { |
$_GET[$get] = null; |
} |
} |
} |
} |
/trunk/services/modules/Traitement.php |
---|
107,6 → 107,38 |
} |
/** |
* Retourne les infos sur les traitements en attente. |
*/ |
public function getElementEnAttente($params_url) { |
$p = $this->traiterParametresUrl(array('projet'), $params_url); |
extract($p); |
$donnees = false; |
if (!is_null($projet)) { |
$requete = ($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM ref_traitement '. |
"WHERE referentiel_code = $projet ". |
' AND date_debut IS NULL '. |
' AND date_fin IS NULL '. |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'meta_date_creation DESC').' '; |
// Récupération des résultats |
try { |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
} else { |
$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff)."; |
} |
return $donnees; |
} |
/** |
* Retourne les infos sur les traitements en cours. |
*/ |
public function getElementEnCours($params_url) { |
/trunk/services/JRest.php |
---|
28,6 → 28,13 |
public function JRest($iniFile = 'jrest.ini.php') { |
// Chargement de la configuration |
self::$config = parse_ini_file($iniFile, TRUE); |
// Gestion de la mémoire maximum allouée aux services |
ini_set('memory_limit', self::$config['settings']['memoryLimit']); |
// Gestion des erreurs |
error_reporting(self::$config['settings']['erreurNiveau']); |
// Enregistrement de la méthode gérant l'autoload des classes |
spl_autoload_register(array('JRest', 'chargerClasse')); |
/trunk/doc/bdd/referentiel.xml |
---|
260,8 → 260,8 |
</SETTINGS> |
<METADATA> |
<REGIONS> |
<REGION ID="28021" RegionName="Exemple BDNT" XPos="743" YPos="25" Width="668" Height="529" RegionColor="1" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="7" /> |
<REGION ID="27985" RegionName="Traitements" XPos="28" YPos="24" Width="691" Height="530" RegionColor="0" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Tables permettant de r\195\169aliser des traitments sur les donn\195\169es des r\195\169f\195\169rentiels." IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="3" /> |
<REGION ID="28021" RegionName="Exemple BDNT" XPos="743" YPos="25" Width="668" Height="529" RegionColor="1" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="7" /> |
</REGIONS> |
<TABLES> |
<TABLE ID="27977" Tablename="ref_traitement" PrevTableName="Table_01" XPos="87" YPos="74" TableType="0" TablePrefix="0" nmTable="0" Temporary="0" UseStandardInserts="0" StandardInserts="\n" TableOptions="DelayKeyTblUpdates=0\nPackKeys=0\nRowChecksum=0\nRowFormat=0\nUseRaid=0\nRaidType=0\n" Comments="" Collapsed="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="2" > |
/trunk/scripts/modules/tests/configurations/referentiel_v2.1.ini |
---|
File deleted |
\ No newline at end of file |
/trunk/scripts/modules/tests/Tests.php |
---|
15,6 → 15,7 |
* @version $Id$ |
*/ |
// +-------------------------------------------------------------------------------------------------------------------+ |
// TODO : supprimer l'utilisation du paramêtres 'p' et chercher les infos depuis la bdd |
class Tests extends ScriptCommande { |
private $projet = null; |
30,7 → 31,7 |
public function executer() { |
// Récupération de paramêtres |
$this->projet = $this->getParam('p'); |
$this->manuel = parse_ini_file($this->getModuleChemin().DS.'configurations'.DS.'referentiel_v2.1.ini'); |
$this->manuel = parse_ini_file(Config::get('chemin_appli').DS.'..'.DS.'configurations'.DS.'referentiel_v2.1.ini'); |
$this->resultatDao = new ResultatDao(); |
$this->traitementDao = new TraitementDao(); |
37,29 → 38,32 |
// Récupération du dernier traitement demandé |
$this->traitement = $this->traitementDao->getDernierTraitement($this->projet); |
Debug::printr($this->traitement); |
// Écriture de la date de début du traitement |
Debug::printr('Debute:'.$this->traitementDao->debuterTraitement($this->traitement['id_traitement'])); |
// Nettoyage des traitements obsolètes |
$traitements_obsoletes = $this->traitementDao->getTraitementsObsoletes($this->projet); |
Debug::printr('Supp. obsoletes:'.$this->traitementDao->supprimer($traitements_obsoletes)); |
// TODO : Nettoyage des tratiements (et de leurs résultats) avortés |
// Lancement du test demandé |
$cmd = $this->getParam('a'); |
switch ($cmd) { |
case 'tout' : |
$this->tableStructureDao = new TableStructureDao(); |
$this->referentielDao = new ReferentielDao(); |
$this->lancerTests(); |
break; |
default : |
$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd)); |
if ($this->traitement != false) { |
Debug::printr($this->traitement); |
// Écriture de la date de début du traitement |
Debug::printr('Debute:'.$this->traitementDao->debuterTraitement($this->traitement['id_traitement'])); |
// Nettoyage des traitements obsolètes |
$traitements_obsoletes = $this->traitementDao->getTraitementsObsoletes($this->projet); |
Debug::printr('Supp. obsoletes:'.$this->traitementDao->supprimer($traitements_obsoletes)); |
// TODO : Nettoyage des traitements (et de leurs résultats) avortés |
// Lancement du test demandé |
$cmd = $this->getParam('a'); |
switch ($cmd) { |
case 'tout' : |
$this->tableStructureDao = new TableStructureDao(); |
$this->referentielDao = new ReferentielDao(); |
Debug::printr('Départ lancement test:'); |
$this->lancerTests(); |
break; |
default : |
$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd)); |
} |
// Écriture de la date de fin du traitement |
Debug::printr('Termine:'.$this->traitementDao->terminerTraitement($this->traitement['id_traitement'])); |
} |
// Écriture de la date de fin du traitement |
Debug::printr('Debute:'.$this->traitementDao->terminerTraitement($this->traitement['id_traitement'])); |
} |
public function lancerTests() { |
70,6 → 74,7 |
$colonnes = $this->tableStructureDao->getColonnes($this->projet); |
$analyses = $this->tableStructureDao->getAnalyse($this->projet); |
$noms = $this->referentielDao->getTout($this->projet); |
Debug::printr('Nbre noms :'.count($noms)); |
$noms = $this->classerNomsParNumNom($noms); |
$noms_homonymie = $this->classerNomsParNomComplet($noms); |
/trunk/.buildpath |
---|
1,6 → 1,6 |
<?xml version="1.0" encoding="UTF-8"?> |
<buildpath> |
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/> |
<buildpathentry kind="src" path=""/> |
<buildpathentry kind="con" path="org.eclipse.dltk.USER_LIBRARY/framework"/> |
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/> |
<buildpathentry kind="con" path="org.eclipse.dltk.USER_LIBRARY/TBFramework"/> |
</buildpath> |
/trunk/configurations/referentiel_v2.1.ini |
---|
New file |
0,0 → 1,86 |
; Version du référentiel servant de base aux informations ci-dessous |
version = 2.1 |
; Noms des champs |
champs = "num_nom,num_nom_retenu,num_tax_sup,rang,nom_complet,nom_supra_generique,genre,epithete_infra_generique,epithete_sp,type_epithete,epithete_infra_sp,cultivar_groupe,cultivar,nom_commercial,auteur,annee,biblio_origine,notes,nom_addendum,homonyme,basionyme,synonyme_proparte,synonyme_douteux,synonyme_mal_applique,synonyme_orthographique,biblio_statut,hybride_parent_01,hybride_parent_01_notes,hybride_parent_02,hybride_parent_02_notes,nom_francais,presence,statut_origine,statut_introduction,statut_culture" |
; Noms et types des champs |
champs_type = "num_nom=INT, |
num_nom_retenu=INT, |
num_tax_sup=INT, |
rang=INT, |
nom_complet=VARCHAR, |
nom_supra_generique=VARCHAR, |
genre=VARCHAR, |
epithete_infra_generique=VARCHAR, |
epithete_sp=VARCHAR, |
type_epithete=VARCHAR, |
epithete_infra_sp=VARCHAR, |
cultivar_groupe=VARCHAR, |
cultivar=VARCHAR, |
nom_commercial=VARCHAR, |
auteur=VARCHAR, |
annee=INT, |
biblio_origine=VARCHAR, |
notes=TEXT, |
nom_addendum=VARCHAR, |
homonyme=INT, |
basionyme=INT, |
synonyme_proparte=VARCHAR, |
synonyme_douteux=BOOL, |
synonyme_mal_applique=BOOL, |
synonyme_orthographique=INT, |
biblio_statut=TEXT, |
hybride_parent_01=INT, |
hybride_parent_01_notes=TEXT, |
hybride_parent_02=INT, |
hybride_parent_02_notes=TEXT, |
nom_francais=VARCHAR, |
presence=VARCHAR, |
statut_origine=VARCHAR, |
statut_introduction=VARCHAR, |
statut_culture=VARCHAR" |
; Valeurs numériques des rangs |
rangs = "10,20,30,40,50,55,40,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,340,350,360,370,380,390,400,410,420,430" |
; Valeur numérique indiquant le rang du genre |
rang_genre="220" |
; Valeur numérique indiquant le rang de l'espèce |
rang_sp="290" |
; TOUTES LES LISTES séparées par | sontinsérées dans la regexp suivante : /^(?:$liste)$/ VOUS DEVEZ SI NÉCESSAIRE |
; ANTISLASHER LES CARACTÈRES : . \ + * ? [ ^ ] $ ( ) { } = ! < > : - |
; Liste de types d'épithète à rejeter. Séparation : ,. Insenssible à la casse. |
type_epithete_rejetes="cv[.]?|convar[.]?" |
; Liste de mots de noms de cultivar qui doivent être rejetés. Séparation : |. Inssensible à la casse. |
cultivar_mots_rejetes="cv[.]?|convar[.]?" |
; Liste de noms de cultivar acceptés faisant exception à la règle de la majuscule pour la 1ère lettre de chaque mot. Séparation : |. Senssible à la casse. |
cultivar_acceptes="s-Hertogenbosch|IJsselham" |
; Liste de mots de noms de groupe de cultivar qui doivent être rejetés. Séparation : |. Inssensible à la casse. |
cultivar_gp_mots_rejetes="gp|grex|group|gruppe|groupe|grupo|gruppen" |
; Liste de mots de noms de groupe de cultivar à accepter. Séparation : |. Senssible à la casse. |
cultivar_gp_mots_acceptes="gx" |
; Liste de noms de groupe de cultivar à accepter. Séparation : |. Senssible à la casse. |
cultivar_gp_acceptes="" |
;Liste des mots mineurs (conjonctions et prépositions). Séparation : |. Sensible à la casse. |
mots_mineurs = "mais|ou|et|donc|or|ni|car|and|but|or|nor|de|à|pour|en|dans|avec|sur|par|sans|of|to|in|for|with|on" |
; Liste des intitulés auteur faisant exception aux règles mais acceptés. Séparation : | |
auteur_acceptes="" |
; Liste des mots composant un intitulés auteur qui sont rejetés. Séparation : | |
auteur_mots_rejetes="et|and|[(]?(?:p\.){2}[)]?" |
; Liste des codes de présence |
codes_presence = "PSDECA" |
; Liste des statuts d'origine |
codes_statuts_origine = "NSDECAX" |
; Liste des statuts d'introduction |
codes_statuts_introduction = "ISDECAX" |
; Liste des statuts de culture |
codes_statuts_culture = "CISDECX" |
; MÉTADONNÉES |
; Liste des domaines géographiques |
domaine_geo="France métro & Corse;Océan Indien;Martinique;Guadeloupe;Guyane;Nouvelle-Calédonie;Polynésie française;St Martin & St Barth;St Pierre et Miquelon;Terres Australes" |
; Liste des domaines taxonomiques |
domaine_taxo="Trachéophytes;Bryophytes;Champignons;Lichens;Algues" |
; Liste des codes de nomenclatures |
domaine_code="CINB;CINPC" |
; Liste des licences proposées pour les référentiels |
licences="Attribution 2.0 France <http://creativecommons.org/licenses/by/2.0/fr/>;Attribution-NonCommercial 2.0 France <http://creativecommons.org/licenses/by-nc/2.0/fr/>;Attribution-NonCommercial-NoDerivs 2.0 France <http://creativecommons.org/licenses/by-nc-nd/2.0/fr/>;Attribution-NonCommercial-ShareAlike 2.0 France <http://creativecommons.org/licenses/by-nc-sa/2.0/fr/>;Attribution-NoDerivs 2.0 France <http://creativecommons.org/licenses/by-nd/2.0/fr/>;Attribution-ShareAlike 2.0 France <http://creativecommons.org/licenses/by-sa/2.0/fr/>" |
/trunk/bibliotheque/dao/ReferentielDao.php |
---|
23,21 → 23,28 |
*/ |
public function getReferentielsDispo() { |
$url = $this->url_jrest.self::SERVICE."/Dispo"; |
$json = file_get_contents($url); |
$json = $this->envoyerRequeteConsultation($url); |
$noms = json_decode($json, true); |
return $noms; |
} |
/** |
* Retourne l'ensemble des information sur les colonnes d'une table. |
* Retourne l'ensemble des information sur les noms d'un référentiel. |
* |
* @param string le nom de la table. |
* @return array un tableau contenant les informations sur les colonnes de la table. |
* @param string le code du référentiel. |
* @return array un tableau contenant les informations sur les noms du référentiel. |
*/ |
public function getTout($code_projet) { |
$url = $this->url_jrest.self::SERVICE."/Tout/$code_projet"; |
$json = file_get_contents($url); |
$noms = json_decode($json, true); |
$nbre = $this->getNombre($code_projet); |
$noms = array(); |
$pas = 1000; |
for ($i = 0; $i < $nbre ; $i += $pas) { |
$this->setLimitation($i, $pas); |
$json = $this->envoyerRequeteConsultation($url); |
$noms_partiel = json_decode($json, true); |
$noms = array_merge($noms, $noms_partiel); |
} |
return $noms; |
} |
49,10 → 56,8 |
*/ |
public function getNombre($code_projet) { |
$url = $this->url_jrest.self::SERVICE."/Nombre/$code_projet"; |
$json = file_get_contents($url); |
$json = $this->envoyerRequeteConsultation($url); |
$nbre = json_decode($json, true); |
return $nbre; |
} |
} |
/trunk/bibliotheque/dao/TraitementDao.php |
---|
37,6 → 37,20 |
} |
/** |
* Retourne l'ensemble des traitements en attente. |
* |
* @param string le code du projet de référentiel. |
* @return mixed un tableau contenant les informations sur les traitements en attente ou false en cas d'échec. |
*/ |
public function getTraitementsEnAttente($code_projet) { |
$url = $this->url."/EnAttente/$code_projet"; |
$json = $this->envoyerRequeteConsultation($url); |
$traitements = json_decode($json, true); |
return $traitements; |
} |
/** |
* Retourne l'ensemble des traitements en cours. |
* |
* @param string le code du projet de référentiel. |
/trunk/bibliotheque/dao/Dao.php |
---|
58,6 → 58,7 |
// MÉTHODES |
protected function envoyerRequeteConsultation($url) { |
$url = $this->traiterUrlParametres($url); |
$retour = $this->envoyerRequete($url, 'GET'); |
return $retour; |
} |
107,6 → 108,24 |
return $contenu; |
} |
private function traiterUrlParametres($url) { |
$parametres = array(); |
if (! is_null($this->getLimiteDebut())) { |
$parametres[] = 'start='.$this->getLimiteDebut(); |
} |
if (! is_null($this->getLimiteNbre())) { |
$parametres[] = 'limit='.$this->getLimiteNbre(); |
} |
if ($this->getDistinction() != 0) { |
$parametres[] = 'distinct='.$this->getDistinction(); |
} |
if (count($parametres) > 0) { |
$url_parametres = implode('&', $parametres); |
$url = $url.'?'.$url_parametres; |
} |
return $url; |
} |
private function traiterEntete($entetes, $uri) { |
$infos = $this->analyserEntete($entetes, $uri); |
$this->traiterEnteteDebug($infos); |
/trunk/.settings/org.eclipse.php.core.prefs |
---|
1,3 → 1,3 |
#Fri Jun 25 16:20:19 CEST 2010 |
#Mon Jul 12 17:08:15 CEST 2010 |
eclipse.preferences.version=1 |
include_path=0;/referentiel\u00055;org.eclipse.dltk.USER_LIBRARY/framework |
include_path=0;/referentiel\u00055;org.eclipse.dltk.USER_LIBRARY/TBFramework |