<?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/"
	>

<channel>
	<title>Arnaud Georgin &#187; ezPublish</title>
	<atom:link href="http://arnaudgeorgin.blogcity.fr/category/ezpublish/feed/" rel="self" type="application/rss+xml" />
	<link>http://arnaudgeorgin.blogcity.fr</link>
	<description>Blog sur le développement informatique</description>
	<pubDate>Wed, 23 Jun 2010 10:29:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Le magazine Share! de juillet en ligne</title>
		<link>http://arnaudgeorgin.blogcity.fr/2009/07/27/le-magazine-share-de-juillet-en-ligne/</link>
		<comments>http://arnaudgeorgin.blogcity.fr/2009/07/27/le-magazine-share-de-juillet-en-ligne/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 14:36:55 +0000</pubDate>
		<dc:creator>ageorgin</dc:creator>
		
		<category><![CDATA[ezPublish]]></category>

		<guid isPermaLink="false">http://arnaudgeorgin.blogcity.fr/?p=173</guid>
		<description><![CDATA[Le magazine de l&#8217;écosystème eZ (http://ez.no) &#8220;SHARE!&#8221; du mois de juillet est téléchargeable à l&#8217;adresse : http://ez.no/company/news/share_magazine_for_july_09_is_out.
Ce magazine mensuel permet de se tenir au courant de l&#8217;activité autour d&#8217;Ezpublish et des autres produits édités par eZSystem.
Dans l&#8217;édition de juillet, vous retrouverez tous les gagnants des ezAwards 2009 qui récompensent les entreprises les plus actives et [...]]]></description>
			<content:encoded><![CDATA[<p>Le magazine de l&#8217;écosystème eZ (<a href="http://ez.no" target="_blank">http://ez.no</a>) &#8220;SHARE!&#8221; du mois de juillet est téléchargeable à l&#8217;adresse : <a href="http://ez.no/company/news/share_magazine_for_july_09_is_out" target="_blank">http://ez.no/company/news/share_magazine_for_july_09_is_out</a>.</p>
<p>Ce magazine mensuel permet de se tenir au courant de l&#8217;activité autour d&#8217;Ezpublish et des autres produits édités par eZSystem.</p>
<p>Dans l&#8217;édition de juillet, vous retrouverez tous les gagnants des ezAwards 2009 qui récompensent les entreprises les plus actives et innovantes avec le CMS ezPublish (j&#8217;en profite pour féliciter Stéphane Couzinier et Pierre-Yves Policella pour leur prix) ainsi que la présentation du nouvel assistant d&#8217;installation d&#8217;ezPublish, la présentation du site du mois sélectionné par ezSystem et bien d&#8217;autres nouveautés.</p>
<p>Bonne lecture !</p>
<div style="text-align:center;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-5643900331278631";
/* 468x60, bas posts new */
google_ad_slot = "2993804904";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://arnaudgeorgin.blogcity.fr/2009/07/27/le-magazine-share-de-juillet-en-ligne/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Extension ezPublish ezGeolocalization</title>
		<link>http://arnaudgeorgin.blogcity.fr/2009/03/20/extension-ezpublish-ezgeolocalization/</link>
		<comments>http://arnaudgeorgin.blogcity.fr/2009/03/20/extension-ezpublish-ezgeolocalization/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 12:37:10 +0000</pubDate>
		<dc:creator>ageorgin</dc:creator>
		
		<category><![CDATA[developpement]]></category>

		<category><![CDATA[ezPublish]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://arnaudgeorgin.blogcity.fr/?p=125</guid>
		<description><![CDATA[Je viens de mettre à disposition dans les contributions du site d&#8217;ezPublish ma toute dernière extension : ezgeolocalization.
Celle comme son nom l&#8217;indique vous permet de géolocaliser les internautes à partir de leur IP. La géolocalisation est de plus en plus utilisée notamment pour proposer des contenus aux internautes en fonction de leur position géographique (par [...]]]></description>
			<content:encoded><![CDATA[<p>Je viens de mettre à disposition dans les contributions du site <a href="http://ez.no" target="_blank">d&#8217;ezPublish</a> ma toute dernière extension : <a href="http://ez.no/developer/contribs/applications/ezgeolocalization" target="_blank">ezgeolocalization</a>.</p>
<p>Celle comme son nom l&#8217;indique vous permet de géolocaliser les internautes à partir de leur IP. La géolocalisation est de plus en plus utilisée notamment pour proposer des contenus aux internautes en fonction de leur position géographique (par exemple les salles de cinéma proches de chez moi) ou alors pour protéger des contenus (par exemple j&#8217;ai l&#8217;exclusivité sur les actualités de la formule 1 mais seuls les internautes de france métropolitaine peuvent y accéder).</p>
<p>J&#8217;ai donc développé une extension ezPublish proposant une solution de géolocalisation. L&#8217;extension utilise les bases de données de géolocalisation gratuites des pays et des villes fournies par la société <a href="http://www.maxmind.com/app/geolitecountry" target="_blank">Maxmind</a>. Elle utilise de plus l&#8217;API virtualearth de microsoft afin de vous permettre d&#8217;afficher sur une carte interactive et dans le navigateur la position de la ville ou du pays de l&#8217;internaute comme présenté sur la capture d&#8217;écran :</p>
<p><a href="http://arnaudgeorgin.blogcity.fr/wp-content/blogs.dir/4/files/divers/ezgeolocalization.jpeg" title="" class="thickbox" rel="singlepic100" ><img class="ngg-singlepic ngg-center" src="http://arnaudgeorgin.blogcity.fr/wp-content/blogs.dir/4/files/cache/100__320x240_ezgeolocalization.jpeg" alt="ezgeolocalization.jpeg" title="ezgeolocalization.jpeg" /></a></p>
<p>J&#8217;ai préféré utiliser virtualearth plutot que googlemap tout simplement car l&#8217;API de microsoft (virtualearth) contrairement à celle de google ne nécessite pas de génération de clé d&#8217;authentification pour l&#8217;utiliser ce qui était un objectif capital pour pouvoir diffuser mon extension.</p>
<h4>Fonctionnalités de l&#8217;extension</h4>
<ol>
<li>pour le front, des opérateurs de templates et une classe métier PHP afin de pouvoir géolocaliser un internaute via son IP</li>
<li>une interface backoffice permettant d&#8217;effectuer les mises à jours manuelle des bases de données ainsi qu&#8217;une interface permettant de géolicaliser une IP</li>
<li>un cron de mise à jour automatique de la base de géolocalisation des pays (la base des villes est trop grosse pour cela) à partir du site de Maxmind</li>
</ol>
<p>Vous pouvez télécharger cette extension à l&#8217;adresse suivante : <a href="http://agdeveloppement.e3b.org/ezpublish/ezgeolocalization.zip" target="_blank">http://agdeveloppement.e3b.org/ezpublish/ezgeolocalization.zip</a> (22Mo).</p>
<h4>Installation</h4>
<ol>
<li>décompresser l&#8217;archive zip et la copier dans le repertoire extension d&#8217;ezPublish</li>
<li>décompresser le fichier /sql/dump_ezgeo.zip et exécuter le script SQL afin de créer les tables de géolocalisation</li>
<li>activer l&#8217;extension dans le backoffice</li>
<li>vider le cache d&#8217;ezPublish</li>
</ol>
<p>Ce n&#8217;est pour l&#8217;instant que la version 1 de cette extension et je travaille encore dessus afin de lui apporter de nouvelles fonctionnalités.</p>
<p>N&#8217;hésitez pas à me laisser vos commentaires ils me seront très utiles pour faire évoluer ce projet.</p>
]]></content:encoded>
			<wfw:commentRss>http://arnaudgeorgin.blogcity.fr/2009/03/20/extension-ezpublish-ezgeolocalization/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Invoquer des méthodes d&#8217;un objet métier dans un template ezPublish</title>
		<link>http://arnaudgeorgin.blogcity.fr/2008/12/04/invoquer-des-methodes-dun-objet-metier-dans-un-template-ezpublish/</link>
		<comments>http://arnaudgeorgin.blogcity.fr/2008/12/04/invoquer-des-methodes-dun-objet-metier-dans-un-template-ezpublish/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 15:36:55 +0000</pubDate>
		<dc:creator>ageorgin</dc:creator>
		
		<category><![CDATA[developpement]]></category>

		<category><![CDATA[ezPublish]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://arnaudgeorgin.blogcity.fr/?p=54</guid>
		<description><![CDATA[Lors de développements de modules ou d&#8217;extensions pour le CMS ezPublish nous sommes souvent amenés a développer des classes php métiers (pour accéder aux données, réaliser des traitements particuliers, &#8230;).
Il peut devenir alors utile dans un template de vouloir manipuler une instance d&#8217;une classe métier et d&#8217;invoquer des méthodes php de cette classe. EzPublish fournit [...]]]></description>
			<content:encoded><![CDATA[<p>Lors de développements de modules ou d&#8217;extensions pour le CMS ezPublish nous sommes souvent amenés a développer des classes php métiers (pour accéder aux données, réaliser des traitements particuliers, &#8230;).</p>
<p>Il peut devenir alors utile dans un template de vouloir manipuler une instance d&#8217;une classe métier et d&#8217;invoquer des méthodes php de cette classe. EzPublish fournit pour cela un mécanisme assez simple à mettre en oeuvre qui permet d&#8217;exposer des méthodes d&#8217;une classe php à un template.</p>
<p>Pour cela, la classe métier doit définir les trois méthodes suivantes :</p>
<ul>
<li>attributes</li>
<li>attribute</li>
<li>hasAttribute</li>
</ul>
<h4>Méthode attributes</h4>
<p>Cette méthode permet de donner la liste de toutes les fonctions de la classe que le template peut invoquer sur l&#8217;instance de cette classe. En gros elle retour un tableau de chaines de caractère avec le nom des méthodes accessibles dans le template.</p>
<p>Elle ne prend pas de paramètre en entrée.</p>
<h4>Méthode hasAttribute</h4>
<p>Cette méthode permet de valider que la fonction invoqué sur l&#8217;instance de la classe dans le template existe bien.</p>
<p>Elle prend en entrée un paramètre de type chaine de caractère représentant la méthode à invoquer</p>
<h4>Méthode attribute</h4>
<p>Cette méthode fonctionne comme un hub en reroutant l&#8217;invocation de fonction depuis le template sur la bonne méthode de la classe.</p>
<p>Elle prend en entrée deux paramètres :</p>
<ul>
<li>une chaine de caractère représentant la méthode invoquée</li>
<li>un booléen indiquant s&#8217;il s&#8217;agit d&#8217;une fonction invoqué ou un attribut de la classe</li>
</ul>
<p>Voici un exemple de classe php implémentant ces méthodes :</p>
<div class="brush:php">
class myClass{<br />
	public function __construct(){&#8230;}<br />
	public function sayHello(){<br />
		return &#8220;hello the world !!!&#8221;;<br />
	}<br />
	/**<br />
	* Retourne un tableau avec toutes les méthodes utilisables dans<br />
	* un template<br />
	*<br />
	* @return array liste des toutes les méthodes accessibles en template<br />
	*/<br />
	public function attributes(){<br />
		return array(&#8217;sayHello&#8217;);<br />
	}<br />
	/**<br />
	* Valide que la méthode appellée dans un template existe<br />
	*<br />
	* @return bool true si la fonction existe false sinon<br />
	*/<br />
	public function hasAttribute($attr){<br />
		return in_array($attr, array(&#8217;sayHello&#8217;));<br />
	}<br />
	/**<br />
	* Execute la méthode demandée dans un template<br />
	*<br />
	* @param string $attr<br />
	* @param bool $noFunction<br />
	*/<br />
	public function attribute($attr, $noFunction = false){<br />
		if($attr == &#8217;sayHello&#8217;){<br />
			return $this-&gt;sayHello();<br />
		}<br />
	}<br />
}
</div>
<p>Maintenant dans un template auquel nous avons au préalable passé une instance de la classe myClass, nous pouvons invoquer la méthode <em>sayHello </em>de la manière suivante :</p>
<div class="brush:php">
{$instance.sayHello}
</div>
]]></content:encoded>
			<wfw:commentRss>http://arnaudgeorgin.blogcity.fr/2008/12/04/invoquer-des-methodes-dun-objet-metier-dans-un-template-ezpublish/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Extension ezPublish AjaxClassEdit</title>
		<link>http://arnaudgeorgin.blogcity.fr/2008/12/02/extension-ezpublish-ajaxclassedit/</link>
		<comments>http://arnaudgeorgin.blogcity.fr/2008/12/02/extension-ezpublish-ajaxclassedit/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 12:45:25 +0000</pubDate>
		<dc:creator>ageorgin</dc:creator>
		
		<category><![CDATA[Projets professionnels]]></category>

		<category><![CDATA[developpement]]></category>

		<category><![CDATA[ezPublish]]></category>

		<category><![CDATA[JQuery]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://arnaudgeorgin.blogcity.fr/?p=31</guid>
		<description><![CDATA[Voici la dernière extension ezPublish que j&#8217;ai développé.
Cette extension modifie l&#8217;interface d&#8217;édition et de création des classes de contenu ezPublish en évitant de poster et recharger la page à chaque modification.
Tous les traitements se font en AJAX ce qui rend la gestion des classes plus facile et surtout plus rapidement (notamment lorsqu&#8217;il faut déplacer des [...]]]></description>
			<content:encoded><![CDATA[<p>Voici la dernière extension ezPublish que j&#8217;ai développé.</p>
<p>Cette extension modifie l&#8217;interface d&#8217;édition et de création des classes de contenu ezPublish en évitant de poster et recharger la page à chaque modification.</p>
<p>Tous les traitements se font en AJAX ce qui rend la gestion des classes plus facile et surtout plus rapidement (notamment lorsqu&#8217;il faut déplacer des attributs).</p>
<p>L&#8217;extension utilise la framework javascript JQuery dans sa version 1.2.6 et fonctionne à partir de la version 4.0 d&#8217;Ez Publish.</p>
<p>vous pouvez télécharger l&#8217;extension à l&#8217;adresse suivante : <a href="http://ez.no/developer/contribs/applications/ajax_class_edit">http://ez.no/developer/contribs/applications/ajax_class_edit</a></p>
<h3>Installation de l&#8217;extension</h3>
<p>Pour l&#8217;installation il suffit de suivre les étapes suivantes :</p>
<ol>
<li>décompresser l&#8217;archive zip dans le répertoire extension de votre installation ezPublish</li>
<li>activer l&#8217;extension dans le backoffice (onglet administration)</li>
<li>regénérer les autoloads</li>
</ol>
<p>N&#8217;hésitez pas à laisser vos commentaires si vous rencontrez un problème un bug ou si vous désirez des améliorations</p>
]]></content:encoded>
			<wfw:commentRss>http://arnaudgeorgin.blogcity.fr/2008/12/02/extension-ezpublish-ajaxclassedit/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Europe1.fr mon dernier projet</title>
		<link>http://arnaudgeorgin.blogcity.fr/2008/06/06/europe1fr-mon-dernier-projet/</link>
		<comments>http://arnaudgeorgin.blogcity.fr/2008/06/06/europe1fr-mon-dernier-projet/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 18:06:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Projets professionnels]]></category>

		<category><![CDATA[developpement]]></category>

		<category><![CDATA[ezPublish]]></category>

		<category><![CDATA[Europe1]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://arnaudgeorgin.blogcity.fr/2008/06/06/europe1fr-mon-dernier-projet/</guid>
		<description><![CDATA[C&#8217;est avec un peu de retard (3 semaines) mais beaucoup de fierté que je vous présente la sortie du dernier projet sur lequel j&#8217;étais chef de projet : la nouvelle version du site Europe1.fr.
Après un peu plus de 4 mois de développement (dont 1 gros moi seul), pas mal de nocturnes pour régler les divers [...]]]></description>
			<content:encoded><![CDATA[<p>C&#8217;est avec un peu de retard (3 semaines) mais beaucoup de fierté que je vous présente la sortie du dernier projet sur lequel j&#8217;étais chef de projet : la nouvelle version du site <a href="http://www.europe1.fr">Europe1.fr</a>.</p>
<p>Après un peu plus de 4 mois de développement (dont 1 gros moi seul), pas mal de nocturnes pour régler les divers soucis le site a enfin pu voir le jour. A noter que nous n&#8217;avons quasiment pas eu de retard par rapport à la sortie espérée (soit 1 seule journée).</p>
<p>Au niveau technique, le site a été développé à l&#8217;aide <a href="http://ez.no">d&#8217;eZpublish</a> un CMS/framework PHP et notamment sa dernière extension <a href="http://ez.no/ezflow">eZFlow</a>. Le site utilise aussi abondamment l&#8217;AJAX avec le framework de yahoo <a href="http://developer.yahoo.com/yui">yui</a>.</p>
<p>Nous travaillons actuellement sur son petit frère <a href="http://www.europe1sport.fr">Europe1 sport</a> en rapport avec la nouvelle station du groupe Europe1.</p>
]]></content:encoded>
			<wfw:commentRss>http://arnaudgeorgin.blogcity.fr/2008/06/06/europe1fr-mon-dernier-projet/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

