/trunk/scripts/modules/robot/configuration/cookieconf.txt |
---|
New file |
0,0 → 1,4 |
-b ../../../../../../../importation/robots/cookie.txt |
-c ../../../../../../../importation/robots/cookie.txt |
--max-time 50 |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/trunk/scripts/modules/robot/configuration/ipni_auteur.ini |
---|
New file |
0,0 → 1,3 |
; Encodage : UTF-8 |
; Source des données : http://ipni.org/ |
cache_chemin = "php:'/home/'.$_ENV['USER'].'/importation/robots/ipni.org/'" |
/trunk/scripts/modules/robot/configuration/cassini.ini |
---|
New file |
0,0 → 1,3 |
; Encodage : UTF-8 |
; Source des données : http://cassini.ehess.fr/ |
cache_chemin = "php:'/home/'.$_ENV['USER'].'/importation/robots/cassini.ehess.fr/'" |
/trunk/scripts/modules/robot/configuration/wp_commune.ini |
---|
New file |
0,0 → 1,4 |
; Encodage : UTF-8 |
; Source des données : http://fr.wikipedia.org/wiki/ |
; Version des noms de commune utilisé pour intéroger Wikipedia: Code géographique de l'INSEE version 2008-01-01 |
cache_chemin = "php:'/home/'.$_ENV['USER'].'/importation/robots/fr.wikipedia.org/'" |
/trunk/scripts/modules/robot/configuration/utm_converter.ini |
---|
New file |
0,0 → 1,3 |
; Encodage : UTF-8 |
; Source des données : http://www.rcn.montana.edu/resources/tools/coordinates.aspx |
cache_chemin = "php:'/home/'.$_ENV['USER'].'/importation/robots/rcn.montana.edu/'" |
/trunk/scripts/modules/robot/Robot.php |
---|
New file |
0,0 → 1,432 |
<?php |
// Encodage : UTF-8 |
// +-------------------------------------------------------------------------------------------------------------------+ |
/** |
* Robots |
* |
* Description : classe permettant d'analyser les pages d'un site web. |
* Notes : les noms des pages doivent être dans la bonne casse. http://fr.wikipedia.org/wiki/ambronay ne renvera rien alors que |
* http://fr.wikipedia.org/wiki/Ambronay renvera un résultat (Notez le A ou a). |
* |
//Auteur original : |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Tela-Botanica 1999-2009 |
* @link http://www.tela-botanica.org/wikini/eflore |
* @licence GPL v3 & CeCILL v2 |
* @version $Id: Robot.class.php 2057 2011-05-13 16:39:06Z Jean-Pascal MILCENT $ |
*/ |
// +-------------------------------------------------------------------------------------------------------------------+ |
class Robot extends ScriptCommande { |
/** |
* Indique le nom du Robot. |
*/ |
private $robot_nom; |
/** |
* Indique le fichier de config de la gestion des cookies du Robot. |
*/ |
private $cookie; |
/** |
* Indique l'url de départ du Robot. |
*/ |
private $page; |
/** |
* Tableau des URLs à analyse |
*/ |
private $pages = array(); |
/** |
* Chemin vers un fichier contenant les noms des pages à analyser (un nom de page par ligne). |
*/ |
private $page_fichier; |
/** |
* Contient soit False soit le chemin vers le dossier où mettre les pages en cache. |
*/ |
private $cache = false; |
/** |
* Contient le squelette de l'url à utiliser pour récupérer les pages web. |
*/ |
private $url_tpl = ''; |
/** |
* Contient false ou l'encodage des pages d'un site web si celui-ci n'est pas en UTF-8. |
*/ |
private $encodage = false; |
/** |
* Contient la chaine de caractères indiquant où commencer une recherche d'informations dans la page web. |
*/ |
private $chaine_debut = ''; |
/** |
* Contient la chaine de caractères indiquant où terminer une recherche d'informations dans la page web. |
*/ |
private $chaine_fin = ''; |
/** |
* Tableau des expressions régulières récupérant des données lors de l'analyse |
*/ |
private $regexps = array(); |
/** |
* Indique le dossier ou fichier où le Robot doit sotcker les informations collectées. |
*/ |
private $sortie; |
public $parametres = array( '-pgf' => array(false, '', 'Fichier contenant les pages que le Robot doit analyser'), |
'-s' => array(false, '', 'Fichier où stocker les données récupérées par le Robot'), |
'-pg' => array(false, '', 'Nom de la page que le Robot doit analyser')); |
public function executer() { |
$this->page = $this->getParam('pg'); |
$this->page_fichier = $this->getParam('pgf'); |
$this->cookie = dirname(__FILE__).DS.'configuration'.DS.'cookieconf.txt'; |
$this->sortie = $this->getParam('s'); |
// Construction du tableau contenant les noms des pages à analyser |
if (empty($this->page_fichier)) { |
$this->pages[] = $this->page; |
} else { |
$this->pages = $this->convertirFichierEnTableau($this->page_fichier); |
} |
// Création du chemin du cache si le fichier ini du projet l'indique |
if ($this->getIni('cache_chemin')) { |
$this->cache = $this->getIni('cache_chemin'); |
} |
// Lancement du Robot demandé |
$cmd = $this->getParam('a'); |
switch ($cmd) { |
case 'wp' : |
$this->lancerRobotWikipedia(); |
break; |
case 'wp-pays' : |
$this->lancerRobotWikipediaPays(); |
break; |
case 'wp-liste-communes' : |
$this->lancerRobotWikipediaListeCommunes(); |
break; |
case 'ipni' : |
$this->lancerRobotIpni(); |
break; |
case 'cassini' : |
$this->lancerRobotCassini(); |
break; |
case 'utm' : |
$this->lancerRobotUtmConverter(); |
break; |
default : |
$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd)); |
} |
} |
/** |
* Robot analysant les pages de Wikipedia correspondant à des communes. |
* Exemples d'utilisation : |
* /opt/lampp/bin/php script.php robot -p wp_commune -a wp -pgf ~/importation/robots/eFloreBotWp_INSEE_C.txt -s ~/importation/robots/wp_communes.tsv |
* /opt/lampp/bin/php script.php robot -p wp_commune -a wp -pg Montpellier -s ~/importation/robots/wp_communes.tsv |
* /opt/lampp/bin/php script.php robot -p wp_commune -a wp -pg Montpellier |
* |
* @return unknown_type |
*/ |
private function lancerRobotWikipedia() { |
// Valeur spécifique de ce Robot |
$this->robot_nom = 'eFloreBotWp'; |
$this->url_tpl = 'http://fr.wikipedia.org/wiki/%s'; |
$this->regexp_ligne = '/<!-- bodytext -->(.*)<!-- \/bodytext -->/umsi'; |
$this->regexps = array( 'CodeInsee' => 'Code commune<\/a><\/th>(?:\n|\r\n)<td>(\d+)<\/td>', |
'Nom' => 'class="entete map" style="[^"]+">(.*)<', |
'Latitutde' => '<span class="geo-dec geo" title=".*"><span class="latitude">(.*)<\/span>', |
'Longitude' => '<span class="geo-dec geo" title=".*">.*<\/span>, <span class="longitude">(.*)<\/span>', |
'Superficie' => 'Superficie<\/a>(?:<\/b><\/td>|<\/th>)(?:\n|\r\n)<td>((?:[0-9]| | )+(?:,[0-9]+)?) km<sup>2<\/sup>', |
'AltitudeMin' => 'Altitudes<\/a><\/th>(?:\n|\r\n)<td>mini. (-?[0-9]+) m — maxi. [ 0-9]+ m<\/td>', |
'AltitudeMax' => 'Altitudes<\/a><\/th>(?:\n|\r\n)<td>mini. -?[0-9]+ m — maxi. ([ 0-9]+) m<\/td>', |
'Population' => 'Population<\/a><\/th>(?:\n|\r\n)<td>(.*) hab.', |
'PopulationAnnee' => 'Population<\/a><\/th>(?:\n|\r\n)<td>.* hab. <small>\(<a href="\/wiki\/[0-9]+"(?: title="[0-9]+")?>([0-9]+)<\/a>', |
'CodePostal' => 'Code postal<\/a><\/th>(?:\n|\r\n)<td>([0-9]{5}).*<\/td>', |
'PageWikipedia' => '(?:Ce document provient|Récupérée) de « <a href="http:\/\/fr.wikipedia.org\/wiki\/(.*)">' |
); |
// Préparation des noms des pages |
foreach ($this->pages as $id => $nom) { |
$this->pages[$id] = str_replace(' ', '_', $nom); |
} |
$this->analyserUrls(); |
} |
/** |
* Robot analysant les pages de Wikipedia correspondant à des pays. |
* Exemples d'utilisation : |
* /opt/lampp/bin/php script.php robot -p wp_commune -a wp-pays -pgf ~/importation/robots/eFloreBotWp_pays.txt -s ~/importation/robots/wp-pays.tsv |
* |
* @return unknown_type |
*/ |
private function lancerRobotWikipediaPays() { |
// Valeur spécifique de ce Robot |
$this->robot_nom = 'eFloreBotWp'; |
$this->url_tpl = 'http://fr.wikipedia.org/wiki/%s'; |
$this->regexp_ligne = '/<!-- bodytext -->(.*)<!-- \/bodytext -->/umsi'; |
$this->regexps = array( 'Nom' => '<table class="infobox_v2" cellspacing="[^"]+" style="[^"]+">(?:\n|\r\n)<caption style="[^"]+"><b>(.*)<\/b>', |
'Latitutde' => '<span class="geo-dec geo" title=".*"><span class="latitude">(.*)<\/span>', |
'Longitude' => '<span class="geo-dec geo" title=".*">.*<\/span>, <span class="longitude">(.*)<\/span>', |
'Superficie' => 'Superficie<\/a><\/b><\/td>(?:\n|\r\n)<td>((?:[0-9]|\s*| )+(?:,[0-9]+)?)(?: |\s*)km<sup>2<\/sup>', |
'Population' => 'Population<\/a><\/b>(?: |\s)*<small>\([0-9]+\)<\/small><\/td>(?:\n|\r\n)<td>(.*)(?: |\s*)hab.', |
'PopulationAnnee' => 'Population<\/a><\/b>(?: |\s)*<small>\(([0-9]+)\)', |
'Capitale' => 'Capitale<\/a><\/b><\/td>(?:\n|\r\n)<td>(?:<a href="\/wiki\/[^"]+" title="[^"]+">|)(.+)<', |
'PageWikipedia' => '(?:Ce document provient|Récupérée) de « <a href="http:\/\/fr.wikipedia.org\/wiki\/(.*)">' |
); |
// Préparation des noms des pages |
foreach ($this->pages as $id => $nom) { |
$this->pages[$id] = str_replace(' ', '_', $nom); |
} |
$this->analyserUrls(); |
} |
/** |
* Robot analysant une page de wikipedia à la recherche de plusieurs données par page. |
* Exemples d'utilisation : |
* /opt/lampp/bin/php script.php robot -p wp_commune -a wp -pgf ~/importation/robots/eFloreBotWp_INSEE_C.txt -s ~/importation/robots/wp_communes.tsv |
* /opt/lampp/bin/php script.php robot -p wp_commune -a wp -pg Montpellier -s ~/importation/robots/wp_communes.tsv |
* /opt/lampp/bin/php script.php robot -p wp_commune -a wp -pg Montpellier |
* |
* @return unknown_type |
*/ |
private function lancerRobotWikipediaListeCommunes() { |
// Valeur spécifique de ce Robot |
$this->robot_nom = 'eFloreBotWpListe'; |
$this->url_tpl = 'http://fr.wikipedia.org/wiki/%s'; |
$this->regexp_ligne = '/<tr>(.*)?<\/tr>/Uumsi'; |
$this->mode = 'MULTI'; |
$this->regexps = array( 'PageWikipedia' => '^<td align="left"><a href="\/wiki\/([^"]+)"', |
'CodeInsee' => '^<td>.+<\/td>(?:\n|\r\n)<td>(\d+)<\/td>', |
'CodePostal' => '^(?:<td>.+<\/td>(?:\n|\r\n)){2}<td>(\d+)<\/td>', |
'Superficie' => '^(?:<td>.+<\/td>(?:\n|\r\n)){4}<td><span.+span>((?:[0-9]| | )+(?:,[0-9]+)?)<\/td>', |
'Population' => '^(?:<td>.+<\/td>(?:\n|\r\n)){5}<td><span.+span>((?:[0-9]| | )+)<\/td>' |
); |
// Préparation des noms des pages |
foreach ($this->pages as $id => $nom) { |
$this->pages[$id] = str_replace(' ', '_', $nom); |
} |
$this->analyserUrls(); |
} |
/** |
* Robot analysant les pages du site de l'IPNI. |
* Exemples d'utilisation : |
* /opt/lampp/bin/php script.php robot -p ipni_auteur -a wp -pgf ~/importation/robots/eFloreBotIpni_auteur.txt -s ~/importation/robots/ipni_auteurs.tsv |
* /opt/lampp/bin/php script.php robot -p ipni_auteur -a wp -pg Z -s ~/importation/robots/ipni_auteurs.tsv |
* /opt/lampp/bin/php script.php robot -p ipni_auteur -a wp -pg Z |
* |
* @return unknown_type |
*/ |
private function lancerRobotIpni() { |
// Valeur spécifique de ce Robot |
$this->robot_nom = 'eFloreBotIpni'; |
$this->url_tpl = 'http://ipni.org/ipni/advAuthorSearch.do?output_format=delimited&find_surname=%s*'; |
$this->regexp_ligne = '/^(.*)$/umi'; |
$this->regexps = array( 'Id' => '^([^%]+)%' , |
'Version' => '^(?:[^%]*%){1,}([^%]*)%' , |
'DefaultAuthorName' => '^(?:[^%]*%){2,}([^%]*)%' , |
'DefaultAuthorForename' => '^(?:[^%]*%){3,}([^%]*)%' , |
'DefaultAuthorSurname' => '^(?:[^%]*%){4,}([^%]*)%' , |
'StandardForm' => '^(?:[^%]*%){5,}([^%]*)%' , |
'NameNotes' => '^(?:[^%]*%){6,}([^%]*)%' , |
'NameSource' => '^(?:[^%]*%){7,}([^%]*)%' , |
'Dates' => '^(?:[^%]*%){8,}([^%]*)%' , |
'DateTypeCode' => '^(?:[^%]*%){9,}([^%]*)%' , |
'DateTypeString' => '^(?:[^%]*%){10,}([^%]*)%' , |
'AlternativeAbbreviations' => '^(?:[^%]*%){11,}([^%]*)%' , |
'AlternativeNames' => '^(?:[^%]*%){12,}([^%]*)%' , |
'TaxonGroups' => '^(?:[^%]*%){13,}([^%]*)%' , |
'ExampleOfNamePublished' => '^(?:[^%]*%){14,}([^%]*)$' ); |
$this->analyserUrls(); |
} |
/** |
* Robot analysant les pages du site de Cassini. |
* Exemples d'utilisation : |
* /opt/lampp/bin/php script.php robot -p cassini -a cassini -pgf ~/importation/robots/eFloreBotCassini.txt -s ~/importation/robots/cassini.tsv |
* /opt/lampp/bin/php script.php robot -p cassini -a cassini -pg 1 -s ~/importation/robots/cassini.tsv |
* /opt/lampp/bin/php script.php robot -p cassini -a cassini -pg 1 |
* |
* @return unknown_type |
*/ |
private function lancerRobotCassini() { |
// Valeur spécifique de ce Robot |
$this->robot_nom = 'eFloreBotCassini'; |
$this->url_tpl = 'http://cassini.ehess.fr/cassini/fr/html/fiche.php?select_resultat=%s'; |
$this->encodage = 'ISO-8859-1'; |
$this->regexp_ligne = '/\s*var\s+chaine1\s+\t=\s+"(.*?)";/umsi'; |
$this->regexps = array( 'NomCommune' => '^([^\\\\]+)\\\\n' , |
'Superficie' => '\\\\nsuperficie;([^\\\\]+)\\\\n', |
'AltitudeMin' => '\\\\naltitude;([^;]+);', |
'AltitudeMax' => '\\\\naltitude;[^;]+;([^\\\\]+)\\\\n', |
'LambertIIEtenduX' => '\\\\ncoordonnées;Lambert II étendu\\\\n;x;([^\\\\]+)\\\\n', |
'LambertIIEtenduY' => '\\\\ncoordonnées;Lambert II étendu\\\\n;x;[^\\\\]+\\\\n;y;([^\\\\]+)\\\\n', |
'Latitude' => '\\\\n;Latitude;(.+)?\\\\ncode', |
'Longitude' => '\\\\n;Longitude;(.+?)\\\\n;Latitude', |
'CodeInsee' => '\\\\ncode insee;([^\\\\]+)\\\\nstatut', |
'Statut' => '\\\\nstatut\(s\);([^\\\\]+)\\\\n\\\\n'); |
$this->analyserUrls(); |
} |
/** |
* Robot analysant les pages du site de Cassini. |
* Exemples d'utilisation : |
* /opt/lampp/bin/php script.php robot -p cassini -a cassini -pgf ~/importation/robots/eFloreBotCassini.txt -s ~/importation/robots/cassini.tsv |
* /opt/lampp/bin/php script.php robot -p cassini -a cassini -pg 1 -s ~/importation/robots/cassini.tsv |
* /opt/lampp/bin/php script.php robot -p cassini -a cassini -pg 1 |
* |
* @return unknown_type |
*/ |
private function lancerRobotUtmConverter() { |
// Valeur spécifique de ce Robot |
$this->robot_nom = 'eFloreBotUtmConverter'; |
$this->url_tpl = 'http://www.rcn.montana.edu/resources/tools/coordinates.aspx?nav=11&c=DD&md=83&mdt=NAD83/WGS84&lat=%s&lath=N&lon=%s&lonh=E'; |
$this->encodage = 'ISO-8859-1'; |
$this->regexp_ligne = '/Universal Transverse Mercator \(UTM\):<\/td>(.*?)<\/table><\/td>/umsi'; |
$this->regexps = array( 'UTM_Zone' => 'Zone: ([0-9]+)<' , |
'UTM_Est_x' => 'Easting: ([0-9]+)<', |
'UTM_Nord_y' => 'Northing: ([0-9]+)<'); |
$this->analyserUrls(); |
} |
private function analyserUrls() { |
// Lancement de l'analyse |
$heure_debut = date('c',time()); |
echo "Analyse de l'URL # : "; |
$pagesNum = 0;// Pages |
$lignesNum = 0;// Lignes |
$sortie = ''; |
foreach ($this->pages as $paramsPage) { |
$xhtml_page = $this->getHtml($this->url_tpl, $paramsPage); |
$xhtml_lignes = $this->extraireChaine($this->regexp_ligne, $xhtml_page); |
// Pour chaque chaine début/fin trouvées au sein de la page, nous recherchons les regexps des données. |
if (count($xhtml_lignes) > 1 && $this->mode != 'MULTI') { |
$this->traiterAttention("Plusieurs lignes correspondent à votre expression régulière de limitation du contenu :\n %s", array($this->regexp_ligne)); |
} else if ($xhtml_lignes) { |
print_r($xhtml_lignes ); |
foreach ($xhtml_lignes as $xhtml) { |
$champsNum = 1;// Champs |
$ligne = ''; |
foreach ($this->regexps as $chp => $regexp) { |
// Si nous traitons la première ligne nous ajoutons les noms des champs en début de fichier de sortie |
if ($lignesNum == 0) { |
$sortie .= $chp.(($champsNum == count($this->regexps)) ? "\n" : "\t"); |
$champsNum++; |
} |
// Ajout de la valeur trouvée grâce à l'expression régulière à la ligne de sortie |
if (preg_match('/'.$regexp.'/Umsi', $xhtml, $match)) { |
$ligne .= $this->nettoyer($match[1])."\t"; |
} else { |
$ligne .= "\t"; |
} |
} |
$lignesNum++; |
$ligne = trim($ligne); |
$sortie .= $ligne."\n"; |
// Affichage en console... |
if (empty($this->sortie)) { |
echo "\t".$ligne."\n"; |
} |
} |
} else { |
$this->traiterAttention("Impossible de trouver les chaines début et fin dans la page «%s» avec la regexp :\n%s", array($this->getNomPage($paramsPage), $this->regexp_ligne)); |
} |
// Affichage en console... |
echo str_repeat(chr(8), ( strlen( $pagesNum ) + 1 ))."\t".$pagesNum++; |
} |
echo "\n"; |
$heure_fin = date('c',time()); |
// Ajout de métadonnées |
$metadonnees = "Début d'importation : $heure_debut\nFin d'importation : $heure_fin\n"; |
$metadonnees .= "Source des données : ".$this->url_tpl."\n"; |
$sortie = $metadonnees.$sortie; |
// Écriture du fichier de sortie ou retour dans la console |
if (!empty($this->sortie)) { |
file_put_contents($this->sortie, $sortie); |
} |
} |
private function nettoyer($txt) { |
$txt = trim($txt); |
$txt = preg_replace('/(?: | )/', ' ', $txt); |
return $txt; |
} |
private function getHtml($url_tpl, $paramsPage) { |
// Lancement en ligne de commande pour tester : |
//curl -v --url "http://fr.wikipedia.org/wiki/Montpellier" --config /home/jpm/web/eflore_bp/consultation/scripts/modules/robot/configuration/cookieconf.txt |
if ($this->cache && file_exists($fichier_cache = $this->cache.$this->getNomPage($paramsPage))) { |
$html = file_get_contents($fichier_cache); |
} else { |
$url = vsprintf($url_tpl, $paramsPage); |
$this->traiterAttention(" Url : ".$url); |
// Initialisation CURL |
$curl = curl_init(); |
curl_setopt($curl, CURLOPT_COOKIEFILE, $this->cookie); |
curl_setopt($curl, CURLOPT_URL, $url); |
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); |
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1'); |
$html = curl_exec($curl); |
// Mise en cache |
if ($this->cache) { |
file_put_contents($fichier_cache, $html); |
} |
} |
// Nettoyage des entités html |
$html = $this->encoderUtf8($html, 'HTML-ENTITIES'); |
// Nettoyage de l'encodage des urls |
$html = urldecode($html); |
// Convertion en UTF-8 si nécessaire |
if ($this->encodage) { |
$html = $this->encoderUtf8($html, $this->encodage); |
} |
return $html; |
} |
/** |
* Méthode récupérant seulement une partie du texte passé en paramétre. |
* |
* @param $debut chaine de caractère indiquant le début du texte à prendre en compte. |
* @param $fin chaine de caractère indiquant la fin du texte à prendre en compte. |
* @param $txt le texte duquel extraire une partie bornée par $debut et $fin. |
* @return le texte extrait. |
*/ |
private function extraireChaine($regexp, $txt) { |
if (preg_match_all($regexp, $txt, $match)) { |
return $match[1]; |
} else { |
return false; |
} |
} |
/** |
* Charge les lignes d'un fichier dans un tableau et le retourne. |
* Supprime les caractères blancs et les nouvelles lignes. |
* |
* @param $fichier |
* @return unknown_type |
*/ |
private function convertirFichierEnTableau($fichier) { |
$tableau = array(); |
$handle = fopen($fichier,'r'); |
if ($handle) { |
while ($ligne = fgets($handle)) { |
$tableau[] = explode("\t", trim($ligne)); |
} |
fclose($handle); |
} |
return $tableau; |
} |
private function getNomPage($paramsPage) { |
return str_replace(' ', '_', implode('_', $paramsPage)).'.html'; |
} |
} |
?> |
/trunk/scripts/modules/bonnier/shell/generer_sql.sh |
---|
New file |
0,0 → 1,298 |
perl xls2sql.pl file="001-Renonculacées-Plante.xls" skip=0 table="bonnier_v0_00_renonculacees_plante" > bonnier_v0_00_renonculacees_plante.sql |
perl xls2sql.pl file="001-Renonculacées-Texte.xls" skip=0 table="bonnier_v0_00_renonculacees_texte" > bonnier_v0_00_renonculacees_texte.sql |
perl xls2sql.pl file="002-Berbéridées-Plante.xls" skip=0 table="bonnier_v0_00_berberidees_plante" > bonnier_v0_00_berberidees_plante.sql |
perl xls2sql.pl file="002-Berbéridées-Texte.xls" skip=0 table="bonnier_v0_00_berberidees_texte" > bonnier_v0_00_berberidees_texte.sql |
perl xls2sql.pl file="003-Nymphéacées-Plante.xls" skip=0 table="bonnier_v0_00_nympheacees_plante" > bonnier_v0_00_nympheacees_plante.sql |
perl xls2sql.pl file="003-Nymphéacées-Texte.xls" skip=0 table="bonnier_v0_00_nympheacees_texte" > bonnier_v0_00_nympheacees_texte.sql |
perl xls2sql.pl file="004-Papavéracées-Plante.xls" skip=0 table="bonnier_v0_00_papaveracees_plante" > bonnier_v0_00_papaveracees_plante.sql |
perl xls2sql.pl file="004-Papavéracées-Texte.xls" skip=0 table="bonnier_v0_00_papaveracees_texte" > bonnier_v0_00_papaveracees_texte.sql |
perl xls2sql.pl file="005-Fumariacées-Plante.xls" skip=0 table="bonnier_v0_00_fumariacees_plante" > bonnier_v0_00_fumariacees_plante.sql |
perl xls2sql.pl file="005-Fumariacées-Texte.xls" skip=0 table="bonnier_v0_00_fumariacees_texte" > bonnier_v0_00_fumariacees_texte.sql |
perl xls2sql.pl file="006-Crucifères-Plante.xls" skip=0 table="bonnier_v0_00_cruciferes_plante" > bonnier_v0_00_cruciferes_plante.sql |
perl xls2sql.pl file="006-Crucifères-Texte.xls" skip=0 table="bonnier_v0_00_cruciferes_texte" > bonnier_v0_00_cruciferes_texte.sql |
perl xls2sql.pl file="007-Capparidées-Plante.xls" skip=0 table="bonnier_v0_00_capparidees_plante" > bonnier_v0_00_capparidees_plante.sql |
perl xls2sql.pl file="007-Capparidées-Texte.xls" skip=0 table="bonnier_v0_00_capparidees_texte" > bonnier_v0_00_capparidees_texte.sql |
perl xls2sql.pl file="008-Cistinées-Plante.xls" skip=0 table="bonnier_v0_00_cistinees_plante" > bonnier_v0_00_cistinees_plante.sql |
perl xls2sql.pl file="008-Cistinées-Texte.xls" skip=0 table="bonnier_v0_00_cistinees_texte" > bonnier_v0_00_cistinees_texte.sql |
perl xls2sql.pl file="009-Violariées-Plante.xls" skip=0 table="bonnier_v0_00_violariees_plante" > bonnier_v0_00_violariees_plante.sql |
perl xls2sql.pl file="009-Violariées-Texte.xls" skip=0 table="bonnier_v0_00_violariees_texte" > bonnier_v0_00_violariees_texte.sql |
perl xls2sql.pl file="010-Résédacées-Plante.xls" skip=0 table="bonnier_v0_00_résedacees_plante" > bonnier_v0_00_résedacees_plante.sql |
perl xls2sql.pl file="010-Résédacées-Texte.xls" skip=0 table="bonnier_v0_00_résedacees_texte" > bonnier_v0_00_résedacees_texte.sql |
perl xls2sql.pl file="011-Droséracées-Plante.xls" skip=0 table="bonnier_v0_00_droseracees_plante" > bonnier_v0_00_droseracees_plante.sql |
perl xls2sql.pl file="011-Droséracées-Texte.xls" skip=0 table="bonnier_v0_00_droseracees_texte" > bonnier_v0_00_droseracees_texte.sql |
perl xls2sql.pl file="012-Polygalées-Plante.xls" skip=0 table="bonnier_v0_00_polygalees_plante" > bonnier_v0_00_polygalees_plante.sql |
perl xls2sql.pl file="012-Polygalées-Texte.xls" skip=0 table="bonnier_v0_00_polygalees_texte" > bonnier_v0_00_polygalees_texte.sql |
perl xls2sql.pl file="013-Frankéniacées-Plante.xls" skip=0 table="bonnier_v0_00_frankeniacees_plante" > bonnier_v0_00_frankeniacees_plante.sql |
perl xls2sql.pl file="013-Frankéniacées-Texte.xls" skip=0 table="bonnier_v0_00_frankeniacees_texte" > bonnier_v0_00_frankeniacees_texte.sql |
perl xls2sql.pl file="014-Caryophyllées-Plante.xls" skip=0 table="bonnier_v0_00_caryophyllees_plante" > bonnier_v0_00_caryophyllees_plante.sql |
perl xls2sql.pl file="014-Caryophyllées-Texte.xls" skip=0 table="bonnier_v0_00_caryophyllees_texte" > bonnier_v0_00_caryophyllees_texte.sql |
perl xls2sql.pl file="015-Elatinées-Plante.xls" skip=0 table="bonnier_v0_00_elatinees_plante" > bonnier_v0_00_elatinees_plante.sql |
perl xls2sql.pl file="015-Elatinées-Texte.xls" skip=0 table="bonnier_v0_00_elatinees_texte" > bonnier_v0_00_elatinees_texte.sql |
perl xls2sql.pl file="016-Linées-Plante.xls" skip=0 table="bonnier_v0_00_linees_plante" > bonnier_v0_00_linees_plante.sql |
perl xls2sql.pl file="016-Linées-Texte.xls" skip=0 table="bonnier_v0_00_linees_texte" > bonnier_v0_00_linees_texte.sql |
perl xls2sql.pl file="017-Tiliacées-Plante.xls" skip=0 table="bonnier_v0_00_tiliacees_plante" > bonnier_v0_00_tiliacees_plante.sql |
perl xls2sql.pl file="017-Tiliacées-Texte.xls" skip=0 table="bonnier_v0_00_tiliacees_texte" > bonnier_v0_00_tiliacees_texte.sql |
perl xls2sql.pl file="018-Malvacées-Plante.xls" skip=0 table="bonnier_v0_00_malvacees_plante" > bonnier_v0_00_malvacees_plante.sql |
perl xls2sql.pl file="018-Malvacées-Texte.xls" skip=0 table="bonnier_v0_00_malvacees_texte" > bonnier_v0_00_malvacees_texte.sql |
perl xls2sql.pl file="019-Géraniées-Plante.xls" skip=0 table="bonnier_v0_00_geraniees_plante" > bonnier_v0_00_geraniees_plante.sql |
perl xls2sql.pl file="019-Géraniées-Texte.xls" skip=0 table="bonnier_v0_00_geraniees_texte" > bonnier_v0_00_geraniees_texte.sql |
perl xls2sql.pl file="020-Hypéricinées-Plante.xls" skip=0 table="bonnier_v0_00_hypericinees_plante" > bonnier_v0_00_hypericinees_plante.sql |
perl xls2sql.pl file="020-Hypéricinées-Texte.xls" skip=0 table="bonnier_v0_00_hypericinees_texte" > bonnier_v0_00_hypericinees_texte.sql |
perl xls2sql.pl file="021-Acérinées-Plante.xls" skip=0 table="bonnier_v0_00_acerinees_plante" > bonnier_v0_00_acerinees_plante.sql |
perl xls2sql.pl file="021-Acérinées-Texte.xls" skip=0 table="bonnier_v0_00_acerinees_texte" > bonnier_v0_00_acerinees_texte.sql |
perl xls2sql.pl file="022-Ampélidées-Plante.xls" skip=0 table="bonnier_v0_00_ampelidees_plante" > bonnier_v0_00_ampelidees_plante.sql |
perl xls2sql.pl file="022-Ampélidées-Texte.xls" skip=0 table="bonnier_v0_00_ampelidees_texte" > bonnier_v0_00_ampelidees_texte.sql |
perl xls2sql.pl file="023-Hippocastanées-Plante.xls" skip=0 table="bonnier_v0_00_hippocastanees_plante" > bonnier_v0_00_hippocastanees_plante.sql |
perl xls2sql.pl file="023-Hippocastanées-Texte.xls" skip=0 table="bonnier_v0_00_hippocastanees_texte" > bonnier_v0_00_hippocastanees_texte.sql |
perl xls2sql.pl file="024-Méliacées-Plante.xls" skip=0 table="bonnier_v0_00_meliacees_plante" > bonnier_v0_00_meliacees_plante.sql |
perl xls2sql.pl file="024-Méliacées-Texte.xls" skip=0 table="bonnier_v0_00_meliacees_texte" > bonnier_v0_00_meliacees_texte.sql |
perl xls2sql.pl file="025-Balsaminées-Plante.xls" skip=0 table="bonnier_v0_00_balsaminees_plante" > bonnier_v0_00_balsaminees_plante.sql |
perl xls2sql.pl file="025-Balsaminées-Texte.xls" skip=0 table="bonnier_v0_00_balsaminees_texte" > bonnier_v0_00_balsaminees_texte.sql |
perl xls2sql.pl file="026-Oxalidées-Plante.xls" skip=0 table="bonnier_v0_00_oxalidees_plante" > bonnier_v0_00_oxalidees_plante.sql |
perl xls2sql.pl file="026-Oxalidées-Texte.xls" skip=0 table="bonnier_v0_00_oxalidees_texte" > bonnier_v0_00_oxalidees_texte.sql |
perl xls2sql.pl file="027-Zygophyllées-Plante.xls" skip=0 table="bonnier_v0_00_zygophyllees_plante" > bonnier_v0_00_zygophyllees_plante.sql |
perl xls2sql.pl file="027-Zygophyllées-Texte.xls" skip=0 table="bonnier_v0_00_zygophyllees_texte" > bonnier_v0_00_zygophyllees_texte.sql |
perl xls2sql.pl file="028-Hespéridées-Plante.xls" skip=0 table="bonnier_v0_00_hesperidees_plante" > bonnier_v0_00_hesperidees_plante.sql |
perl xls2sql.pl file="028-Hespéridées-Texte.xls" skip=0 table="bonnier_v0_00_hesperidees_texte" > bonnier_v0_00_hesperidees_texte.sql |
perl xls2sql.pl file="029-Rutacées-Plante.xls" skip=0 table="bonnier_v0_00_rutacees_plante" > bonnier_v0_00_rutacees_plante.sql |
perl xls2sql.pl file="029-Rutacées-Texte.xls" skip=0 table="bonnier_v0_00_rutacees_texte" > bonnier_v0_00_rutacees_texte.sql |
perl xls2sql.pl file="030-Coriariées-Plante.xls" skip=0 table="bonnier_v0_00_coriariees_plante" > bonnier_v0_00_coriariees_plante.sql |
perl xls2sql.pl file="030-Coriariées-Texte.xls" skip=0 table="bonnier_v0_00_coriariees_texte" > bonnier_v0_00_coriariees_texte.sql |
perl xls2sql.pl file="031-Celastrinées-Plante.xls" skip=0 table="bonnier_v0_00_celastrinees_plante" > bonnier_v0_00_celastrinees_plante.sql |
perl xls2sql.pl file="031-Celastrinées-Texte.xls" skip=0 table="bonnier_v0_00_celastrinees_texte" > bonnier_v0_00_celastrinees_texte.sql |
perl xls2sql.pl file="032-Staphyléacées-Plante.xls" skip=0 table="bonnier_v0_00_staphyleacees_plante" > bonnier_v0_00_staphyleacees_plante.sql |
perl xls2sql.pl file="032-Staphyléacées-Texte.xls" skip=0 table="bonnier_v0_00_staphyleacees_texte" > bonnier_v0_00_staphyleacees_texte.sql |
perl xls2sql.pl file="033-Ilicinées-Plante.xls" skip=0 table="bonnier_v0_00_ilicinees_plante" > bonnier_v0_00_ilicinees_plante.sql |
perl xls2sql.pl file="033-Ilicinées-Texte.xls" skip=0 table="bonnier_v0_00_ilicinees_texte" > bonnier_v0_00_ilicinees_texte.sql |
perl xls2sql.pl file="034-Rhamnées-Plante.xls" skip=0 table="bonnier_v0_00_rhamnees_plante" > bonnier_v0_00_rhamnees_plante.sql |
perl xls2sql.pl file="034-Rhamnées-Texte.xls" skip=0 table="bonnier_v0_00_rhamnees_texte" > bonnier_v0_00_rhamnees_texte.sql |
perl xls2sql.pl file="035-Térébinthacées-Plante.xls" skip=0 table="bonnier_v0_00_térebinthacees_plante" > bonnier_v0_00_térebinthacees_plante.sql |
perl xls2sql.pl file="035-Térébinthacées-Texte.xls" skip=0 table="bonnier_v0_00_térebinthacees_texte" > bonnier_v0_00_térebinthacees_texte.sql |
perl xls2sql.pl file="036-Papilionacées-Plante.xls" skip=0 table="bonnier_v0_00_papilionacees_plante" > bonnier_v0_00_papilionacees_plante.sql |
perl xls2sql.pl file="036-Papilionacées-Texte.xls" skip=0 table="bonnier_v0_00_papilionacees_texte" > bonnier_v0_00_papilionacees_texte.sql |
perl xls2sql.pl file="037-Césalpiniées-Plante.xls" skip=0 table="bonnier_v0_00_cesalpiniees_plante" > bonnier_v0_00_cesalpiniees_plante.sql |
perl xls2sql.pl file="037-Césalpiniées-Texte.xls" skip=0 table="bonnier_v0_00_cesalpiniees_texte" > bonnier_v0_00_cesalpiniees_texte.sql |
perl xls2sql.pl file="038-Rosacées-Plante.xls" skip=0 table="bonnier_v0_00_rosacees_plante" > bonnier_v0_00_rosacees_plante.sql |
perl xls2sql.pl file="038-Rosacées-Texte.xls" skip=0 table="bonnier_v0_00_rosacees_texte" > bonnier_v0_00_rosacees_texte.sql |
perl xls2sql.pl file="039-Granatées-Plante.xls" skip=0 table="bonnier_v0_00_granatees_plante" > bonnier_v0_00_granatees_plante.sql |
perl xls2sql.pl file="039-Granatées-Texte.xls" skip=0 table="bonnier_v0_00_granatees_texte" > bonnier_v0_00_granatees_texte.sql |
perl xls2sql.pl file="040-Onagrariées-Plante.xls" skip=0 table="bonnier_v0_00_onagrariees_plante" > bonnier_v0_00_onagrariees_plante.sql |
perl xls2sql.pl file="040-Onagrariées-Texte.xls" skip=0 table="bonnier_v0_00_onagrariees_texte" > bonnier_v0_00_onagrariees_texte.sql |
perl xls2sql.pl file="041-Myriophyllées-Plante.xls" skip=0 table="bonnier_v0_00_myriophyllees_plante" > bonnier_v0_00_myriophyllees_plante.sql |
perl xls2sql.pl file="041-Myriophyllées-Texte.xls" skip=0 table="bonnier_v0_00_myriophyllees_texte" > bonnier_v0_00_myriophyllees_texte.sql |
perl xls2sql.pl file="042-Hippuridées-Plante.xls" skip=0 table="bonnier_v0_00_hippuridees_plante" > bonnier_v0_00_hippuridees_plante.sql |
perl xls2sql.pl file="042-Hippuridées-Texte.xls" skip=0 table="bonnier_v0_00_hippuridees_texte" > bonnier_v0_00_hippuridees_texte.sql |
perl xls2sql.pl file="043-Callitrichinées-Plante.xls" skip=0 table="bonnier_v0_00_callitrichinees_plante" > bonnier_v0_00_callitrichinees_plante.sql |
perl xls2sql.pl file="043-Callitrichinées-Texte.xls" skip=0 table="bonnier_v0_00_callitrichinees_texte" > bonnier_v0_00_callitrichinees_texte.sql |
perl xls2sql.pl file="044-Ceratophyllées-Plante.xls" skip=0 table="bonnier_v0_00_ceratophyllees_plante" > bonnier_v0_00_ceratophyllees_plante.sql |
perl xls2sql.pl file="044-Ceratophyllées-Texte.xls" skip=0 table="bonnier_v0_00_ceratophyllees_texte" > bonnier_v0_00_ceratophyllees_texte.sql |
perl xls2sql.pl file="045-Lythrariées-Plante.xls" skip=0 table="bonnier_v0_00_lythrariees_plante" > bonnier_v0_00_lythrariees_plante.sql |
perl xls2sql.pl file="045-Lythrariées-Texte.xls" skip=0 table="bonnier_v0_00_lythrariees_texte" > bonnier_v0_00_lythrariees_texte.sql |
perl xls2sql.pl file="046-Philadelphées-Plante.xls" skip=0 table="bonnier_v0_00_philadelphees_plante" > bonnier_v0_00_philadelphees_plante.sql |
perl xls2sql.pl file="046-Philadelphées-Texte.xls" skip=0 table="bonnier_v0_00_philadelphees_texte" > bonnier_v0_00_philadelphees_texte.sql |
perl xls2sql.pl file="047-Tamariscinées-Plante.xls" skip=0 table="bonnier_v0_00_tamariscinees_plante" > bonnier_v0_00_tamariscinees_plante.sql |
perl xls2sql.pl file="047-Tamariscinées-Texte.xls" skip=0 table="bonnier_v0_00_tamariscinees_texte" > bonnier_v0_00_tamariscinees_texte.sql |
perl xls2sql.pl file="048-Myrtacées-Plante.xls" skip=0 table="bonnier_v0_00_myrtacees_plante" > bonnier_v0_00_myrtacees_plante.sql |
perl xls2sql.pl file="048-Myrtacées-Texte.xls" skip=0 table="bonnier_v0_00_myrtacees_texte" > bonnier_v0_00_myrtacees_texte.sql |
perl xls2sql.pl file="049-Cucurbitacées-Plante.xls" skip=0 table="bonnier_v0_00_cucurbitacees_plante" > bonnier_v0_00_cucurbitacees_plante.sql |
perl xls2sql.pl file="049-Cucurbitacées-Texte.xls" skip=0 table="bonnier_v0_00_cucurbitacees_texte" > bonnier_v0_00_cucurbitacees_texte.sql |
perl xls2sql.pl file="050-Portulacées-Plante.xls" skip=0 table="bonnier_v0_00_portulacees_plante" > bonnier_v0_00_portulacees_plante.sql |
perl xls2sql.pl file="050-Portulacées-Texte.xls" skip=0 table="bonnier_v0_00_portulacees_texte" > bonnier_v0_00_portulacees_texte.sql |
perl xls2sql.pl file="051-Paronychiées-Plante.xls" skip=0 table="bonnier_v0_00_paronychiees_plante" > bonnier_v0_00_paronychiees_plante.sql |
perl xls2sql.pl file="051-Paronychiées-Texte.xls" skip=0 table="bonnier_v0_00_paronychiees_texte" > bonnier_v0_00_paronychiees_texte.sql |
perl xls2sql.pl file="052-Crassulacées-Plante.xls" skip=0 table="bonnier_v0_00_crassulacees_plante" > bonnier_v0_00_crassulacees_plante.sql |
perl xls2sql.pl file="052-Crassulacées-Texte.xls" skip=0 table="bonnier_v0_00_crassulacees_texte" > bonnier_v0_00_crassulacees_texte.sql |
perl xls2sql.pl file="053-Cactées-Plante.xls" skip=0 table="bonnier_v0_00_cactees_plante" > bonnier_v0_00_cactees_plante.sql |
perl xls2sql.pl file="053-Cactées-Texte.xls" skip=0 table="bonnier_v0_00_cactees_texte" > bonnier_v0_00_cactees_texte.sql |
perl xls2sql.pl file="054-Ficoïdées-Plante.xls" skip=0 table="bonnier_v0_00_ficoïdees_plante" > bonnier_v0_00_ficoïdees_plante.sql |
perl xls2sql.pl file="054-Ficoïdées-Texte.xls" skip=0 table="bonnier_v0_00_ficoïdees_texte" > bonnier_v0_00_ficoïdees_texte.sql |
perl xls2sql.pl file="055-Grossulariées-Plante.xls" skip=0 table="bonnier_v0_00_grossulariees_plante" > bonnier_v0_00_grossulariees_plante.sql |
perl xls2sql.pl file="055-Grossulariées-Texte.xls" skip=0 table="bonnier_v0_00_grossulariees_texte" > bonnier_v0_00_grossulariees_texte.sql |
perl xls2sql.pl file="056-Saxifragées-Plante.xls" skip=0 table="bonnier_v0_00_saxifragees_plante" > bonnier_v0_00_saxifragees_plante.sql |
perl xls2sql.pl file="056-Saxifragées-Texte.xls" skip=0 table="bonnier_v0_00_saxifragees_texte" > bonnier_v0_00_saxifragees_texte.sql |
perl xls2sql.pl file="057-Ombelliféres-Plante.xls" skip=0 table="bonnier_v0_00_ombelliferes_plante" > bonnier_v0_00_ombelliferes_plante.sql |
perl xls2sql.pl file="057-Ombelliféres-Texte.xls" skip=0 table="bonnier_v0_00_ombelliferes_texte" > bonnier_v0_00_ombelliferes_texte.sql |
perl xls2sql.pl file="058-Araliacées-Plante.xls" skip=0 table="bonnier_v0_00_araliacees_plante" > bonnier_v0_00_araliacees_plante.sql |
perl xls2sql.pl file="058-Araliacées-Texte.xls" skip=0 table="bonnier_v0_00_araliacees_texte" > bonnier_v0_00_araliacees_texte.sql |
perl xls2sql.pl file="059-Cornées-Plante.xls" skip=0 table="bonnier_v0_00_cornees_plante" > bonnier_v0_00_cornees_plante.sql |
perl xls2sql.pl file="059-Cornées-Texte.xls" skip=0 table="bonnier_v0_00_cornees_texte" > bonnier_v0_00_cornees_texte.sql |
perl xls2sql.pl file="060-Loranthacées-Plante.xls" skip=0 table="bonnier_v0_00_loranthacees_plante" > bonnier_v0_00_loranthacees_plante.sql |
perl xls2sql.pl file="060-Loranthacées-Texte.xls" skip=0 table="bonnier_v0_00_loranthacees_texte" > bonnier_v0_00_loranthacees_texte.sql |
perl xls2sql.pl file="061-Caprifoliacées-Plante.xls" skip=0 table="bonnier_v0_00_caprifoliacees_plante" > bonnier_v0_00_caprifoliacees_plante.sql |
perl xls2sql.pl file="061-Caprifoliacées-Texte.xls" skip=0 table="bonnier_v0_00_caprifoliacees_texte" > bonnier_v0_00_caprifoliacees_texte.sql |
perl xls2sql.pl file="062-Rubiacées-Plante.xls" skip=0 table="bonnier_v0_00_rubiacees_plante" > bonnier_v0_00_rubiacees_plante.sql |
perl xls2sql.pl file="062-Rubiacées-Texte.xls" skip=0 table="bonnier_v0_00_rubiacees_texte" > bonnier_v0_00_rubiacees_texte.sql |
perl xls2sql.pl file="063-Valérianées-Plante.xls" skip=0 table="bonnier_v0_00_valerianees_plante" > bonnier_v0_00_valerianees_plante.sql |
perl xls2sql.pl file="063-Valérianées-Texte.xls" skip=0 table="bonnier_v0_00_valerianees_texte" > bonnier_v0_00_valerianees_texte.sql |
perl xls2sql.pl file="064-Dipsacées-Plante.xls" skip=0 table="bonnier_v0_00_dipsacees_plante" > bonnier_v0_00_dipsacees_plante.sql |
perl xls2sql.pl file="064-Dipsacées-Texte.xls" skip=0 table="bonnier_v0_00_dipsacees_texte" > bonnier_v0_00_dipsacees_texte.sql |
perl xls2sql.pl file="065-Composées-Plante.xls" skip=0 table="bonnier_v0_00_composees_plante" > bonnier_v0_00_composees_plante.sql |
perl xls2sql.pl file="065-Composées-Texte.xls" skip=0 table="bonnier_v0_00_composees_texte" > bonnier_v0_00_composees_texte.sql |
perl xls2sql.pl file="066-Ambrosiacées-Plante.xls" skip=0 table="bonnier_v0_00_ambrosiacees_plante" > bonnier_v0_00_ambrosiacees_plante.sql |
perl xls2sql.pl file="066-Ambrosiacées-Texte.xls" skip=0 table="bonnier_v0_00_ambrosiacees_texte" > bonnier_v0_00_ambrosiacees_texte.sql |
perl xls2sql.pl file="067-Lobéliacées-Plante.xls" skip=0 table="bonnier_v0_00_lobeliacees_plante" > bonnier_v0_00_lobeliacees_plante.sql |
perl xls2sql.pl file="067-Lobéliacées-Texte.xls" skip=0 table="bonnier_v0_00_lobeliacees_texte" > bonnier_v0_00_lobeliacees_texte.sql |
perl xls2sql.pl file="068-Campanulacées-Plante.xls" skip=0 table="bonnier_v0_00_campanulacees_plante" > bonnier_v0_00_campanulacees_plante.sql |
perl xls2sql.pl file="068-Campanulacées-Texte.xls" skip=0 table="bonnier_v0_00_campanulacees_texte" > bonnier_v0_00_campanulacees_texte.sql |
perl xls2sql.pl file="069-Vacciniées-Plante.xls" skip=0 table="bonnier_v0_00_vacciniees_plante" > bonnier_v0_00_vacciniees_plante.sql |
perl xls2sql.pl file="069-Vacciniées-Texte.xls" skip=0 table="bonnier_v0_00_vacciniees_texte" > bonnier_v0_00_vacciniees_texte.sql |
perl xls2sql.pl file="070-Ericinées-Plante.xls" skip=0 table="bonnier_v0_00_ericinees_plante" > bonnier_v0_00_ericinees_plante.sql |
perl xls2sql.pl file="070-Ericinées-Texte.xls" skip=0 table="bonnier_v0_00_ericinees_texte" > bonnier_v0_00_ericinees_texte.sql |
perl xls2sql.pl file="071-Pyrolacées-Plante.xls" skip=0 table="bonnier_v0_00_pyrolacees_plante" > bonnier_v0_00_pyrolacees_plante.sql |
perl xls2sql.pl file="071-Pyrolacées-Texte.xls" skip=0 table="bonnier_v0_00_pyrolacees_texte" > bonnier_v0_00_pyrolacees_texte.sql |
perl xls2sql.pl file="072-Monotropées-Plante.xls" skip=0 table="bonnier_v0_00_monotropees_plante" > bonnier_v0_00_monotropees_plante.sql |
perl xls2sql.pl file="072-Monotropées-Texte.xls" skip=0 table="bonnier_v0_00_monotropees_texte" > bonnier_v0_00_monotropees_texte.sql |
perl xls2sql.pl file="073-Lentibulariées-Plante.xls" skip=0 table="bonnier_v0_00_lentibulariees_plante" > bonnier_v0_00_lentibulariees_plante.sql |
perl xls2sql.pl file="073-Lentibulariées-Texte.xls" skip=0 table="bonnier_v0_00_lentibulariees_texte" > bonnier_v0_00_lentibulariees_texte.sql |
perl xls2sql.pl file="074-Primulacées-Plante.xls" skip=0 table="bonnier_v0_00_primulacees_plante" > bonnier_v0_00_primulacees_plante.sql |
perl xls2sql.pl file="074-Primulacées-Texte.xls" skip=0 table="bonnier_v0_00_primulacees_texte" > bonnier_v0_00_primulacees_texte.sql |
perl xls2sql.pl file="075-Ebénacées-Plante.xls" skip=0 table="bonnier_v0_00_ebenacees_plante" > bonnier_v0_00_ebenacees_plante.sql |
perl xls2sql.pl file="075-Ebénacées-Texte.xls" skip=0 table="bonnier_v0_00_ebenacees_texte" > bonnier_v0_00_ebenacees_texte.sql |
perl xls2sql.pl file="076-Styracées-Plante.xls" skip=0 table="bonnier_v0_00_styracees_plante" > bonnier_v0_00_styracees_plante.sql |
perl xls2sql.pl file="076-Styracées-Texte.xls" skip=0 table="bonnier_v0_00_styracees_texte" > bonnier_v0_00_styracees_texte.sql |
perl xls2sql.pl file="077-Oléinées-Plante.xls" skip=0 table="bonnier_v0_00_oleinees_plante" > bonnier_v0_00_oleinees_plante.sql |
perl xls2sql.pl file="077-Oléinées-Texte.xls" skip=0 table="bonnier_v0_00_oleinees_texte" > bonnier_v0_00_oleinees_texte.sql |
perl xls2sql.pl file="078-Jasminées-Plante.xls" skip=0 table="bonnier_v0_00_jasminees_plante" > bonnier_v0_00_jasminees_plante.sql |
perl xls2sql.pl file="078-Jasminées-Texte.xls" skip=0 table="bonnier_v0_00_jasminees_texte" > bonnier_v0_00_jasminees_texte.sql |
perl xls2sql.pl file="079-Apocynées-Plante.xls" skip=0 table="bonnier_v0_00_apocynees_plante" > bonnier_v0_00_apocynees_plante.sql |
perl xls2sql.pl file="079-Apocynées-Texte.xls" skip=0 table="bonnier_v0_00_apocynees_texte" > bonnier_v0_00_apocynees_texte.sql |
perl xls2sql.pl file="080-Asclépiadées-Plante.xls" skip=0 table="bonnier_v0_00_asclepiadees_plante" > bonnier_v0_00_asclepiadees_plante.sql |
perl xls2sql.pl file="080-Asclépiadées-Texte.xls" skip=0 table="bonnier_v0_00_asclepiadees_texte" > bonnier_v0_00_asclepiadees_texte.sql |
perl xls2sql.pl file="081-Gentianées-Plante.xls" skip=0 table="bonnier_v0_00_gentianees_plante" > bonnier_v0_00_gentianees_plante.sql |
perl xls2sql.pl file="081-Gentianées-Texte.xls" skip=0 table="bonnier_v0_00_gentianees_texte" > bonnier_v0_00_gentianees_texte.sql |
perl xls2sql.pl file="082-Polémoniacées-Plante.xls" skip=0 table="bonnier_v0_00_polemoniacees_plante" > bonnier_v0_00_polemoniacees_plante.sql |
perl xls2sql.pl file="082-Polémoniacées-Texte.xls" skip=0 table="bonnier_v0_00_polemoniacees_texte" > bonnier_v0_00_polemoniacees_texte.sql |
perl xls2sql.pl file="083-Convolvulacées-Plante.xls" skip=0 table="bonnier_v0_00_convolvulacees_plante" > bonnier_v0_00_convolvulacees_plante.sql |
perl xls2sql.pl file="083-Convolvulacées-Texte.xls" skip=0 table="bonnier_v0_00_convolvulacees_texte" > bonnier_v0_00_convolvulacees_texte.sql |
perl xls2sql.pl file="084-Cuscutacées-Plante.xls" skip=0 table="bonnier_v0_00_cuscutacees_plante" > bonnier_v0_00_cuscutacees_plante.sql |
perl xls2sql.pl file="084-Cuscutacées-Texte.xls" skip=0 table="bonnier_v0_00_cuscutacees_texte" > bonnier_v0_00_cuscutacees_texte.sql |
perl xls2sql.pl file="085-Ramondiacées-Plante.xls" skip=0 table="bonnier_v0_00_ramondiacees_plante" > bonnier_v0_00_ramondiacees_plante.sql |
perl xls2sql.pl file="085-Ramondiacées-Texte.xls" skip=0 table="bonnier_v0_00_ramondiacees_texte" > bonnier_v0_00_ramondiacees_texte.sql |
perl xls2sql.pl file="086-Borraginées-Plante.xls" skip=0 table="bonnier_v0_00_borraginees_plante" > bonnier_v0_00_borraginees_plante.sql |
perl xls2sql.pl file="086-Borraginées-Texte.xls" skip=0 table="bonnier_v0_00_borraginees_texte" > bonnier_v0_00_borraginees_texte.sql |
perl xls2sql.pl file="087-Solanées-Plante.xls" skip=0 table="bonnier_v0_00_solanees_plante" > bonnier_v0_00_solanees_plante.sql |
perl xls2sql.pl file="087-Solanées-Texte.xls" skip=0 table="bonnier_v0_00_solanees_texte" > bonnier_v0_00_solanees_texte.sql |
perl xls2sql.pl file="088-Verbascées-Plante.xls" skip=0 table="bonnier_v0_00_verbascees_plante" > bonnier_v0_00_verbascees_plante.sql |
perl xls2sql.pl file="088-Verbascées-Texte.xls" skip=0 table="bonnier_v0_00_verbascees_texte" > bonnier_v0_00_verbascees_texte.sql |
perl xls2sql.pl file="089-Scrofularinées-Plante.xls" skip=0 table="bonnier_v0_00_scrofularinees_plante" > bonnier_v0_00_scrofularinees_plante.sql |
perl xls2sql.pl file="089-Scrofularinées-Texte.xls" skip=0 table="bonnier_v0_00_scrofularinees_texte" > bonnier_v0_00_scrofularinees_texte.sql |
perl xls2sql.pl file="090-Orobanchées-Plante.xls" skip=0 table="bonnier_v0_00_orobanchees_plante" > bonnier_v0_00_orobanchees_plante.sql |
perl xls2sql.pl file="090-Orobanchées-Texte.xls" skip=0 table="bonnier_v0_00_orobanchees_texte" > bonnier_v0_00_orobanchees_texte.sql |
perl xls2sql.pl file="091-Labiées-Plante.xls" skip=0 table="bonnier_v0_00_labiees_plante" > bonnier_v0_00_labiees_plante.sql |
perl xls2sql.pl file="091-Labiées-Texte.xls" skip=0 table="bonnier_v0_00_labiees_texte" > bonnier_v0_00_labiees_texte.sql |
perl xls2sql.pl file="092-Acanthacées-Plante.xls" skip=0 table="bonnier_v0_00_acanthacees_plante" > bonnier_v0_00_acanthacees_plante.sql |
perl xls2sql.pl file="092-Acanthacées-Texte.xls" skip=0 table="bonnier_v0_00_acanthacees_texte" > bonnier_v0_00_acanthacees_texte.sql |
perl xls2sql.pl file="093-Verbénacées-Plante.xls" skip=0 table="bonnier_v0_00_verbenacees_plante" > bonnier_v0_00_verbenacees_plante.sql |
perl xls2sql.pl file="093-Verbénacées-Texte.xls" skip=0 table="bonnier_v0_00_verbenacees_texte" > bonnier_v0_00_verbenacees_texte.sql |
perl xls2sql.pl file="094-Plantaginées-Plante.xls" skip=0 table="bonnier_v0_00_plantaginees_plante" > bonnier_v0_00_plantaginees_plante.sql |
perl xls2sql.pl file="094-Plantaginées-Texte.xls" skip=0 table="bonnier_v0_00_plantaginees_texte" > bonnier_v0_00_plantaginees_texte.sql |
perl xls2sql.pl file="095-Plombaginées-Plante.xls" skip=0 table="bonnier_v0_00_plombaginees_plante" > bonnier_v0_00_plombaginees_plante.sql |
perl xls2sql.pl file="095-Plombaginées-Texte.xls" skip=0 table="bonnier_v0_00_plombaginees_texte" > bonnier_v0_00_plombaginees_texte.sql |
perl xls2sql.pl file="096-Globulariées-Plante.xls" skip=0 table="bonnier_v0_00_globulariees_plante" > bonnier_v0_00_globulariees_plante.sql |
perl xls2sql.pl file="096-Globulariées-Texte.xls" skip=0 table="bonnier_v0_00_globulariees_texte" > bonnier_v0_00_globulariees_texte.sql |
perl xls2sql.pl file="097-Phytolaccées-Plante.xls" skip=0 table="bonnier_v0_00_phytolaccees_plante" > bonnier_v0_00_phytolaccees_plante.sql |
perl xls2sql.pl file="097-Phytolaccées-Texte.xls" skip=0 table="bonnier_v0_00_phytolaccees_texte" > bonnier_v0_00_phytolaccees_texte.sql |
perl xls2sql.pl file="098-Amarantacées-Plante.xls" skip=0 table="bonnier_v0_00_amarantacees_plante" > bonnier_v0_00_amarantacees_plante.sql |
perl xls2sql.pl file="098-Amarantacées-Texte.xls" skip=0 table="bonnier_v0_00_amarantacees_texte" > bonnier_v0_00_amarantacees_texte.sql |
perl xls2sql.pl file="099-Salsolacées-Plante.xls" skip=0 table="bonnier_v0_00_salsolacees_plante" > bonnier_v0_00_salsolacees_plante.sql |
perl xls2sql.pl file="099-Salsolacées-Texte.xls" skip=0 table="bonnier_v0_00_salsolacees_texte" > bonnier_v0_00_salsolacees_texte.sql |
perl xls2sql.pl file="100-Polygonées-Plante.xls" skip=0 table="bonnier_v0_00_polygonees_plante" > bonnier_v0_00_polygonees_plante.sql |
perl xls2sql.pl file="100-Polygonées-Texte.xls" skip=0 table="bonnier_v0_00_polygonees_texte" > bonnier_v0_00_polygonees_texte.sql |
perl xls2sql.pl file="101-Daphnoidées-Plante.xls" skip=0 table="bonnier_v0_00_daphnoidees_plante" > bonnier_v0_00_daphnoidees_plante.sql |
perl xls2sql.pl file="101-Daphnoidées-Texte.xls" skip=0 table="bonnier_v0_00_daphnoidees_texte" > bonnier_v0_00_daphnoidees_texte.sql |
perl xls2sql.pl file="102-Laurinées-Plante.xls" skip=0 table="bonnier_v0_00_laurinees_plante" > bonnier_v0_00_laurinees_plante.sql |
perl xls2sql.pl file="102-Laurinées-Texte.xls" skip=0 table="bonnier_v0_00_laurinees_texte" > bonnier_v0_00_laurinees_texte.sql |
perl xls2sql.pl file="103-Santalacées-Plante.xls" skip=0 table="bonnier_v0_00_santalacees_plante" > bonnier_v0_00_santalacees_plante.sql |
perl xls2sql.pl file="103-Santalacées-Texte.xls" skip=0 table="bonnier_v0_00_santalacees_texte" > bonnier_v0_00_santalacees_texte.sql |
perl xls2sql.pl file="104-Eléagnées-Plante.xls" skip=0 table="bonnier_v0_00_eleagnees_plante" > bonnier_v0_00_eleagnees_plante.sql |
perl xls2sql.pl file="104-Eléagnées-Texte.xls" skip=0 table="bonnier_v0_00_eleagnees_texte" > bonnier_v0_00_eleagnees_texte.sql |
perl xls2sql.pl file="105-Cytinées-Plante.xls" skip=0 table="bonnier_v0_00_cytinees_plante" > bonnier_v0_00_cytinees_plante.sql |
perl xls2sql.pl file="105-Cytinées-Texte.xls" skip=0 table="bonnier_v0_00_cytinees_texte" > bonnier_v0_00_cytinees_texte.sql |
perl xls2sql.pl file="106-Aristolochiées-Plante.xls" skip=0 table="bonnier_v0_00_aristolochiees_plante" > bonnier_v0_00_aristolochiees_plante.sql |
perl xls2sql.pl file="106-Aristolochiées-Texte.xls" skip=0 table="bonnier_v0_00_aristolochiees_texte" > bonnier_v0_00_aristolochiees_texte.sql |
perl xls2sql.pl file="107-Empétrées-Plante.xls" skip=0 table="bonnier_v0_00_empetrees_plante" > bonnier_v0_00_empetrees_plante.sql |
perl xls2sql.pl file="107-Empétrées-Texte.xls" skip=0 table="bonnier_v0_00_empetrees_texte" > bonnier_v0_00_empetrees_texte.sql |
perl xls2sql.pl file="108-Euphorbiacées-Plante.xls" skip=0 table="bonnier_v0_00_euphorbiacees_plante" > bonnier_v0_00_euphorbiacees_plante.sql |
perl xls2sql.pl file="108-Euphorbiacées-Texte.xls" skip=0 table="bonnier_v0_00_euphorbiacees_texte" > bonnier_v0_00_euphorbiacees_texte.sql |
perl xls2sql.pl file="109-Morées-Plante.xls" skip=0 table="bonnier_v0_00_morees_plante" > bonnier_v0_00_morees_plante.sql |
perl xls2sql.pl file="109-Morées-Texte.xls" skip=0 table="bonnier_v0_00_morees_texte" > bonnier_v0_00_morees_texte.sql |
perl xls2sql.pl file="110-Ficacées-Plante.xls" skip=0 table="bonnier_v0_00_ficacees_plante" > bonnier_v0_00_ficacees_plante.sql |
perl xls2sql.pl file="110-Ficacées-Texte.xls" skip=0 table="bonnier_v0_00_ficacees_texte" > bonnier_v0_00_ficacees_texte.sql |
perl xls2sql.pl file="111-Celtidées-Plante.xls" skip=0 table="bonnier_v0_00_celtidees_plante" > bonnier_v0_00_celtidees_plante.sql |
perl xls2sql.pl file="111-Celtidées-Texte.xls" skip=0 table="bonnier_v0_00_celtidees_texte" > bonnier_v0_00_celtidees_texte.sql |
perl xls2sql.pl file="112-Ulmacées-Plante.xls" skip=0 table="bonnier_v0_00_ulmacees_plante" > bonnier_v0_00_ulmacees_plante.sql |
perl xls2sql.pl file="112-Ulmacées-Texte.xls" skip=0 table="bonnier_v0_00_ulmacees_texte" > bonnier_v0_00_ulmacees_texte.sql |
perl xls2sql.pl file="113-Urticées-Plante.xls" skip=0 table="bonnier_v0_00_urticees_plante" > bonnier_v0_00_urticees_plante.sql |
perl xls2sql.pl file="113-Urticées-Texte.xls" skip=0 table="bonnier_v0_00_urticees_texte" > bonnier_v0_00_urticees_texte.sql |
perl xls2sql.pl file="114-Cannabinées-Plante.xls" skip=0 table="bonnier_v0_00_cannabinees_plante" > bonnier_v0_00_cannabinees_plante.sql |
perl xls2sql.pl file="114-Cannabinées-Texte.xls" skip=0 table="bonnier_v0_00_cannabinees_texte" > bonnier_v0_00_cannabinees_texte.sql |
perl xls2sql.pl file="115-Juglandées-Plante.xls" skip=0 table="bonnier_v0_00_juglandees_plante" > bonnier_v0_00_juglandees_plante.sql |
perl xls2sql.pl file="115-Juglandées-Texte.xls" skip=0 table="bonnier_v0_00_juglandees_texte" > bonnier_v0_00_juglandees_texte.sql |
perl xls2sql.pl file="116-Cupulifères-Plante.xls" skip=0 table="bonnier_v0_00_cupuliferes_plante" > bonnier_v0_00_cupuliferes_plante.sql |
perl xls2sql.pl file="116-Cupulifères-Texte.xls" skip=0 table="bonnier_v0_00_cupuliferes_texte" > bonnier_v0_00_cupuliferes_texte.sql |
perl xls2sql.pl file="117-Salicinées-Plante.xls" skip=0 table="bonnier_v0_00_salicinees_plante" > bonnier_v0_00_salicinees_plante.sql |
perl xls2sql.pl file="117-Salicinées-Texte.xls" skip=0 table="bonnier_v0_00_salicinees_texte" > bonnier_v0_00_salicinees_texte.sql |
perl xls2sql.pl file="118-Platanées-Plante.xls" skip=0 table="bonnier_v0_00_platanees_plante" > bonnier_v0_00_platanees_plante.sql |
perl xls2sql.pl file="118-Platanées-Texte.xls" skip=0 table="bonnier_v0_00_platanees_texte" > bonnier_v0_00_platanees_texte.sql |
perl xls2sql.pl file="119-Bétulinèes-Plante.xls" skip=0 table="bonnier_v0_00_betulinees_plante" > bonnier_v0_00_betulinees_plante.sql |
perl xls2sql.pl file="119-Bétulinèes-Texte.xls" skip=0 table="bonnier_v0_00_betulinees_texte" > bonnier_v0_00_betulinees_texte.sql |
perl xls2sql.pl file="120-Myricèes-Plante.xls" skip=0 table="bonnier_v0_00_myricees_plante" > bonnier_v0_00_myricees_plante.sql |
perl xls2sql.pl file="120-Myricèes-Texte.xls" skip=0 table="bonnier_v0_00_myricees_texte" > bonnier_v0_00_myricees_texte.sql |
perl xls2sql.pl file="121-Alismacées-Plante.xls" skip=0 table="bonnier_v0_00_alismacees_plante" > bonnier_v0_00_alismacees_plante.sql |
perl xls2sql.pl file="121-Alismacées-Texte.xls" skip=0 table="bonnier_v0_00_alismacees_texte" > bonnier_v0_00_alismacees_texte.sql |
perl xls2sql.pl file="122-Butomées-Plante.xls" skip=0 table="bonnier_v0_00_butomees_plante" > bonnier_v0_00_butomees_plante.sql |
perl xls2sql.pl file="122-Butomées-Texte.xls" skip=0 table="bonnier_v0_00_butomees_texte" > bonnier_v0_00_butomees_texte.sql |
perl xls2sql.pl file="123-Colchicacées-Plante.xls" skip=0 table="bonnier_v0_00_colchicacees_plante" > bonnier_v0_00_colchicacees_plante.sql |
perl xls2sql.pl file="123-Colchicacées-Texte.xls" skip=0 table="bonnier_v0_00_colchicacees_texte" > bonnier_v0_00_colchicacees_texte.sql |
perl xls2sql.pl file="124-Liliacées-Plante.xls" skip=0 table="bonnier_v0_00_liliacees_plante" > bonnier_v0_00_liliacees_plante.sql |
perl xls2sql.pl file="124-Liliacées-Texte.xls" skip=0 table="bonnier_v0_00_liliacees_texte" > bonnier_v0_00_liliacees_texte.sql |
perl xls2sql.pl file="125-Dioscorées-Plante.xls" skip=0 table="bonnier_v0_00_dioscorees_plante" > bonnier_v0_00_dioscorees_plante.sql |
perl xls2sql.pl file="125-Dioscorées-Texte.xls" skip=0 table="bonnier_v0_00_dioscorees_texte" > bonnier_v0_00_dioscorees_texte.sql |
perl xls2sql.pl file="126-Iridées-Plante.xls" skip=0 table="bonnier_v0_00_iridees_plante" > bonnier_v0_00_iridees_plante.sql |
perl xls2sql.pl file="126-Iridées-Texte.xls" skip=0 table="bonnier_v0_00_iridees_texte" > bonnier_v0_00_iridees_texte.sql |
perl xls2sql.pl file="127-Amaryllidées-Plante.xls" skip=0 table="bonnier_v0_00_amaryllidees_plante" > bonnier_v0_00_amaryllidees_plante.sql |
perl xls2sql.pl file="127-Amaryllidées-Texte.xls" skip=0 table="bonnier_v0_00_amaryllidees_texte" > bonnier_v0_00_amaryllidees_texte.sql |
perl xls2sql.pl file="128-Orchidées-Plante.xls" skip=0 table="bonnier_v0_00_orchidees_plante" > bonnier_v0_00_orchidees_plante.sql |
perl xls2sql.pl file="128-Orchidées-Texte.xls" skip=0 table="bonnier_v0_00_orchidees_texte" > bonnier_v0_00_orchidees_texte.sql |
perl xls2sql.pl file="129-Hydrocharidées-Plante.xls" skip=0 table="bonnier_v0_00_hydrocharidees_plante" > bonnier_v0_00_hydrocharidees_plante.sql |
perl xls2sql.pl file="129-Hydrocharidées-Texte.xls" skip=0 table="bonnier_v0_00_hydrocharidees_texte" > bonnier_v0_00_hydrocharidees_texte.sql |
perl xls2sql.pl file="130-Joncaginées-Plante.xls" skip=0 table="bonnier_v0_00_joncaginees_plante" > bonnier_v0_00_joncaginees_plante.sql |
perl xls2sql.pl file="130-Joncaginées-Texte.xls" skip=0 table="bonnier_v0_00_joncaginees_texte" > bonnier_v0_00_joncaginees_texte.sql |
perl xls2sql.pl file="131-Potamées-Plante.xls" skip=0 table="bonnier_v0_00_potamees_plante" > bonnier_v0_00_potamees_plante.sql |
perl xls2sql.pl file="131-Potamées-Texte.xls" skip=0 table="bonnier_v0_00_potamees_texte" > bonnier_v0_00_potamees_texte.sql |
perl xls2sql.pl file="132-Naiadees-Plante.xls" skip=0 table="bonnier_v0_00_naiadees_plante" > bonnier_v0_00_naiadees_plante.sql |
perl xls2sql.pl file="132-Naiadees-Texte.xls" skip=0 table="bonnier_v0_00_naiadees_texte" > bonnier_v0_00_naiadees_texte.sql |
perl xls2sql.pl file="133-Zosteracées-Plante.xls" skip=0 table="bonnier_v0_00_zosteracees_plante" > bonnier_v0_00_zosteracees_plante.sql |
perl xls2sql.pl file="133-Zosteracées-Texte.xls" skip=0 table="bonnier_v0_00_zosteracees_texte" > bonnier_v0_00_zosteracees_texte.sql |
perl xls2sql.pl file="134-Lemnacées-Plante.xls" skip=0 table="bonnier_v0_00_lemnacees_plante" > bonnier_v0_00_lemnacees_plante.sql |
perl xls2sql.pl file="134-Lemnacées-Texte.xls" skip=0 table="bonnier_v0_00_lemnacees_texte" > bonnier_v0_00_lemnacees_texte.sql |
perl xls2sql.pl file="135-Aroidées-Plante.xls" skip=0 table="bonnier_v0_00_aroidees_plante" > bonnier_v0_00_aroidees_plante.sql |
perl xls2sql.pl file="135-Aroidées-Texte.xls" skip=0 table="bonnier_v0_00_aroidees_texte" > bonnier_v0_00_aroidees_texte.sql |
perl xls2sql.pl file="136-Typhacées-Plante.xls" skip=0 table="bonnier_v0_00_typhacees_plante" > bonnier_v0_00_typhacees_plante.sql |
perl xls2sql.pl file="136-Typhacées-Texte.xls" skip=0 table="bonnier_v0_00_typhacees_texte" > bonnier_v0_00_typhacees_texte.sql |
perl xls2sql.pl file="137-Joncées-Plante.xls" skip=0 table="bonnier_v0_00_joncees_plante" > bonnier_v0_00_joncees_plante.sql |
perl xls2sql.pl file="137-Joncées-Texte.xls" skip=0 table="bonnier_v0_00_joncees_texte" > bonnier_v0_00_joncees_texte.sql |
perl xls2sql.pl file="138-Cyperacées-Plante.xls" skip=0 table="bonnier_v0_00_cyperacees_plante" > bonnier_v0_00_cyperacees_plante.sql |
perl xls2sql.pl file="138-Cyperacées-Texte.xls" skip=0 table="bonnier_v0_00_cyperacees_texte" > bonnier_v0_00_cyperacees_texte.sql |
perl xls2sql.pl file="139-Graminées-Plante.xls" skip=0 table="bonnier_v0_00_graminees_plante" > bonnier_v0_00_graminees_plante.sql |
perl xls2sql.pl file="139-Graminées-Texte.xls" skip=0 table="bonnier_v0_00_graminees_texte" > bonnier_v0_00_graminees_texte.sql |
perl xls2sql.pl file="140-Abietinées-Plante.xls" skip=0 table="bonnier_v0_00_abietinees_plante" > bonnier_v0_00_abietinees_plante.sql |
perl xls2sql.pl file="140-Abietinées-Texte.xls" skip=0 table="bonnier_v0_00_abietinees_texte" > bonnier_v0_00_abietinees_texte.sql |
perl xls2sql.pl file="141-Cupressinées-Plante.xls" skip=0 table="bonnier_v0_00_cupressinees_plante" > bonnier_v0_00_cupressinees_plante.sql |
perl xls2sql.pl file="141-Cupressinées-Texte.xls" skip=0 table="bonnier_v0_00_cupressinees_texte" > bonnier_v0_00_cupressinees_texte.sql |
perl xls2sql.pl file="142-Taxinées-Plante.xls" skip=0 table="bonnier_v0_00_taxinees_plante" > bonnier_v0_00_taxinees_plante.sql |
perl xls2sql.pl file="142-Taxinées-Texte.xls" skip=0 table="bonnier_v0_00_taxinees_texte" > bonnier_v0_00_taxinees_texte.sql |
perl xls2sql.pl file="143-Gnetacées-Plante.xls" skip=0 table="bonnier_v0_00_gnetacees_plante" > bonnier_v0_00_gnetacees_plante.sql |
perl xls2sql.pl file="143-Gnetacées-Texte.xls" skip=0 table="bonnier_v0_00_gnetacees_texte" > bonnier_v0_00_gnetacees_texte.sql |
perl xls2sql.pl file="144-Fougères-Plante.xls" skip=0 table="bonnier_v0_00_fougeres_plante" > bonnier_v0_00_fougeres_plante.sql |
perl xls2sql.pl file="144-Fougères-Texte.xls" skip=0 table="bonnier_v0_00_fougeres_texte" > bonnier_v0_00_fougeres_texte.sql |
perl xls2sql.pl file="145-Ophioglossées-Plante.xls" skip=0 table="bonnier_v0_00_ophioglossees_plante" > bonnier_v0_00_ophioglossees_plante.sql |
perl xls2sql.pl file="145-Ophioglossées-Texte.xls" skip=0 table="bonnier_v0_00_ophioglossees_texte" > bonnier_v0_00_ophioglossees_texte.sql |
perl xls2sql.pl file="146-Marsiliacées-Plante.xls" skip=0 table="bonnier_v0_00_marsiliacees_plante" > bonnier_v0_00_marsiliacees_plante.sql |
perl xls2sql.pl file="146-Marsiliacées-Texte.xls" skip=0 table="bonnier_v0_00_marsiliacees_texte" > bonnier_v0_00_marsiliacees_texte.sql |
perl xls2sql.pl file="147-Equisétacées-Plante.xls" skip=0 table="bonnier_v0_00_equisetacees_plante" > bonnier_v0_00_equisetacees_plante.sql |
perl xls2sql.pl file="147-Equisétacées-Texte.xls" skip=0 table="bonnier_v0_00_equisetacees_texte" > bonnier_v0_00_equisetacees_texte.sql |
perl xls2sql.pl file="148-Isoétées-Plante.xls" skip=0 table="bonnier_v0_00_isoetees_plante" > bonnier_v0_00_isoetees_plante.sql |
perl xls2sql.pl file="148-Isoétées-Texte.xls" skip=0 table="bonnier_v0_00_isoetees_texte" > bonnier_v0_00_isoetees_texte.sql |
perl xls2sql.pl file="149-Lycopodiacées-Plante.xls" skip=0 table="bonnier_v0_00_lycopodiacees_plante" > bonnier_v0_00_lycopodiacees_plante.sql |
perl xls2sql.pl file="149-Lycopodiacées-Texte.xls" skip=0 table="bonnier_v0_00_lycopodiacees_texte" > bonnier_v0_00_lycopodiacees_texte.sql |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
Added: svn:executable |
+* |
\ No newline at end of property |
/trunk/scripts/modules/bonnier/shell/xls2sql.pl |
---|
New file |
0,0 → 1,205 |
#!/usr/bin/perl |
# $Date: 2005/10/19 10:14:00 $ |
# Excel to SQL statements translator. |
# Needs the Spreadsheet::ParseExcel module from CPAN |
# |
# Example usage: |
# |
# xls2sql.pl help |
# xls2sql.pl file=6960_TS_Bressanone_Brixen.xls \ |
# coldefs="year INTEGER,MEAN1 DOUBLE PRECISION,MEAN2 DOUBLE PRECISION,MEAN3 DOUBLE PRECISION" |
# |
# Released under GPLv2.0 |
# by Daniel Calvelo Aros (dca@users.sf.net) |
# |
# few modifications by MN (why not reading 'Learning Perl' O'Reilly book) |
#use strict; |
use English; |
use Spreadsheet::ParseExcel; |
# gparser-like options: |
# option label => [ref to var to hold opt value, "description", default value or undef for no default] |
%gopts = ( file => [\$file, "Name of input excel spreadsheet file", undef], |
skip => [\$skip, "Number of rows to skip at the beginning of sheet", 0], |
table => [\$tablename,"Name of output table", "mytable"], |
rows => [\$nrows, "Number of rows to extract", undef], |
sheet => [\$sheetn, "Sheet number to convert from the workbook, counting from 1", 1], |
coldefs=> [\$coldefs, "Column definitions as in SQL", "auto"], |
nodata => [\$nodata, "No data character(s) used in the Excel table", ""], |
help => [\$help, "Help, of course", undef], |
debug => [\$DEBUG, "Debugging flag, for developers only", 0]); |
#function defined below: |
&parse_opts(); |
#-- Open and look for obvious errors |
my $wkbk = |
Spreadsheet::ParseExcel::Workbook->Parse($file); |
if( !defined $wkbk->{Worksheet}) {die "Error:couldn't parse file $file\n"} |
my($iR, $iC, $sheet, $ncols, $roffset, $rsize); |
$sheet = @{$wkbk->{Worksheet}}[--$sheetn]; #-- Numbering starts at 1 for the user |
$ncols = $sheet->{MaxCol} or die "Error:the specified sheet $sheetn does not contain data\n"; |
$ncols -= $sheet->{MinCol} if defined $sheet->{MinCol} ; |
$roffset = $sheet->{MinRow}-1; |
$rsize = $sheet->{MaxRow} - $sheet->{MinRow}; |
die "Error:the specified worksheet seems to contain only one line\n" if $rsize == 0; |
$roffset += $skip; |
$lastrow = ( defined $nrows |
? $nrows + $roffset -1 |
: $sheet->{MaxRow} ); |
die "Invalid skip option: the sheet only has $rsize rows" if $roffset >= $rsize - 1; |
my (@types, @sqltypes, @firstrow, @titlerow); |
if($coldefs ne "auto"){ |
#-- We have user-defined column definitions |
#-- Check them |
$coldefs =~ s/^\s*//; |
$coldefs =~ s/\s*$//; |
@defs = split ",", $coldefs; |
foreach $i (0..$#defs){ |
($colname, $typedef) = split /\s+/,$defs[$i],2; |
die "Column specification $i: can't parse SQL type definition '$typedef' (should be INTEGER, DOUBLE PRECISION, CHAR).\n" if $typedef !~ /INTEGER|DOUBLE PRECISION|CHAR/i; |
die "Column name '$colname' for column $i contains spurious characters (no spaces permitted in list).\n" if $colname !~ /[a-zA-Z][a-zA-Z_0-9]*/; |
push @sqltypes, $typedef; |
push @titles, $colname; |
} |
}else{ |
#-- Inspect file for types: |
#-- First estimate initial types from the first row of data |
@firstrow = @{$sheet->{Cells}[$roffset+1]}; |
@types = map { $_->{Type}} @firstrow; |
%cvt = (Text=>'CHAR',Numeric=>'INTEGER',Date=>'DOUBLE'); |
@sqltypes = map { $cvt{$_} } @types; |
@lens = map { 0 } @types; |
print STDERR "\nTypes:", join ";", @types if $DEBUG; |
print STDERR "\nInitial sqltypes:", join ";", @sqltypes if $DEBUG; |
#-- Then adjust widths and numeric type from the data |
for(my $iR = $roffset ; $iR <= $lastrow ; $iR++) { |
for(my $iC = $sheet->{MinCol} ;$iC <= $sheet->{MaxCol} ; $iC++) { |
$cell = $sheet->{Cells}[$iR][$iC]; |
next if !defined $cell; |
$cellvalue = $cell->Value; |
if($types[$iC] eq 'Text'){ |
$thislength = length( $cellvalue ); |
$lens[$iC] = $thislength if $thislength > $lens[$iC]; |
}else{ |
if( $cellvalue =~ /[\.,]/ ){ |
$sqltypes[$iC] = 'DOUBLE PRECISION'; |
} |
if( $cellvalue =~ /[a-df-z]/ ){ |
$sqltypes[$iC] = 'CHAR'; $lens[$iC] = length( $cellvalue); |
} |
} |
} |
} |
foreach $i (0..$#sqltypes){ |
if( $sqltypes[$i] eq 'CHAR' ){ |
$sqltypes[$i] .= "($lens[$i])"; |
} |
} |
print STDERR "\nAdjusted sqltypes:", join ";", @sqltypes if $DEBUG; |
#-- Generate field names from the title row |
@titlerow = @{$sheet->{Cells}[$roffset]}; |
print STDERR "\nTitlerow:", join ";", map { defined $_ ? $_->Value : "" } @titlerow if $DEBUG; |
$varname = "V000"; |
@titles = map { |
/^[^a-zA-Z]/ ? $varname++ : $_ |
} map { |
if( defined $_ && length > 0 ) {$_=$_->Value;y/a-z/A-Z/;s/[^a-zA-Z_0-9]/_/g} |
else { $_=$varname++ } |
$_; |
} @titlerow; |
map { $istitle{$_}++ } @titles; |
foreach $i (reverse 0..$#titles){ |
if( $istitle{$titles[$i]} > 1){ |
$titles[$i] .= --$istitle{$titles[$i]}; |
} |
} |
while( $#titles < $ncols ){ #Missing titles, according to the size of the sheet |
push @titles, $varname++; |
push @sqltypes, "CHAR(32)"; |
} |
print STDERR "\nTitles:" ,join ";", @titles if $DEBUG; |
print STDERR "\n" if $DEBUG; |
} |
#-- Write out |
print "CREATE TABLE $tablename ("; |
print join ",", map {"$titles[$_] $sqltypes[$_]"} (0..$#titles); |
print ");\n"; |
if($coldefs eq "auto"){ |
$lastcol = $sheet->{MaxCol}; |
}else{ |
$lastcol = $#sqltypes + $sheet->{MinCol}; |
foreach $i (reverse 0..$#sqltypes){ |
$sqltypes[$i + $sheet->{MinCol}] = $sqltypes[$i]; |
} |
} |
for(my $iR = $roffset+1 ; $iR <= $lastrow ; $iR++) { |
print "INSERT INTO $tablename VALUES("; |
print join ",", map { |
my $c = $sheet->{Cells}[$iR][$_]; |
# defined $c ? '"'.&cast($c->Value,$sqltypes[$_]).'"' : NULL |
defined $c ? ''.&cast($c->Value,$sqltypes[$_]).'' : NULL |
} ($sheet->{MinCol}..$lastcol); |
print ");\n" |
} |
sub cast($$){ |
my ($value, $sqltype) = @_; |
if( length($value)>0 ){ |
if ($value eq $nodata){ |
$value = "NULL"; # no data coded with char |
}else{ |
if( $sqltype =~ /CHAR\s*\((\d+)\)/i ){ |
$value =~ s/[\n\r]/ /gm; |
$value =~ s/"/\\"/g; |
$value =~ s/'/\\'/g; |
# $value = substr( $value, 0, $1 ); |
$value = '\''.substr( $value, 0, $1 ).'\''; |
}elsif( $sqltype =~ /DOUBLE PRECISION/i ){ |
$value += 0; |
}elsif( $sqltype =~ /INTEGER/i ){ |
$value = int $value; |
}else{ |
die "Unknown SQL type '$sqltype'; can't typecast '$value' to that type.\n"; |
} |
} |
}else{ |
$value = "NULL"; # no data |
} |
} |
sub parse_opts(){ |
for $o (sort keys %gopts){ |
if( defined $gopts{$o}[2] ){ |
${$gopts{$o}[0]} = $gopts{$o}[2]; |
} |
for $arg (@ARGV){ |
$arg =~ /^\Q$o\E(?:\s*=\s*(.+)$)?/; |
if( length($1)>0 ){ |
${$gopts{$o}[0]} = $1; |
}elsif( $& ){ |
${$gopts{$o}[0]} = 1; |
} |
} |
} |
if($help){ |
select STDERR; |
print "\n$PROGRAM_NAME : extract sheets from an excel workbook and\n"; |
print "produce SQL statements that create the database\n"; |
print "\nArguments (use grass style, i.e. arg=value):\n"; |
foreach (keys %gopts){ $longest = $longest < length() ? length() : $longest } |
foreach $arg (grep {!/help/} keys %gopts){ |
print " $arg".(" "x($longest+2-length $arg)); |
print $gopts{$arg}[1]; |
print " (default: ".$gopts{$arg}[2].")" if defined $gopts{$arg}[2]; |
print "\n"; |
} |
select STDOUT; |
die "\n"; |
} |
} |
/trunk/scripts/modules/bonnier/shell/charger_sql.sh |
---|
New file |
0,0 → 1,149 |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/001-Renonculacees" -table renonculacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/002-Berberidees" -table berberidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/003-Nympheacees" -table nympheacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/004-Papaveracees" -table papaveracees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/005-Fumariacees" -table fumariacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/006-Cruciferes" -table cruciferes |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/007-Capparidees" -table capparidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/008-Cistinees" -table cistinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/009-Violariees" -table violariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/010-Resedacees" -table resedacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/011-Droseracees" -table droseracees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/012-Polygalees" -table polygalees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/013-Frankeniacees" -table frankeniacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/014-Caryophyllees" -table caryophyllees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/015-Elatinees" -table elatinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/016-Linees" -table linees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/017-Tiliacees" -table tiliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/018-Malvacees" -table malvacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/019-Geraniees" -table geraniees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/020-Hypericinees" -table hypericinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/021-Acerinees" -table acerinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/022-Ampelidees" -table ampelidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/023-Hippocastanees" -table hippocastanees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/024-Meliacees" -table meliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/025-Balsaminees" -table balsaminees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/026-tablexalidees" -table oxalidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/027-Zygophyllees" -table zygophyllees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/028-Hesperidees" -table hesperidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/029-Rutacees" -table rutacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/030-Coriariees" -table coriariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/031-Celastrinees" -table celastrinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/032-Staphyleacees" -table staphyleacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/033-Ilicinees" -table ilicinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/034-Rhamnees" -table rhamnees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/035-Terebinthacees" -table terebinthacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/036-Papilionacees" -table papilionacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/037-Cesalpiniees" -table cesalpiniees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/038-Rosacees" -table rosacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/039-Granatees" -table granatees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/040-tablenagrariees" -table onagrariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/041-Myriophyllees" -table myriophyllees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/042-Hippuridees" -table hippuridees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/043-Callitrichinees" -table callitrichinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/044-Ceratophyllees" -table ceratophyllees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/045-Lythrariees" -table lythrariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/046-Philadelphees" -table philadelphees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/047-Tamariscinees" -table tamariscinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/048-Myrtacees" -table myrtacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/049-Cucurbitacees" -table cucurbitacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/050-Portulacees" -table portulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/051-Paronychiees" -table paronychiees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/052-Crassulacees" -table crassulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/053-Cactees" -table cactees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/054-Ficoïdees" -table ficoïdees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/055-Grossulariees" -table grossulariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/056-Saxifragees" -table saxifragees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/057-tablembelliferes" -table ombelliferes |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/058-Araliacees" -table araliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/059-Cornees" -table cornees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/060-Loranthacees" -table loranthacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/061-Caprifoliacees" -table caprifoliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/062-Rubiacees" -table rubiacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/063-Valerianees" -table valerianees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/064-Dipsacees" -table dipsacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/065-Composees" -table composees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/066-Ambrosiacees" -table ambrosiacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/067-Lobeliacees" -table lobeliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/068-Campanulacees" -table campanulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/069-Vacciniees" -table vacciniees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/070-Ericinees" -table ericinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/071-Pyrolacees" -table pyrolacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/072-Monotropees" -table monotropees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/073-Lentibulariees" -table lentibulariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/074-Primulacees" -table primulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/075-Ebenacees" -table ebenacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/076-Styracees" -table styracees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/077-tableleinees" -table oleinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/078-Jasminees" -table jasminees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/079-Apocynees" -table apocynees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/080-Asclepiadees" -table asclepiadees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/081-Gentianees" -table gentianees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/082-Polemoniacees" -table polemoniacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/083-Convolvulacees" -table convolvulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/084-Cuscutacees" -table cuscutacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/085-Ramondiacees" -table ramondiacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/086-Borraginees" -table borraginees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/087-Solanees" -table solanees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/088-Verbascees" -table verbascees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/089-Scrofularinees" -table scrofularinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/090-tablerobanchees" -table orobanchees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/091-Labiees" -table labiees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/092-Acanthacees" -table acanthacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/093-Verbenacees" -table verbenacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/094-Plantaginees" -table plantaginees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/095-Plombaginees" -table plombaginees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/096-Globulariees" -table globulariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/097-Phytolaccees" -table phytolaccees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/098-Amarantacees" -table amarantacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/099-Salsolacees" -table salsolacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/100-Polygonees" -table polygonees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/101-Daphnoidees" -table daphnoidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/102-Laurinees" -table laurinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/103-Santalacees" -table santalacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/104-Eleagnees" -table eleagnees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/105-Cytinees" -table cytinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/106-Aristolochiees" -table aristolochiees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/107-Empetrees" -table empetrees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/108-Euphorbiacees" -table euphorbiacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/109-Morees" -table morees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/110-Ficacees" -table ficacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/111-Celtidees" -table celtidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/112-Ulmacees" -table ulmacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/113-Urticees" -table urticees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/114-Cannabinees" -table cannabinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/115-Juglandees" -table juglandees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/116-Cupuliferes" -table cupuliferes |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/117-Salicinees" -table salicinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/118-Platanees" -table platanees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/119-Betulinees" -table betulinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/120-Myricees" -table myricees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/121-Alismacees" -table alismacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/122-Butomees" -table butomees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/123-Colchicacees" -table colchicacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/124-Liliacees" -table liliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/125-Dioscorees" -table dioscorees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/126-Iridees" -table iridees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/127-Amaryllidees" -table amaryllidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/128-tablerchidees" -table orchidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/129-Hydrocharidees" -table hydrocharidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/130-Joncaginees" -table joncaginees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/131-Potamees" -table potamees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/132-Naiadees" -table naiadees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/133-Zosteracees" -table zosteracees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/134-Lemnacees" -table lemnacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/135-Aroidees" -table aroidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/136-Typhacees" -table typhacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/137-Joncees" -table joncees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/138-Cyperacees" -table cyperacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/139-Graminees" -table graminees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/140-Abietinees" -table abietinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/141-Cupressinees" -table cupressinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/142-Taxinees" -table taxinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/143-Gnetacees" -table gnetacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/144-Fougeres" -table fougeres |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/145-tablephioglossees" -table ophioglossees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/146-Marsiliacees" -table marsiliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/147-Equisetacees" -table equisetacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/148-Isoetees" -table isoetees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a charger -dossier "menus/149-Lycopodiacees" -table lycopodiacees |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
Added: svn:executable |
+* |
\ No newline at end of property |
/trunk/scripts/modules/bonnier/shell/generer_html.sh |
---|
New file |
0,0 → 1,149 |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/001-Renonculacees" -table renonculacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/002-Berberidees" -table berberidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/003-Nympheacees" -table nympheacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/004-Papaveracees" -table papaveracees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/005-Fumariacees" -table fumariacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/006-Cruciferes" -table cruciferes |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/007-Capparidees" -table capparidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/008-Cistinees" -table cistinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/009-Violariees" -table violariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/010-Resedacees" -table resedacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/011-Droseracees" -table droseracees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/012-Polygalees" -table polygalees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/013-Frankeniacees" -table frankeniacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/014-Caryophyllees" -table caryophyllees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/015-Elatinees" -table elatinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/016-Linees" -table linees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/017-Tiliacees" -table tiliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/018-Malvacees" -table malvacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/019-Geraniees" -table geraniees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/020-Hypericinees" -table hypericinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/021-Acerinees" -table acerinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/022-Ampelidees" -table ampelidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/023-Hippocastanees" -table hippocastanees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/024-Meliacees" -table meliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/025-Balsaminees" -table balsaminees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/026-tablexalidees" -table oxalidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/027-Zygophyllees" -table zygophyllees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/028-Hesperidees" -table hesperidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/029-Rutacees" -table rutacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/030-Coriariees" -table coriariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/031-Celastrinees" -table celastrinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/032-Staphyleacees" -table staphyleacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/033-dossierlicinees" -table ilicinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/034-Rhamnees" -table rhamnees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/035-Terebinthacees" -table terebinthacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/036-Papilionacees" -table papilionacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/037-Cesalpiniees" -table cesalpiniees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/038-Rosacees" -table rosacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/039-Granatees" -table granatees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/040-tablenagrariees" -table onagrariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/041-Myriophyllees" -table myriophyllees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/042-Hippuridees" -table hippuridees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/043-Callitrichinees" -table callitrichinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/044-Ceratophyllees" -table ceratophyllees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/045-Lythrariees" -table lythrariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/046-Philadelphees" -table philadelphees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/047-Tamariscinees" -table tamariscinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/048-Myrtacees" -table myrtacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/049-Cucurbitacees" -table cucurbitacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/050-Portulacees" -table portulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/051-Paronychiees" -table paronychiees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/052-Crassulacees" -table crassulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/053-Cactees" -table cactees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/054-Ficoïdees" -table ficoïdees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/055-Grossulariees" -table grossulariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/056-Saxifragees" -table saxifragees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/057-tablembelliferes" -table ombelliferes |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/058-Araliacees" -table araliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/059-Cornees" -table cornees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/060-Loranthacees" -table loranthacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/061-Caprifoliacees" -table caprifoliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/062-Rubiacees" -table rubiacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/063-Valerianees" -table valerianees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/064-Dipsacees" -table dipsacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/065-Composees" -table composees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/066-Ambrosiacees" -table ambrosiacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/067-Lobeliacees" -table lobeliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/068-Campanulacees" -table campanulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/069-Vacciniees" -table vacciniees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/070-Ericinees" -table ericinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/071-Pyrolacees" -table pyrolacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/072-Monotropees" -table monotropees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/073-Lentibulariees" -table lentibulariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/074-Primulacees" -table primulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/075-Ebenacees" -table ebenacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/076-Styracees" -table styracees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/077-tableleinees" -table oleinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/078-Jasminees" -table jasminees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/079-Apocynees" -table apocynees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/080-Asclepiadees" -table asclepiadees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/081-Gentianees" -table gentianees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/082-Polemoniacees" -table polemoniacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/083-Convolvulacees" -table convolvulacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/084-Cuscutacees" -table cuscutacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/085-Ramondiacees" -table ramondiacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/086-Borraginees" -table borraginees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/087-Solanees" -table solanees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/088-Verbascees" -table verbascees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/089-Scrofularinees" -table scrofularinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/090-tablerobanchees" -table orobanchees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/091-Labiees" -table labiees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/092-Acanthacees" -table acanthacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/093-Verbenacees" -table verbenacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/094-Plantaginees" -table plantaginees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/095-Plombaginees" -table plombaginees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/096-Globulariees" -table globulariees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/097-Phytolaccees" -table phytolaccees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/098-Amarantacees" -table amarantacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/099-Salsolacees" -table salsolacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/100-Polygonees" -table polygonees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/101-Daphnoidees" -table daphnoidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/102-Laurinees" -table laurinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/103-Santalacees" -table santalacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/104-Eleagnees" -table eleagnees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/105-Cytinees" -table cytinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/106-Aristolochiees" -table aristolochiees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/107-Empetrees" -table empetrees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/108-Euphorbiacees" -table euphorbiacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/109-Morees" -table morees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/110-Ficacees" -table ficacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/111-Celtidees" -table celtidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/112-Ulmacees" -table ulmacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/113-Urticees" -table urticees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/114-Cannabinees" -table cannabinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/115-Juglandees" -table juglandees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/116-Cupuliferes" -table cupuliferes |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/117-Salicinees" -table salicinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/118-Platanees" -table platanees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/119-Betulinees" -table betulinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/120-Myricees" -table myricees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/121-Alismacees" -table alismacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/122-Butomees" -table butomees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/123-Colchicacees" -table colchicacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/124-Liliacees" -table liliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/125-Dioscorees" -table dioscorees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/126-dossierridees" -table iridees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/127-Amaryllidees" -table amaryllidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/128-tablerchidees" -table orchidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/129-Hydrocharidees" -table hydrocharidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/130-Joncaginees" -table joncaginees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/131-Potamees" -table potamees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/132-Naiadees" -table naiadees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/133-Zosteracees" -table zosteracees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/134-Lemnacees" -table lemnacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/135-Aroidees" -table aroidees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/136-Typhacees" -table typhacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/137-Joncees" -table joncees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/138-Cyperacees" -table cyperacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/139-Graminees" -table graminees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/140-Abietinees" -table abietinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/141-Cupressinees" -table cupressinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/142-Taxinees" -table taxinees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/143-Gnetacees" -table gnetacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/144-Fougeres" -table fougeres |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/145-tablephioglossees" -table ophioglossees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/146-Marsiliacees" -table marsiliacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/147-Equisetacees" -table equisetacees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/148-dossiersoetees" -table isoetees |
/opt/lampp/bin/php ../../../script.php bonnier -p bonnier -a html -dossier "menus/149-Lycopodiacees" -table lycopodiacees |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
Added: svn:executable |
+* |
\ No newline at end of property |
/trunk/scripts/modules/bonnier/bonnier.ini |
---|
New file |
0,0 → 1,20 |
; Encodage : UTF-8 |
; Exemple de fichier de configuration d'un projet |
; Les commentaires commencent par ';', comme dans php.ini |
; Indique le nom du projet |
projet_nom = bonnier |
; Indique le nombre sur un chiffre de la version du projet |
version = 0 |
; Indique le nombre sur deux chiffres de la sous version du projet |
sous_version = 00 |
; Indique la date de début de cette version du projet |
date_debut = "2009-12-11 00:00:00" |
; Indique la date de fin de cette version du projet |
date_fin = NULL |
; Indique le chemin où les fichier html vont être générés |
chemin_fichier_sortie = "php:'/home/'.'david'.'/Bureau/bonnierhtml/'" |
; Indique le chemin où trouver le fichier du projet contenant les données à charger puis standardiser |
chemin_fichier_tab = "php:'/home/'.'david'.'/Bureau/bonnierhtml/'" |
; Indique le chemin où stocker le fichier de log |
log_chemin = "php:'/home/'.'david'.'/Bureau/bonnierhtml/'" |
/trunk/scripts/modules/bonnier/Bonnier.php |
---|
New file |
0,0 → 1,508 |
<?php |
// Encodage : UTF-8 |
// +-------------------------------------------------------------------------------------------------------------------+ |
/* Importation des fichiers excel de Bonnier pour créer une version HTML pour PDA. |
* Utilisation au préalable des utillitaire de traitement de fichier mdb sous Unix (voir ci après) |
* |
* Pré-requis : |
* 1. Installer le paquet pour Perl nommé ParseExcel : urpmi perl-spreadsheet-parseexcel |
* 2. Télécharger les fichiers Excel de Bonnier : http://www.tela-botanica.org/projets/74/documents/16211 |
* 3. Créer un dossier où vous dézipperez l'archive des fichiers Excel |
* 4. Copier dans ce dossier les fichier xls2sql.pl et generer_sql.sh que vous trouverez dans le dossier shell de ce module |
* 5. Donner les droits d'execution au fichier generer_sql.sh et lancer le : ./generer_sql.sh |
* 6. Vous devez obtenir un fichier SQL par fichier Excel. |
* |
* Pour lancer ce script fichier par fichier : |
* 1. Ouvrir une console et se positionner dans le dossier "scripts" |
* 2. Pour charger le 1er fichier Excel, taper la commande : /opt/lampp/bin/php script.php bonnier -p bonnier -a charger -table renonculacees |
* 3. Pour generer le html issu du chargement precedent : |
* /opt/lampp/bin/php script.php bonnier -p bonnier -a html -dossier "menus/001-Renonculacees" -table renonculacees |
* |
* // Auteur original : |
* @author David DELON <david@clapas.net> |
* @copyright David DELON 2009 |
* @link http://www.tela-botanica.org/wikini/eflore |
* @licence GPL v3 & CeCILL v2 |
* @version $Id$ |
*/ |
// +-------------------------------------------------------------------------------------------------------------------+ |
class Bonnier extends ScriptCommandeEflore { |
/** |
* Paramêtres disponible pour la ligne de commande |
* le tableau se construit de la forme suivnate : |
* - clé = nom du paramêtre '-foo' |
* - value = contient un nouveau tableau composé de cette façaon : |
* - booléen: true si le paramêtre est obligatoire |
* - booléen ou var : true si le paramêtre nécessite un valeur à sa suite ou la valeur par défaut |
* - string: description du contenu du paramêtre |
* Les paramêtres optionels devraient être déclaré à la fin du tableau. |
* Le dernier parametre du tableau peut avoir la valeur '...', |
* il contiendra alors l'ensemble des paramêtres suivant trouvés sur la ligne de commande. |
* @var array |
*/ |
public $parametres = array( '-table' => array(true, true, "Nom de la table où seront stockées les données d'une famille"), |
'-dossier' => array(true, true, "Dossier où sont générés les fichiers html pour la table")); |
public function executer() { |
error_reporting(E_ALL & ~E_DEPRECATED ); |
$table = $this->getParam('table'); |
$dossier = $this->getParam('dossier'); |
@mkdir($this->getIni('chemin_fichier_sortie').$dossier); |
$cmd = $this->getParam('a'); |
switch ($cmd) { |
// chargement des fichiers sql issus de la transformation xls dans la base de donnee, une table par fichir sql, 2 tables par |
// familles : texte (navigation / clef) et plantes : description des plantes. |
case 'charger' : |
$this->creerTableBonnier($this->version, $table); |
$this->chargerDonnees($table); |
break; |
case 'html' : |
// tranformation sql vers html : pour la famille considerée : parcours de l'ensemble de ses clef et generation html pour |
// les feuilles. |
$this->realiserHtml($dossier, $table); |
break; |
default : |
trigger_error('Erreur : la commande "'.$cmd.'" n\'existe pas!'."\n", E_USER_ERROR); |
} |
} |
private function realiserHtml($dossier, $table) { |
// Parcours de l'ensemble des données ? ou famille par famille ? |
// on charge plante et texte dans des tableaux |
$this->type_donnee = $table.'_texte'; |
$requete = 'SELECT * '. |
'FROM '.$this->projet_nom.'_v'.$this->version.'_'.$this->sous_version.'_'.$this->type_donnee.' '. |
'ORDER BY uid'; |
$lignesTexte = $this->retournerDonneesRequete($requete); |
// Analyse des données |
echo "Analyse des données : ".$this->type_donnee."\n"; |
foreach ($lignesTexte as $ligneTexte) { |
if (!isset($aso_lignes[$ligneTexte['identifiant']])) { |
$aso_lignes[$ligneTexte['identifiant']] = $ligneTexte; |
} else { |
echo "identifiant en double : ".$ligneTexte['identifiant']."\n"; |
} |
} |
$this->type_donnee = $table.'_plante'; |
$requete = 'SELECT * '. |
'FROM '.$this->projet_nom.'_v'.$this->version.'_'.$this->sous_version.'_'.$this->type_donnee.' '. |
'ORDER BY uid'; |
$lignesPlante = $this->retournerDonneesRequete($requete); |
foreach ($lignesPlante as $lignePlante) { |
if (!isset($aso_lignes[$lignePlante['identifiant']])) { |
$aso_lignes[$lignePlante['identifiant']] = $lignePlante; |
} else { |
echo "identifiant en double : ".$lignePlante['identifiant']."\n"; |
} |
} |
//print_r($aso_lignes_texte[$lignesTexte[0]['identifiant']] ['titre']); |
// $ariane : tableau des identifiants parcourus dans la branche |
// $niveau : niveau dans l'arbre |
$ariane = array(); |
$niveau = 0; |
// Parcours de l'arbre des clefs depuis la racine |
$this->genererHtmlTexte($lignesTexte[1]['identifiant'], $aso_lignes, $ariane, $niveau, $dossier); |
} |
// Generation des elements de navigation (clef) |
private function genererHtmlTexte($identifiant, $lignesTexteIdentifiant, $ariane, $niveau, $dossier) { |
$ariane[] = $identifiant; |
$niveau++; |
if (isset ($lignesTexteIdentifiant[$identifiant])) { // Si des identifiants sont en doubles |
$ligneIdentifiant = $lignesTexteIdentifiant[$identifiant]; |
} |
else { |
// initialiser valeur par defaut indiquant une erreur |
} |
$f_html = fopen($this->getIni('chemin_fichier_sortie').$dossier.'/'.$identifiant.'.html', 'wb'); |
$html = |
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n". |
'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">'."\n". |
'<head>'."\n". |
'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'."\n". |
'<title>Flore BONNIER sur PDA</title>'."\n". |
'<link rel="stylesheet" type="text/css" href="../../style/style640.css" media="screen" />'."\n". |
'</head>'."\n"; |
$html .= '<body>'."\n"; |
$html .= '<div class="titre">'."\n"; |
$html .= '<p id="titre">'; |
if (isset($ligneIdentifiant)) { |
$html .= $ligneIdentifiant['titre']; |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
// print "identifiant : ".$ligneIdentifiant['identifiant']."\n"; |
// Destinations |
// Branche niveau inferieur |
$html.='<div class="fenetreMenu">'."\n"; |
for ($i = 1; $i < 6; $i++) { |
if (isset($ligneIdentifiant['texte_'.$i]) && $ligneIdentifiant['texte_'.$i] != "") { |
$html .= '<div class="menu'.($i-1).'">'."\n"; |
$html .= '<a href="'.$ligneIdentifiant['destination_'.$i].'.html">'; |
$html .= $ligneIdentifiant['texte_'.$i]; |
$html .= '</a>'."\n"; |
$html .= '</div>'."\n"; |
} |
} |
$html .= '</div>'."\n"; |
$html .= '<div class="espace" style="top:518px;">'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="navigation">'."\n"; |
$html .= '<p id="navigation">'."\n"; |
// Navigation |
for ($i = 0; $i < $niveau; $i++) { |
if (($ariane[$i]) && $ariane[$i] != '') { |
$html .= '<a href="'.$ariane[$i].'.html">'; |
if (isset ($lignesTexteIdentifiant[$ariane[$i]])) { // Si des identifiants sont en doubles |
$html .= $lignesTexteIdentifiant[$ariane[$i]]['titre']; |
} |
$html .= '</a>'."\n"; |
} |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="retour">'."\n"; |
$html .= '<p id="retour">'."\n"; |
// Retour niveau superieur |
if (isset($ariane[$niveau - 2]) && $ariane[$niveau - 2] != '') { |
$html .= '<a href="'.$ariane[$niveau - 2].'.html">'; |
$html .= $lignesTexteIdentifiant[$ariane[$niveau - 2]]['titre']; |
$html .= '</a>'."\n"; |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="glossaire">'."\n"; |
$html .= '<p id="glossaire">'."\n"; |
$html .= '<a href="../000-general/glossaire0_640.html">'."\n"; |
$html .= 'Glossaire'."\n"; |
$html .= '</a>'."\n"; |
$html .= '</p></div><div class="text">'."\n"; |
$html .= '<p id="Text">'."\n"; |
$html .= '<a href="../000-general/accueil1_640.html">'."\n"; |
$html .= ' Top'."\n"; |
$html .= '</a>'."\n"; |
$html .= ' </p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '</body>'."\n"; |
$html .= '</html>'."\n"; |
fwrite($f_html, $html); |
fclose($f_html); |
// Ecriture des feuilles (description plantes) |
for ($i = 1; $i < 6; $i++) { |
if (isset($ligneIdentifiant['destination_'.$i]) && $ligneIdentifiant['destination_'.$i] != '') { |
if (substr($ligneIdentifiant['destination_'.$i], 0, 1) == 'p') { |
$this->genererHtmlPlante($ligneIdentifiant['destination_'.$i], $lignesTexteIdentifiant, $ariane, $niveau, $dossier); |
} else { |
$this->genererHtmlTexte($ligneIdentifiant['destination_'.$i], $lignesTexteIdentifiant, $ariane, $niveau, $dossier); |
} |
} |
} |
} |
// Plante |
private function genererHtmlPlante($identifiant, $lignesTexteIdentifiant, $ariane, $niveau, $dossier) { |
$ariane[] = $identifiant; |
$niveau++; |
if (isset ($lignesTexteIdentifiant[$identifiant])) { // Au cas ou des identifiants sont en doubles |
$ligneIdentifiant = $lignesTexteIdentifiant[$identifiant]; |
} |
$nom_latin = ''; |
if (isset($ariane[($niveau - 2)]) && isset($lignesTexteIdentifiant[$ariane[($niveau - 2)]]['texte_1'])) { |
$nom_latin = trim(strrchr($lignesTexteIdentifiant[$ariane[($niveau - 2)]]['texte_1'], ':'), ' :'); |
} |
$f_html = fopen($this->getIni('chemin_fichier_sortie').$dossier.'/'.$identifiant.'.html', 'wb'); |
$html= |
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n". |
'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">'."\n". |
'<head>'."\n". |
'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'."\n". |
'<title>Flore BONNIER sur PDA</title>'."\n". |
'<link rel="stylesheet" type="text/css" href="../../style/style_plante.css" media="screen" />'."\n". |
'</head>'."\n"; |
$html .= '<body>'."\n"; |
$html .= '<div class="titre">'."\n"; |
$html .= '<p id="titre">'; |
$html .= $nom_latin; |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="famille">'."\n"; |
$html .= '<p id="famille1">Famille : </p>'."\n"; |
$html .= '<p id="famille2">'; |
$html .= $lignesTexteIdentifiant[$ariane[0]]['titre']; |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="genre">'."\n"; |
$html .= '<p id="genre1">Genre : </p>'."\n"; |
$html .= '<p id="genre2">'; |
if (isset($ligneIdentifiant)) { |
$html .= $ligneIdentifiant['genre']; |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="nom_latin">'."\n"; |
$html .= '<p id="nom_latin1">Nom Latin : </p>'."\n"; |
$html .= '<p id="nom_latin2">'; |
$html .= $nom_latin; |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="nom_francais">'."\n"; |
$html .= '<p id="nom_francais1">Nom Francais : </p>'."\n"; |
$html .= '<p id="nom_francais2">'; |
if (isset($ligneIdentifiant)) { |
$html .= $ligneIdentifiant['nom_francais']; |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="nom_commun">'."\n"; |
$html .= '<p id="nom_commun1">Nom Vulgaire : </p>'."\n"; |
$html .= '<p id="nom_commun2">'; |
if (isset($ligneIdentifiant)) { |
$html .= $ligneIdentifiant['nom_vulgaire']; |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="caracteres">'."\n"; |
$html .= '<p id="caracteres1">Caractéristiques spécifiques : </p>'."\n"; |
$html .= '<p id="caracteres2">'; |
if (isset($ligneIdentifiant)) { |
$html .= $ligneIdentifiant['description']; |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="habitat">'."\n"; |
$html .= '<p id="habitat1">Habitat / taille / floraison : </p>'."\n"; |
$html .= '<p id="habitat2">'; |
if (isset($ligneIdentifiant)) { |
$html .= $ligneIdentifiant['habitat']; |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="aire">'."\n"; |
$html .= '<p id="aire1">Aire géographique : </p>'."\n"; |
$html .= '<p id="aire2">'; |
if (isset($ligneIdentifiant)) { |
$html .= $ligneIdentifiant['geographie']; |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="identifiant">'."\n"; |
$html .= '<p id="identifiant">'; |
$html .= 'Bonnier : '.$identifiant; |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="planche">'."\n"; |
$html .= '<p id="planche">'; |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="retour">'."\n"; |
$html .= '<p id="retour">'."\n"; |
if (($ariane[$niveau - 2]) && $ariane[$niveau - 2] != '') { |
$html .= '<a href="'.$ariane[$niveau - 2].'.html">'; |
$html .= $lignesTexteIdentifiant[$ariane[$niveau - 2]]['titre']; |
$html .= '</a>'."\n"; |
} |
$html .= '</p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '<div class="glossaire">'."\n"; |
$html .= '<p id="glossaire">'."\n"; |
$html .= '<a href="../000-general/glossaire0_640.html">'."\n"; |
$html .= 'Glossaire'."\n"; |
$html .= '</a>'."\n"; |
$html .= '</p></div><div class="text">'."\n"; |
$html .= '<p id="Text">'."\n"; |
$html .= '<a href="../000-general/accueil1_640.html">'."\n"; |
$html .= ' Top'."\n"; |
$html .= '</a>'."\n"; |
$html .= ' </p>'."\n"; |
$html .= '</div>'."\n"; |
$html .= '</body>'."\n"; |
$html .= '</html>'."\n"; |
fwrite($f_html, $html); |
fclose($f_html); |
} |
private function creerTableBonnier($version, $table) { |
//+------------------------------------------------------------------------------------------------------------+ |
// texte |
$this->type_donnee = $table.'_texte'; |
$requete = 'DROP TABLE IF EXISTS '.$this->projet_nom.'_v'.$this->version.'_'.$this->sous_version.'_'.$this->type_donnee; |
$this->traiterRequete($requete); |
$requete = 'CREATE TABLE '.$this->projet_nom.'_v'.$this->version.'_'.$this->sous_version.'_'.$this->type_donnee.' ('. |
'uid int(11) not null auto_increment,'. |
'identifiant varchar(25),'. |
'titre varchar(100),'. |
'texte_1 varchar(255),'. |
'texte_2 varchar(255),'. |
'texte_3 varchar(255),'. |
'texte_4 varchar(255),'. |
'texte_5 varchar(255),'. |
'texte_6 varchar(255),'. |
'destination_1 varchar(25),'. |
'destination_2 varchar(25),'. |
'destination_3 varchar(25),'. |
'destination_4 varchar(25),'. |
'destination_5 varchar(25),'. |
'destination_6 varchar(25),'. |
'planche_croquis varchar(25),'. |
'PRIMARY KEY (uid)'. |
') DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ' ; |
$this->traiterRequete($requete); |
//+------------------------------------------------------------------------------------------------------------+ |
//plante |
$this->type_donnee = $table.'_plante'; |
$requete = 'DROP TABLE IF EXISTS '.$this->projet_nom.'_v'.$this->version.'_'.$this->sous_version.'_'.$this->type_donnee; |
$this->traiterRequete($requete); |
$requete = 'CREATE TABLE '.$this->projet_nom.'_v'.$this->version.'_'.$this->sous_version.'_'.$this->type_donnee.' ('. |
'uid int(11) not null auto_increment,'. |
'identifiant varchar(25),'. |
'genre varchar(100),'. |
'nom_francais varchar(100),'. |
'nom_vulgaire varchar(100),'. |
'description varchar(512),'. |
'habitat varchar(255),'. |
'geographie varchar(255),'. |
'planche_croquis varchar(25),'. |
'PRIMARY KEY (uid)'. |
') DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ' ; |
$this->traiterRequete($requete); |
} |
protected function chargerDonnees($table) { |
print "Chargements des données ..."; |
print "\n"; |
$this->type_donnee = $table.'_texte'; |
$this->chargerDonneesSql($table); |
$this->type_donnee = $table.'_plante'; |
$this->chargerDonneesSql($table); |
return; |
} |
protected function chargerDonneesSql($table) { |
echo $this->type_donnee."\n"; |
$fichier_sql = $this->chemin_fichier_tab.$this->projet_nom.'_v'.$this->version.'_'.$this->sous_version.'_'.$this->type_donnee.'.sql'; |
print $fichier_sql."\n"; |
if (file_exists($fichier_sql)) { |
// Des champs textes sont multilignes, d'ou la boucle sur INSERT, marqueur de fin de la requete precedente. |
if ($lines = file($fichier_sql)) { |
$i = 0; |
$ligne_courante = $lines[$i]; |
if (($i + 1) >= count($lines)) { |
$ligne_suivante = 'FIN'; |
} else { |
$ligne_suivante = $lines[$i+1]; |
} |
while ($i < count($lines)) { |
$line_in = $ligne_courante; |
while (($i < count($lines)) && (substr($ligne_suivante, 0, 6) != 'INSERT') && ($ligne_suivante != 'FIN')) { |
$line_in .= $ligne_suivante; |
$i++; |
$ligne_courante = $lines[$i]; |
if (($i + 1) >= count($lines)) { |
$ligne_suivante = 'FIN'; |
} else { |
$ligne_suivante = $lines[$i + 1]; |
} |
} |
$requete = $line_in; |
if (substr($requete, 0, 6) == 'INSERT') { |
$requete = preg_replace('/ VALUES\(/',' VALUES(0,', $requete); |
$this->traiterRequete(utf8_encode($requete)); |
} |
$i++; |
if (($i + 1) >= count($lines)) { |
$ligne_suivante = 'FIN'; |
} else { |
$ligne_courante = $lines[$i]; |
$ligne_suivante = $lines[$i + 1]; |
} |
if ($i == (int) $this->getParam('t')) { |
break; |
} |
} |
} |
} else { |
echo 'Fichier sql introuvable'."\n"; |
} |
} |
} |
?> |
/trunk/scripts/modules/sitemap/Sitemap.php |
---|
New file |
0,0 → 1,160 |
<?php |
// Encodage : UTF-8 |
// +-------------------------------------------------------------------------------------------------------------------+ |
/** |
* Sitemap |
* |
* Description : classe permettant de réaliser un fichier Sitemap pour eFlore |
* |
//Auteur original : |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Tela-Botanica 1999-2008 |
* @link http://www.tela-botanica.org/wikini/eflore |
* @licence GPL v3 & CeCILL v2 |
* @version $Id: Sitemap.class.php 1873 2009-03-31 10:07:24Z Jean-Pascal MILCENT $ |
*/ |
// +-------------------------------------------------------------------------------------------------------------------+ |
/** |
* Classe crééant un Sitemap |
*/ |
class Robot extends ScriptCommande { |
private $lastmod = '2008-04-28'; |
private $changefreq = 'monthly'; |
public function executer() { |
$cmd = $this->getParam('a'); |
switch ($cmd) { |
case 'creer' : |
$this->creerSiteMap(); |
break; |
default : |
trigger_error('Erreur : la commande "'.$cmd.'" n\'existe pas!'."\n", E_USER_ERROR); |
} |
} |
private function creerSiteMap() { |
// +-----------------------------------------------------------------------------------------------------------+ |
// Initialisation des paramêtres variables |
$url_site = 'http://www.tela-botanica.org/'; |
$url_eflore = $url_site.'eflore/%s/nt/%s/%s'; |
$projets = array( array('id' => 25, 'code' => 'BDNFF', 'url' => $url_eflore, 'taxon_max' => 50000, 'onglets' => '*'), |
array('id' => 29, 'code' => 'BDNFM', 'url' => $url_eflore, 'taxon_max' => 50000, 'onglets' => 'synthese,synonymie,vernaculaire,chorologie,biblio,information,illustration,wiki'), |
array('id' => 38, 'code' => 'BDNBE', 'url' => $url_eflore, 'taxon_max' => 50000, 'onglets' => 'synthese,synonymie,chorologie,biblio,information,illustration,wiki'), |
array('id' => 45, 'code' => 'BDAFN', 'url' => $url_eflore, 'taxon_max' => 500000, 'onglets' => 'synthese,synonymie,chorologie,biblio,information,illustration,wiki') |
); |
$onglets = array( 'synthese' => '0.9', |
'synonymie' => '0.6', |
'vernaculaire' => '0.8', |
'chorologie' => '0.7', |
'biblio' => '0.8', |
'information' => '0.2', |
'illustration' => '0.9', |
'wiki' => '0.3', |
'cel' => '0.5'); |
$xmlstr_sitemap = '<?xml version="1.0" encoding="UTF-8"?>'."\n". |
'<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '. |
'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 '. |
'http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" '. |
'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n". |
'</urlset>'."\n"; |
$xmlstr_sitemapindex = '<?xml version="1.0" encoding="UTF-8"?>'."\n". |
'<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '. |
'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 '. |
'http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" '. |
'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'."\n". |
'</sitemapindex>'."\n"; |
// +-----------------------------------------------------------------------------------------------------------+ |
// Initialisation des variables |
$UrlSet = null; |
$SiteMapIndex = null; |
$cpt_url = 1; |
$cpt_fichier = 1; |
$Taxon = new EfloreTaxon(true); |
// +-----------------------------------------------------------------------------------------------------------+ |
// Lancement du traitement |
foreach ($projets as $projet) { |
// Gestion des onglets affichables pour le projet courrant |
if ($projet['onglets'] != '*') { |
$projet['onglets'] = array_flip(explode(',', $projet['onglets'])); |
} |
// +-------------------------------------------------------------------------------------------------------+ |
echo "Création des URLs des taxons pour le projet {$projet['code']} : "; |
$i = 1; |
$taxons = $Taxon->consulterTaxon($projet['id']); |
foreach ($taxons as $taxon) { |
// Seul les taxons du projet sont indexés, on exclue les taxons virtuels |
if ($taxon['et']['id']['taxon'] < $projet['taxon_max']) { |
foreach ($onglets as $onglet => $priorite) { |
// Vérification que l'onglet est autorisé pour ce projet |
if ($projet['onglets'] == '*' || isset($projet['onglets'][$onglet])) { |
// Affichage en console et en cas de test... |
echo str_repeat(chr(8), ( strlen( $i ) + 1 ))."\t".$i++; |
// Création du fichier XML si nécessaire |
if (is_null($UrlSet)) { |
$UrlSet = new SimpleXMLElement($xmlstr_sitemap); |
} |
// Ajout de l'url |
$Url = $UrlSet->addChild('url'); |
$Url->addChild('loc', sprintf($projet['url'], $projet['code'], $taxon['et']['id']['taxon'], $onglet)); |
$Url->addChild('lastmod', $this->lastmod); |
$Url->addChild('changefreq', $this->changefreq); |
$Url->addChild('priority', $priorite); |
// Vérification écriture du fichier ou pas |
if ($cpt_url == 1) { |
$estimation = strlen($UrlSet->asXml()); |
} |
if (49999 == $cpt_url++ || ($estimation * $cpt_url) > 20000000 || $i == (int)$this->getParam('t')) { |
$contenu = $UrlSet->asXml(); |
$cpt_url = 1; |
$UrlSet = null; |
// Création du fichier Sitemap compressé |
$fichier_nom = 'sitemap'.$cpt_fichier++.'.xml'; |
$compression = false; |
if (!is_numeric($this->getParam('t'))) { |
$compression = true; |
$fichier_nom .= '.gz'; |
} |
$fichier = $this->getIni('log_chemin').$fichier_nom; |
$this->creerFichier($fichier, $contenu, $compression); |
// Création du XML d'index des Sitemap si nécessaire |
if (is_null($SiteMapIndex)) { |
$SiteMapIndex = new SimpleXMLElement($xmlstr_sitemapindex); |
} |
// Ajout du fichier Sitemap à l'index |
$SiteMap = $SiteMapIndex->addChild('sitemap'); |
$SiteMap->addChild('loc', $url_site.$fichier_nom); |
$SiteMap->addChild('lastmod', date('c', time())); |
} |
if ($i == (int)$this->getParam('t')) {break;} |
} |
} |
} |
// En cas de test... |
if ($i == (int)$this->getParam('t')) {break;} |
} |
echo "\n"; |
// Création du fichier d'index des Sitemap |
if (is_object($SiteMapIndex)) { |
$index_contenu = $SiteMapIndex->asXml(); |
$index_fichier_nom = 'sitemap_index.xml'; |
$index_fichier = $this->getIni('log_chemin').$index_fichier_nom; |
$this->creerFichier($index_fichier, $index_contenu); |
} |
} |
} |
} |
?> |
/trunk/scripts/modules/sitemap/sitemap.ini |
---|
New file |
0,0 → 1,2 |
; Encodage : UTF-8 |
; ici mettre les variables du module |