children() as $parent => $child){ //echo "\n
$parent"; // Attention ci-dessous : si 2 fils s'appellent pareil (ont la même balise), la dernière écrase la précédente dans le tableau php généré //$return["$parent"] = xml2array($child)?xml2array($child):"$child"; // Att-suite, ci-dessous : n'oublie plus rien mais ajoute trop de niveaux //$return[] = array("$parent" => xml2array($child)?xml2array($child):"$child"); if(isset($tab["$parent"])) { $elt = $tab["$parent"]; unset($tab["$parent"]); // : déplacement du noeud parent d'1 niveau if(isset($elt)) $tab["$parent"][] = $elt; $tab["$parent"][] = xml2array($child)?xml2array($child):"$child"; //print_r($tab["$parent"]); } else $tab["$parent"] = xml2array($child)?xml2array($child):"$child"; } return $tab; } /** * paramxml2array() * * @param obj $xml : objet xml produit par le constructeur de SimpleXMLElement * @return array * ------------------------------------------------------------------------------------ * xml2array : fonction qui construit récursivement un tableau php en parcourant le DOM construit par SimpleXMLElement * ------------------------------------------------------------------------------------ * La fonction rend le tableau calculé à partir du noeud courant * voir http://www.php.net/manual/en/simplexmlelement.children.php **/ function paramxml2array($node){ foreach ($node->children() as $parent => $child){ //echo "\n
$parent"; // Attention ci-dessous : si 2 fils s'appellent pareil (ont la même balise), la dernière écrase la précédente dans le tableau php généré //$return["$parent"] = xml2array($child)?xml2array($child):"$child"; // Att-suite, ci-dessous : n'oublie plus rien mais ajoute trop de niveaux //$return[] = array("$parent" => xml2array($child)?xml2array($child):"$child"); if($parent=='etape') { foreach ($child->children() as $p => $c) { switch($p) { case 'composant': $tab[] = paramxml2array($child)?paramxml2array($child):"$child"; break; default : //echo " $p"; } } } elseif($parent=='script') { $tab[$parent]=''; foreach ($child->children() as $p => $c) { //echo "\n
p=$p - c=$c "; switch($p) { case 'fixe': $tab[$parent].="$c"; break; case 'variable': $var = paramxml2array($c)?paramxml2array($c):"$c"; $tab[$parent].=$var['valeur']; break; default : //echo " $p"; } } //echo " - script = ".$tab[$parent]; } elseif($parent=='personne') { foreach ($child->children() as $p => $c) { //echo "\n
p=$p - c=$c "; switch($p) { case 'identifiant': $key = "$c"; break; case 'listeIP': $val = "$c"; break; default : //echo " $p"; } } $tab["$key"] = "$val"; } elseif($parent=='param' || $parent=='variable') { foreach ($child->children() as $p => $c) { switch($p) { case 'nom': $key = "$c"; break; case 'valeur': $val = "$c"; break; default : //echo " $p"; } } $tab["$key"] = "$val"; } else $tab["$parent"] = paramxml2array($child)?paramxml2array($child):"$child"; } return $tab; } /** * sure_xml2array() * * @param obj $xml : objet xml produit par le constructeur de SimpleXMLElement * @return array * ------------------------------------------------------------------------------------ * sure_xml2array : fonction qui construit récursivement un tableau php en parcourant le DOM construit par loadXML * ------------------------------------------------------------------------------------ * La fonction rend le tableau calculé à partir du noeud courant * voir http://fr.php.net/manual/fr/domdocument.getelementsbytagnamens.php * et les exemples de http://fr.php.net/manual/fr/domdocument.loadxml.php * A FAIRE... utiliser cette fonction pour combiner avec les traitements qui génèrent du php et html avec js... **/ /* //Loop through each tag in the dom and add it to the link array // foreach($xml->getElementsByTagName('nom') as $paramnom) { foreach($xml->getElementsByTagNameNS('http://segdoc.net/w-OMNIA-get/Composants/_apicomp.xsd', '*') as $paramnom) { $params[] = array('key' => $paramnom->tagName, 'value' => $paramnom->nodeValue); } */ /** * getParams() * * @param string $url * @return array * ------------------------------------------------------------------------------------ **/ if(!function_exists('getParams')) { function getParams($url) { //echo "\n
$url"; /* // pb avec les url en http://... qui ne sont pas considérés comme des fichiers if(file_exists($url)) { */ // Initialisation du tableau des paramètres à vide pour gérer tous les paramètres à renvoyer $params = array(); if ( $xml = simplexml_load_file($url) ) { $params = paramxml2array($xml); //$params = xml2array($xml); //print_r($params); return $params; //return $xml->saveXML(); /* // mis en commentaire des lignes suivantes à cause du pb signalé au début } else { die('Fichier XML ('.$url.') inexistant pour le composant '.$_POST['comp'].' ! Merci de vérifier que celui ci existe.'); } */ } // fin if ( $xml = simplexml_load_file($url) ) }} /** * formParams() * * @param array $param * @return string * ------------------------------------------------------------------------------------ **/ if(!function_exists('formParams')) { function formParams($param) { //action à faire $xml->saveXML(); if(is_array($param)) { $str = '
Gérer des paramètres '; foreach($param as $k=>$v) { $str .= "\n".' '; } // fin foreach($param as $k=>$v) $str .= "\n".'
clefvaleur

'; return $str; } }} /** * array2paramxml($param) * * @param array $param * @return obj-xml : objet xml produit par le constructeur de SimpleXMLElement * ------------------------------------------------------------------------------------ **/ if(!function_exists('array2paramxml')) { function array2paramxml($param) { //$params = array2paramxml($param); return $xml; //return $xml->saveXML(); }} /** * pPermXML2str($param, $balise) * * @param array $param * @balise string $balise * @return obj-xml : objet xml produit par le constructeur de SimpleXMLElement * ------------------------------------------------------------------------------------ **/ if(!function_exists('pPermXML2str')) { function pPermXML2str($params, $balise) { //echo "\n
params = "; print_r($params); $dom = new DOMDocument('1.0'); $dom->formatOutput = true; $root = $dom->createElement( $balise ); $dom->appendChild( $root ); foreach($params as $k=>$v) { //$str = @$str . "\n
k=$k"; $pers = $dom->createElement( 'personne' ); $root->appendChild( $pers ); $id = $dom->createElement( 'identifiant' ); $id->appendChild( $dom->createTextNode( $k ) ); $pers->appendChild( $id ); $lip = $dom->createElement( 'listeIP' ); $lip->appendChild( $dom->createTextNode( $v ) ); $pers->appendChild( $lip ); } //echo "\n
".$dom->saveXML(); return ( @$str . $dom->saveXML() ); }} ?> Homerica 
Université Stendhal MSH-alpes : Maison des Sciences de l'Homme CNRS
Cratère protoargien. Musée archéologique d'Argos
C 149, H. 0,245 m./l. 0,31 m.
Milieu du 7ème s. av. J.C.
Cliché : Ecole Française d'Athènes

Homère à travers les livres

Un catalogue de livres anciens sélectionnés à la Bibliothèque municipale et à la bibliothèque universitaire de Grenoble avec quelques exemplaires appartenant au Centre de recherches ou à des bibliothèques privées

Catalogue Troie

Reflets de la réalité et du mythe, par B. Baronesse von Freytag et Dietrich Mannsperger, Université de Tübingen.

Polices

Le site Greek Keys (Pr. D. Mastronarde, Berkeley) permet de télécharger les polices unicode récentes pour les différents systèmes: http://socrates.berkeley.edu/~pinax/greekkeys/Gree Si vous avez des anciennes polices grecques à transformer en unicode ou réciproquement, vous pouvez aussi télécharger le Trancodeur conçu à l’ENS rue d’Ulm par D.-A. Daix : http://www.greektranscoder.org/ (version française disponible, pour PC/ MacIntosh il faut suivre les instructions très soigneusement, et avoir la version du système indiquée)..

Nouveauté

Vous pouvez visiter le journal d'actualités : http://homerica.msh-alpes.fr/wordpress.

Visite du site dynamique.

Réalisations de l'équipe homerica

Certaines des séances précédentes du séminaire sont visibles en vidéo sur le site des "podcasts" de Grenoble universités ou sur le site de l'ENS de Lyon : http://podcast.grenet.fr/?page_id=290
Vous trouverez aussi dans le "podcast homerica" la conférence de Christian Girbal sur la musique avec ses instruments reconstitués, et ses "démonstrations sonores".
Les séminaires mis en ligne par l'ENS de Lyon se trouvent à l'adresse http://www.ens-lsh.fr/62225364/0/fiche___actualite/&RH=RESSOURCES-BIS

La bibliographie homérique (à partir de 1991) est mise en ligne par l'INIST à Nancy : http://homere.inist.fr/Recherche/Simple
Elle comporte surtout des travaux de recherche, mais sans exclusive: les ouvrages destinés au grand public ou au public scolaire s'y trouvent aussi, dans la mesure où nous y avons eu accès. Auteurs et éditeurs sont invités à nous envoyer leurs travaux.

Notre site de comptes rendus bibliographiques est aussi désormais accessible au public : http://agora.xtek.fr/
Nous lui avons donné le nom symbolique de Agora. Pour le moment, l'accès aux comptes rendus n'est pas encore très facile (il faut chercher par le nom d'auteur dans le moteur de recherche, mais cela va probablement s'améliorer très prochainement).

Le numéro 13 de Gaia est paru au printemps 2010.

Productions de nos partenaires

Notre collaboration avec le programme GRIMM à Trieste sous la direction du professeur Ezio Pellizer continue : vous pouvez consulter le site DEMGOL à l'adresse : http://www.units.it/index.do. Ce site contient le Dictionnaire de la mythologie grecque, des comptes rendus en italien, etc.

Pour l'enseignement du grec et du latin, nous recommandons :

Nouveauté

Vous pouvez visiter le journal d'actualités : http://homerica.msh-alpes.fr/wordpress/.

Nous contacter

Programme HOMERICA MSH-Alpes BP 47 F- 38040 Grenoble cedex 9

E-mails : homerica@grenoble3.fr Francoise.Letoublon@grenoble3.fr

Site hébergé par http://www.msh-alpes.fr - @homerica - Evolution du site par l'Association Champollion (2011) - Affichage adapté sous Firefox 4