<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Hoa Forum]]></title>
		<link>http://hoa-project.net/Forum/</link>
		<description><![CDATA[Les sujets les plus récents à Hoa Forum.]]></description>
		<lastBuildDate>Tue, 06 Jan 2009 15:55:54 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Auto-chargement des modèles]]></title>
			<link>http://hoa-project.net/Forum/topic/170/autochargement-des-modeles/new/posts/</link>
			<description><![CDATA[J'ai lu un article sur l'auto-chargement de modèle pour Zend. (A peine commencé, et j'ai déjà la flemme de charger les modèles...)
Article -> [url]http://www.dmathieu.com/2008/11/25/zend-framework-en-mvc-charger-les-modeles-propreme[/url]

Je voulais savoir s'il y avait quelque chose de prévu de semblable. :D

[code]class App_Control_Standard extends Hoa_Controller_Action_Standard {
    
    const MODEL_DIR_PATH = 'Application/Model/';
        
    public function init(  ) {

        if( isset($this->models) ) {
            
            foreach( $this->models as $model ) {
                
                if( file_exists(self::MODEL_DIR_PATH . $model . '.php') ) {
                    
                    require_once self::MODEL_DIR_PATH . $model . '.php';
                }
                else {
                    
                    throw new Hoa_Exception(self::MODEL_DIR_PATH . $model . '.php was supposed to declare class \''.$model.'\'');
                }
                
                if( class_exists($model) ) {
                    
                    $this->{$model} = new $model();
                }
                else {
                    
                    throw new Hoa_Exception(self::MODEL_DIR_PATH . $model . '.php was supposed to declare class \''.$model.'\'');
                }
            }
        }
    }
}[/code]]]></description>
			<author><![CDATA[dummy@example.com (Hywan)]]></author>
			<pubDate>Tue, 06 Jan 2009 15:55:54 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/170/autochargement-des-modeles/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Problème avec la vue !]]></title>
			<link>http://hoa-project.net/Forum/topic/169/probleme-avec-la-vue/new/posts/</link>
			<description><![CDATA[Bonsoir,
J'ai voulu tester ce Framework en reprenant tout simplement ce qui était fait dans la vidéo.

Lorsque j'ai voulu assigner la vue dans le controller, rien ne s'est affiché.

Dans IndexAction de IndexController, j'ai inséré:

[code]
        $this->view->titre        = 'Mon titre';
        $this->view->presentation = 'Ceci est une presentation';
        echo $this->view->render();
[/code]

Ensuite, j'ai continué le tutoriel en mettant le FrontLayout.phtml. Et, surprise j'avais bien mon FrontLayout d'affiché avec les variables !

J'ai continué mes tests en affichant IndexAction.phtml dans render:
[code]
        $this->view->titre        = 'Mon titre';
        $this->view->presentation = 'Ceci est une presentation';
        echo $this->view->render('IndexView/IndexAction.phtml');
[/code]

Et surprise ! Sa continue à marcher ! mais je n'avais pas le FrontLayout ! :( J'ai continué l'aventure en ajoutant le paramère true à la méthode render.

[code]
        $this->view->titre        = 'Mon titre';
        $this->view->presentation = 'Ceci est une presentation';
        echo $this->view->render('IndexView/IndexAction.phtml',true);
[/code]

Et la encore, je n'ai eu que le FrontLayout.phtml.

Je me suis pas arrété là. Ensuite j'ai ajouté 2 render:

[code]
        $this->view->titre        = 'Mon titre';
        $this->view->presentation = 'Ceci est une presentation';
        echo $this->view->render();
        echo $this->view->render('IndexView/IndexAction.phtml',true);
[/code]

Croyant qu'il allait m'afficher le FrontLayout suivi de l'IndexAction. 
Ce coup ci, il m'a affiché le FrontLayout et [b]2[/b] IndexAction.

Tout sa pour vous dire, que je ne comprend pas, pourquoi ce que j'ai fait ne fonctionne pas :p
(même si à la fin, c'était du GROS bidouillage)

Petite précision : J'ai pris la version de Hoa sur le SVN ! :D On sait jamais... :P]]></description>
			<author><![CDATA[dummy@example.com (v4gab0nd)]]></author>
			<pubDate>Mon, 05 Jan 2009 18:20:26 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/169/probleme-avec-la-vue/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Visualiser le dépôt SVN]]></title>
			<link>http://hoa-project.net/Forum/topic/168/visualiser-le-depot-svn/new/posts/</link>
			<description><![CDATA[Hey :),

Nouveauté qui accompagne le serveur SVN : [url]http://svn-view.hoa-project.net[/url] !

À cette adresse, vous pourrez visualiser comme il se doit le dépôt SVN. J'utilise [url=http://viewvc.tigris.org/]ViewVC 1.2-dev[/url] pour arriver à mes fins. C'est un outil très simple à utiliser : il permet de visualiser l'ensemble du dépôt dans tous ses recoins, que ce soit à travers les révisions, les logs, les différences, les archives à la volée etc. Je l'ai couplé à Pygments (colorisateur syntaxique écrit en Python) pour coloriser les sources. Ce sera plus simple pour échanger des commentaires sur le forum.

Récapitulons donc : [url]http://svn.hoa-project.net[/url] pour le dépôt SVN, et [url]http://svn-view.hoa-project.net[/url] pour visualiser le dépôt SVN, tout simplement.

Certaines mauvaises langues diront qu'on peut toujours explorer le dépôt SVN directement sur svn.hoa-project.net mais pas de façon aussi poussée et agréable que sur svn-view ;).]]></description>
			<author><![CDATA[dummy@example.com (Hywan)]]></author>
			<pubDate>Sun, 04 Jan 2009 02:47:02 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/168/visualiser-le-depot-svn/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Plate-forme Lily]]></title>
			<link>http://hoa-project.net/Forum/topic/167/plateforme-lily/new/posts/</link>
			<description><![CDATA[Hey :),

Il y a quelques mois, je vous avais parlé de la plate-forme Lily.

À l'adresse suivante : [url]http://lily.hoa-project.net[/url], se trouve cette fameuse plate-forme. On y trouve tous les fichiers « sensibles » qui sont censés être utilisés dans des systèmes qui vont durer. Un exemple : j'ai besoin d'un schéma XML pour un document avec un format spécifique à Hoa (je pense par exemple aux descriptions de bases de données en XML). Ce document va être lié au schéma XML pendant un moment (pendant toute sa vie en fait). Donc l'URL de ce schéma ne devra pas changer, ça devra toujours être la même URL. Lily est fait pour ça.
Le site va pas mal bouger à l'avenir, et pour une meilleure pérennité des documents, on se base sur Lily, qui elle, ne change jamais, pour ce genre de données.

On trouve donc le dossier [url=http://lily.hoa-project.net/Schema/]Schema/[/url] qui contient l'ensemble des schémas, comme XSD et ce genre de chose. On trouve à la racine la licence du projet, dans [url=http://lily.hoa-project.net/LICENSE]LICENSE[/url]. Intéressant, on trouve également à la racine [url=http://lily.hoa-project.net/REVISION]le fichier REVISION[/url] qui contient le dernier numéro de révision du dépôt SVN (accessible à cette adresse [url]http://svn.hoa-project.net[/url]/ pour rappel) si jamais on ne veut pas exécuter [i]svn log[/i] (en effet, une simple lecture du fichier nous donne ce numéro de révision).

Si dans un cas très particulier la plate-forme tombe en rade, les fichiers présents sur la plate-forme sont de toute façon présents dans le framework (soit dans Framework/, soit dans Data/, soit à la racine, bref dans des endroits logiques).

Des fichiers viendront s'ajouter au fil du temps et des besoins. Vous pouvez bien sûr faire vos propositions !]]></description>
			<author><![CDATA[dummy@example.com (Hywan)]]></author>
			<pubDate>Fri, 02 Jan 2009 23:15:09 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/167/plateforme-lily/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Serveur DAV]]></title>
			<link>http://hoa-project.net/Forum/topic/166/serveur-dav/new/posts/</link>
			<description><![CDATA[Hey :),

Le serveur DAV est en route depuis plusieurs jours (voire plusieurs semaines) déjà mais l'ensemble des scripts n'étaient pas encore terminé. C'est maintenant fini (du moins pour vous) !

L'adresse du serveur DAV est la suivante : [b]dav.hoa-project.net[/b] (on aurait pu s'en douter ;)). On y trouvera toutes les archives du projet.

Il se présente comme le serveur SVN, à savoir qu'on trouve deux dossiers à la racine : Framework/ et Art/. Dans Framework/, on trouve Branches/, Manual/, Tags/ et Trunk/. Et quand on arrive dans les archives, on trouvera toujours les 3 formats suivants : [i]7z[/i], [i]tar.bz2[/i] et [i]tar.gz[/i]. J'ai décidé de me détacher du format [i]zip[/i] qui me posait trop de soucis. Ne serait-ce que par économie de bande passante face aux autres, on peut se passer de ce format …
D'autres formats d'archive viendront s'ajouter avec le temps. J'aimerais bien faire des [i]deb[/i], des [i]rpm[/i], des [i]dmg[/i] etc. Faut que j'apprenne à les construire et étudier leur utilité.

Pour le dossier Trunk/, la fin du nom des archives est [i]_r-[/i]n, où [i]n[/i] est le numéro de révision. Alors que pour les dossiers Branches/ et Tags/, la fin du nom des archives est [i]_v-[/i]n, où [i]n[/i] est cette fois-ci le numéro de version. C'est relativement facile à comprendre, [i]v[/i] pour version et [i]r[/i] pour révision ;).

Vous n'avez aucun droit sur le serveur DAV à part la lecture. Vous pouvez donc obtenir (droit de lecture) les données qui sont dessus, mais pas en ajouter (droit d'écriture) ou en exécuter (droit d'exécution).

Un petit résumé de tout ceci se trouve dans /README. Et on trouve bien sûr le fichier de licence : /LICENSE.
Petit rappel : dans tous les cas, les fichiers importants comme la licence se trouvent sur la plate-forme Lily : [url]http://lily.hoa-project.net[/url].

À venir dans les prochains jours (ça se compte sur les doigts d'une main), un annexe dans le manuel de référence pour utiliser le serveur DAV sur tous les OS principaux. Pour Mac OS X, c'est facile, pour Windows 98 et XP, je vais réussir à retrouver, pour Vista le vocabulaire est merdique mais je peux retrouver, pour GNU/Linux, Konqueror suffit, mais il faut que je trouve d'autres moyens, et pareil si on est sur une autre distribution (à bon entendeur, les mails sont ouverts pour toute aide !).

Wala les p'tits gars (et les p'tites filles, il y en a !). C'est quand même plus pratique que d'utiliser SVN directement (si on n'a pas SVN sous la main et qu'on veut absolument une archive).]]></description>
			<author><![CDATA[dummy@example.com (Hywan)]]></author>
			<pubDate>Fri, 02 Jan 2009 22:50:10 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/166/serveur-dav/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Joyeux Noël et joyeuse année]]></title>
			<link>http://hoa-project.net/Forum/topic/163/joyeux-noel-et-joyeuse-annee/new/posts/</link>
			<description><![CDATA[Hey :),

Pendant une courte période (d'aujourd'hui au 5 janvier), je me retire dans mes montagnes profondes et enneigées … où il n'y a plus Internet ! J'ai besoin de cette coupure, la fac m'a épuisé.

Il ne faut pas vous en faire, durant cette période je vais retourner à fond sur Hoa. J'avais des idées mais pas de temps : maintenant j'ai le temps, et [i]a priori[/i] que ça à faire (c'est très rare).

Je vous souhaite donc un très joyeux Noël et une très bonne nouvelle année :).
On se retrouve l'année prochaine ;).]]></description>
			<author><![CDATA[dummy@example.com (jojolapine)]]></author>
			<pubDate>Thu, 01 Jan 2009 18:57:06 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/163/joyeux-noel-et-joyeuse-annee/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Passage de mon architecture pseudo MVC à Hoa]]></title>
			<link>http://hoa-project.net/Forum/topic/155/passage-de-mon-architecture-pseudo-mvc-a-hoa/new/posts/</link>
			<description><![CDATA[(gros boulot, en perspective autant pour moi que pour vous :D)

Alors voilà dans le cadre d'une restructuration partielle, j'ai décidé de me lancer dans le passage d'un site de mon architecture à l'utilisation de Hoa.
Pour commencer, voici ce que donne l'architecture actuelle:
[code]/
    /libs
    /img
    /config
    /tmpl
        /site1
            page1.tmpl.php
            page1.mdl.php
            [...]
        /site2
            [...]
controlleur.php[/code]
Donc en gros, répertoire [i]libs[/i] pour les classes de cache, de formatage de données, etc...
[i]img[/i] et [i]config[/i] parle d'eux même...
Et enfin le repertoire [i]tmpl[/i] dans lequel il y a plusieurs repertoires concernant les différents sites (aux nombres de trois aujorud'hui, je vous laisse visionner [url]http://galapiat.fr[/url] pour mieux comprendre: pages communes, compagnie, festival)
ça rajoute je suppose un peu de difficulté? puisque ce sont trois design/structures distinct(e)s!

Voilà pour la structure, et maintenant le fichier controlleur.php:[code]<?php
//coding: utf-8  (Scite configuration)

include('./libs/mysql_utf8.php');
include('./libs/cache.class.php');
include('./libs/format.class.php');
include('./libs/pagination.class.php');
include('./config/config.php');


if(empty($_GET['p']))
    $_GET['p']='accueil';
if(isset($_GET['d'])){
    if(empty($_GET['d'])) $_GET['d']='divers';
    $sql='SELECT * FROM pages as p, repertoires as r WHERE r.id_rep=p.id_rep AND p.nom ='.$connexion->quote($_GET['p']).' AND r.nom='.$connexion->quote($_GET['d']);
    $resultats=$connexion->query($sql);
    $page= $resultats->fetch(PDO::FETCH_ASSOC);
    if(!$page){
        include('./tmpl/divers/404.mdl.php');
        exit();
    } elseif($page['ouvert']=='0'){
        include('./tmpl/divers/fermeture.mdl.php');
        exit();
    }
} else {
    include('./tmpl/divers/404.mdl.php');
    exit();
}

//nom du fichier de cache
$cache_name=$page['id_page'];
if(!empty($_GET['a'])){
    $cache_name.='_a'.$_GET['a'];
}
if(!empty($_GET['page'])){
    $cache_name.='_p'.$_GET['page'];
}

//démarrage du cache
try{
    $cache=new cache($cache_name);
    $cache->initCache((is_numeric($page['cacheType']) ? intval($page['cacheType']) : $page['cacheType']));
} catch (Exeption $e){
        echo $e->getMessage();
}

include($page['url_model']);
?>[/code]
En gros il sert à inclures les différentes librairies pour plus tard (bien que ce ne soit pas forcément très clair je l'accorde, par exemple la classe pagination ne sert pas sur des pages statiques et pourtant elle est là... :( )
Ensuite, on cherche la page demandée (je vous donnerai le .htaccess si vous voulez), si elle est valide, hop on se prépare à inclure, sinon on inclu la page 404 ou fermeture, jusque là ça va?

Ensuite si pas de problème démarrage du cache, et inclusion de la page .mdl.php
qui contient par exemple:[code]<?php 
//coding: utf-8  (Scite configuration)

$title=$CONFIG['titleDivers'].$page['title'];
$css=$page['url_css'];


//inclusion de la vue
include($page['url_vue']);
?>[/code]C'est dans ces pages (.mdl.php) qu'on peut retrouver des appels à la bdd, des traitements, etc...

Voilà
Bon je sais pas trop comment procéder pour passer à Hoa
Je croit que ce qui me pose le plus de problème actuellement, c'est comprendre comment organiser les fichiers (noms,place,etc...)
Parce que passer de mon système de cache à celui de Hoa ne devrait pas être très difficile par exemple...
Mais c'est surtout l'organisation...
Bon je m'arrête là pour le moment, mais je peux apporter toutes sortes de précisions supplémentaires!
Merci d'avance pour l'immense aide apportée


Ps: peut-être que ça permettra au logo Hoa  de se promener un peu ;)]]></description>
			<author><![CDATA[dummy@example.com (Hywan)]]></author>
			<pubDate>Tue, 23 Dec 2008 22:09:49 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/155/passage-de-mon-architecture-pseudo-mvc-a-hoa/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[SVN, le retour !]]></title>
			<link>http://hoa-project.net/Forum/topic/162/svn-le-retour/new/posts/</link>
			<description><![CDATA[Hey :),

Enfin (!), enfin, [b]SVN est de retour[/b] !

L'adresse du serveur SVN est : [url]http://svn.hoa-project.net/[/url]. Ce n'est que le miroir de mon serveur SVN en local, moins de risque de voir tout disparaître de cette façon, et c'est plus simple à gérer pour moi.

Les révisions recommencent à 0 (enfin, 2 déjà), c'est dommage, mais pas vital.
Je vous laisse observer l'organisation du serveur, c'est très simple.

Je rappelle l'utilisation de SVN pour en extraire une version : [code]$ svn co http://svn.hoa-project.net/Framework/Trunk/ Hoa_Framework/[/code] pour obtenir la dernière version. Et : [code]$ svn co http://svn.hoa-project.net/Framework/Tags/0.4.0b/ Hoa_Framework/[/code] pour obtenir le [i]snapshot[/i], ou [i]milestone[/i] comme certains disent (qui comporte des [i]bugs[/i] corrigés dans la dernière version — voir le tronc — d'ailleurs). Je ne m'amuse pas trop avec les branches pour l'instant, il est donc conseillé de télécharger le tronc pour les dernières corrections.

La partie « art » de Hoa (icônes et bientôt une petite surprise sous le nom de [i]Miss Lily[/i]) sera également dans le serveur SVN. Ça ne concerne pas du tout le framework, mais ça fait partie de Hoa :).

Allé, je pars à l'assaut de plusieurs scripts Shell pour le prochain serveur D… (surprise ;)).]]></description>
			<author><![CDATA[dummy@example.com (jojolapine)]]></author>
			<pubDate>Fri, 19 Dec 2008 13:16:40 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/162/svn-le-retour/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[résolu] Hoa_Controller et la gestion des erreurs 404]]></title>
			<link>http://hoa-project.net/Forum/topic/161/resolu-hoacontroller-et-la-gestion-des-erreurs-404/new/posts/</link>
			<description><![CDATA[Bonjour (ou plutôt bonsoir!),
Alors voilà j'ai un petit soucis, de méthodologie générale et également lié à Hoa...
En fait je me pose la question de savoir comment gérer les erreurs 404 au mieux afin que les moteurs de recherches les prennes bien en compte d'une part et que l'utilisateur d'autre part ne soit pas trop "dépaysé"...
Pour l'instant si j'utilise la méthode la plus simple, à savoir refaire un dispatch après avoir capturé une exeption Hoa_Controller_Exception_ControllerIsNotFound, donc l'utilisateur est content, le design change pas on lui propose de revenir à la page précédente, tout le menu est là etc...
Mais qu'en est-il des moteurs de recherche?
Une seconde solution approchante, c'est à la place de faire un 2nd dispatch, de rediriger sur la page d'erreur...
Pour l'utilisateur ça revient au même, peut-être que c'est un peu mieux pour les robots?

Et enfin, la dernière solution mais que je n'arrive pas à mettre en place (dans ma tête pour l'instant), ce serait de renovyer une entête 404, afin que ce soit clair pour les robots, mais comment faire ensuite pour les visiteurs, il faudrait combiner apache, afin de rediriger les erreurs 404 via ce dernier?

Voilà si je suis pas clair encore une fois( ;) ) je me ferais une joie d'essayer d'éclaircir tout ça! (autant pour moi que pour vous ;) )

Merci d'avance]]></description>
			<author><![CDATA[dummy@example.com (jojolapine)]]></author>
			<pubDate>Tue, 16 Dec 2008 16:23:13 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/161/resolu-hoacontroller-et-la-gestion-des-erreurs-404/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Groupe de relecture]]></title>
			<link>http://hoa-project.net/Forum/topic/120/groupe-de-relecture/new/posts/</link>
			<description><![CDATA[Hey :),

Un groupe de relecture existe pour Hoa. Pour y participer, merci de me contacter par e-mail ou message privé, et vous verrez votre statut changer sur le forum. Ainsi, vous pourrez participer au projet :).

J'insiste sur le fait qu'il n'y aucun engagement. Vous faites selon vos disponibilités, je n'attendrai rien de spécial de votre part.

Si vous voulez participer ponctuellement, ce salon est fait pour vous. Merci d'indiquer au moins la phrase originale suivit de sa correction.]]></description>
			<author><![CDATA[dummy@example.com (Hywan)]]></author>
			<pubDate>Wed, 10 Dec 2008 16:16:00 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/120/groupe-de-relecture/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[résolu] Version téléchargeable de la vidéo]]></title>
			<link>http://hoa-project.net/Forum/topic/156/resolu-version-telechargeable-de-la-video/new/posts/</link>
			<description><![CDATA[Bonjour,
Encore une petite demande pour aujourd'hui:
Serait-il possible d'avoir une version téléchargeable de la vidéo?
Parceque flash ne fonctionne pas chez moi, donc bref...
Merci d'avance!]]></description>
			<author><![CDATA[dummy@example.com (jojolapine)]]></author>
			<pubDate>Mon, 08 Dec 2008 22:38:08 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/156/resolu-version-telechargeable-de-la-video/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[résolu] Hoa_Database]]></title>
			<link>http://hoa-project.net/Forum/topic/159/resolu-hoadatabase/new/posts/</link>
			<description><![CDATA[(re)Bonsoir,
A force d'essayer d'avancer dans Hoa, voici venu le temps des bases de données, et des soucis qui vont avec...
J'ai ceci:[code]Catchable fatal error: Argument 1 passed to Hoa_Database_Dal_AbstractLayer_Pdo_PdoStatement::__construct() must be an instance of PDOStatement, boolean given, called in /var/www/devweb/galapiat3/Hoa_Framework/Framework/Database/Dal/AbstractLayer/Pdo/Pdo.php on line 245 and defined in /var/www/devweb/galapiat3/Hoa_Framework/Framework/Database/Dal/AbstractLayer/Pdo/PdoStatement.php on line 82[/code]
Alors que je n'ai que copié/collé le code du manuel... je vous le file si y faut...)[code]/**
        * Hoa_Database_Dal
        */
        import('Database.Dal.~');

        /**
        * On se connecte à notre base de données.
        */
        $db = Hoa_Database_Dal::getInstance(
        'my',
        Hoa_Database_Dal::PDO,
        'mysql:host=***;dbname=***',
        '***',
        '***'
        );

        /**
        * On ferme la connexion à la base pour pouvoir travailler
        * sans problème par la suite si une erreur intervient.
        */
        $statement = null;
        
        try {
        
        $statement = $db->query('...');
        }
        catch ( Hoa_Database_Dal_Exception $e ) {
        
            $statement->closeCursor();
        }[/code]Des idées sur la cause des problèmes?]]></description>
			<author><![CDATA[dummy@example.com (jojolapine)]]></author>
			<pubDate>Sun, 07 Dec 2008 23:12:12 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/159/resolu-hoadatabase/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[résolu] Règles de réécriture...]]></title>
			<link>http://hoa-project.net/Forum/topic/158/resolu-regles-de-reecriture/new/posts/</link>
			<description><![CDATA[Bonsoir,
Alors dans l'avancement de l'apprentissage de Hoa, je me met à essayer de faire des réécriture d'url, donc j'ai lu les chapitres 11/12 du manuel
Et j'ai pondu (cot cot cot) ceci pour mon controller principal:[code]<?php
set_include_path(    './'. PATH_SEPARATOR .
            './Application'   . PATH_SEPARATOR .
            './Hoa_Framework/Framework'   . PATH_SEPARATOR .
                         get_include_path());

/**
 * On appelle le fichier principal du framework.
 */
require_once 'Framework.php';
 

$parametre = array(
    // Type de routeur.
    'route.type'             => 'Rewrite',
 
    // Paramètres du routeur.
    'route.parameter'        => array(
 
        // Base du routeur.
        'base'               => '/devweb/galapiat3',
 
        // Ensemble des règles de réécriture.
        'rules'              => array(
 
            // Règle par défaut.
            'default'        => array(
                'pattern'    => '/(:module)/(:action).html',
                'default'    => array(
                    'module' => 'index',
                    'action' => 'index'
                )
            ),
 
            // Règle simple.
            'simple'         => array(
                'pattern'    => '/(:action).html',
                'default'    => array(
                    'module' => 'index',
                    'action' => 'index'
                )
            ),
 
            // Règle pour l'agenda.
            'agendaArchive'     => array(
                'pattern'    => '/spectacles/agenda-archives-(:id).html',
                'default'    => array(
                    'module' => 'spectacles',
                    'action' => 'agendaArchives',
                    'id'     => 1
                )
            )
        )
    )
);


import('Controller.Front');

$controller = Hoa_Controller_Front::getInstance($parametre);

try {
    $controller->dispatch();
} catch ( Hoa_Controller_Exception_ControllerIsNotFound $e ) {

    echo get_class($e);

}

exit();
?>[/code]
Seulement je n'arrive pas à faire une chose, c'est créer une régle pour que [b]agenda-archives.html[/b] équivale à [b]agenda-archives-1.html[/b]
sans réécrire une méthode de plus qui appelerais la méthode normale, ça peut ne pas être très grave, me direz-vous, ainsi la page par défaut de mes archives contiendra le [b]-1[/b] un point c'est tout, mais, je le voayait pas comme ça... :(
ya pas moyen de faire un espèce de[code]/spectacles/agenda-archives(-(:id))?.html[/code]

Bon à part ça, ça avance doucement dans ma tête, j'ai deux trois trucs qui m'échappent encore, mais ça va venir (et les questions aussi :) )
Merci d'avance pour les réponses!

EDIT: je rajoute une question bête:
A quoi sert le dossier model?
Parce que là mes controleurs font tout dans le dossier controller, mais j'ai rien à mettre dans le dossier model...?]]></description>
			<author><![CDATA[dummy@example.com (jojolapine)]]></author>
			<pubDate>Sun, 07 Dec 2008 23:03:38 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/158/resolu-regles-de-reecriture/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[Hoa_Locale, un p'tit coup de main ?]]></title>
			<link>http://hoa-project.net/Forum/topic/157/hoalocale-un-ptit-coup-de-main/new/posts/</link>
			<description><![CDATA[Hey :),

Le fait est suffisamment rare pour que vous en profitiez ;) : je demande un coup de main pour un paquetage.
Je tente d'exposer le problème avec des petits rappels.

[b]Rappels[/b]

L'internationalisation (i18n) et la localisation (l10n) consiste à localiser un utilisateur. En quoi sera influe-t-il sur une application ? La langue, la région, le pays, le formatage des nombres, des dates etc., dépendent de la localisation de l'utilisateur.

[b]Ce que sait faire Hoa_Locale[/b]

Depuis le début, Hoa_Locale sait localiser un utilisateur à travers différentes méthodes. La plus précise est à travers le navigateur utilisé, car il contient des prérogatives qui sont plus précis que tout le reste. En même temps, le navigateur se base sur les configurations du système (OS) de l'utilisateur. On ne peut donc faire plus précis.

[b]Et le problème alors ?[/b]

Il y a deux façons de localiser un utilisateur. Soit avec un code (iso-3166-1_alpha-2 ou 3), soit avec un couple continent/ville. Si on donne ce couple continent/ville, Hoa_Locale arrive à tout retrouver sans trop d'ambiguïté. En revanche, si on donne un code iso-3166-1_alpha-2 (ou 3), Hoa_Locale n'arrive pas (et [i]a priori[/i] ne peut pas) retrouver le continent et la ville à tous les coups.

Exemple : on donne Europe/Paris, on peut retrouver la langue (fr), la région (FR), le pays (FRANCE), son code alpha 3 (FRA) et la locale (fr_FR.utf-8). Je passe sur les manipulations des nombres, c'est déduit de ces informations. Et pour le fuseau horaire ([i]timezone[/i]), on sait qu'on est à Paris, donc pas de problème.
Maintenant, on donne fr_CA. On peut en déduire la langue (fr), la région (CA), le pays (CANADA), son code alpha 3 (CAN) et la locale (fr_CA.utf-8). Mais comment trouver le fuseau horaire ?
Pour le canada, il existe 27 villes de références pour le fuseau horaire (oui, c'est grand comme pays) !

[b]Solutions ?[/b]

Si on donne un couple continent/ville, Hoa_Locale sait presque toujours retrouver toutes les informations (il existe de très rare cas : pays très particuliers, avec plusieurs capitales, en guerre etc.).
Si on donne un code ISO, on ne peut pas définir avec certitude le fuseau horaire (le reste, c'est bon). [b]Donc le problème se trouve sur le fuseau horaire[/b].
Pour détecter l'utilisateur avec encore plus de précisions, je pensais utiliser les tables IP (voir traceroute et ce genre d'outils), mais ce serait des opérations lourdes et longues, ce que je veux éviter.

Le but étant bien entendu de faire le moins d'opérations possibles, donc que la localisation se fasse en 2 lignes et c'est tout.

[b]Et les autres ?[/b]

J'ai regardé comment PHP 5.3 allait traiter avec ça, mais il faut toujours lui donner un fuseau horaire. Pareil pour les autres frameworks. Mais il doit bien y avoir une solution …


Donc si vous êtes motivés et que vous avez des idées, je suis très preneur en ce moment. Ça fait déjà 2 voire 3 semaines que je me casse les dents sur ce problème …]]></description>
			<author><![CDATA[dummy@example.com (Hywan)]]></author>
			<pubDate>Sun, 07 Dec 2008 22:32:02 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/157/hoalocale-un-ptit-coup-de-main/new/posts/</guid>
		</item>
		<item>
			<title><![CDATA[[résolu] Commentaires C/console?]]></title>
			<link>http://hoa-project.net/Forum/topic/154/resolu-commentaires-cconsole/new/posts/</link>
			<description><![CDATA[Bonjour,
en lisant les sources tout à l'heure je suis tombé la dessus:[code]#IF_DEFINED HOA_STANDALONE
 if(empty($frontendOptions) || empty($backendOptions)) {

                         [.....]
 }
#END_IF
[/code]A quoi servent ces espèces de commentaires conditionnels? C'est en rapprot avec la console?
Merci de satisfaire ma curiosité ;)]]></description>
			<author><![CDATA[dummy@example.com (Hywan)]]></author>
			<pubDate>Wed, 03 Dec 2008 11:53:51 +0000</pubDate>
			<guid>http://hoa-project.net/Forum/topic/154/resolu-commentaires-cconsole/new/posts/</guid>
		</item>
	</channel>
</rss>
