<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>peLmeL.org</title>
	<link>http://pelmel.org/spip/</link>
	<description />
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>

	<image>
		<title>peLmeL.org</title>
		<url>http://pelmel.org/spip/IMG/siteon0.png</url>
		<link>http://pelmel.org/spip/</link>
		<height>200</height>
		<width>274</width>
	</image>




	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Pelmelorg" type="application/rss+xml" /><item>
		<title>Zend_Tool : Installation et génération d'une première application</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/5omIvK3VXmE/Zend-Tool-Installation-et</link>
		<guid isPermaLink="false">http://pelmel.org/spip/Zend-Tool-Installation-et</guid>
		<dc:date>2009-07-02T11:10:28Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-PHP-Applications-et-Framework-">PHP, Applications et Framework</category>


		<description>Depuis la branche 1.7, Zend Framework propose de nouveaux outils pour créer rapidement des projets. La branche 1.8 a officilialisé ces nouveaux composants (qui n'en sont pas tout à fait) et marque, à mon avis, une avancé intéressante du framework pour en faire un véritable cadre de développement.

-
&lt;a href="http://pelmel.org/spip/-PHP-Applications-et-Framework-" rel="directory"&gt;PHP, Applications et Framework&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">Depuis la branche 1.7, Zend Framework propose de nouveaux outils pour créer rapidement des projets. La branche 1.8 a officilialisé ces nouveaux composants (qui n'en sont pas tout à fait) et marque, à mon avis, une avancé intéressante du framework pour en faire un véritable cadre de développement.</p> <p class="spip">Pour plus d'informations sur la genèse et les objectifs de Zend_Tool je vous invite à lire <a href="http://devzone.zend.com/article/4559-Zend_Tool-and-ZF-1.8" class="spip_out">cet article</a> très intéressant sur le sujet.</p> <p class="spip">A l'aide d'une machine virtuelle, déjà présenté dans les articles précédents, j'ai donc mis en place mes première applications à l'aide de Zend Tool.</p> <h3 class="spip">Installation</h3>
<p class="spip">Pour le tester, sur mon serveur, j'ai préféré récupérer les sources depuis le svn. En deux lignes de commande cela donne ça :</p> <div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$ svn checkout http://framework.zend.com/svn/framework/standard/trunk
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$ sudo cp -r trunk/library/Zend /usr/share/php/Zend</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/de63a976f7431f3f7bd69dad5a28dabd.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">La deuxième ligne permet de rendre accessible le framework sur un espace partagé permettant à toutes les applications de pouvoir utiliser le framework.</p> <p class="spip">Pour accéder aux binaires, plusieurs solutions. On peut copier zf.sh dans /usr/share/php et ensuite faire un lien de /usr/bin/zf vers /usr/shar/php. Autre solution, éditez le fichier .bashrc se trouvant à la racine de votre répertoire utilisateur et intégrez le répertoire bin du Zend Framework dans les $PATH.</p> <p class="spip">Lignes à insérer dans votre fichier .bashrc :</p>
<div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"># Edition du fichier .bashrc
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">PATH=$PATH:~/Project/Zend/trunk/bin
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">alias zf=zf.sh</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/9a4937151705e3d617a4e61fcd344cce.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">Il suffit ensuite de recharger ce fichier pour rendre votre Zend_Tool opérationnel.</p>
<div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$ source ~/.bashrc
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$ zf show version </div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Zend Framework Version: 1.8.0dev</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/269d661ab42d6dcb041bf97bbd25d0d8.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<h3 class="spip">Création d'une application</h3>
<p class="spip">Une fois votre script paramétré, il suffit ensuite de taper la commande suivante pour créer un projet</p> <div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">zf create project /var/www/monprojet</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/a755ab6a3f358b80163c34b9ed3ec0ef.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">Et hop le projet est créé et on peut ensuite naviguer dans l'arborescence du site :</p> <form action="/" method="get"><div><textarea readonly='readonly' cols='40' rows='26' class='spip_cadre' dir='ltr'>./.zfproject.xml ./public ./public/.htaccess ./public/index.php ./application ./application/controllers ./application/controllers/ErrorController.php ./application/controllers/IndexController.php ./application/Bootstrap.php ./application/views ./application/views/scripts ./application/views/scripts/error ./application/views/scripts/error/error.phtml ./application/views/scripts/index ./application/views/scripts/index/index.phtml ./application/views/helpers ./application/configs ./application/configs/application.ini ./application/models ./library ./tests ./tests/application ./tests/application/bootstrap.php ./tests/library ./tests/library/bootstrap.php ./tests/phpunit.xml</textarea></div></form>
<p class="spip">Niveau web ça donne ça : <span class='spip_document_32 spip_documents spip_documents_left' style='float:left; width:520px;' >
<img src='http://pelmel.org/spip/IMG/jpg/httpzf.local_-_Google_Chrome_26062009_170451-2.jpg' width='520' height='420' alt="" style='height:420px;width:520px;' class='' /></span></p> <h3 class="spip">Conclusion</h3>
<p class="spip">En conclusion cette première approche est intéressante.Cet outil permet d'aller plus rapidement à l'essentiel, à savoir le développement d'une application. Reste à voir maintenant si ce dit développement est facilité par l'utilisation de l'outil (création simple des modules ou de nouveaux controlleur par exemple ) et l'implémentation avec Zend_Application.</p> <p class="spip">Affaire à suivre, si vous avez des infos ou des retours d'expérience je suis preneur.</p></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/JYBl0PeNE5BJvvmUK21uTegnLpg/0/da"><img src="http://feedads.g.doubleclick.net/~a/JYBl0PeNE5BJvvmUK21uTegnLpg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JYBl0PeNE5BJvvmUK21uTegnLpg/1/da"><img src="http://feedads.g.doubleclick.net/~a/JYBl0PeNE5BJvvmUK21uTegnLpg/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/Zend-Tool-Installation-et</feedburner:origLink></item>



	<item>
		<title>Vivement Lundi ! ou Mardi ! ou Mercredi ?</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/6TDsxccus5E/Vivement-Lundi</link>
		<guid isPermaLink="false">http://pelmel.org/spip/Vivement-Lundi</guid>
		<dc:date>2009-06-26T18:59:45Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-PHP-Applications-et-Framework-">PHP, Applications et Framework</category>


		<description>Amélioration du modèle Objet, intégration du namespace et goto... Enfin PHP 5.3 arrive !

-
&lt;a href="http://pelmel.org/spip/-PHP-Applications-et-Framework-" rel="directory"&gt;PHP, Applications et Framework&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">Amélioration du modèle Objet, intégration du namespace et goto... Enfin PHP 5.3 arrive !</p> <p class="spip">Ca fait longtemps que j'en parle. Résumé des épisodes précédents : <br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> <a href="http://pelmel.org/spip/Bonne-Annee-2008" class="spip_out">Sortie en 2008 ?</a>
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> <a href="http://pelmel.org/spip/08-08-08-The-End-of-PHP-4" class="spip_out">La fin de PHP 4 !</a>
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> <a href="http://pelmel.org/spip/Transitions-partie-2-PHP-5-3" class="spip_out">L'alpha 1 est de sortie</a>
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> <a href="http://pelmel.org/spip/Du-nouveau-autour-de-PHP-5-3-et-5" class="spip_out">Du nouveau autour de PHP 5.3</a>
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> <a href="http://pelmel.org/spip/Bonne-Annee-2009" class="spip_out">Sortie en 2009 ?</a></p> <p class="spip">Celà fait bien un an et demi qu'on l'attend impatiemment, <a href="http://blog.pascal-martin.fr/post/php-5.3-introduction-sommaire" class="spip_out">Pascal Martin</a> à fait une excellente série sur le sujet et devrait bientôt poster quelques nouveaux billets.</p> <p class="spip">Maintenant il va falloir mettre à jour les serveurs, attendre les packages des distributions ou le compiler pour les plus pressés qui essuieront les plâtres et permettront une 5.31 rapidement. Il va falloir attendre aussi que les hébergeurs s'y mettent vraiment. Les frameworks et les applications devraient suivre le pas aussi, l'attente ayant été tellement forte. Reste encore à patienter pour PHP 5.4 et PHP 6 !</p> <p class="spip">Mais rassurez vous, il y'aura bien, quelque part sur le web, une application PHP4 qui vit encore...</p> <div><object type="application/x-shockwave-flash" data="http://www.wat.tv/swf2/634412N5bj0FC970765" width="470" height="312" id="wat_970765"><param name="movie" value="http://www.wat.tv/swf2/271111Jz9eq6x970765" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" />Veuillez installer Flash Player pour lire la vidéo</object></div><div class="watlinks" style="width:470px;font-size:11px; background:#CCCCCC; padding:2px 0 4px 0; text-align: center;"><a target="_blank" class="waturl" href="http://www.wat.tv/video/michael-jackson-thriller-1983-kt1p_f70o_.html"><strong>Michael Jackson - Thriller [1983]</strong></a> sélectionné dans <a href="http://www.wat.tv/guide/musique" class="waturl alttheme" title="Musique">Musique</a> et <a href="http://www.wat.tv/guide/clip-musique" class="waturl altrubrique" title="Clips">Clips</a> </div></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/ojt3RRkIoDptgFf6aRk7OhpF1Sg/0/da"><img src="http://feedads.g.doubleclick.net/~a/ojt3RRkIoDptgFf6aRk7OhpF1Sg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ojt3RRkIoDptgFf6aRk7OhpF1Sg/1/da"><img src="http://feedads.g.doubleclick.net/~a/ojt3RRkIoDptgFf6aRk7OhpF1Sg/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/Vivement-Lundi</feedburner:origLink></item>



	<item>
		<title>Mise en place du Virtual Hosting de Masse, ou comment se simplifier la vie lors de la création d'un projet.</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/UiP2JDdheLY/Mise-en-place-du-Virtual-Hosting</link>
		<guid isPermaLink="false">http://pelmel.org/spip/Mise-en-place-du-Virtual-Hosting</guid>
		<dc:date>2009-06-22T13:28:56Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-Cote-serveur-">Coté serveur</category>


		<description>Désolé de ce titre un peu long, mais Virtual Hosting de Masse ne parle pas à tout le monde. En quelques mots nous allons voir dans ce post comment utiliser une technique bien connu des hébergeurs pour déployer facilement un nouveau projet.

-
&lt;a href="http://pelmel.org/spip/-Cote-serveur-" rel="directory"&gt;Coté serveur&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">Désolé de ce titre un peu long, mais Virtual Hosting de Masse ne parle pas à tout le monde. En quelques mots nous allons voir dans ce post comment utiliser une technique bien connu des hébergeurs pour déployer facilement un nouveau projet.</p> <h3 class="spip">Objectifs et problématique</h3>
<p class="spip">Comme tout geek qui se respecte, vous avez certainement plusieurs projets web en route et aimeriez facilement les mettre en oeuvre sur votre serveur pour les tester. La première solution consiste à mettre un répertoire par projet sur votre espace web. Une autre solution, plus évoluée, consiste créer un hôte virtuel pour chaque projet ce qui permet de tester votre site en conditions d'hébergement avec son adresse locale. Pour vous simplifier encore la vie, il est possible d'automatiser la création d'hôtes virtuel en utilisant un système de virtual hosting de masse configurable sous Apache.</p> <h3 class="spip">Virtual Hosting de Masse quézaco ?</h3>
<p class="spip">Le principe est simple et utilisé chez quasiment tous les hébergeurs mutualisés. En gros, apache va faire le lien entre le nom de domaine et un répertoire situé sur votre serveur qui devra porter le même nom (pour faire simple).</p> <p class="spip">Pour commencer, créez un répertoire dans votre répertoire utilisateur qui accueillera vos site.</p> <p class="spip">Exemples :</p>
<div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$ mkdir Sites</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/5b22b4fb960800fd6009b0e324544bca.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">Ensuite il faut bien prendre en compte que le nom de vos répertoires à l'intérieur de celui-ci devront prendre l'adresse de votre site. En pratique si vous voulez créer un drupal.local ou un zf.app vous devrez créer les répertoires suivants :</p>
<div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$ mkdir Sites/drupal.local
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$ mkdir Sites/zf.app</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/18849d5cf065514dd0ab7d9d6196902b.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">Autre subtilité, le nom du répertoire public (celui accessible par le réseau) doit être identique à tous vos sites, donc vous devrez placer vos scripts PHP dans le même. Par défaut j'ai choisi public. Dans le cas d'un projet Zend Framework créé par Zend_Tool vous n'aurez rien à faire, pour le site Drupal il faudra créer ce répertoire :</p> <div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$ mkdir Sites/drupal.local/public</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/40c72cab340a1fe8f27e15fbc01749c6.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">Vos répertoires étant maintenant en place vous pouvez éditer la configuration et utiliser la directive VirtualDocumentRoot d'apache permettant de mettre en place votre virtual hosting. Editez votre fichier httpd.conf et ajoutez y la directive suivante :</p> <div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">VirtualDocumentRoot /home/brice/Sites/%0/public</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/f82fc8dd43ff027972a74fcb6eae6bc4.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">En rédémarrant apache, la liaisons nom de domaine -> répertoire serveur est faite. Il suffit pour le vérifier en association l'adresse ip de votre VM avec un nom de domaine (ex drupal.local). Pour le moment, pour des raisons de sécurité, vos sites ne sont pas accessibles. La dernière opération consiste donc à les rendre tous accessibles. Pour cela il convient de définir les paramètres de votre répertoire d'accueil dans un bloc Directory comme ceci :</p> <div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;Directory "/home/brice/Sites"&gt;
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> Options Indexes FollowSymLinks
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> AllowOverride All
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> Order allow,deny
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> Allow from all
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;/Directory&gt;</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/bff8e34961d3e0b8d73bc13fb859ffa4.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">On autorise ainsi l'accès et la possibilité de mettre en place des fichiers .htaccess de toutes sortes.</p> <p class="spip">Voilà votre VM est en place et la création d'un nouvel accès ne vous demandera qu'une ou deux ligne de commandes. Merci Apache !</p> <p class="spip"><a href="http://www.flickr.com/photos/bricef/3600818015/" title="Tour d'horloge by Brice F., on Flickr"><img src="http://pelmel.org/spip/local/cache-vignettes/L500xH333/3600818015_307bc-d96c1.jpg" width='500' height='333' alt="Tour d'horloge" style='height:333px;width:500px;' class='' /></a></p></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/a50updyk_lUVLcwdZX_4vksntsA/0/da"><img src="http://feedads.g.doubleclick.net/~a/a50updyk_lUVLcwdZX_4vksntsA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/a50updyk_lUVLcwdZX_4vksntsA/1/da"><img src="http://feedads.g.doubleclick.net/~a/a50updyk_lUVLcwdZX_4vksntsA/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/Mise-en-place-du-Virtual-Hosting</feedburner:origLink></item>



	<item>
		<title>Virtualisation : mais pourquoi faire ?</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/fQouMEOMcH0/Virtualisation-mais-pourquoi-faire</link>
		<guid isPermaLink="false">http://pelmel.org/spip/Virtualisation-mais-pourquoi-faire</guid>
		<dc:date>2009-06-18T11:47:17Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-peLmeL-Blog-">peLmeL Blog</category>


		<description>Je viens de terminer, avec &lt;a href="http://blog.pascal-martin.fr/" title="Blog Pascal Martin"&gt;Pascal&lt;/a&gt;, un article sur la virtualisation et la mise en place d'un LAMP. C'est l'occasion pour moi de conclure un post que j'avais commencé lors de mes premières expériences sur le sujet.

-
&lt;a href="http://pelmel.org/spip/-peLmeL-Blog-" rel="directory"&gt;peLmeL Blog&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">Il y'a de cela quelques années, pour développer un site internet dynamique, il fallait disposer d'un serveur web et, bien souvent, les développeurs passaient sous linux. Ensuite il y'a eu <a href="http://www.easyphp.org/" class="spip_out">EasyPHP</a>, permettant de tester ses développements en local. Depuis ce produit à fait long feu mais d'autres ont suivi : <a href="http://www.wampserver.com/" class="spip_out">WampServer</a> ou <a href="http://www.apachefriends.org/fr/xampp.html" class="spip_out">XAMPP</a>.</p> <p class="spip">Toutefois, ces applications, très pratiques en soit, sont sujettes à de nombreux soucis liés, non pas à leurs conceptions, mais à la plateforme sur laquelle elles reposent. Windows est loin d'être calibré pour répondre à des besoins poussés. En clair, faire tourner une application un tant soit peu gourmande en fichiers relève du masochisme pur et simple. Donc de plus en plus de développeurs se tournent vers la mise en place de serveurs virtualisés Linux sur leur machines de travail.</p> <h3 class="spip">Comment ça marche ?</h3>
<p class="spip">Je ne vais pas détailler ici le principe complet de la virtualisation [<a href="http://pelmel.org/spip/#nb3-1" name="nh3-1" id="nh3-1" class="spip_note" title='[1] Pour cela rien de mieux que de se référer à wikipedia.' >1</a>], mais plutôt parler des outils permettant d'arriver rapidement à la mise en place d'un serveur.</p> <p class="spip">Le plus pratique est, à mon avis, <a href="http://www.virtualbox.org/" class="spip_out">Sun VirtualBox</a> qui permet de créer et de gérer des machines de façons très simple. Il suffit d'installer le produit, de télécharger l'iso d'une machine Linux et c'est parti. On peut opérer la même chose sur la dernière béta de Windows 7 ou sur une version de test d'un serveur windows, c'est plutôt gourmand en espace disque.</p> <p class="spip">L'autre outil majoritairement répandu est <a href="http://www.vmware.com/fr/" class="spip_out">VMWare</a>. Il propose une application serveur pour déployer des machines et une application player permettant de les utiliser. En parcourant le net, j'ai découvert sur le site <a href="http://www.thoughtpolice.co.uk/vmware/" class="spip_out">ThoughtPolice</a> proposant des images vmware toutes faites à utiliser avec le player. Ce site propose même des guides rapides de prise en main des différentes distributions proposés. Je n'ai par contre pas fait d'essai du serveur.</p> <h3 class="spip">Quels avantages ?</h3>
<p class="spip">Il y'a énormément d'avantages à utiliser les machines virtuels qu'elle soient sous Linux ou sous Windows. Je vais en citer ici quelques uns, mais la liste est bien entendu non exhaustive.</p> <p class="spip">Premier avantage, la performance. Si vous bossez en PHP, avec un framework ou une application un peu gourmande en fichier, une machine virtuelle Linux vous fera gagner un temps énorme et ceci malgré les ressources qu'elle prendra [<a href="http://pelmel.org/spip/#nb3-2" name="nh3-2" id="nh3-2" class="spip_note" title='[2] En pratique si vous avez un processeur multi coeur vous ne sentirez (...)' >2</a>]. Les développeurs eZPublish ont vu leur vie changer du tout au tout.</p> <p class="spip">Autre avantage, la facilité de déploiement d'un poste de développement. En clair, il suffit de préparer la machine une fois pour toute et la copier pour que tous les développeurs d'un même projet ai la même configuration de développement. Un gain de temps énorme et surtout la garantie de ne pas perdre du temps sur des questions d'incompatibilité.</p> <p class="spip">Le découpage des applications est aussi un avantage certains. Plutôt que de tout déployer sur la même machine, de se retrouver avec des projets à tire-larigot, une VM minimale pour chaque projet vous permettra de mieux cloisonner vos projets. Pensez dans ce cas à faire un raccourci vers votre fichier hosts pour gérer votre DNS local.</p> <p class="spip">On pourrait aussi citer d'autres avantages comme : <br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Tester le clustering.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Tester des nouvelles distributions.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Se frotter à la ligne de commande sans risque de tout casser.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Se former à l'administration Linux.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Préparer des postes de formations.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Être indépendant du système hôte et pouvoir développer quelque soit la machine.</p> <p class="spip">La liste est vaste et je vous laisserai la compléter.</p> <h3 class="spip">Quelques inconvénients</h3>
<p class="spip">Après bientôt un an d'utilisation diverses, je vois quelques défauts aux VM dont il faut bien faire attention.</p> <p class="spip">Tout d'abord, ça prends de la place. Il faut compter facilement 2 à 4go pour une VM de base et parfois beaucoup plus quand elle est lancée. Du coup les pauvres disques de 50Go sont à la peine. Sur ce point VirtualBox fait un peu mieux que VMWare avec un gestionnaire de disque plutôt pas mal foutu. L'avantage des images VMWare étant qu'elles sont plus facilement copiable, zippable et archivable. Pensez à acheter un disque dur.</p> <p class="spip">Ensuite l'autre point où je n'ai pas trouver de solutions satisfaisante est le partage des données entre la machine virtuelle et le poste de développement. La meilleure solution à ce jour est de crée un partage samba et d'ouvrir un lecteur réseau. L'inconvénient est de bien penser à recréer ce lecteur réseau et lui associer une lettre de lecteur toujours fixe. Effectuer une création au démarrage est une bonne idée mais il ne faudra pas oublier de lancer la VM. En pratique ça va, on s'en sort mais parfois un oubli fait d'un coup ramé le poste. Merci Windows.</p> <h3 class="spip">Verdict</h3>
<p class="spip">En conclusion je vous invite à vous laisser tenter par l'utilisation de VM. Aujourdhui la puissance des machines le permet et le gain est extraordinaire. Voici quelques liens pour aller plus loin. A suivre également, quelques posts sur des éléments que je suis en train de mettre en place pour des projets Zend Framework et Drupal.</p> <p class="spip"><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Article sur LinuxMag : <a href="http://www.linux-mag.com/id/7266" class="spip_out">http://www.linux-mag.com/id/7266</a>.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Télécharger des VM : <a href="http://www.thoughtpolice.co.uk/vmware/" class="spip_out">ThoughtPolice</a>.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Site de VirtualBox : <a href="http://www.virtualbox.com/" class="spip_out">http://www.virtualbox.com/</a>
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Site de VMWare : <a href="http://www.vmware.com/" class="spip_out">http://www.vmware.com/</a></p></div>
		<hr />
		<div class='rss_notes'><p class="spip_note">[<a href="http://pelmel.org/spip/#nh3-1" name="nb3-1" class="spip_note" title="Notes 3-1">1</a>] Pour cela rien de mieux que de se référer à <a href="http://fr.wikipedia.org/wiki/Virtualisation" class="spip_out">wikipedia</a>.</p> <p class="spip_note">[<a href="http://pelmel.org/spip/#nh3-2" name="nb3-2" class="spip_note" title="Notes 3-2">2</a>] En pratique si vous avez un processeur multi coeur vous ne sentirez quasiment rien.</p></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/OTyA3RJLPXpRSuNRDFtpaxqg8rQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/OTyA3RJLPXpRSuNRDFtpaxqg8rQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OTyA3RJLPXpRSuNRDFtpaxqg8rQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/OTyA3RJLPXpRSuNRDFtpaxqg8rQ/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/Virtualisation-mais-pourquoi-faire</feedburner:origLink></item>



	<item>
		<title>Tout Cocher/Tout décocher en Javascript</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/CzMKRpDswhY/Tout-Cocher-Tout-decocher-en</link>
		<guid isPermaLink="false">http://pelmel.org/spip/Tout-Cocher-Tout-decocher-en</guid>
		<dc:date>2009-06-17T08:42:13Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-Bouts-de-code-">Bouts de code</category>


		<description>C'est vraiment galère quand on a pas de framework JS pour trouver un bout de code permettant de cocher l'ensemble des checkbox d'un formulaire. Voici un bout de code qui devrait répondre à toutes les situations.

-
&lt;a href="http://pelmel.org/spip/-Bouts-de-code-" rel="directory"&gt;Bouts de code&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">C'est vraiment galère quand on a pas de framework JS pour trouver un bout de code permettant de cocher l'ensemble des checkbox d'un formulaire. Voici un bout de code qui devrait répondre à toutes les situations. Je me suis inspiré de ce bout de code ci : <a href="http://www.developpez.net/forums/d26897/webmasters-developpement-web/html-dhtml-xhtml/cocher-check-box/" class="spip_out">http://www.developpez.net/forums/d26897/webmasters-developpement-web/html-dhtml-xhtml/cocher-check-box/</a></p> <p class="spip"><strong class="spip">Fonction javascript chkAllBoxes</strong></p>
<div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre javascript"><div class="javascript" style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> checkflag = <span style="color: #3366CC;">"false"</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> </div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> checkAllBoxes <span style="color: #66cc66;">&#40;</span>fields<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>checkflag == <span style="color: #3366CC;">"false"</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>fields.<span style="color: #006600;">length</span> == undefined<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> fields.<span style="color: #006600;">checked</span> = <span style="color: #003366; font-weight: bold;">true</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #66cc66;">}</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #66cc66;">&#40;</span>i = <span style="color: #CC0000;">0</span>; i &lt; fields.<span style="color: #006600;">length</span>; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> fields<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">checked</span> = <span style="color: #003366; font-weight: bold;">true</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #66cc66;">}</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #66cc66;">}</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> checkflag = <span style="color: #3366CC;">"true"</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">"Tout décocher"</span>; </div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #66cc66;">}</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>fields.<span style="color: #006600;">length</span> == undefined<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> fields.<span style="color: #006600;">checked</span> = <span style="color: #003366; font-weight: bold;">false</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #66cc66;">}</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #66cc66;">&#40;</span>i = <span style="color: #CC0000;">0</span>; i &lt; fields.<span style="color: #006600;">length</span>; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> fields<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">checked</span> = <span style="color: #003366; font-weight: bold;">false</span>; </div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #66cc66;">}</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #66cc66;">}</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> checkflag = <span style="color: #3366CC;">"false"</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">"Tout cocher"</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #66cc66;">}</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">}</span></div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/c6b3dc8fa14b7a7368afbd68b77acb17.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip"><strong class="spip">Utilisation en HTML : </strong></p>
<div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre html"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;form id="idForm"&gt;
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;input type="checkbox" name="list[]"/&gt;
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;input type="button" value="Tout cocher" onclick= "this.value=check(document.getElementById('idForm').elements['list[]'])" /&gt;
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;/form&gt;</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/c7cd5dad48ca7794dcbbbac80c1613f5.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">Well Done !</p></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/xRiqjhZmt1RDOOlVWkxHdONI2-M/0/da"><img src="http://feedads.g.doubleclick.net/~a/xRiqjhZmt1RDOOlVWkxHdONI2-M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/xRiqjhZmt1RDOOlVWkxHdONI2-M/1/da"><img src="http://feedads.g.doubleclick.net/~a/xRiqjhZmt1RDOOlVWkxHdONI2-M/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/Tout-Cocher-Tout-decocher-en</feedburner:origLink></item>



	<item>
		<title>Extension Zend Framework : Projet Zend X</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/axsnRicgMnY/Extension-Zend-Framework-Projet</link>
		<guid isPermaLink="false">http://pelmel.org/spip/Extension-Zend-Framework-Projet</guid>
		<dc:date>2009-06-10T14:31:30Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-PHP-Applications-et-Framework-">PHP, Applications et Framework</category>


		<description>Le framework Symfony a pour réputation (vérifiée) d'avoir une base très étendues de plugins. Zend Framewok lui a plutôt la réputation d'avoir un mode de contribution solide mais plus lent.

-
&lt;a href="http://pelmel.org/spip/-PHP-Applications-et-Framework-" rel="directory"&gt;PHP, Applications et Framework&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">Le framework Symfony a pour réputation (vérifiée) d'avoir une base très étendues de plugins. Zend Framewok lui a plutôt la réputation d'avoir un mode de contribution solide mais plus lent. Au cours d'un travail de comparatif, je me suis penché sur le sujet pour me faire une idée. J4ai découvert à cet occasion l'existence du projet <a href="http://code.google.com/p/zendx/" class="spip_out">ZendX</a> pour Zend Framework eXtensions Library.</p> <p class="spip">Pour le moment il existe assez peu de documentation sur le sujet, mais il est à noter que <a href="http://code.google.com/p/zendx/" class="spip_out">ZendX</a> dispose de son propre espace de nom pour ne pas renter en conflit avec les librairies Zend. La documentation contient même des éléments à ce sujet sur <a href="http://framework.zend.com/manual/fr/zendx.console.process.unix.html" class="spip_out">ZendX_Console_Process_Unix</a> pour faire du multitasking en PHP et <a href="http://framework.zend.com/manual/fr/zendx.jquery.html" class="spip_out">ZendX_Jquery</a> pour l'intégration du célèbre framework Javascript et de son extension UI.</p> <p class="spip">Pour l'instant le projet semble encore à ses débuts mais il devrait être intéressant à suivre.</p> <p class="spip">Question annexes :
Est ce que par hasard, vous avez justement connaissance de projet permettant d'étendre les composants de Zend Framework ou des packagings d'architecture ?</p></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/AsiAX_o6QkuNhS_RFogqgXCzIKY/0/da"><img src="http://feedads.g.doubleclick.net/~a/AsiAX_o6QkuNhS_RFogqgXCzIKY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/AsiAX_o6QkuNhS_RFogqgXCzIKY/1/da"><img src="http://feedads.g.doubleclick.net/~a/AsiAX_o6QkuNhS_RFogqgXCzIKY/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/Extension-Zend-Framework-Projet</feedburner:origLink></item>



	<item>
		<title>CentOS, RHEL : Go PHP 5.2 !</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/g5ivhhlpy34/CentOS-RHEL-Go-PHP-5-2</link>
		<guid isPermaLink="false">http://pelmel.org/spip/CentOS-RHEL-Go-PHP-5-2</guid>
		<dc:date>2009-06-02T11:54:57Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-Cote-serveur-">Coté serveur</category>


		<description>Après quelques années de développement et l'abandon complet de la branche PHP 4, la version 5 de PHP rentre peu à peu dans les moeurs. Les applications et frameworks, eux aussi, évoluent. Il devient même courant que PHP 5.2 soit un pré-requis indispensable à la mise en place d'une application.

-
&lt;a href="http://pelmel.org/spip/-Cote-serveur-" rel="directory"&gt;Coté serveur&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">Après quelques années de développement et l'abandon complet de la branche PHP 4, la version 5 de PHP rentre peu à peu dans les moeurs. Les applications et frameworks, eux aussi, évoluent. Il devient même courant que PHP 5.2 soit un pré-requis indispensable (en théorie [<a href="http://pelmel.org/spip/#nb6-1" name="nh6-1" id="nh6-1" class="spip_note" title='[1] Les tests pratiques montrent que PHP 5.1.6 fonctionne pas si (...)' >1</a>]) à la mise en place d'une application. Citons entre autres : <br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Zend Framework 1.8.2
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Symfony 1.2
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Doctrine
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Drupal 7</p> <p class="spip">Etrange donc que certaines distributions ou hébergeur reste sur des anciennes branches de PHP 5. D'un point de vue sécurité et maintenance c'est carrément une aberration, car quand une nouvelle branche est lancée, l'ancienne est abandonnée.</p> <p class="spip">Heureusement, comme souvent dans l'open source, de vaillants développeurs pallie les manques de distribution phare comme c'est le cas pour CentOS ou Redhat</p> <h3 class="spip">GO PHP 5.2 in RedHat or Centos !</h3>
<p class="spip">Tout se passe ici : <a href="http://www.jasonlitka.com/yum-repository/" class="spip_out">http://www.jasonlitka.com/yum-repository/</a>. Il s'agit d'un dépôt, non officiel, contenant des paquets à jour pour les distributions utilisant le système RPM (soit principalement Red Hat et CentOS). Pour ces distributions j'utilise l'application Yum donc c'est pour celle-ci que fonctionne ce tutoriel.</p> <p class="spip">Pour valider la provenance des paquets dans le systèmes, commençons par importer la clé du dépot :</p>
<div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"># rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/69158499003c61c482d3e42ab27d20d1.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">On créé ensuite un fichier contenant les information du dépots. Ces fichiers se trouve dans le répertoire /etc/yum.repos.d et prennent le nom du dépot suivi de l'extension .repo, soit, dans notre cas, /etc/yum.repos.d/utterramblings.repo.</p> <p class="spip">Ajouter à l'intérieur les lignes suivantes.</p>
<div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre shell"><div style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">[utterramblings]
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">name=Jason's Utter Ramblings Repo
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">enabled=1
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">gpgcheck=1
</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/ff329265c000c7e88f120ba07c821daa.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">Si tout se passe bien, un simple yum update va ensuite mettre à jour les différents éléments de votre distribution. Si jamais vous obtenez des erreurs 404 au moment de cette étape, c'est que $releasersever et $basesearch ne sont pas renseigné. Pour cela modifier le fichier et remplacer par vos informations : <br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> $releasever : 4 ou 5 selon le cas.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> $basearch : Architecture soit i386 ou x86_64.</p> <p class="spip">Et voilà de quoi vous libérer des chaines des dépôts officiels.</p> <p class="spip"><a href="http://www.flickr.com/photos/bricef/3584209551/" title="Set me free! by Brice F., on Flickr"><img src="http://pelmel.org/spip/local/cache-vignettes/L500xH335/3584209551_e61ec-77721.jpg" width='500' height='335' alt="Set me free!" style='height:335px;width:500px;' class='' /></a></p></div>
		<hr />
		<div class='rss_notes'><p class="spip_note">[<a href="http://pelmel.org/spip/#nh6-1" name="nb6-1" class="spip_note" title="Notes 6-1">1</a>] Les tests pratiques montrent que PHP 5.1.6 fonctionne pas si mal.</p></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/plvniH2gQJ9xu9ZfGHrQTsHpgVA/0/da"><img src="http://feedads.g.doubleclick.net/~a/plvniH2gQJ9xu9ZfGHrQTsHpgVA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/plvniH2gQJ9xu9ZfGHrQTsHpgVA/1/da"><img src="http://feedads.g.doubleclick.net/~a/plvniH2gQJ9xu9ZfGHrQTsHpgVA/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/CentOS-RHEL-Go-PHP-5-2</feedburner:origLink></item>



	<item>
		<title>Un plugin Media Player pour FCKEditor</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/2bz_e4Plyb0/Un-plugin-Media-Player-pour</link>
		<guid isPermaLink="false">http://pelmel.org/spip/Un-plugin-Media-Player-pour</guid>
		<dc:date>2009-05-29T13:24:59Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-peLmeL-Blog-">peLmeL Blog</category>


		<description>Je travaille actuellement à l'amélioration d'un CMS basé sur Copix. J'en reparlerais d'ailleurs dans un prochain billet qui est en cours d'écriture. L'essentiel du travail consiste à refondre et améliorer l'éditeur de page qui utilise FCKEditor.

-
&lt;a href="http://pelmel.org/spip/-peLmeL-Blog-" rel="directory"&gt;peLmeL Blog&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">Je travaille actuellement à l'amélioration d'un CMS basé sur Copix. J'en reparlerais d'ailleurs dans un prochain billet qui est en cours d'écriture. L'essentiel du travail consiste à refondre et améliorer l'éditeur de page qui utilise FCKEditor.</p> <p class="spip">On peut douter du bien fondé de l'utilisation de ce genre d'éditeur pour de l'édition de contenu. Dans le cadre du site en question il est utilisé de façon raisonné (pas de mise en page qui pête, des plugins qui ajoute des ponts vers le CMS)</p> <p class="spip">Le point bloquant jusqu'à présent est le manque d'outil pour facilement :
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Ajouter des flash
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Ajouter des fichiers médias : AVI, mp3, flv.</p> <p class="spip">Pour le premier point, bonne nouvelle, les dernières versions de FCKEditor le gère directement. Pour le deuxième point, il faut aller à la recherche d'un plugin.</p> <h3 class="spip">Media Player pour FCK Editor</h3>
<p class="spip">Avec mon meilleur ami sur le net, je suis donc parti à la recherche d'un plugins idoine. Le premier plugins que j'ai trouvé utilise <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1856051&group_id=75348&atid=737639" class="spip_out">FLVPlayer</a>. A première vue il semble très intéressant, facile à mettre en place mais il souffre de quelques défauts.</p> <p class="spip">Tout d'abord il y'a trop d'options. Couleurs de fond, hauteur, largeur, watermark, image de preview. Oui bien mais mes utilisateurs n'en demandent pas temps et je songe qu'ils seront vite perdus. L'autre poins assez contraignant est lié à la prévisualisation de l'emplacement du média dans l'éditeur. Il s'agit d'un simple div pas commode à modifier et surtout difficile à effacer. Ce qui achève le tout c'est qu'il m'est avéré impossible de lire un avi.</p> <p class="spip">En cherchant un peu mieux, je suis tombé sur <a href="http://bugs.sakaiproject.org/jira/browse/SAK-15523" class="spip_out">un petit plugin</a> développé par le projet Jira. Au premier abord il ne paie pas de mine mais il a l'avantage de bien fonctionné. Le seule problème trouvé est qu'il ne gère pas les mp3. A que celà ne tienne, on va l'améliorer.</p> <h3 class="spip">Pour quelques modifications en plus</h3>
<p class="spip">Ce plugin utilise en fait un lecteur flash pour lire les fichiers FLV. J'ai donc été à la recherche d'un fichier identique pour lire les mp3 et je suis tombé sur le <a href="http://www.alsacreations.fr/dewplayer" class="spip_out">dewplayer</a> que j'ai mis dans le répertoire de movieplayer.</p> <p class="spip">Il m'a suffit donc d'ajouter un lien vers ce player dans le fichier movieplayer.js comme lecteur alternatif. J'en ai profité pour utilisé les variables de configuration.</p> <div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre javascript"><div class="javascript" style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> flashPlayer = oEditor.<span style="color: #006600;">FCKConfig</span>.<span style="color: #006600;">PluginsPath</span> + <span style="color: #3366CC;">"movieplayer/player_flv_maxi.swf"</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> flashPlayerAlt = oEditor.<span style="color: #006600;">FCKConfig</span>.<span style="color: #006600;">PluginsPath</span> + <span style="color: #3366CC;">"movieplayer/dewplayer.swf"</span>;</div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/c6967af732a1a7af9c4a6b1c1221976d.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">En étudiant ensuite le code, j'ai remarqué que le système effectuait un contrôle sur le type de contenu envoyé. J'ai donc simplement repris le code présenté en exemple sur le site dewplayer et l'ai adapté pour l'insérer dans le plugin (A partir de la ligne 203) :</p>
<div class="coloration_code"><div style="text-align: $spip_lang_left;" class="spip_cadre javascript"><div class="javascript" style="font-family: monospace;"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">}</span><span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">contentType</span> == <span style="color: #3366CC;">"audio/mpeg"</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">{</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">autoplay</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">autoplay</span> == <span style="color: #3366CC;">'true'</span> || <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">autoplay</span> == <span style="color: #3366CC;">'1'</span><span style="color: #66cc66;">&#41;</span> ? <span style="color: #3366CC;">'true'</span> : <span style="color: #3366CC;">'false'</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> s += <span style="color: #3366CC;">'&lt;OBJECT id="movie'</span> + rnd + <span style="color: #3366CC;">'" '</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> s += <span style="color: #3366CC;">' type="application/x-shockwave-flash" '</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> s += <span style="color: #3366CC;">' data="'</span>+ flashPlayerAlt +<span style="color: #3366CC;">'?mp3='</span>+<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">url</span>+<span style="color: #3366CC;">'&autoplay='</span>+<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">autoplay</span>+<span style="color: #3366CC;">'" '</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> s += <span style="color: #3366CC;">' width="'</span>+<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">width</span>+<span style="color: #3366CC;">'" height="'</span>+<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">height</span>+<span style="color: #3366CC;">'" &gt;'</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> s += <span style="color: #3366CC;">' &lt;PARAM name="movie" value="'</span>+flashPlayerAlt+<span style="color: #3366CC;">'?mp3='</span>+ <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #006600;">url</span> +<span style="color: #3366CC;">'" /&gt;'</span>; </div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"> s += <span style="color: #3366CC;">'&lt;/OBJECT&gt;'</span>; </div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">}</span></div></li></ol></div></div><div class='cadre_download' style='text-align: right;'><a href='http://pelmel.org/spip/local/cache-code/0ed7bb1bb1d1407348379b5a6dc09973.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'>Télécharger</a></div></div>
<p class="spip">Tout simplement, et ça marche.</p> <p class="spip">Vous trouverez en attachement de ce post, une version packagée comprenant mes modifications. N'hésitez pas à me faire vos retours d'utilisations.</p>
<dl class='spip_document_30 spip_documents spip_documents_left' style='float:left;width:120px;'>
<dt><a href="http://pelmel.org/spip/IMG/zip/movieplayer.zip" title='Zip - 37 ko' type="application/zip"><img src='http://pelmel.org/spip/local/cache-vignettes/L52xH52/zip-581d9.png' width='52' height='52' alt='Zip - 37 ko' style='height:52px;width:52px;' class=' format_png' /></a></dt>
</dl>
<p class="spip"><a href="http://www.flickr.com/photos/bricef/3562654148/" title="Sans passer par la case départ by Brice F., on Flickr"><img src="http://pelmel.org/spip/local/cache-vignettes/L500xH335/3562654148_8a118-50409.jpg" width='500' height='335' alt="Sans passer par la case départ" style='height:335px;width:500px;' class='' /></a></p></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/SBPl5EBXiQuZPGDlsZkR5hU4hqU/0/da"><img src="http://feedads.g.doubleclick.net/~a/SBPl5EBXiQuZPGDlsZkR5hU4hqU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/SBPl5EBXiQuZPGDlsZkR5hU4hqU/1/da"><img src="http://feedads.g.doubleclick.net/~a/SBPl5EBXiQuZPGDlsZkR5hU4hqU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/Un-plugin-Media-Player-pour</feedburner:origLink></item>



	<item>
		<title>PHP Solutions Mag 3/2009</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/Or7KhAVKczA/PHP-Solutions-Mag-3-2009</link>
		<guid isPermaLink="false">http://pelmel.org/spip/PHP-Solutions-Mag-3-2009</guid>
		<dc:date>2009-05-11T15:17:39Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-peLmeL-Blog-">peLmeL Blog</category>


		<description>Actualités du mois de Mai en bref.

-
&lt;a href="http://pelmel.org/spip/-peLmeL-Blog-" rel="directory"&gt;peLmeL Blog&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">Actualités du mois de mai en bref, très bref.</p> <h3 class="spip">PHP Solutions Mag</h3>
<p class="spip">Ce mois-ci, dans PHP Solutions Mag, vous trouverez deux articles sur les CMS en vogue Joomla et Drupal. Celui sur Drupal est signé d'un certain Brice Favre d'ailleurs :)</p> <p class="spip">Au sommaire également quelques éléments sur les aspects IHM :
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Aller plus loin avec Ajax en créant une application de messagerie instantanée.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Simuler une barre de téléchargement.</p> <p class="spip">Ce numéro contient un dossier important sur les boutiques en ligne. Le point intéressant est que ça parle aussi d'ERP Open Source et ne se cantonne pas qu'à une bête installation d'OSCommerce. Dommage que Magento et la CRM n'y soit pas cité.</p> <p class="spip">Autrement, vous trouverez quelques articles introductif sur les sujets suivants : <br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Cake PHP, très bon article de présentation et de pratique
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Le partitionnement MySQL 5.1
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> HTML 5 (Bonne idée parce que pour l'instant j'ai pas tout suivi).</p> <p class="spip">En bref, encore quelques sujets intéressants à creuser et à découvrir. Bonne lecture.</p> <p class="spip"><a href="http://www.phpsolmag.org/prt/view/actualies/issue/1020.html" alt="PHP Solutions Mag">Plus de détais sur le numéro</a></p> <h3 class="spip">Pelmel.org</h3>
<p class="spip">Pelmel.org est un peu en stand-by en ce moment. Ce ne sont pas les sujets qui manquent mais sans doute le temps pour les écrires. Donc en préparation encore du Drupal (globalement meilleur CMS du moment), du Copix CMS (oui) et un peu de PostgreSQL.</p> <p class="spip">A bientôt.</p> <p class="spip"><a href="http://www.flickr.com/photos/bricef/3501279111/" title="sur le sable by Brice F., on Flickr"><img src="http://pelmel.org/spip/local/cache-vignettes/L500xH375/3501279111_1b520-65b48.jpg" width='500' height='375' alt="sur le sable" style='height:375px;width:500px;' class='' /></a></p></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/P0lZgzcP2YEwKkNkXZhM2c-pR3U/0/da"><img src="http://feedads.g.doubleclick.net/~a/P0lZgzcP2YEwKkNkXZhM2c-pR3U/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/P0lZgzcP2YEwKkNkXZhM2c-pR3U/1/da"><img src="http://feedads.g.doubleclick.net/~a/P0lZgzcP2YEwKkNkXZhM2c-pR3U/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/PHP-Solutions-Mag-3-2009</feedburner:origLink></item>



	<item>
		<title>Formation Drupal, premier retour</title>
		<link>http://feedproxy.google.com/~r/Pelmelorg/~3/qXGGUedVp1M/Formation-Drupal-premier-retour</link>
		<guid isPermaLink="false">http://pelmel.org/spip/Formation-Drupal-premier-retour</guid>
		<dc:date>2009-05-03T18:57:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Favre</dc:creator>

<category domain="http://pelmel.org/spip/-Traductions-">Traductions</category>


		<description>La semaine dernière, j'ai donné une formation sur le CMS que j'apprécie de plus en plus, à savoir Drupal. Je remercie particulièrement l'équipe de développement d'avoir sorti une versions le lendemain même du dernier jour de formation.

-
&lt;a href="http://pelmel.org/spip/-Traductions-" rel="directory"&gt;Traductions&lt;/a&gt;


		</description>


 <content:encoded><![CDATA[<div class='rss_texte'><p class="spip">La semaine dernière, j'ai donné une formation sur le CMS que j'apprécie de plus en plus, à savoir Drupal. Je remercie particulièrement l'équipe de développement d'avoir sorti une versions le lendemain même du dernier jour de formation.</p> <p class="spip">Pendant trois jours j'ai abordé les points suivants : <br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Présentation et Installation.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Intégration et utilisation des modules communautaires.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Thématisation sur une base standard et sur Zen.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Développements de modules.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Gestion des menus.
<br /><img src="http://pelmel.org/spip/local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11' alt="-" style='height:11px;width:8px;' class='' /> Utilisation des déclencheurs.</p> <p class="spip">Un programme intense destiné avant tout aux développeurs et administrateur.</p> <p class="spip">A la demande de mes stagiaires, j'ai pris un peu de temps pour réaliser un complément de support sur les profils d'installation. J'en profite aussi pour partager ce support avec vous :</p> <div style="width:425px;text-align:left" id="__ss_1353748"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/bricef/drupal-porifls-dinstallation?type=powerpoint" title="Drupal : Profils d&#39;Installation">Drupal : Profils d&#39;Installation</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=drupal-45-install-090427162941-phpapp01&stripped_title=drupal-porifls-dinstallation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=drupal-45-install-090427162941-phpapp01&stripped_title=drupal-porifls-dinstallation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/bricef">bricef</a>.</div></div>
<p class="spip">N'hésitez pas à me faire vos retours rendrez-vous, peut-être, lors d'une prochaine session.</p></div>
		
		
<p><a href="http://feedads.g.doubleclick.net/~a/ycDYBilGSD-CkkpFzqEwoIYKtVk/0/da"><img src="http://feedads.g.doubleclick.net/~a/ycDYBilGSD-CkkpFzqEwoIYKtVk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ycDYBilGSD-CkkpFzqEwoIYKtVk/1/da"><img src="http://feedads.g.doubleclick.net/~a/ycDYBilGSD-CkkpFzqEwoIYKtVk/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>


		

	<feedburner:origLink>http://pelmel.org/spip/Formation-Drupal-premier-retour</feedburner:origLink></item>





</channel>

</rss>
