<?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>Riad Benguella, Le blog &#187; Développement web et programmation</title>
	<atom:link href="http://blog.riadbenguella.com/tag/developpement/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.riadbenguella.com</link>
	<description>Développement, Web, High-Tech et autres</description>
	<lastBuildDate>Sat, 14 Jan 2012 12:22:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Bloginy 3, Symfony 2, retour d&#8217;expérience</title>
		<link>http://blog.riadbenguella.com/bloginy-3-symfony-2-retour-dexperience/</link>
		<comments>http://blog.riadbenguella.com/bloginy-3-symfony-2-retour-dexperience/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 11:53:33 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[Bloginy]]></category>
		<category><![CDATA[Symfony 2]]></category>

		<guid isPermaLink="false">http://blog.riadbenguella.com/?p=798</guid>
		<description><![CDATA[Bloginy 3 es en ligne depuis quelques jours, et comme vous le savez (ou pas), il a été complètement réécrit sous Symfony 2. Mon but était de voir ce que donne l&#8217;utilisation de Symfony 2 sur un projet de taille &#8230; <a href="http://blog.riadbenguella.com/bloginy-3-symfony-2-retour-dexperience/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://bloginy.com">Bloginy 3</a> es en ligne depuis quelques jours, et comme vous le savez (ou pas), il a été complètement réécrit sous <a href="http://symfony.com">Symfony 2</a>. Mon but était de voir ce que donne l&#8217;utilisation de Symfony 2 sur un projet de taille &laquo;&nbsp;moyenne&nbsp;&raquo;, et je peux donc désormais partager avec vous mon expérience sur l’utilisation de ce framework.<br />
<span id="more-798"></span><br />
<strong>La prise en main du framework :</strong><br />
Je connaissais assez bien Symfony 1.4 avant de m&#8217;attaquer à Symfony 2, et autant vous le dire tout de suite, votre connaissance de l&#8217;ancienne version ne vous servira pas à grand chose avec Symfony 2. Néanmoins, si vous êtes un habitué des frameworks et leurs différentes notions (MVC, Routing, &#8230; ), vous trouverez assez rapidement vos marques avec Symfony 2. Pour le reste, <a href="http://symfony.com/doc/current/">la documentation</a> est bien faite, et répondra à 90% de vos questions. </p>
<p><strong>Le container DIC :</strong><br />
DIC ou Dependency Injection Container est le composant de Symfony 2 plébiscité par ses créateurs comme étant la principale évolution du framework. Par contre, pour ses détracteurs, le DIC constitue le principal inconvénient parce qu&#8217;il apporte une touche de &laquo;&nbsp;magie&nbsp;&raquo; dans le fonctionnement du framework.</p>
<p>Concrètement, le DIC est un composant qui va gérer dynamiquement tous les services qui composent votre application (un service est généralement un objet &laquo;&nbsp;singleton&nbsp;&raquo; comme Le doctrine entity manager, le mailer, le service de template &#8230;). Le DIC vous permet par exemple de déclarer vos propres services où de remplacer des services standards du framework par les votres. Et tout ceci se fait grâce à un fichier de configuration (YAML, XML ou PHP). </p>
<p>Dans le contrôleur maintenant, si on veut utiliser un service, il suffit de faire :<br />
<code>$container->get('nom_service');</code></p>
<p>Les puristes vous diront que c&#8217;est trop magique, parce qu&#8217;on ne peut savoir exactement ce que va nous retourner cette fonction (il faut connaitre les noms des services et leurs méthodes par cœur, pas d’auto-complétion dans l&#8217;IDE &#8230;). Mon avis est que dans tout framework il y a une partie qu&#8217;il faut connaitre pour le maitriser, dans Symfony 2 c&#8217;est le DIC ce qui ne représente pas un coût énorme. </p>
<p>Et pour les amateurs de l&#8217;auto-complétion, rien n&#8217;empêche de faire <img src='http://blog.riadbenguella.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
<code>/**<br />
  * @return Doctrine\ORM\EntityManager<br />
  */<br />
private function getEntityManager() {<br />
&nbsp;&nbsp;return $this->container->get('doctrine.orm.entity_manager');<br />
}</code></p>
<p><strong>Les bundles et la communauté</strong><br />
L&#8217;un des points forts de Symfony a toujours été sa communauté, et une fois n&#8217;est pas coutume, avec la version 2 du framework, cela se confirme de plus en plus. En ce qui concerne les plugins, <del datetime="2011-10-19T08:06:33+00:00">eh ben il y en a plus <img src='http://blog.riadbenguella.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> . Non je rigole</del>, on les appelle &laquo;&nbsp;Bundle&nbsp;&raquo; maintenant et la société <a href="http://knplabs.com/fr">KnpLabs</a> nous a concocté <a href="http://symfony2bundles.org/">un site web</a> bien sympathique qui récupère automatiquement tous les bundles Symfony 2 présents sur GitHub.</p>
<p><strong>Conclusion</strong><br />
Vous l&#8217;aurez bien compris, je suis assez fan de Symfony2 et je compte l&#8217;utiliser à fond pour mes projets futurs. Après, Si vous avez des projets déjà développés sur Symfony 1.4, la migration n&#8217;est pas possible, vous avez deux solutions : Vous êtes un peu fou comme moi, vous réécrivez tout, ou bien vous rester sous symfony 1.4 qui sera maintenu par Sensio encore une année.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/bloginy-3-symfony-2-retour-dexperience/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Imagine la manipulation d&#8217;images sous PHP 5.3</title>
		<link>http://blog.riadbenguella.com/imagine-la-manipulation-dimages-sous-php-5-3/</link>
		<comments>http://blog.riadbenguella.com/imagine-la-manipulation-dimages-sous-php-5-3/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 10:28:25 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[Imagine]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://youknowriad.nomade-dz.com/?p=762</guid>
		<description><![CDATA[PHP 5.3 a été synonyme d&#8217;une évolution majeure du langage PHP (d&#8217;ailleurs la version 5.4 s&#8217;annonce encore plus prometteuse) avec notamment l&#8217;introduction des namespaces, closures, Late static binding, phar et j&#8217;en passe. Cette version a aussi vu l&#8217;apparition de nouveaux &#8230; <a href="http://blog.riadbenguella.com/imagine-la-manipulation-dimages-sous-php-5-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>PHP 5.3 a été synonyme d&#8217;une évolution majeure du langage PHP (d&#8217;ailleurs la version 5.4 s&#8217;annonce encore plus prometteuse) avec notamment l&#8217;introduction des namespaces, closures, Late static binding, phar et j&#8217;en passe. Cette version a aussi vu l&#8217;apparition de nouveaux outils et librairies très abouties, à l&#8217;instar de Symfony2, Twig, Assetic, Doctrine 2. Aujourd&#8217;hui je vais vous présenter rapidement, une librairie de manipulation d&#8217;images qui va vous simplifier la vie, &laquo;&nbsp;Imagine&nbsp;&raquo; comme son nom l&#8217;indique, va vous permettre d&#8217;imaginer aisément toute sorte de manipulation et de filtre à appliquer coté serveur.<span id="more-762"></span></p>
<p>Largement inspirée de <a href="http://www.pythonware.com/products/pil/">PIL</a> du monde de python, Imagine va vous permettre de vous concentrer sur la retouche d&#8217;images en faisant abstraction des plugins php nécessaire (GD et autres). Elle détecte les capacités de votre serveur, et vous offre une manière unifiée de manipuler les images quelque soit le plugin disponible au niveau de votre installation PHP.</p>
<p>Pour faire court, vous développez sous PHP 5.3, vous voulez faire de la manipulation d&#8217;images, ne cherchez plus, télécharger <a href="https://github.com/avalanche123/Imagine">Imagine</a> et courrez lire <a href="https://github.com/avalanche123/Imagine#readme">la documentation</a>.</p>
<p><strong>Exemple</strong><br />
Un petit exemple, tout frais, tout beau, issu de la manipulation des avatars (sur la nouvelle version de <a href="http://www.bloginy.com">Bloginy</a> : Bloginy 3 qui ne saurait tarder <img src='http://blog.riadbenguella.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ), une petite méthode pour générer un avatar à partir d&#8217;une image en spécifiant les dimensions voulues :</p>
<p><code><br />
    function generateThumbnail($path, $thumb_path, $width, $heigth)<br />
    {<br />
    &nbsp;&nbsp;    $imagine = new \Imagine\Gd\Imagine();<br />
    &nbsp;&nbsp;    $imagine->open($path)<br />
    &nbsp;&nbsp;&nbsp;&nbsp;        ->thumbnail(new \Imagine\Image\Box($width, $heigth), \Imagine\Image\ImageInterface::THUMBNAIL_OUTBOUND)<br />
    &nbsp;&nbsp;&nbsp;&nbsp;        ->save($thumb_path);<br />
    }<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/imagine-la-manipulation-dimages-sous-php-5-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Symfony 2.0 dévoilé au sfLive 2010</title>
		<link>http://blog.riadbenguella.com/symfony-2-0-devoile-au-sflive-2010/</link>
		<comments>http://blog.riadbenguella.com/symfony-2-0-devoile-au-sflive-2010/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 14:35:23 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Symfony 2.0]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://youknowriad.nomade-dz.com/?p=593</guid>
		<description><![CDATA[Cette semaine a eu lieu à Paris le &#171;&#160;sfLive&#160;&#187; (symfony Live), la conférence annuelle autour du framework PHP symfony (qui devient Symfony ). Malheureusement, je n&#8217;ai pas pu me déplacer à Paris pour y assister, mais j&#8217;ai tout de même &#8230; <a href="http://blog.riadbenguella.com/symfony-2-0-devoile-au-sflive-2010/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Cette semaine a eu lieu à Paris le &laquo;&nbsp;sfLive&nbsp;&raquo; (symfony Live), la conférence annuelle autour du framework PHP symfony (qui devient Symfony <img src='http://blog.riadbenguella.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). Malheureusement, je n&#8217;ai pas pu me déplacer à Paris pour y assister, mais j&#8217;ai tout de même suivi les différentes annonces effectuées et notamment l&#8217;annonce la plus attendue, Le Framework Symfony 2.0 (version alpha).</p>
<p align="center"><img src="http://youknowriad.nomade-dz.com/wp-content/uploads/symfony_reloaded_20_preview_realese-500x123.png" alt="" title="symfony 2 reloaded" width="500" height="123" class="alignnone size-medium wp-image-594" /></p>
<p><span id="more-593"></span></p>
<p>Cette version vient directement améliorer les points les plus critiqués de la première version de symfony à savoir la rapidité, les performances, la facilité de prise en main et la flexibilité.</p>
<p><strong>Rapidité et performances :</strong></p>
<p>Selon les benchmarks effectués, Symfony 2.0 est 3 fois plus rapide que Symfony 1.4 et Zend Framework 1.10, 2 fois plus rapide que Solar 1.0 et 6 fois plus rapide que Cake PHP 1.2.6. Symfony consome également deux fois mois de mémoire que ses principaux concurrents. <a href="http://symfony-reloaded.org/fast">Détails des tests</a></p>
<p><strong>Facilité de prise en main :</strong></p>
<p>D&#8217;après les créateurs, vous pouvez commencer à développer en Symfony 2.0 après 10 minutes de lecture de <a href="http://symfony-reloaded.org/quick-tour-part-1">ce tour rapide</a> et au bout d&#8217;une heure vous maitriserez les fondements. Personnellement, après avoir lu rapidement le Quick Tour, j&#8217;ai trouvé Symfony 2.0 très simple. (mais c&#8217;est peut être parce que je connais déjà symfony 1).</p>
<p><strong>Flexibiltié :</strong></p>
<p>La principale amélioration de Symfony 2.0 est la réécriture de la partie basse du framework (kernel), en utilisant un conteneur d&#8217;injection de dépendances. Si vous n&#8217;êtes pas familiers avec cette notion, je vous invite à découvrir <a href="http://www.slideshare.net/fabpot/dependency-injection-with-php-53">les slides de Fabien Potencier</a> (le CEO de Sensio, l&#8217;éditeur derrière Symfony). Ce mécanisme permet à Symfony 2 d&#8217;être très flexible, puisque tout est paramétrable et que vous pouvez très simplement vous passer de certaines fonctions de Symfony par exemple, où bien utiliser vos propres classes pour les remplacer. Vous pouvez absolument tout changer.</p>
<p>Sachez que vous pouvez dés à présent utiliser et tester le framework, rendez vous sur <a href="http://symfony-reloaded.org">ce site</a> mis en ligne pour l&#8217;occasion. Personnellement je suis très satisfait par cette évolution (révolution), et je vais commencer illico à migrer quelques uns de mes projets vers Symfony 2 pour mieux cerner le framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/symfony-2-0-devoile-au-sflive-2010/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Les liens du développeur</title>
		<link>http://blog.riadbenguella.com/les-liens-du-developpeur/</link>
		<comments>http://blog.riadbenguella.com/les-liens-du-developpeur/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 08:30:42 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Internet et web 2.0]]></category>
		<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[Développeur]]></category>
		<category><![CDATA[Liens]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://youknowriad.nomade-dz.com/?p=494</guid>
		<description><![CDATA[Aujourd&#8217;hui je suis plutôt d&#8217;humeur généreuse et c&#8217;est pour cette raison que j&#8217;ai décidé de partager avec vous quelques uns des liens indispensables pour les développeurs web. Les langages de programmation Un développeur web a sans doute une grande mémoire &#8230; <a href="http://blog.riadbenguella.com/les-liens-du-developpeur/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://youknowriad.nomade-dz.com/wp-content/uploads/search.png" alt="search" title="search" width="110" height="109"  style="float:right" /></p>
<p>Aujourd&#8217;hui je suis plutôt d&#8217;humeur généreuse et c&#8217;est pour cette raison que j&#8217;ai décidé de partager avec vous quelques uns des liens indispensables pour les développeurs web.<br />
<span id="more-494"></span><br />
<strong>Les langages de programmation</strong></p>
<p>Un développeur web a sans doute une grande mémoire pour pourvoir mémoriser toutes les fonctions et mots clés des différents langages et technologies qu&#8217;ils utilisent régulièrement. Et vous savez que ce n&#8217;est pas toujours chose facile, et pour cette raison le développeur n&#8217;hésite pas à aller régulièrement sur la doc de référence de la technologie en question. Qu&#8217;il s&#8217;agit de PHP, XHTML, CSS, Python, Django, MySql, les commandes du terminal &#8230; ce n&#8217;est pas toujours facile. Et pour vous aider dans cette tache <a href="http://www.cheat-sheets.org/">cheat-sheets.org</a> recense pour vous les cheat-sheets ou &#8216;mementos&#8217; (vous savez ces documents concis qui résument une technologie entière en une ou deux pages) de toutes les technologies possibles et imaginables. Je parie que tout le monde y trouvera son bonheur.</p>
<p><strong>Les stocks d&#8217;images</strong></p>
<p>Un développeur web se doit aussi d&#8217;être bon désigner de temps à autre. Et les stocks d&#8217;images (et gratuites et en licence libre en plus) sont une aide non considérable pour booster votre travail et créativite. Le meilleur site gratuit de stock d&#8217;images que j&#8217;ai jamais trouvé est bien sur <a href="http://www.sxc.hu">Stock Exchange</a>.</p>
<p><strong>Ressources</strong></p>
<p>Vous cherchez des icônes, <a href="http://www.iconfinder.net/">IconFinder</a> est pour vous, ou peut être qu&#8217;il vous fait des polices de caractères, l&#8217;excellent <a href="http://www.dafont.com">DaFont</a> est pour vous alors.  ça ne vous suffit pas tout ça, pas de problème, un petit tour sur smashing magazine et vous trouverez certainement votre bonheur.</p>
<p><strong>Autres</strong></p>
<p>J&#8217;ai failli oublié LE LIEN, <a href="http://youknowriad.nomade-dz.com">mon flux RSS</a> bien sur <img src='http://blog.riadbenguella.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , et le formulaire de contact de mon blog si vous trouvez toujours pas.</p>
<p>Ah oui encore un petit liens pour les aficionados du framework Symfony, <a href="http://www.symfony-check.org/">Symfony Check</a> qui vous permet de vérifier que votre projet développé avec le framework est prêt à être lancé.</p>
<p>Enjoy !!!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/les-liens-du-developpeur/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Créer des taches CRON simplement avec Symfony</title>
		<link>http://blog.riadbenguella.com/creer-des-taches-cron-simplement-avec-symfony/</link>
		<comments>http://blog.riadbenguella.com/creer-des-taches-cron-simplement-avec-symfony/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 13:35:39 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[Cron]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://youknowriad.nomade-dz.com/?p=455</guid>
		<description><![CDATA[En pleine préparation de la version 2 de bloginy, je me suis mis à chercher la meilleure manière de faire des tâches cron avec symfony (des scripts qui s&#8217;exécutent périodiquement). La solution qui me convenait le plus était d&#8217;utiliser les &#8230; <a href="http://blog.riadbenguella.com/creer-des-taches-cron-simplement-avec-symfony/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En pleine préparation de la version 2 de <a href="http://www.bloginy.com">bloginy</a>, je me suis mis à chercher la meilleure manière de faire des tâches cron avec symfony (des scripts qui s&#8217;exécutent périodiquement). La solution qui me convenait le plus était d&#8217;utiliser les tâches <a href="http://www.symfony-project.org">Symfony</a>.</p>
<p align="center"><img src="http://youknowriad.nomade-dz.com/wp-content/uploads/symfony.gif" alt="symfony" title="symfony" width="150" class="alignleft size-thumbnail wp-image-461" /></p>
<p><span id="more-455"></span></p>
<p><strong>Les tâches Symfony</strong></p>
<p>Vous savez, c&#8217;est toutes ces commandes qu&#8217;on lance à partir du terminal avec un namespace et un nom de tâche pour initialiser un projet par exemple ou construire le modèle de données (<em>./symfony propel:build-model</em>) ou toute autre commande. </p>
<p><strong>Création de la tâche</strong></p>
<p>Eh bain symfony nous permet de créer des tâches personnalisés à l&#8217;aide de la commande</p>
<p><code>./symfony generate:task monnamespace:matache</code></p>
<p>un fichier PHP est donc créé dans le dossier &#8216;lib/task&#8217; de votre projet, que vous pouvez personnaliser très aisément, puisque vous pouvez accéder directement aux classes du model.</p>
<p><code>addArguments(array(<br />
//   new sfCommandArgument('my_arg', sfCommandArgument::REQUIRED, 'My argument'),<br />
// ));<br />
&nbsp;<br />
$this-&gt;addOptions(array(<br />
new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED, 'The application name'),<br />
new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 'The environment', 'dev'),<br />
new sfCommandOption('connection', null, sfCommandOption::PARAMETER_REQUIRED, 'The connection name', 'propel'),<br />
// add your own options here<br />
));<br />
&nbsp;<br />
$this-&gt;namespace        = 'monnamespace';<br />
$this-&gt;name             = 'matache';<br />
$this-&gt;briefDescription = '';<br />
$this-&gt;detailedDescription = &lt;&lt;configuration);<br />
$connection = $databaseManager-&gt;getDatabase($options['connection'] ? $options['connection'] : null)-&gt;getConnection();<br />
&nbsp;<br />
&nbsp;<br />
// add your code here<br />
}<br />
}</code></p>
<p>Vous pouvez personnalisez ce fichier pour donner un titre et une description à cette tâche.</p>
<p>Une fois votre tâche créée et personnalisée, il ne vous reste plus qu&#8217;à créer la tâche CRON qui appelle cette tâche avec la commande suivante : <em>./symfony monnamespace:matache</em></p>
<p><strong>Exemple d&#8217;une tache :</strong></p>
<p>Voici un exemple de tâche que j&#8217;ai créé pour Bloginy.<br />
<code><?php<br />
class bloginyUpdateblogsfeedsTask extends sfBaseTask<br />
{<br />
  protected function configure()<br />
  {<br />
    // // add your own arguments here<br />
    // $this->addArguments(array(<br />
    //   new sfCommandArgument('my_arg', sfCommandArgument::REQUIRED, 'My argument'),<br />
    // ));<br />
&nbsp;<br />
$this-&gt;addOptions(array(<br />
new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED, 'The application name'),<br />
new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 'The environment', 'dev'),<br />
new sfCommandOption('connection', null, sfCommandOption::PARAMETER_REQUIRED, 'The connection name', 'propel'),<br />
// add your own options here<br />
));<br />
&nbsp;<br />
$this-&gt;namespace        = 'bloginy';<br />
$this-&gt;name             = 'update-blogs-feeds';<br />
$this-&gt;briefDescription = 'Met à jour les flux des blogs inscrits sur Bloginy';<br />
$this-&gt;detailedDescription = &lt;&lt;configuration);<br />
$connection = $databaseManager-&gt;getDatabase($options['connection'] ? $options['connection'] : null)-&gt;getConnection();<br />
&nbsp;<br />
// add your code here<br />
$count = BlogPeer::updateBlogFeeds();<br />
printf('%s articles ont été ajoutés à Bloginy.',$count);<br />
}<br />
}</code></p>
<p>Vous pouvez voir ici que tout le fonctionnement de cette tâche est effectué dans la classe du modèle &laquo;&nbsp;BlogPeer&nbsp;&raquo;.</p>
<p>Voilà j&#8217;espère que ça pourra aider plus d&#8217;un <img src='http://blog.riadbenguella.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/creer-des-taches-cron-simplement-avec-symfony/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Aptana Studio, l&#8217;un des meilleurs IDE Web</title>
		<link>http://blog.riadbenguella.com/aptana-studio-lun-des-meilleurs-ide-web/</link>
		<comments>http://blog.riadbenguella.com/aptana-studio-lun-des-meilleurs-ide-web/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 11:20:29 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[Aptana]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Logiciels]]></category>
		<category><![CDATA[Netbeans]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://youknowriad.nomade-dz.com/?p=427</guid>
		<description><![CDATA[Entre les différents IDE de développement Web existants, j&#8217;ai toujours eu un peu de mal à me fixer sur un seul. Entre Eclipse, Netbeans, Coda, Adobe dreamweaver, Textmate, &#8230; j&#8217;ai toujours eu du mal à me décider avec toujours une &#8230; <a href="http://blog.riadbenguella.com/aptana-studio-lun-des-meilleurs-ide-web/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div style="float:left; padding-right:5px;"><img class="alignleft size-full wp-image-428" title="aptana-logo" src="http://youknowriad.nomade-dz.com/wp-content/uploads/aptana-logo.png" alt="aptana-logo" width="104" height="104" /></div>
<p>Entre les différents IDE de développement Web existants, j&#8217;ai toujours eu un peu de mal à me fixer sur un seul. Entre Eclipse, Netbeans, Coda, Adobe dreamweaver, Textmate, &#8230; j&#8217;ai toujours eu du mal à me décider avec toujours une petite préférence pour Eclipse et PDT. Je crois qu&#8217;avec <a href="http://www.aptana.com/">Aptana Studio</a>, je viens de trouver une sérieuse alternative que j&#8217;ai rapidement adopté.<br />
<span id="more-427"></span><br />
<strong>De quoi a besoin un développeur web en matière d&#8217;IDE</strong></p>
<ul>
<li>Support HTML, CSS,</li>
<li>Support PHP, (ou d&#8217;autres langages Ruby, Python &#8230;)</li>
<li>Support SVN,</li>
<li>Support Javascript,</li>
<li>Support de frameworks JS : jQuery, Prototype &#8230;</li>
<li>Accès rapide à la base de donnée,</li>
<li>Accès rapide à la console,</li>
<li><strong>Extra : </strong>Support de frameworks tel que Symfony, Zend, Django, Ruby on rails &#8230;</li>
</ul>
<p><strong>Les plus d&#8217;Aptana Studio</strong></p>
<p><a href="http://www.aptana.com/">Aptana Studio</a> est un soft qui se présente sous forme de plugin Eclipse ou entièrement Standalone, et qui répond à tous les besoins cités ci-dessus (il me manque juste le support de mon framework favori &laquo;&nbsp;symfony&nbsp;&raquo;) et d&#8217;une excellente manière. La ou Eclipse PDT répondait aussi aux besoins indiqués mais avec quelques inconvénients non négligeables (un peu trop lent à la détente le support de PHP sous éclipse), Aptana studio apporte un nouvel éditeur PHP, très confortable à utiliser et très réactif. Aptana propose aussi d&#8217;autres plugins intéressants : Support de développement web pour iPhone, Support Ruby on Rails, Support python, Support Adobe Air &#8230;</p>
<p>L&#8217;essentiel d&#8217;Aptana est gratuit excepté quelques plugins payants (pensez à les désactiver), notamment le support de leur offre Cloud Computing (Jaxter).</p>
<p>Alors merci Arisoft de m&#8217;avoir fait découvrir ce soft. Et je vous invite chers lecteurs et amis à y jeter un oeil. Je vous garantis que vous ne serez pas déçus</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/aptana-studio-lun-des-meilleurs-ide-web/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Qui gagnera la guerre du Cloud Computing, Google, Microsoft, Amazon ?</title>
		<link>http://blog.riadbenguella.com/qui-gagnera-la-guerre-du-cloud-computing-google-microsoft-amazon/</link>
		<comments>http://blog.riadbenguella.com/qui-gagnera-la-guerre-du-cloud-computing-google-microsoft-amazon/#comments</comments>
		<pubDate>Sun, 17 May 2009 08:30:18 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://youknowriad.nomade-dz.com/?p=398</guid>
		<description><![CDATA[Vous n&#8217;avez sûrement pas pu passer à coté de la guerre du Cloud Computing qui oppose les géants du Web, Google, Microsoft et Amazon pour n&#8217;en citer qu&#8217;eux. La prochaine étape de cette lutte est la conquête des développeurs et &#8230; <a href="http://blog.riadbenguella.com/qui-gagnera-la-guerre-du-cloud-computing-google-microsoft-amazon/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Vous n&#8217;avez sûrement pas pu passer à coté de la guerre du Cloud Computing qui oppose les géants du Web, Google, Microsoft et Amazon pour n&#8217;en citer qu&#8217;eux. La prochaine étape de cette lutte est la conquête des développeurs et les géants ne lésinent pas sur les moyens mis en place. C&#8217;est sans surprise vu que l&#8217;avenir de l&#8217;informatique passe forcément pas les nuages (n&#8217;est ce pas inal ? <img src='http://blog.riadbenguella.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )<br />
<span id="more-398"></span></p>
<p align="center"><img class="alignleft size-full wp-image-402" title="Clouds" src="http://youknowriad.nomade-dz.com/wp-content/uploads/clouds1.png" alt="Clouds" width="350"  /></p>
<p><strong>Google : Python et JAVA</strong></p>
<p>Comme à son habitude, Google mise sur l&#8217;open source et sa communauté en proposant tout d&#8217;abord un support pour Python et son excellent framework Django. Et plus récemment le support de JAVA a été ajouté à <a href="http://code.google.com/intl/fr-FR/appengine/">Google App Engine</a>, et on connaît très bien la popularité de ce langage dans la communauté hign-tech internationale.</p>
<p><strong>Microsoft : .NET et PHP</strong></p>
<p>Oui vous avez bien lu, vous ne vous êtes pas trompés, Microsoft offre bien le support de PHP pour son <a href="http://www.microsoft.com/azure">Microsoft Azure</a> avec le récent projet <a href="http://phpazure.codeplex.com/">PHPAzure</a>. En plus donc de l&#8217;excellent .NET et de son IDE &#8211; Visual Studio &#8211; qu&#8217;on ne peux critiquer (à mon humble avis bien sur), Microsoft a bien compris l&#8217;enjeu que représente PHP et son immense communauté de développeurs (20 millions de sites web en PHP)</p>
<p><strong>Amazon : </strong></p>
<p>Contrairement à Google et Microsoft, Amazon opte pour une stratégie différente, puisque <a href="http://aws.amazon.com/ec2/">Amazon EC2</a> offre le support de services webs standards SOAP ce qui permet l&#8217;utilisation de pratiquement n&#8217;importe quel langage de programmation, C++, C#, Java, Perl, Python, Ruby et PHP.</p>
<p><strong>Pour lequel de ces services succomber ?</strong></p>
<p>J&#8217;avoue qu&#8217;entre Microsoft et Google, mon coeur balance lol. Dés que j&#8217;aurai un peu de temps, je testerai les services et vous donnerai mon feedback.</p>
<p><strong>Et vous lequel vous séduit, ou vous a séduit ?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/qui-gagnera-la-guerre-du-cloud-computing-google-microsoft-amazon/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Symfony 1.2, les nouveautés</title>
		<link>http://blog.riadbenguella.com/symfony-12-les-nouveautes/</link>
		<comments>http://blog.riadbenguella.com/symfony-12-les-nouveautes/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 10:28:06 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[Doctrine]]></category>
		<category><![CDATA[Jobeet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Propel]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://youknowriad.nomade-dz.com/?p=283</guid>
		<description><![CDATA[Et oui, cette semaine a vu le jour la version finale de Symfony 1.2, qui apporte son lot de nouveautés, plus utiles les unes que les autres. Ce n&#8217;est que pour faire le bonheur des développeurs Web. Après trois années &#8230; <a href="http://blog.riadbenguella.com/symfony-12-les-nouveautes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Et oui, cette semaine a vu le jour la version finale de <a href="http://www.symfony-project.org/installation/1_2">Symfony 1.2</a>, qui apporte son lot de nouveautés, plus utiles les unes que les autres. Ce n&#8217;est que pour faire le bonheur des développeurs Web. Après trois années que le framework est en Open Source, Symfony a su s&#8217;imposer comme étant l&#8217;un des meilleurs frameworks PHP, et cette nouvelle version est la pour consolider cette position.</p>
<p>Et comme une bonne nouvelle ne vient jamais seule, les développeurs ont pensé aussi aux débutants avec la mise en place d&#8217;un nouveau tutorial &laquo;&nbsp;<a href="http://www.symfony-project.org/jobeet/1_2/en/">Jobeet</a>&nbsp;&raquo; pour permettre de maitriser Symfony assez rapidement et se rendre compte de ces atouts.<span id="more-283"></span></p>
<p><strong>Les nouveautés de Symfony1.2</strong></p>
<ul>
<li><strong><em>ORM Doctrine et Propel :</em> </strong>Grâce à cette nouvelle version le plugin permettant d&#8217;utiliser l&#8217;ORM Doctrine est présent par défaut mais il ne remplace pas Propel, il faudra choisir votre configuration si vous voulez ce faire. <a href="http://youknowriad.nomade-dz.com/propel-couche-dabstraction-donnees-symfony/">Propel</a> quand à lui passe à la version 1.3, offrant ainsi de meilleures performances.</li>
</ul>
<ul>
<li><strong><em>Un nouveau générateur d&#8217;administration : </em></strong>comme vous le savez, Symfony vous évite la tâche fastidieuse de développer un gestionnaire d&#8217;administration pour vos applications web grâce à son générateur configurable à votre guise. Celui ci a complètement été réécrit grâce à la nouvelle gestion des formulaires introduites dans la version 1.1 mais tout en gardant une rétro compatibilité avec les versions précédentes.</li>
</ul>
<ul>
<li>Un nouveau système de routage (Architecture REST).</li>
</ul>
<ul>
<li>Amélioration de la gestion des formulaires MVC introduites dans la version 1.1</li>
</ul>
<ul>
<li><strong><em>Les helpers JAVASCRIPT, Scriptaculous et Prototype :</em> </strong>Les deux frameworks Javascript/AJAX (Scriptaculous et Prototype) sont maintenant intégrés grâce à des plugins séparés et de nouveaux helpers javascripts basiques ont été ajoutés.</li>
</ul>
<ul>
<li>Améliorations des tests fonctionnels.</li>
</ul>
<ul>
<li>Ainsi que d&#8217;autres améliorations plus ou moins importantes&#8230;</li>
</ul>
<p><strong>Jobeet</strong></p>
<p>Rappeler vous du premier tutorial <a href="http://www.symfony-project.org/askeet/1_0/fr/1">Askeet</a>, mis en place à l&#8217;occasion du lancement de la première version 1.0 de Symfony. Ce tutorial avait permis à un grand nombre d&#8217;adopter Symfony dans un temps record. Les développeurs cette fois ci frappe fort avec un nouveau tutorial &laquo;&nbsp;<a href="http://www.symfony-project.org/jobeet/1_2/en/">Jobeet</a>&nbsp;&raquo; qui va permettre de développer une VRAI application web fonctionnelle de A à Z en 24 heures à l&#8217;ordre d&#8217;une heure par jour.</p>
<p>Vous apprendrez donc l&#8217;utilisation du framework Symfony 1.2 et sentirez également l&#8217;apport énorme de ce framework en matière de développement d&#8217;applications web. Votre seul prérequis nécessaire est la connaissance des bases du PHP 5.</p>
<p>Ce tutorial servira également aux personnes ayant déja une certaine connaissance de Symfony puisqu&#8217;il leur permettra de se familiariser avec les nouveautés de cette nouvelle version.</p>
<p align="center"><a href="http://www.symfony-project.org/jobeet/1_2/en/"><img class="alignnone" title="Jobeet" src="http://www.symfony-project.org/images/jobeet/flyer_2_220_100.png" alt="" width="220" height="100" /></a></p>
<p>Moi aussi je v m&#8217;y mettre sans tarder<img onclick="grin(':bien:');" src="../wp-includes/images/smilies/good.png" alt=":bien:" />, la première heure du tutorial c&#8217;est <a href="http://www.symfony-project.org/jobeet/1_2/en/01">par ici</a> (en anglais seulement pour l&#8217;instant, mais la traduction ne devrait pas tarder).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/symfony-12-les-nouveautes/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>SVN, le système de gestion de versions</title>
		<link>http://blog.riadbenguella.com/svn-le-systeme-de-gestion-de-versions/</link>
		<comments>http://blog.riadbenguella.com/svn-le-systeme-de-gestion-de-versions/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 16:14:37 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Versions]]></category>

		<guid isPermaLink="false">http://youknowriad.nomade-dz.com/?p=266</guid>
		<description><![CDATA[Nombreux sont les développeurs qui n&#8217;utilisent pas de système de gestion de versions, pour gérer leur projets d&#8217;applications ou pour collaborer entre les différents membres de l&#8217;équipe de développement (même s&#8217;il disent tous le contraire). Je vais essayer par le &#8230; <a href="http://blog.riadbenguella.com/svn-le-systeme-de-gestion-de-versions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Nombreux sont les développeurs qui n&#8217;utilisent pas de système de gestion de versions, pour gérer leur projets d&#8217;applications ou pour collaborer entre les différents membres de l&#8217;équipe de développement (même s&#8217;il disent tous le contraire). Je vais essayer par le biais de cet article de vous présenter l&#8217;importance du versionning et les différents outils nécessaires à la mise en place et l&#8217;utilisation de SVN, (Subversion) qui le système de versionning par excellence en ce moment.</p>
<p align="center"><a href="http://subversion.tigris.org/" mce_href="http://subversion.tigris.org/"><img class="alignnone size-medium wp-image-267" title="SVN" src="http://youknowriad.nomade-dz.com/wp-content/uploads/subversion_logo_hor-468x64.png" mce_src="http://youknowriad.nomade-dz.com/wp-content/uploads/subversion_logo_hor-468x64.png" alt="" height="64" width="468"></a></p>
<p><span id="more-266"></span></p>
<p><img src="http://youknowriad.nomade-dz.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" mce_src="http://youknowriad.nomade-dz.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" class="mceWPmore mceItemNoResize" title="Lire la suite…"></p>
<p><b>Qu&#8217;est ce qu&#8217;un système de gestion des versions ?</b></p>
<p>&laquo;&nbsp;Un VCS (Version Control System), est un logiciel permettant de stocker des informations pour une ou plusieurs ressources informatiques permettant de récupérer toutes les versions intermédiaires des ressources, ainsi que les différences entre les versions&nbsp;&raquo; &#8230; Wikipédia</p>
<p>En plus clair il permet à des développeurs de travailler en parallèle sur un projet, en gardant une arborescence des différentes versions du code source et des différents fichiers de ce projet. A chaque fois qu&#8217;une modification est effectuée par un membre de l&#8217;équipe, le système enregistre la modification tout en gardant une trace des anciennes versions. Il enregistre également les différences entre les différentes versions.</p>
<p><b>SVN &#8211; Subversion &#8211; </b></p>
<p>Basé sur CVS, l&#8217;un des premiers système de gestion des versions, SVN est actuellement de loin le VCS le plus utilisé dans le monde. Ses principaux apports et principes sont :</p>
<ul>
<li>Un système centralisé utilisant un seul dépôt (repository) partagé entre les différents membres de l&#8217;équipe.</li>
<li>SVN versionne les fichiers et les répertoires.</li>
<li>Il permet également le renommage et le déplacement des fichiers et répertoires tout en gardant leur historique.</li>
<li>Possibilité de merger (fusionner) quelques types de documents en cas de conflits d&#8217;accès entre différents utilisateurs.</li>
<li>&#8230;</li>
</ul>
<p>Les commandes de base à connaître donc pour SVN sont :</p>
<ul>
<li>Checkout : pour récupérer en local, les données du dépôt,</li>
<li>Commit : pour mettre à jour le dépôt avec les modifications que vous avez effectué en local,</li>
<li>Update : pour mettre à jour votre copie locale, à partir du dépôt,</li>
<li>Add : pour ajouter des éléments dans le dépôt (lors du prochain commit).</li>
<li>&#8230;</li>
</ul>
<p><b>Hébergement de dépôt SVN </b></p>
<p>Il existe plusieurs services sur le net, vous offrant ainsi la possibilité d&#8217;héberger des dépôts SVN. Ceci permet donc à une équipe de travailler à distance sur le même projet (attention la majorité des services gratuits sont pour les applications Open Source) : <a href="http://www.sourceforge.net/" mce_href="http://www.sourceforge.net/">SourceForge</a>, <a href="http://www.assembla.com/" mce_href="http://www.assembla.com/">Assembla</a>, <a href="http://code.google.com" mce_href="http://code.google.com">Google Code</a> &#8230;.</p>
<p><b>Clients SVN</b></p>
<p>Après avoir crée votre dépôt et l&#8217;avoir partagé entre les utilisateurs, il est nécessaire à chacun de disposer d&#8217;un client SVN pour pouvoir envoyer les différentes commandes au dépôt. Alors la, vous avez vraiment le choix. Voici une liste wikipédia <a href="http://fr.wikipedia.org/wiki/Comparaison_des_clients_pour_Subversion" mce_href="http://fr.wikipedia.org/wiki/Comparaison_des_clients_pour_Subversion">des principaux clients SVN</a> sur tous les OS, tout le monde trouvera son bonheur. Personnellement sur MAC OS j&#8217;utilise le <a href="http://scplugin.tigris.org/" mce_href="http://scplugin.tigris.org/">SCPlugin</a> qui s&#8217;intègre au finder.</p>
<p>Si vous désirez plus de précisions ou d&#8217;aide, n&#8217;hésitez pas à laisser un commentaire.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/svn-le-systeme-de-gestion-de-versions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>eFace, XAML et WPF pour JAVA</title>
		<link>http://blog.riadbenguella.com/eface-xaml-et-wpf-pour-java/</link>
		<comments>http://blog.riadbenguella.com/eface-xaml-et-wpf-pour-java/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 15:14:49 +0000</pubDate>
		<dc:creator>Riad</dc:creator>
				<category><![CDATA[Développement web et programmation]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[eFace]]></category>
		<category><![CDATA[Interfaces]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[XAML]]></category>

		<guid isPermaLink="false">http://youknowriad.nomade-dz.com/?p=255</guid>
		<description><![CDATA[Que est ce que WPF ? WPF (Windows Presentation Foundation) de Microsoft est le système graphique windows Vista. C&#8217;est une couche qui fait partie du framework .NET chargé de gérer les interfaces graphiques nouvelles générations (exucuses au anti-Microsoft, mais il &#8230; <a href="http://blog.riadbenguella.com/eface-xaml-et-wpf-pour-java/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Que est ce que WPF ?</strong></p>
<p>WPF (Windows Presentation Foundation) de Microsoft est le système graphique windows Vista. C&#8217;est une couche qui fait partie du framework .NET chargé de gérer les interfaces graphiques nouvelles générations (exucuses au anti-Microsoft, mais il faut bien avouer que le framework .NET est une prouesse technologique).</p>
<p align="center"><a href="http://www.soyatec.com/eface/"><img class="alignnone size-medium wp-image-256" title="eFace" src="http://youknowriad.nomade-dz.com/wp-content/uploads/architecture-500x405.png" alt="" width="500" height="405" /></a></p>
<p><span id="more-255"></span></p>
<p>Le but de WPF est de fournir un système unique de description d&#8217;interfaces entre applications standards (bureau) et applications web (navigateur, grâce à Silverlight). Ceci permet notamment de faire des interfaces très plaisantes comparés à ce qu&#8217;on peut faire grâce aux WinForms et WebForms.</p>
<p>Les interfaces WPF sont décrites grâce à un nouveau langage de description d&#8217;interfaces, le XAML de Microsotf &#8211; eXtensible Application Markup Language -.</p>
<p><strong>Le problème :</strong></p>
<p>Personnellement, je trouve que XAML nous permet de décrire des interfaces très riches et très attrayantes (imaginez un genre de Flash pour applications bureau), mais je me suis toujours trouvé face au problème de la portabilité. Bien que Microsoft détienne plus de 90% des parts de marchés mondial des OS et que je soit un utilisateur Multi-OS (principalement MAC OS), une application portable entre les différents systèmes sans avoir à refaire tout le code est de loin la meilleure solution.</p>
<p><strong>La solution, eFace :</strong></p>
<p>JAVA est de loin le meilleur langage pour développer des applications portables entre OS. XAML est un langage de description d&#8217;interfaces très intéressant (surtout grâce à des outils tes que Microsoft Expression Blend), pourquoi ne pas utiliser les deux ?</p>
<p>C&#8217;est désormais possible, grâce à <a href="http://www.soyatec.com/eface/">eFace</a> : Un framework de présentation indépendant de la plateforme et de la technologie. Le cœur de eFace est nommé UPF Unified Presentation Framework, où vous décrivez vos interfaces grâce à un langage de balises XML compatible à 100% avec XAML de Microsoft (mais pas le contraire). Votre application aura donc le même code source mais sera affiché grâce au moteur de rendu spécifique de la plateforme ou elle s&#8217;exécute (WPF pour Windows, Swing ou SWT pour JAVA &#8230;).</p>
<p>Ceci parait trés intéréssant, reste à savoir jusqu&#8217;à quel point les interfaces WPF seront compatibles avec eFace ?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.riadbenguella.com/eface-xaml-et-wpf-pour-java/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

