<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>XNova:Next-Gen et XNova:Legacies deviennent Wootook! &#187; XNova:Legacies</title>
	<atom:link href="http://wootook.org/archives/~category/dev/xnovalegacies/feed" rel="self" type="application/rss+xml" />
	<link>http://wootook.org</link>
	<description>XNova devient Wootook</description>
	<lastBuildDate>Mon, 17 Oct 2011 16:35:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Un serveur de démo avec la version de développement</title>
		<link>http://wootook.org/archives/~greg/2011/08/un-serveur-de-demo-avec-la-version-de-developpement.html</link>
		<comments>http://wootook.org/archives/~greg/2011/08/un-serveur-de-demo-avec-la-version-de-developpement.html#comments</comments>
		<pubDate>Tue, 23 Aug 2011 19:40:03 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[francais]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Site]]></category>
		<category><![CDATA[XNova:Legacies]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=813</guid>
		<description><![CDATA[De retour des vacances, avec les batteries bien rechargées, il est temps de faire une petite news. Aujourd&#8217;hui, j&#8217;ouvre aux curieux un serveur de test sur un hébergement mutualisé. C&#8217;est la version de développement, qui peut contenir encore des bugs. Les modes DEBUG et DEPRECATION sont activés, ne vous inquiétez donc pas pour l&#8217;encart rouge [...]]]></description>
			<content:encoded><![CDATA[<p>De retour des vacances, avec les batteries bien rechargées, il est temps de faire une petite news.</p>
<p>Aujourd&#8217;hui, j&#8217;ouvre aux curieux un serveur de test sur un hébergement mutualisé. C&#8217;est la version de développement, qui peut contenir encore des bugs. Les modes <code>DEBUG</code> et <code>DEPRECATION</code> sont activés, ne vous inquiétez donc pas pour l&#8217;encart rouge et blanc en fin de page, particulièrement sur les pages qui n&#8217;ont pas subi de modification.</p>
<p>A l&#8217;heure actuelle, ce qui est réalisé en plus de ce qui a déjà été annoncé <a href="http://www.xnova-ng.org/archives/~greg/2011/07/quelques-nouvelles-a-propos-de-letat-du-developpement-de-xnovalegacies.html" title="Quelques nouvelles à propos de l’état du développement de XNova:Legacies">dans une news précédente</a>, ce sont les reprises de templates des pages des <em>bâtiments</em>, des <em>vaisseaux</em> et des <em>défenses</em>. Il manque encore sur ces 3 pages l&#8217;ajout de la liste de construction, une couche de CSS et un bout de javascript, mais elles sont fonctionnelles, la page des recherches suivra d&#8217;ici peu. Le login a lui été réintégré avec le nouveau moteur d&#8217;affichage, mais son HTML est resté globalement le même. La création de compte n&#8217;est pas terminée, vous devrez utiliser un compte de test pour pouvoir tester (login : <em>test</em>, mot de passe : <em>test</em>)<br />
<span id="more-813"></span><br />
Une version alpha3 sera publiée dans peu de temps, elle intègrera les modifications faites depuis la version alpha2 et déjà présentes sur le serveur de test, avec quelques autres ajouts pas encore terminés dont la création de nouveaux comptes et la page des recherches.</p>
<p>Je vous laisse découvrir ce serveur à l&#8217;adresse <a href="http://testing.xnova-legacies.org" title="Un serveur de démo avec la version de développement de XNova:Legacies" target="_blank">http://testing.xnova-legacies.org</a>. Vous pouvez donner vos remarques ou les bugs que vous auriez trouvé, plus bas dans cette page.</p>
<p>Bons tests <img src='http://www.xnova-ng.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2011/08/un-serveur-de-demo-avec-la-version-de-developpement.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Quelques nouvelles à propos de l&#8217;état du développement de XNova:Legacies</title>
		<link>http://wootook.org/archives/~greg/2011/07/quelques-nouvelles-a-propos-de-letat-du-developpement-de-xnovalegacies.html</link>
		<comments>http://wootook.org/archives/~greg/2011/07/quelques-nouvelles-a-propos-de-letat-du-developpement-de-xnovalegacies.html#comments</comments>
		<pubDate>Mon, 25 Jul 2011 19:30:42 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[francais]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[XNova:Legacies]]></category>
		<category><![CDATA[clone ogame]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[legacies]]></category>
		<category><![CDATA[modèles]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[next gen]]></category>
		<category><![CDATA[ogame]]></category>
		<category><![CDATA[ogame clone]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[poo]]></category>
		<category><![CDATA[private server]]></category>
		<category><![CDATA[serveur privé]]></category>
		<category><![CDATA[téléchargement]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[version alpha]]></category>
		<category><![CDATA[XNova]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=784</guid>
		<description><![CDATA[Une première version alpha La version alpha1 vient d&#8217;être publiée, c&#8217;est une version de développement qui implémente la majeure partie des fonctionnalités annoncées, mais qui n&#8217;est pas fonctionnelle dans le sens où tous les anciens appels n&#8217;ont pas étés modifiés et que le jeu n&#8217;est pas utilisable en tant que tel. Pour les développeurs, c&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<h3>Une première version alpha</h3>
<p>La version alpha1 vient d&#8217;être publiée, c&#8217;est une version de développement qui implémente la majeure partie des fonctionnalités annoncées, mais qui n&#8217;est pas fonctionnelle dans le sens où tous les anciens appels n&#8217;ont pas étés modifiés et que le jeu n&#8217;est pas utilisable en tant que tel.</p>
<p>Pour les développeurs, c&#8217;est l&#8217;occasion de découvrir la refonte. Les nouveaux développements sont intégralement orientés objet, la gestion des planètes et des ressources en sont de parfaits exemples.</p>
<p>Le code se trouve sur Github, <a href="https://github.com/gplanchat/xnova-legacies/tree/version-1.5-alpha1">sur le dépôt dédié au projet.</a></p>
<h3>Un peu d&#8217;actu&#8230;.</h3>
<p>Pour donner quelques nouvelles à propos de l&#8217;état du développement de XNova:Legacies, je vous donne ci-dessous la liste des tâches avec la mise à jour de leur état de réalisation. J&#8217;y ai ajouté la refonte de la gestion de l&#8217;affichage des pages qui n&#8217;était pas présente. Je l&#8217;ai jugé nécessaire pour simplifier l&#8217;avancement et permettre de nettoyer le code &#8220;sale&#8221; à réécrire dans les versions à venir.<br />
<span id="more-784"></span></p>
<ul>
<li>Support des grands nombres [<strong>100% réalisés, testé</strong>]</li>
<li>Programmation événementielle [<strong>100% réalisés, testé</strong>]</li>
<li>Gestion des planètes [<strong>100% réalisés, testé</strong>]</li>
<li>Mise à jour des ressources [<strong>100% réalisés, testé</strong>]</li>
<li>Constructions de bâtiments [<strong>100% réalisés, en phase de tests</strong>]</li>
<li>Constructions de vaisseaux et défenses [<strong>100% réalisés, en phase de tests</strong>]</li>
<li>Marquage des méthodes obsolètes [<strong>100% réalisés</strong>]</li>
<li>Accès aux données, passage sous PDO [<strong>90% réalisés, en phase de tests</strong>]</li>
<li>Gestion d’utilisateur [<strong>100% réalisés, en phase de tests</strong>]</li>
<li>Refonte de la gestion des templates [<strong>100% réalisés, testé</strong>]</li>
<li>Compatibilité ascendante [<strong>75% réalisés</strong>]</li>
<li>Documentation de code [<strong>20% réalisés</strong>]</li>
<li>Nettoyage du code obsolète [<strong>40% réalisés</strong>]</li>
<li>Reprise des templates [<strong>20% réalisés</strong>]
<ul>
<li>Récap des ressources en haut de page [OK]</li>
<li>Overview [OK]</li>
<li>Bâtiments</li>
<li>Chantier spatial</li>
<li>Défenses</li>
<li>Laboratoire</li>
<li>Flottes</li>
<li>Login</li>
</ul>
</li>
<li>Reprise de l’installeur [<strong>0% réalisés</strong>]</li>
</ul>
<h3>Le nouveau moteur de templates</h3>
<p>Cette nouvelle méthode pour générer des pages s&#8217;appuie très fortement sur PHP lui-même. Le code qui sera présent dans les nouveaux <strong>templates</strong> pourra contenir du PHP et tirer parti de ses avantages, comme l&#8217;utilisation de conditions et de boucles, ou bien de permettre de mieux protéger vos pages en échappant les caractères spéciaux du html contenu dans les données affichées, ce qui en majeure partie n&#8217;était pas le cas. Plus besoin de développements particuliers pour modifier une page, tout se fait dans le template, vos fichiers sources resteront tels que vous les aurez téléchargés et seront donc faciles à migrer d&#8217;une version à l&#8217;autre.</p>
<p>Autre particularité, ce nouveau moteur de génération de pages utilisera un fichier de définition de <strong>layout</strong>, qui permettra à ceux qui souhaitent ajouter une nouvelle fonctionnalité au jeu de ne pas modifier le code source standard. Cette fonctionnalité est inspirée des layouts de <strong>Magento</strong>, elle peut être comparée aux <em>Partial Views</em> du <strong>Zend Framework</strong>, c&#8217;est une fonctionnalité qui a été reprise de <strong>One.Platform</strong> et simplifiée.</p>
<h3>Mais encore&#8230;</h3>
<p>Lors de la sortie de la première version beta, un univers de jeu sera mis en place. Il permettra de tester en conditions réelles <strong>XNova:Legacies</strong> et de corriger les éventuels bugs avant de finir de stabiliser le code pour obtenir une version plus robuste.</p>
<p>Plus tard, d&#8217;autres refontes seront programmées. Un nouveau design, les alliances et la galaxie pourraient en être les axes principaux.</p>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2011/07/quelques-nouvelles-a-propos-de-letat-du-developpement-de-xnovalegacies.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feuille de route pour la prochaine version</title>
		<link>http://wootook.org/archives/~greg/2011/06/feuille-de-route-pour-la-prochaine-version.html</link>
		<comments>http://wootook.org/archives/~greg/2011/06/feuille-de-route-pour-la-prochaine-version.html#comments</comments>
		<pubDate>Tue, 28 Jun 2011 20:30:33 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[francais]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[XNova:Legacies]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[chantier spatial]]></category>
		<category><![CDATA[clone ogame]]></category>
		<category><![CDATA[correction de bug]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[legacies]]></category>
		<category><![CDATA[ogame clone]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[orienté objet]]></category>
		<category><![CDATA[pdo]]></category>
		<category><![CDATA[planète]]></category>
		<category><![CDATA[poo]]></category>
		<category><![CDATA[queue de construction]]></category>
		<category><![CDATA[refonte]]></category>
		<category><![CDATA[ugamela]]></category>
		<category><![CDATA[xgp]]></category>
		<category><![CDATA[xgproject]]></category>
		<category><![CDATA[XNova]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=726</guid>
		<description><![CDATA[Pour faire suite à la version 2009.4, une nouvelle version est en prévision. Elle intègrera du code qui permettra de rendre la migration sur One.Platform plus efficace et l&#8217;extension du moteur de jeu plus simple. Cette version ne sera pas une version de maintenance comme l&#8217;ont étés les versions depuis 2009.2, c&#8217;est une version qui [...]]]></description>
			<content:encoded><![CDATA[<p>Pour faire suite à la version 2009.4, une nouvelle version est en prévision. Elle intègrera du code qui permettra de rendre la migration sur <strong>One.Platform</strong> plus efficace et l&#8217;extension du moteur de jeu plus simple. Cette version ne sera pas une version de maintenance comme l&#8217;ont étés les versions depuis 2009.2, c&#8217;est une version qui intègre de gros changements et aura donc besoin de passer par les étapes de validation que l&#8217;on avait mises en place pour la version 2009.1 : une version alpha de tests développeurs, une ou plusieurs versions beta de test utilisateur et une ou plusieurs versions RC qui finiront de résoudre les bugs mineurs.</p>
<p>Notez bien que cette version ne sera pas portée par One.Platform ni Zend Framework, c&#8217;est une version de transition qui rendra l&#8217;évolution et la modification de XNova plus simple.</p>
<p><span id="more-726"></span></p>
<h3>Ajout d&#8217;évènements</h3>
<p>Ceux qui connaissent la programmation événementielle du <strong>Javascript</strong>, pourront découvrir la <strong>programmation évènementielle</strong> sous <strong>XNova:Legacies</strong>. Ce mode de programmation permet de lancer des routines suite au <strong>lancement d&#8217;un évènement</strong>, par exemple lors de la nécessité de mettre à jour une planète. Les mises à jour des ressources, bâtiments, recherches, constructions de flottes et défenses ainsi que les retours de flottes seront automatiquement lancés quand il y en a besoin. Si vous désirez créer un module qui nécessite une mise à jour supplémentaire, plus besoin de chercher où cette mise à jour est appelée, ajoutez un <strong>observateur d&#8217;évènement</strong> et le tour est joué. Idem lorsque vous avez besoin de mettre à jour la planète (avant un espionnage ou le calcul d&#8217;une attaque par exemple), lancez l&#8217;évènement <em>planet.update</em>, plus besoin de savoir en détails tout ce qu&#8217;il faut appeler, les observateurs s&#8217;en chargeront.</p>
<h3>Passage de l&#8217;accès à la base de données sur PDO</h3>
<p>L&#8217;extension MySQL n&#8217;est plus activée par défaut par PHP depuis la sortie de PHP 5 en 2004 et a de grands risques de ne plus être supportée dans une version future (PHP 5.4+ ou PHP 6). Il fallait donc choisir entre mysqli et PDO, l&#8217;interface du second étant plus proche du composant <em>Zend_Db</em> du <strong>Zend Framework</strong>, il était logique de le choisir.</p>
<p>Cette migration impliquera une modification de l&#8217;installeur qui n&#8217;est pour le moment plus fonctionnel. Ce problème sera réglé en dernier, juste avant la publication alpha de la version.</p>
<h3>Modification de l&#8217;architecture de la queue de construction du chanter spatial</h3>
<p>Les problèmes de queue de construction avaient étés résolus avec la version 2009.4, pour permettre de <strong>factoriser le codes source</strong>, la gestion des queues de construction a été rendue plus générique et a été intégrée à la construction de bâtiments.</p>
<h3>Refonte de la queue de construction des bâtiments</h3>
<p>Il y avait divers soucis lors de l&#8217;ajout ou le retrait de bâtiments à la <strong>liste de construction</strong>, cette refonte capitalise les développements faits pour le <strong>chantier spatial</strong> et permettent de résoudre les bugs existants, simplement.</p>
<h3>Le calcul des ressources a été repensé</h3>
<p>Exit l&#8217;appel à la fonction <code>eval()</code> qui posait des risques de sécurité, et qui n&#8217;apportait pas de grand bénéfice. Désormais chaque <strong>bâtiment</strong> ou <strong>vaisseau</strong> producteur disposera d&#8217;une <strong>classe PHP</strong> dans laquelle sa production horaire est calculée en fonction, selon les cas, des données de l&#8217;utilisateur ou de la planète où il se trouve. Cette modification, avec la programmation évènementielle, permet également de résoudre les problèmes de calculs inexacts, sur certaines configurations, les ressources augmentaient bien plus que ce qu&#8217;elles auraient dû.</p>
<p>Avantage supplémentaire : il sera plus simple d&#8217;<strong>ajouter de nouvelles ressources</strong> et de <strong>nouveaux bâtiments producteurs</strong>. Les ressources étaient jusque là calculées au cas par cas, dans plusieurs fichiers alors qu&#8217;une configuration des ressources était présente. Cette nouvelle méthode de calcul ne présuppose plus qu&#8217;il n&#8217;existe que 4 ressources différentes qu&#8217;il faut calculer l&#8217;une à la suite de l&#8217;autre selon un algorithme figé. La liste des ressources définies dans la configuration du moteur de jeu sera désormais prise en compte et servira de base aux calculs.</p>
<p>Ce point était un des axes les plus importants de cette version. Comme il a été noté, aucun moteur de jeu de type <strong>clone ogame</strong> ne faisait les calculs de ressources convenablement, que ca soit les versions de <strong>XG Project</strong>, <strong>XNova</strong>, <strong>Ugamela</strong> ou un de leurs dérivés. Ce point sera désormais réglé.</p>
<h3>Le support des grands nombres et très grands nombres</h3>
<p>Jusqu&#8217;à présent, il existait des <strong>limitations dues aux architectures des serveurs</strong> (32 ou 64 bit), qui ne permettaient pas de dépasser certaines valeurs sans risquer d&#8217;avoir des <strong>pertes de précision</strong> à cause des arrondis sur les nombres à virgule flottante. Les parties du code modifiées peuvent désormais supporter des nombres pouvant atteindre jusqu&#8217;à 65 chiffres. En standard, je laisserai une limitation à 20 chiffres, et laisserai aux intéressés la possibilité de pousser la limitation plus loin en modifiant le schéma des tables de la base de données.</p>
<p>Il est possible de pousser les limitations encore plus loin, mais l&#8217;intérêt est limité et les performances s&#8217;en ressentiraient. Ceux qui désireront le faire en auront la possibilité assez simplement, à eux de voir si des chiffre si grands sont vraiment nécessaires.</p>
<p>Ce support est conditionné par la présence de l&#8217;extension BC Math. Si PHP n&#8217;en dispose pas, les calculs utiliseront à nouveau les méthodes de calcul natives et seront donc limitées aux architectures des serveurs. Aucun support étendu n&#8217;est envisagé pour ceux qui ne disposeraient pas de cette extension, les performances seraient très limitées et gênantes à l&#8217;usage.</p>
<h3>Refonte de la gestion d&#8217;utilisateur</h3>
<p>Dans le prolongement de la modification de la gestion des ressources et des constructions, la gestion des utilisateurs a été modifiée pour passer sur un modèle orienté objet, grâce à la refonte de l&#8217;accès aux données.</p>
<h3>Refonte de l&#8217;accès aux données</h3>
<p>Le chargement des données depuis la base de données pour les planètes et les utilisateurs ont étés modifiées. D&#8217;une part pour intégrer une vision orientée objet et d&#8217;autre part pour permettre à tous de charger, créer, modifier et supprimer des enregistrements sans écrire de SQL, ou d&#8217;en écrire très très peu. Ce système est très proche de ce que fait <strong>One.Platform</strong>, sans en avoir toutes les capacités, mais dans le cas présent seul le plus important a été porté.</p>
<p>Ce point sert de base aux fonctionnalités orientées objet mises en place pour cette version, on y retrouve 3 types de ressources de base qui permettent d&#8217;interroger et de mettre à jour la base de données selon les données que l&#8217;on traite.</p>
<h3>Compatibilité ascendante</h3>
<p>La fonction <code>doquery()</code> devient donc obsolète, comme beaucoup d&#8217;autres fonctions héritées de la version 0.8-sp1. Tous les appels à ces fonctions seront maintenus pour conserver un maximum de support avec les mods existants, mais redirigeront tous les appels vers les nouvelles méthodes.</p>
<p>Deux paramètres système permettront d&#8217;afficher des informations de migration pour les développeurs. Le premier, le mode <em>DEBUG</em> est déjà présent dans les versions 2009.3 et 2009.4, il permet de ne pas afficher les erreurs quand il est désactivé et de ne les afficher qu&#8217;en fin de page une fois activé pour ne pas gêner les joueurs et les administrateurs de jeux.</p>
<p>Le second mode se nomme <em>DEPRECATION</em>, il permet indiquer où et quand les méthodes obsolètes sont appelées, c&#8217;est un outil intéressant pour ceux qui ont déjà beaucoup modifié leur XNova, qui leur permettra d&#8217;être guidés pour mettre à jour leurs mods.</p>
<h3>Une API uniforme</h3>
<p>Le gros problème de XNova est le manque d&#8217;uniformité dans le code source, dû principalement au nombre de développeurs qui ont ajouté leur petite fonctionnalité ici ou là. Pour les développements de cette version, tout a été pensé pour poser une interface uniforme. Grâce à la notation objet et quelques règles de nommage, il devient plus facile de comprendre le fonctionnement et donc de modifier XNova:Legacies.</p>
<h3>Modifier XNova:Legacies passera par la création d&#8217;un module</h3>
<p>Plus besoin de modifier le code source de XNova, pour ajouter ou modifier un fonctionnement du jeu. Il ne sera plus nécessaires (et même déconseillé) de modifier les fichiers sources fournis dans le package de base.</p>
<p>Il existe maintenant 3 espaces de sources : <em>core</em>, <em>community</em> et <em>local</em>, où le premier contient le code source du package de base, le second contient des modules communautaires fournis sur le forum que vous aurez ajouté et le dernier contient votre code source. Le chargement automatique des fichiers chargera en priorité du code source local, puis communautaire, puis par défaut le code source du package standard.</p>
<p>L&#8217;avantage pour vous sera de pouvoir copier un fichier provenant du package de base vers le répertoire local puis de modifier ce qui vous intéresse, sans risquer de ne plus pouvoir migrer sur une version future. Il n&#8217;y a plus besoin de patch, l&#8217;archive de base suffira.</p>
<p>Ceci reste malgré tout limité aux classes réécrites pour cette future version, soit à peu près le quart des fonctionnalités de base, mais au fil du temps tout le code source finira par être migré.</p>
<h3>Statut des développements</h3>
<p>Je fais la liste ci dessous des développements déjà réalisés et les statuts de ceux qui sont en cours :</p>
<ul>
<li>Support des grands nombres [<strong>100% réalisés, en phase de tests</strong>]</li>
<li>Programmation événementielle [<strong>100% réalisés, en phase de tests</strong>]</li>
<li>Gestion des planètes [<strong>100% réalisés, en phase de tests</strong>]</li>
<li>Mise à jour des ressources [<strong>100% réalisés, en phase de tests</strong>]</li>
<li>Constructions de bâtiments [<strong>100% réalisés, en phase de tests</strong>]</li>
<li>Constructions de vaisseaux et défenses [<strong>100% réalisés, en phase de tests</strong>]</li>
<li>Marquage des méthodes obsolètes [<strong>100% réalisés</strong>]</li>
<li>Accès aux données, passage sous PDO [<strong>90% réalisés, en phase de tests</strong>]</li>
<li>Gestion d&#8217;utilisateur [<strong>80% réalisés</strong>]</li>
<li>Compatibilité ascendante [<strong>50% réalisés</strong>]</li>
<li>Documentation de code [<strong>20% réalisés</strong>]</li>
<li>Nettoyage du code obsolète [<strong>0% réalisés</strong>]</li>
<li>Reprise des templates [<strong>0% réalisés</strong>]</li>
<li>Reprise de l&#8217;installeur [<strong>0% réalisés</strong>]</li>
</ul>
<p>Le tout est à un état de réalisation de 75% environ avant la sortie d&#8217;une version alpha.</p>
<h3>Dépôts de sources</h3>
<p><a href="https://github.com/gplanchat/xnova-legacies">Le dépôt de sources est désormais sur Github</a>, vous y trouverez cette version en chantier, vous pourrez y suivre les évolutions au fil du temps.</p>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2011/06/feuille-de-route-pour-la-prochaine-version.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sortie de XNova:Legacies version 2009.4, correctif de bugs et de failles</title>
		<link>http://wootook.org/archives/~greg/2011/05/sortie-de-xnovalegacies-version-2009-4-correctif-de-bugs-et-de-failles.html</link>
		<comments>http://wootook.org/archives/~greg/2011/05/sortie-de-xnovalegacies-version-2009-4-correctif-de-bugs-et-de-failles.html#comments</comments>
		<pubDate>Wed, 18 May 2011 06:00:59 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[francais]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[XNova:Legacies]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[clone ogame]]></category>
		<category><![CDATA[serveur privé ogame]]></category>
		<category><![CDATA[supernova]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=691</guid>
		<description><![CDATA[Nouvelle version aujourd&#8217;hui, après la version 2009.3 il y a quelques jours qui a corrigé une faille permettant à un attaquant de prendre le contrôle de la base de données, cette fois la version est logiquement estampillée 2009.4 qui continue sur la même lignée, j&#8217;ai corrigé des bugs mineurs et ajouté un vaisseau : la [...]]]></description>
			<content:encoded><![CDATA[<p>Nouvelle version aujourd&#8217;hui, après la version 2009.3 il y a quelques jours qui a corrigé une faille permettant à un attaquant de prendre le contrôle de la base de données, cette fois la version est logiquement estampillée 2009.4 qui continue sur la même lignée, j&#8217;ai corrigé des bugs mineurs et ajouté un vaisseau : la <em>supernova</em>.</p>
<p>Ce vaisseau a une capacité de combat supérieure à tout ce qui existait dans <em>XNova</em> jusqu&#8217;à présent, mais son coût s&#8217;en ressent également:</p>
<ul>
<li>Coût en métal : 150.000.000</li>
<li>Coût en cristal : 300.000.000</li>
<li>Coût en deutérium : 450.000.000</li>
<li>Coût en énergie : 100.000.000</li>
</ul>
<p><span id="more-691"></span></p>
<p>Vous avez bien lu, ce vaisseau nécessite une grande quantité d&#8217;énergie pour être construit. Chose nouvelle, il en nécessite également beaucoup pour son entretien lorsqu&#8217;il n&#8217;est pas en mission : autant que la production de 1250 satellites solaires. Mais réjouissez vous. Ce vaisseau, à l&#8217;instar de l&#8217;<em>étoile de la mort</em> a la capacité de <em>détruire des lunes</em>, et ce avec 4 fois plus de puissance qu&#8217;une étoile de la mort.</p>
<p>Voilà la liste des points réglés dans cette version :</p>
<ul>
<li>Limitation des systèmes saisis aux limites connues de l&#8217;univers, il était auparavant possible de visiter des galaxies ou des systèmes qui n&#8217;avaient pas lieu d&#8217;exister (système &gt;499 ou &lt;1 et galaxie &gt;9 ou &lt;1)</li>
<li>Correction du calcul de ressources, ce qui empêchait de faire son <em>graviton</em> avec des satellites</li>
<li>Ajout de la supernova</li>
<li>Correction des accès aux pages de l&#8217;admin, ces accès sont désormais limités à 3 valeurs sous la forme de constantes définies dans constants.php</li>
<li>Refonte complète de la queue de construction des vaisseaux et des défenses, certains problèmes sont survenus sur des correctifs précédents, j&#8217;ai décidé de tout réécrire et de changer le format d&#8217;enregistrement en base. Une perte de données sur la liste de construction est possible si jamais vous migrez votre XNova.</li>
<li>Changement des probabilités de destructions de lunes, les probabilités maximales de destruction de la lune et de la flotte sont de 50%</li>
</ul>
<p>Vous trouverez les archives sous les 3 formats habituels (triés par taille) :</p>
<p><a href="http://downloads.xnova-ng.org/xnlegacies/releases/xnova-legacies_2009.4.tar.bz2" title="XNova:Legacies 2009.4 au format BZip2">Au format Bzip2 (5.9M)</a><br />
<a href="http://downloads.xnova-ng.org/xnlegacies/releases/xnova-legacies_2009.4.tar.gz" title="XNova:Legacies 2009.4 au format GZip">Au format Gzip (6.0M)</a><br />
<a href="http://downloads.xnova-ng.org/xnlegacies/releases/xnova-legacies_2009.4.zip" title="XNova:Legacies 2009.4 au format Zip">Au format Zip (6.5M)</a></p>
<p>Et un patch (compressé) pour migrer plus simplement vos versions modifiées :</p>
<p>    <a href="http://downloads.xnova-ng.org/xnlegacies/releases/patch/upgrade_2009.2_2009.4.patch.bz2">Patch de migration 2009.2 vers 2009.4</a><br />
    <a href="http://downloads.xnova-ng.org/xnlegacies/releases/patch/upgrade_2009.3_2009.4.patch.bz2">Patch de migration 2009.3 vers 2009.4</a></p>
<p>Attention, pour ceux utilisant un patch pour migrer leur version, la table de planètes doit être mise à jour :</p>
<pre>ALTER TABLE game_planets ADD supernova INT(11) NOT NULL DEFAULT "0" AFTER battleship</pre>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2011/05/sortie-de-xnovalegacies-version-2009-4-correctif-de-bugs-et-de-failles.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Critical issue allowing an intruder to change his administration access</title>
		<link>http://wootook.org/archives/~greg/2011/04/critical-issue-allowing-an-intruder-to-change-his-administration-access.html</link>
		<comments>http://wootook.org/archives/~greg/2011/04/critical-issue-allowing-an-intruder-to-change-his-administration-access.html#comments</comments>
		<pubDate>Tue, 19 Apr 2011 06:33:18 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[XNova:Legacies]]></category>
		<category><![CDATA[ogame clone]]></category>
		<category><![CDATA[ogame private server]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=686</guid>
		<description><![CDATA[A critical issue impacting XNova (all versions, including XG Project) have been detected and fixed, it allows an attacker to become administrator if the game. You will find a patch and an archive containing modified files for XNova:Legacies 2009.2, you need only one of both to fix the issue. The bug fix could be foud [...]]]></description>
			<content:encoded><![CDATA[<p>A <strong>critical issue</strong> impacting <strong>XNova</strong> (all versions, including <strong>XG Project</strong>) have been detected and fixed, it allows an attacker to become administrator if the game. You will find a patch and an archive containing modified files for XNova:Legacies 2009.2, you need only one of both to fix the issue.</p>
<p><a href="http://board.xnova-ng.org/index.php?showtopic=2446">The bug fix could be foud on the XNova boards</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2011/04/critical-issue-allowing-an-intruder-to-change-his-administration-access.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faille critique permettant à un attaquant de modifier ses droits d&#8217;accès à l&#8217;administration</title>
		<link>http://wootook.org/archives/~greg/2011/04/faille-critique-permettant-a-un-attaquant-de-modifier-ses-droits-dacces-a-ladministration.html</link>
		<comments>http://wootook.org/archives/~greg/2011/04/faille-critique-permettant-a-un-attaquant-de-modifier-ses-droits-dacces-a-ladministration.html#comments</comments>
		<pubDate>Tue, 19 Apr 2011 06:29:41 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[francais]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[XNova:Legacies]]></category>
		<category><![CDATA[clone ogame]]></category>
		<category><![CDATA[serveur privé ogame]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=684</guid>
		<description><![CDATA[Une faille critique dans XNova (toutes versions, incluant XG Project) a été détectée et corigée, elle permet à un attaquant de devenir administrateur sur le jeu. Vous trouverez un patch et une archive contenant les fichiers modifiés pour XNova:Legacies 2009.2. Le correctif peut être trouvé sur le forum de XNova]]></description>
			<content:encoded><![CDATA[<p>Une <strong>faille critique</strong> dans <strong>XNova</strong> (toutes versions, incluant <strong>XG Project</strong>) a été détectée et corigée, elle permet à un attaquant de devenir administrateur sur le jeu. Vous trouverez un patch et une archive contenant les fichiers modifiés pour XNova:Legacies 2009.2.</p>
<p><a href="http://board.xnova-ng.org/index.php?showtopic=2446">Le correctif peut être trouvé sur le forum de XNova</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2011/04/faille-critique-permettant-a-un-attaquant-de-modifier-ses-droits-dacces-a-ladministration.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XNova:Next-Gen core source code becomes One.Platform</title>
		<link>http://wootook.org/archives/~greg/2011/02/xnovanext-gen-core-source-code-becomes-one-platform-4.html</link>
		<comments>http://wootook.org/archives/~greg/2011/02/xnovanext-gen-core-source-code-becomes-one-platform-4.html#comments</comments>
		<pubDate>Wed, 09 Feb 2011 09:00:10 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[XNova:Legacies]]></category>
		<category><![CDATA[XNova:Next-Gen]]></category>
		<category><![CDATA[backoffice]]></category>
		<category><![CDATA[ogame clone]]></category>
		<category><![CDATA[ogame private server]]></category>
		<category><![CDATA[one]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=647</guid>
		<description><![CDATA[Long time since the last announcement, however lots of things have been done. The core sources of XNova:Next-Gen has been forked into an independent project, designed to bring standard high-level functionalities to various projects, such as User management, Backoffice, CMS functionalities or web applications skelettons. For now this development platform will mainly be used to [...]]]></description>
			<content:encoded><![CDATA[<p>Long time since the last announcement, however lots of things have been done.</p>
<p>The core sources of <strong>XNova:Next-Gen</strong> has been forked into an independent project, designed to bring standard high-level functionalities to various projects, such as <strong>User management</strong>, <strong>Backoffice</strong>, <strong>CMS functionalities</strong> or web applications skelettons. For now this development platform will mainly be used to replace the admin panel of <strong>XNova:Legacies</strong> and will in the end become its core.</p>
<p>This new project is named One.Platform, you will find a public git repository at <a title="Visit the Git repository at Github" href="https://github.com/gplanchat/one.platform" target="_blank">Github</a>. It includes the Core module, the User module, a native CMS pages manager and an administration site engine on which the future version is based. The reason why I decided to cut the project in 2 is that what have been done until now can be reused by another project.</p>
<p><span id="more-647"></span></p>
<p>This project is based upon the Zend Framework and in order to make it work, you will need to install it (version 1.10+ should work fine, I personnaly use the verison 1.11). Installation instructions are availiable in the files <em>INSTALL</em> and <em>INSTALL.textile</em> in the repository. There is a branch named <em>xnova-legacies</em> which contains the development version of XNova:Legacies, it includes a slightly modified 2009.2 version without installer nor admin panel.</p>
<p>The administration panel can be accessed via the file <em>admin.php</em>, it is a <strong>One.Platform</strong> Backoffice, in time I&#8217;m writing this artcile, you will be able to manage users, configuration options, planets and moons. Everything isn&#8217;t finished, but the evolution of this admin panel becomes now easy, taking advantage of the XML configuration files that builds the forms and grids.</p>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2011/02/xnovanext-gen-core-source-code-becomes-one-platform-4.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le coeur de XNova:Next-Gen devient One.Platform</title>
		<link>http://wootook.org/archives/~greg/2011/02/le-coeur-de-xnovanext-gen-devient-one-platform.html</link>
		<comments>http://wootook.org/archives/~greg/2011/02/le-coeur-de-xnovanext-gen-devient-one-platform.html#comments</comments>
		<pubDate>Wed, 09 Feb 2011 08:30:27 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[francais]]></category>
		<category><![CDATA[XNova:Legacies]]></category>
		<category><![CDATA[XNova:Next-Gen]]></category>
		<category><![CDATA[backoffice]]></category>
		<category><![CDATA[legacies]]></category>
		<category><![CDATA[one]]></category>
		<category><![CDATA[panneau d'administration]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=663</guid>
		<description><![CDATA[Ça faisait longtemps que je n&#8217;avais pas écrit d&#8217;article ici, mais beaucoup de choses ont été faites. Le cœur du code source de XNova:Next-Gen a été déplacé dans un nouveau projet indépendant, créé pour apporter des fonctionnalités standards de haut niveau pour différents projets, comme la gestion d&#8217;utilisateurs, un panneau d&#8217;administration, des fonctions de CMS [...]]]></description>
			<content:encoded><![CDATA[<p>Ça faisait longtemps que je n&#8217;avais pas écrit d&#8217;article ici, mais beaucoup de choses ont été faites.</p>
<p>Le cœur du code source de <strong>XNova:Next-Gen</strong> a été déplacé dans un nouveau projet indépendant, créé pour apporter des fonctionnalités standards de haut niveau pour différents projets, comme la <strong>gestion d&#8217;utilisateurs</strong>, un <strong>panneau d&#8217;administration</strong>, des <strong>fonctions de CMS</strong> ou une architecture d&#8217;application web. Pour le moment, cette plateforme de développement sera principalement utilisée pour remplacer le panneau d&#8217;administration de <strong>XNova:Legacies</strong> pour au final devenir son cœur.</p>
<p>Ce nouveau projet est nommé <strong>One.Platform</strong> vous pourrez le retrouver sur <a title="Visitez le dépôt Git sur Github" href="https://github.com/gplanchat/one.platform" target="_blank">Github</a>. Il inclut le module Core, le module User, un gestionnaire de pages CMS et un gestionnaire de panneau d&#8217;administration de site web sur lequel la future version se basera. La raison pour laquelle j&#8217;ai décidé de découper le projet en 2, c&#8217;est que ce qui a été réalisé jusqu&#8217;à aujourd&#8217;hui peut être réutilisé par un autre projet.<br />
<span id="more-663"></span><br />
Ce nouveau projet est basé sur le <strong>Zend Framework</strong> et pour le faire fonctionner, il sera nécessaire de l&#8217;installer (la version 1.10+ devrait fonctionner sas problème, j&#8217;utilise la version 1.11). Les instructions d&#8217;installation sont disponibles en anglais dans les fichiers <em>INSTALL</em> et <em>INSTALL.textile</em> que vous retoruverez dans le dépôt. Vous y trouverez également une branche nommée <em>xnova-legacies</em> qui contient la version de développement de XNova:Legacies, elle inclut une version 2009.2 légèrement modifiée, sans insallateur, ni panneau d&#8217;administration.</p>
<p>Le panneau d&#8217;administration est maintenant accessible via le fichier <em>admin.php</em>, c&#8217;est un panneau d&#8217;admin généré par <strong>One.Platform</strong>, à l&#8217;heure où j&#8217;écris ce billet, vous serez en mesure de gérer vos utilisateurs, vos options de configuration, vos planètes et vos lunes. Tout n&#8217;est pas terminé,  mais l&#8217;évolution de ce panneau d&#8217;administration devient maintenant plus simple grâce qux fichiers XML de configuration qui créent automatiquement les tableaux et les formulaires.</p>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2011/02/le-coeur-de-xnovanext-gen-devient-one-platform.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>XNova:Next-Gen – Sortie de la version 1.0-alpha0 du module “Core”.</title>
		<link>http://wootook.org/archives/~greg/2010/05/xnova-next-gen%e2%80%93sortie-de-la-version-1-0-alpha0-du-module-core.html</link>
		<comments>http://wootook.org/archives/~greg/2010/05/xnova-next-gen%e2%80%93sortie-de-la-version-1-0-alpha0-du-module-core.html#comments</comments>
		<pubDate>Tue, 04 May 2010 10:55:36 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[francais]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[XNova:Legacies]]></category>
		<category><![CDATA[XNova:Next-Gen]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[clone ogame ogame]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[legacies]]></category>
		<category><![CDATA[next gen]]></category>
		<category><![CDATA[ogame clone]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[serveur privé]]></category>
		<category><![CDATA[téléchargement]]></category>
		<category><![CDATA[XNova]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=615</guid>
		<description><![CDATA[Ca y est! XNova:Next-Gen arrive, son module core vient de sortir en version alpha, ce qui permettra à partir de maintenant de novelles approches de développement pour XNova:Legacies (annoncées ici). Tout ceci indique que l&#8217;architecture de ce module sera ficgé et de nouvelles fonctionnalités n&#8217;apparaîtront pas tant que XNova:Legacies 2010-alpha0 ne sera pas sorti. N&#8217;oubliez [...]]]></description>
			<content:encoded><![CDATA[<p>Ca y est! <em>XNova:Next-Gen</em> arrive, son module <em>core</em> vient de sortir en version alpha, ce qui permettra à partir de maintenant de novelles approches de développement pour <em> XNova:Legacies</em> (<a href="http://www.xnova-ng.org/archives/~greg/2010/03/2010-1-les-fondements-dune-nouvelle-architecture.html">annoncées ici</a>). Tout ceci indique que l&#8217;architecture de ce module sera ficgé et de nouvelles fonctionnalités n&#8217;apparaîtront pas tant que <em>XNova:Legacies 2010-alpha0</em> ne sera pas sorti. N&#8217;oubliez pas que <strong>c&#8217;est une version développeur</strong>, il n&#8217;y a aucune interface,  et que ce module devrait être considéré comme un framework haut niveau reposant sur le Zend Framework, <a href="http://www.xnova-legacies.org/doku.php">de la documentation sera disponible sur le wiki</a>.</p>
<p>La prochaine étape se concentrera sur le module <strong>user</strong>, qui sera la 2nde tranche de développement de <em>XNova:Legacies 2010-alpha0</em>.</p>
<p>Vous pouvez désormais récupérer le trunk SVN du module <em>core</em> de cette manière:<br />
<code>svn co svn+ssh://svn.xnova-ng.org/svnroot/xnlegacies/public/branches/modules/core/trunk</code></p>
<p>Ou bien depuis son tag :<br />
<code>svn co svn://svn.xnova-ng.org/svnroot/xnlegacies/public/branches/laboratory/gplanchat/modules/core/tags/1.0-alpha0</code></p>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2010/05/xnova-next-gen%e2%80%93sortie-de-la-version-1-0-alpha0-du-module-core.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>2010.1 &#8211; The foundations of a new architecture</title>
		<link>http://wootook.org/archives/~greg/2010/03/2010-1-the-foundations-of-a-new-architecture.html</link>
		<comments>http://wootook.org/archives/~greg/2010/03/2010-1-the-foundations-of-a-new-architecture.html#comments</comments>
		<pubDate>Wed, 24 Mar 2010 13:57:26 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[XNova:Legacies]]></category>
		<category><![CDATA[XNova:Next-Gen]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[clone ogame]]></category>
		<category><![CDATA[modèles]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[ogame]]></category>
		<category><![CDATA[ogame clone]]></category>
		<category><![CDATA[private server]]></category>
		<category><![CDATA[xnova legacies]]></category>

		<guid isPermaLink="false">http://www.xnova-ng.org/?p=553</guid>
		<description><![CDATA[Today I&#8217;m writing an entry for the the developers, an opportunity for me to introduce the new architecture for XNova:Legacies and explain its differences with what may have existed so far on the project. It is worth remembering that the biggest evolutions of the upcoming version comes from a brand new source code written in [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;m writing an entry for the the developers, an opportunity for me to introduce the new architecture for XNova:Legacies and explain its differences with what may have existed so far on the project. It is worth remembering that the biggest evolutions of the upcoming version comes from a brand new source code written in PHP 5.2, this version becomes though a dependency to make XNova:Legacies work on your system, but don&#8217;t worry, this PHP verison exists since 2006 and is therefore widely deployed on PHP hosting providers since a long time.</p>
<p>To return to what we are all  here, everything has been redesigned to facilitate simple and rapid modification of the functionnalities of the game without the need of applying neither 1 line of the original source code. Everything is built upon the configuration, if a functionality in the base source code does not work like you wanted : replace it! it is as simple as that.</p>
<p>Accessing to data from the database has never been as simple and safe<span id="more-553"></span> : get an ID, and load your model, woithout any risk of possible <a href="http://board.xnova-ng.org/index.php?showtopic=1317&#038;hl=injection">SQL injection</a>. But how do we update, create or delete a database record? Just a line! For the preview 2010-alpha0, the <em>user</em> module will be the first module launched. It is relatively simple and will therefore serve both standard and benchmark for what will follow: 90% of this new source will be shared by an overwhelming majority of functionality or future refactoring.</p>
<p>But all that makes many words and few examples, so here are some previews (may be subject to modification in the final version):</p>
<h3>Loading and modifying data of a player from the  database:</h3>
<p>To load data from a player which, for example, have the ID 8 in the database, the following is enough:<br />
<code>$user = Nova::getModel('user/user')->load(8);</code></p>
<p>And next? take your newly created variable (here, <em>$user</em>) and use it as like an array, just like you did until now… almost. Yes, because now it is no longer an array, it&#8217;s an object. Whath&#8217;s the difference? well is that my <em>$ user</em> has now gained virtual accessors and mutators and it even knows how to directly save its data by itself in the database!<br />
<code><br />
$user<br />
->setEmail('player@example.com'); // Updating the field 'email'<br />
->setUsername('Player') // Updating the field 'username'<br />
->save();<br />
</code></p>
<h3>Yes, It&#8217;s all well and good, but I like it like it was before!</h3>
<p>No panic! our $user keeps up appearances and can still be used just like we did before:<br />
<code>echo  $user['username'];</code></p>
<h3>But it does not stop with a simple syntax change!</h3>
<p>Yes, rather than having functions everywhere, and asking where a particular feature would be, why not combine everything in one place? Well, we do it now! For example: to manage the connection of a player, why not create an automated mechanism?<br />
<code><br />
$user =  Nova::getModel('user/user');<br />
if  ($user-&gt;login($_POST['username'], $_POST['password'])) {<br />
//  Our user has submitted the good password, he is now logged in<br />
}  else {<br />
// A problem hapened, maybe a passord error?<br />
}<br />
</code></p>
<p>Oh, but how could we retrieve the current user from anywhere now? Simple! Easy! The sessions comes to help us and have also been improved:<br />
<code><br />
$user = Nova::getSingleton('user/session')->getUser();<br />
</code></p>
<p>We now got back our $user, which have logged in in the previous example.</p>
<h3>And it goes  even further!</h3>
<p>Develop  and debug your old mods or develop modules for Legacies by enabling <em>debug</em> mode and <em>Deprecation</em> mode and use the source code profiler, simple tools and methods to optimize your code.</p>
<p>In your .htaccess, add the following to enable the two methods mentioned above:<br />
<code><br />
SetEnv DEBUG On<br />
SetEnv DEPRECATION On<br />
</code></p>
<p>The  source code profiler is used to count the time taken by a particular treatment, it will return the number of times that it was executed, and various statistics of execution time. It is used with both static methods <em>Nova::profilerStart()</em> and <em>Nova::profilerStop(),</em> respectively, to start a counter and stop t. It both take a single argument that identifies the time counter:<br />
<code><br />
Nova::profilerStart('NOVA.EXAMPLE');<br />
// The treatment to analyze starts from here<br />
for ($i = 0; $i &lt; 200000; $i++) {<br />
echo 'Hello world';<br />
}<br />
// and ends here<br />
Nova::profilerStop('NOVA.EXAMPLE');<br />
</code></p>
<p>Note that the profiler results will only appear in debug mode.</p>
]]></content:encoded>
			<wfw:commentRss>http://wootook.org/archives/~greg/2010/03/2010-1-the-foundations-of-a-new-architecture.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

